INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Beispielprogramm zur Ansteuerung mit Kollmorgen AKD



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

30.06.2021, 07:54
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.430
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Beispielprogramm zur Ansteuerung mit Kollmorgen AKD
Hallo Tom,

Zitat:Das Programm zeigt mir keine Fehler an aber der Motor bewegt sich leider auch nicht.
Vielleicht hat ja jemand mit dem Modbus und AKD Umrichter erfahrung und könnte mal einen Blick auf mein VI werfen.
Ich habe keine Ahnung von deinem speziellen AKD-Inverter, aber kann trotzdem was zum VI sagen:
- Du hast eine schöne Statemachine programmiert (gut!), aber das Enum dazu verwendet einfach nur Nummern für die Statenamen. Besser wären in "Klartext" benannte States!
- Dieses Enum sollte muss typdefiniert werden - und diese Typdefinition muss dann in allen Instanzen verwendet werden!
- In State "2" erzeugst du aus einem I32-Wert ein Array aus 2 U16-Werten - und davon sendest du dann per ArraySubset nur den ersten Wert!? Ist das so gewollt? Und muss das so kompliziert umgesetzt werden, wenn man das auch mit einem einfachen SplitNumber erledigen kann?
- Warum überhaupt so viele ArraySubset-Funktionen? Du definierst doch vorher meist dein Array in korrekter Länge per Konstante!?
- Man kann bei den ganzen Select-Funktionen auch direkt den ErrorCluster anschließen, du musst nicht jedesmal per Unbundle den Errorstate auslesen! (Und wenn schon Unbundle, dann bitte der Codelesbarkeit wegen UnbundleByName!)
- Statt die Statemachine per "Continue if True" weiterlaufen zu lassen, solltest du besser "Stop if True" verwenden: nur dein Stop-State muss nun ein TRUE ausgeben, alle anderen States brauchen keine boolsche Konstante mehr, sondern nur einen "default if unwired"-Tunnel!
- Was ist der Unterschied zwischen State "8" und "9"? Musst du bei einem Fehler wirklich 10ms warten, bevor die Statemachine endet - und ohne Fehler die Statemachine nach nur 1ms beenden? Merkst du da einen Unterschied, wenn du vor dem Computer sitzt?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Nachrichten in diesem Thema
RE: Beispielprogramm zur Ansteuerung mit Kollmorgen AKD - GerdW - 30.06.2021 07:54

Gehe zu: