Hallo EF_91,
1. Nein, muss man nicht. Beckhoff stellt das von dir angesprochene SPS-Projekt zur Verfügung, man muss dieses jedoch nicht nutzen.
Denn: Das Vorlageprojekt von Beckhoff greift auf die Variablen einer Bibliothek zu: (Für M-Funktion 25):
Tc2_CncHli muss als Bibliothek dem Projekt hinzugefügt werden
Code:
// Definierte M-Funktion 25 im Kanal 0 (ID)
IF Tc2_CncHli.HLI_Global_Variables.gpCh[0]^.techno_unit_std_sync[25].please_rw THEN
// CNC signalisiert PLC dass M-Funktion ansteht
// PLC setzt intenes Bit oder was auch immer ...
bDoMfunc := TRUE;
// PLC signalisiert CNC dass es das Kommand erhalten hat
Tc2_CncHli.HLI_Global_Variables.gpCh[0]^.techno_unit_std_sync[25].please_rw := FALSE;
END_IF
// Nun will die PLC dass es weiter geht ...
IF bDoMfunc AND bMfuncDone THEN
Tc2_CncHli.HLI_Global_Variables.gpCh[0]^.techno_unit_std_sync[25].done_w := TRUE;
END_IF
Hinweis: Den Namensraum und die GVL muss man nicht angeben, es würde z.B. gpCh[0]^.techno_unit_std_sync[25].please_rw reichen
Siehe infosys:
Wenn du 2 SPS-Projekte hast wirst du das Problem haben, dass einerseits Beckhoff die Tc2_CncHli Daten nutzt,
aber du ebenfalls benutzen willst.
Für den Anfang würde ich empfehlen das Vorlageprojekt zu benutzen. Allerdings stimmt dann natürlich mein Code nicht mehr ...
PS: Auch wenn der Thread recht alt ist, hoffe ich, dass ich weiterhelfen konnte.
-Stirni