Das was du willst geht mit einer S7 nicht.
Die Zeit vom einlesen einer Zeit bis zur Ausgabe einer Zeit setzt sich
aus folgenden Zeiten zusammen:
1) Eingangsverzögerung der Baugruppe selbst
2) Einlesen des Eingangs (Rückwandbuszeiten usw.)
3) Bearbeiten im Programm
4) Ausgabe des Eingangs an die I/O-Baugruppe
5) Ausgangsverzögerung
Neben dem Problem schnell genug an die Signale heranzukommen,
must du auch beachten das selbst bei Alarm-OB's (Interrupt)
eine Zeit vergeht bis der OB überhaupt bearbeitet wird.
Weiterhin kannst du die Kommunikationlast nicht auf 0% (MPI-Bus)
bringen sonst kommst du nicht mehr an die CPU heran.
Was vielleicht geht, ist eine schnelle S7-CPU in integierten I/O's nahezu
nur mit der Funktion der Echtzeitanwendung zu betrauen und die anderen
aufgaben von einer anderen CPU vornehmen zu lassen. Ob das Funktioniert kannst du überprüfen indem du mittels SFC64 die Systemtick's (nur bei CPU's mit 1ms-Einheiten) in jedem Zyklus auslist
und immer schaust ob zwischen den Zyken mehr als 1ms vergangen ist.
Sonst kannst du nur ein Digital-Oszi an einen deiner Ausgänge hängen und ein jedem Zyklus ein Ausgangsbit invertierst.
Ich schätze wenn ich das zu machen hätte würden die Untersuchungen ob das wirklich sicher geht mindestens eine Woche dauern.
Gruß, Ulrich Klakow
gesegnete Arbeit,
Ulrich Klakow
Bookmarks