- Beiträge
- 9.715
- Reaktionspunkte
- 2.788
-> Hier kostenlos registrieren
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Es gibt noch die lokale Fehlerbehandlung mit dem Befehl Get_Error, was die allerdings bei AWL in Verbindung mit AR ausspuckt kann ich die nicht sagen.
Die Fehlerinformation dieser Anweisung gibt aber einiges an Informationen zurück.
//Im FC "MyFC":
// IN: IN_POINTER : POINTER
// Temp: Adr_0 : WORD
// Temp: Adr_2 : DWORD
L P##IN_POINTER
LAR1
L W [ AR1 , P#0.0 ]
T #Adr_0
L D [ AR1 , P#2.0 ]
T #Adr_2
L #Adr_0
L 0
==I
SPB XXX1
AUF DB [ #Adr_0]
XXX1: NOP 0
L D [ AR1 , P#2.0 ]
LAR1
L W [ AR1 , P#0.0 ] // Lesen des Wortes, diese Anweisung löst ggf. den OB122 wegen Peripheriezugriffsfehler aus
T MW100 // hier liegt der Wert vom eingelesenen Signal
"dummy" := #para_in; // probeweiser Zugriff
#err := GET_ERRID(); // oder so ähnlich
if #err = 0 then
// Baugruppe vorhanden
else
// Baugruppe tot
end
Der gleiche Gedanke kam mir dabei auch...Bei GET_ERRID() kommt der Geruch von Visual Basic durch, und ich mag diesen Geruch zumindest nicht.
du willst im FC prüfen ob der außerhalb des FC angeschlossene Wert existiert? Klingt verworren, ist es für mich auch.
sag mal warum baust du dir nicht ein Prüfbaustein,
wo du deine genutzten PEW/PAW's anlegst, vor dem
Aufruf schaltetst du ein Bit auf False, im Baustein
lässt du es auf True setzen wenn alles in Ordnung ist.
So kannst du dir doch die ganze Pointerrei sparen.
Was nützt dieser zusätzliche Aufwand außerhalb seines FC? Dann weiß er zwar schon vor seinem FC-Aufruf, daß das PEW nicht erreichbar ist, doch deshalb wird sein FC trotzdem nicht aufgerufen, solange das PEW da auf normale Art verschaltet ist. Der einfachste Workaround außerhalb des FC ist, die PEW auf eine Speichervariable zu kopieren und diese Speichervariable zu verschalten - dafür muß aber jede PEW-Verwendungsstelle geändert werden. Dieses Kopieren darf natürlich nicht mit einem Baustein gemacht werden, es muß ein MOVE oder L+T sein. (nicht das womöglich die MOVE-Anweisung nach Siemens-Philosophie irgendwann auch nicht mehr ausgeführt wird ... )sag mal warum baust du dir nicht ein Prüfbaustein,
wo du deine genutzten PEW/PAW's anlegst, [...]
Wie ist das eigentlich, wenn man ein S7-300/400-classic-Programm nach TIA migriert: warnt da der Konverter, daß auf der S7-1500 der Baustein eventuell nicht mehr aufgerufen wird? Oder werden die PEW-Verwendungen automatisch auf Prozessabbild-Zugriffe umgeändert (und informiert/gewarnt)?
Harald
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Siehe weitere Informationen und konfiguriere deine Einstellungen