Strukturiertes Programmieren durch Programmbausteine

Zuviel Werbung?
-> Hier kostenlos registrieren
Ausgänge sollten tunlichst an keiner Stelle gesetzt werden

... wobei es aber doch z.B. bei der Ansteuerung von Servo's gar nicht anders geht, oder? :confused:

Lt. Beschreibung von Festo wird ein Servo-Antrieb wie folgt in Betrieb gesetzt:

Code:
U #MotorStart              // HMI-Button
S #StartTask               // Start Fahrauftrag Festo-Antrieb
 
U #AckStart                // Start ausgeführt
R #StartTask
 
... wobei es aber doch z.B. bei der Ansteuerung von Servo's gar nicht anders geht, oder? :confused:

Lt. Beschreibung von Festo wird ein Servo-Antrieb wie folgt in Betrieb gesetzt:

Code:
U #MotorStart              // HMI-Button
S #StartTask               // Start Fahrauftrag Festo-Antrieb
 
U #AckStart                // Start ausgeführt
R #StartTask

würde schon gehen, an den beispiel kannst du sehen wer die Achsen laufen lässt
und die Achse würde im Notfall auch stillgesetzt, wenn auch der Start, warum
auch immer, noch ansteht.

Code:
U #MotorStart              // HMI-Button
S #HM_Achse_Start

U #AckStart                // Start ausgeführt
R #HM_Achse_Start

O #HM_Achse_Start
O #HM_Achse_Tippen
U #Freigabe_Not_Halt
= #StartTask               // Start Fahrauftrag Festo-Antrieb
 
würde schon gehen, an den beispiel kannst du sehen wer die Achsen laufen lässt
und die Achse würde im Notfall auch stillgesetzt, wenn auch der Start, warum
auch immer, noch ansteht.

Code:
U #MotorStart              // HMI-Button
S #HM_Achse_Start

U #AckStart                // Start ausgeführt
R #HM_Achse_Start

O #HM_Achse_Start
O #HM_Achse_Tippen
U #Freigabe_Not_Halt
= #StartTask               // Start Fahrauftrag Festo-Antrieb

Danke rN,

also das eigentliche Starten des Motors würde ja nach wie vor über #StartTask erfolgen; richtig?

Aber ist dieses #HM_Achse_Start lediglich ein x-beliebiger Merker und wofür steht HM?


Lieben Dank!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das eigentliche Starten des Motors würde ja nach wie vor über #StartTask erfolgen; richtig?
ja

Aber ist dieses #HM_Achse_Start lediglich ein x-beliebiger Merker und wofür steht HM?

HilfsMerker


...und weil Festo es so in der Beschreibung hat wird Festo aus der Normteilliste gestrichen - Strafe muss sein :ROFLMAO:
 
würde schon gehen, an den beispiel kannst du sehen wer die Achsen laufen lässt
und die Achse würde im Notfall auch stillgesetzt, wenn auch der Start, warum
auch immer, noch ansteht.

Code:
U #MotorStart              // HMI-Button
S #HM_Achse_Start

U #AckStart                // Start ausgeführt
R #HM_Achse_Start

O #HM_Achse_Start
O #HM_Achse_Tippen
U #Freigabe_Not_Halt
= #StartTask               // Start Fahrauftrag Festo-Antrieb
Das Beispiel passt bei Festo Achsen nicht!
Wenn man die Achse anhalten will sollte man den Eingang "Halt" auf False setzen, wenn man den Fahrauftrag abbrechen will den Eingang "Stop" auf False setzen. Der Start Task muss nur solange ansein bis er mit AckStart quittiert wurde.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Beispiel passt bei Festo Achsen nicht!
Wenn man die Achse anhalten will sollte man den Eingang "Halt" auf False setzen, wenn man den Fahrauftrag abbrechen will den Eingang "Stop" auf False setzen. Der Start Task muss nur solange ansein bis er mit AckStart quittiert wurde.

... aber somit muss doch StartTask einmal gesetzt und dann wieder rückgesetzt werden?
 
Das Beispiel passt bei Festo Achsen nicht!
Wenn man die Achse anhalten will sollte man den Eingang "Halt" auf False setzen, wenn man den Fahrauftrag abbrechen will den Eingang "Stop" auf False setzen. Der Start Task muss nur solange ansein bis er mit AckStart quittiert wurde.

Erinnert an das Datenhandling mit der alten Kuka-Schnittstelle.

also:

Code:
*

U    MotorStart     //mit allen Sicherheitszeuch bereits gebildet
UN   Start_ACK
=    Start_Task
 
Ähm, ist diese Art der Ansteuerung eher ungewöhnlich?

Jein, ist es nicht wirklich. ;)

Du musst dich von der Vorstellung verabschieden, dass Hersteller bessere Programmierer haben.
Die müssen Beispiele liefern, sonst kauft niemand mehr ein Teil.
Auch diese Beispiele sind nicht perfekt und werden auch ohne Gewährleistung geliefert, da nicht alles ausgetestet wird / werden kann.
Es gibt keine allgemeingültigen Regeln und Vorschriften.

Daher such dir einen Weg, der passt und den deine Kollegen und die Instandhalter verstehen und gut bezeichnen.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja dem ist so und das ist auch nichts schlimmes. Dieser Absolutheitsanspruch das niemals nicht irgendwas gesetzt werden darf ist quatsch und artet in einen Glaubenskrieg aus.

Ich setze den StartTask bei den Festo Achsen auch ohne dabei ein schlechtes Gewissen zu haben.
Code:
      U     #Achse.StartAchse
      FP    #Achse.FL_Start
      S     #Achse.StartTask


      U     #Achse.AckStart
      O     #Achse.Fault
      ON    #Achse.Halt          //low aktiv
      ON    #Achse.Stop          //low aktiv
      R     #Achse.StartTask


Ob ich nun den StartTask setze oder sowei rn einen Hilfsmerker ist egal und hat nichts damit zu tun ob man nun Ausgänge setzten will oder nicht.
 
Zuletzt bearbeitet:
Ich setze den StartTask bei den Festo Achsen auch ohne dabei ein schlechtes Gewissen zu haben.

Code:

U #Achse.StartAchse
FP #Achse.FL_Start
S #Achse.StartTask

U #Achse.AckStart
O #Achse.Fault
ON #Achse.Halt //low aktiv
ON #Achse.Stop //low aktiv
R #Achse.StartTask

Wobei dieses Setzen und Rücksetzen von StartTask bei mehreren Antrieben dann ja auch entsprechend oft passieren müsste, richtig?

UND ist die Flanke als Sicherheit, falls #Achse.StartAchse permanent TRUE wäre?
 
Zuletzt bearbeitet:
Nicht ganz. Die Variable StartAchse wird über die Schrittkette solange auf True gehalten bis die Achse ein "InPos" (Isposition im Positionsfenster und MC (Motion Complete)) meldet.

Mit anderen Worten ich habe um den Festo CMMP_AS_CTRL Baustein noch etwas drumherum Programmiert damit es besser in mein System passt.
 
Zurück
Oben