Anfängerfrage SFC14/15 handshake

drmicha

Level-2
Beiträge
15
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Gemeinde,

ich habe das Problem, von einer peripheren Baugruppe verschiedene Diagnoselisten abzuholen. Die Baugruppe hat ein Command- Interface mit zb. 34 Byte Länge Ein- und Ausgänge ab einer Startadresse. Man sendet einen Befehl im Byte 0 und ein Togglebit im Byte 1 auf die Startadresse (SFC15). Daraufhin werden die Diagnosedaten in einem internen Speicher bereitgestellt und können mit SFC 14 abgeholt werden. Im Byte 0 wird der empfangene Befehl und im Byte 1 das Togglebit zurückgesendet. Beim nächsten Aufruf muss dann das Togglebit gespiegelt werden. Nun muss ich mehrere Listen nacheinander abholen, die Daten verknüpfen und für die Visu passend in einen DB schicken. Das ganze möglichst in KOP und so, dass es der Instandhalter nachts um 2 nachvollziehen kann, ohne seinen Ingenieur zu wecken ;). Ich habe eine Schrittkette in der Art sende Befehl 1, hole Liste 1, sende Befehl 2, hole Liste 2 usw. Da habe ich jetzt das Problem: Der SFC15 hat einen Fehlerwert RETVAL, der ist 0, wenn der SFC fehlerfrei gearbeitet hat. Leider ist der auch 0, wenn er gar nicht gearbeitet hat:confused:. Ob der SFC15 erfolgreich war, sehe ich erst im nächsten Schritt, wenn SFC 14 die Daten holt und im Byte 0 das Befehlsecho und im Byte 1 das Toggleecho erscheint. Ich brauche aber eine Bedingung, um von Schritt 1 zu 2 umzuschalten. Oder kann ich SFC14/SFC15 in einen Schritt packen und mich darauf verlassen, dass die Daten auch richtig sind?

Gruß Micha
 
sfc14/15 holt/schreibt die daten konsitent.
die sfc werden aber von alarm-obs unterbrochen.
sollte das bei dir der fall sein, kannst du die alarm-obs vor dem sfc aufruf sperren und anschliessend wieder freigeben.
 
Zurück
Oben