LowLevelMahn
Level-1
- Beiträge
- 766
- Reaktionspunkte
- 90
-> Hier kostenlos registrieren
Szenario:
Für ein automatisches Kommunikations-Latenz-Testsystem (Simulator-Hardware also keine Gefahr für Menschen)
erzeuge ich NC-Code und führe diesen aus, dazwischen drücke ich über die PLC ein paar mal die NC-Reset-Taste
um das MPF0 Default-Programm zu forcieren
Steuerung/Überwachung vom PC erfolgt über eine aktuelle AGLink-Version
Details:
NC-Reset-Taste im Channel 1 per PLC: über DB21.DBX7.7 <-- das ist kein NCK-Reset (sondern nur ein NC-Programm-Reset)
danach warte ich darauf das: /Channel/State/chanStatus auf 0 wechselt (falls er nicht schon so steht)
und setze dann noch mal per PI-Dienst SELECT das MPF0 Programm
das ganze in einer Schleife so schnell wie möglich
Problem: Ich muss mit Sleep(100) arbeiten weil ich noch keine Möglichkeit gefunden haben wann nach dem NC-Reset-Taste auslösen die NC wirklich wieder voll operativ ist
d.h. wenn ich folgenden mache
Loop
{
NC-Reset-Taste per PLC auslösen
Warten auf /Channel/State/chanStatus geht auf 0 <-- die Abfrage "reicht" scheinbar nicht
(Sleep(100))
SELECT(MPF0)
}
bekomme ich bei dem SELECT(MPF0) häufig Fehler wenn ich der NC nicht noch ein bisschen Zeit mit dem Sleep gebe, mit dem Sleep läuft das stundenlang ohne meckern
es scheint so zu sein als wenn der interne NC Zustand noch nicht so ganz richtig ist
jemand eine Idee welchen Zustand ich abfragen könnte um besser als mit dem Sleep(100) zu garantieren das der SELECT-Befehl fehlerfrei durch läuft
Es sollte vom PC aus möglich sein, wenn ich PLC Änderungen machen muss bringt das PC-Latenz-Szenario nicht so viel - aber wenn jemand Ideen hat einfach posten
Für ein automatisches Kommunikations-Latenz-Testsystem (Simulator-Hardware also keine Gefahr für Menschen)
erzeuge ich NC-Code und führe diesen aus, dazwischen drücke ich über die PLC ein paar mal die NC-Reset-Taste
um das MPF0 Default-Programm zu forcieren
Steuerung/Überwachung vom PC erfolgt über eine aktuelle AGLink-Version
Details:
NC-Reset-Taste im Channel 1 per PLC: über DB21.DBX7.7 <-- das ist kein NCK-Reset (sondern nur ein NC-Programm-Reset)
danach warte ich darauf das: /Channel/State/chanStatus auf 0 wechselt (falls er nicht schon so steht)
und setze dann noch mal per PI-Dienst SELECT das MPF0 Programm
das ganze in einer Schleife so schnell wie möglich
Problem: Ich muss mit Sleep(100) arbeiten weil ich noch keine Möglichkeit gefunden haben wann nach dem NC-Reset-Taste auslösen die NC wirklich wieder voll operativ ist
d.h. wenn ich folgenden mache
Loop
{
NC-Reset-Taste per PLC auslösen
Warten auf /Channel/State/chanStatus geht auf 0 <-- die Abfrage "reicht" scheinbar nicht
(Sleep(100))
SELECT(MPF0)
}
bekomme ich bei dem SELECT(MPF0) häufig Fehler wenn ich der NC nicht noch ein bisschen Zeit mit dem Sleep gebe, mit dem Sleep läuft das stundenlang ohne meckern
es scheint so zu sein als wenn der interne NC Zustand noch nicht so ganz richtig ist
jemand eine Idee welchen Zustand ich abfragen könnte um besser als mit dem Sleep(100) zu garantieren das der SELECT-Befehl fehlerfrei durch läuft
Es sollte vom PC aus möglich sein, wenn ich PLC Änderungen machen muss bringt das PC-Latenz-Szenario nicht so viel - aber wenn jemand Ideen hat einfach posten