- Beiträge
- 9.189
- Reaktionspunkte
- 2.934
-> Hier kostenlos registrieren
Ich habe mal einen kurzen Sonntagstest gemacht um zu prüfen wie schnell und genau sich mit dem Verfahren Signale auswerten lassen. Zum Einsatz kommt eine 1214C DC/DC/Rly mit Firmware 2.2.
Ein Rechtecksignal habe ich auf E0.0 aufgelegt, in der Hardwarekonfiguration ist die kleinstmögliche Filterzeit von 0,2 ms eingestellt.
Testprogramm:
Ich habe mir die Zählwerte im DB über eine HMI-Simulation angesehen. Ergebnisse:
Bei 2ms High-Signal auf E0.0 schwankt der Zähler #n_cycles_hi zwischen 12 und 28.
Bei 4ms High-Signal auf E0.0 schwankt der Zähler #n_cycles_hi zwischen 40 und 58.
Bei 4ms ist das Signal gelegentlich für mehrere Sekunden stabil bei 58, dann gibt es für ein paar Sekunden starke Schwankungen und wird dann wieder stabil.
Außer die neuen CPUs sind wesentlich schneller als meine hier, dann sind die anvisierten 9600 bit/s wohl nicht möglich. Auch wenn du nur senden willst, denn das Prinzip bleibt ja gleich.
Ein Rechtecksignal habe ich auf E0.0 aufgelegt, in der Hardwarekonfiguration ist die kleinstmögliche Filterzeit von 0,2 ms eingestellt.
Testprogramm:
Code:
#n_cycles_lo := 0;
#n_cycles_hi := 0;
#n_edges := 0;
#T_SampleTimeout(IN := false,
PT := t#1s);
#T_SampleTimeout(IN := true,
PT := t#1s);
WHILE (#T_SampleTimeout.Q = false AND #n_edges < 2) DO
#RxD_eb := "RxD_eb":P;
#RxD := #RxD_eb.%X0;
IF (#RxD AND NOT #RxD_old) THEN
#n_edges := #n_edges + 1;
END_IF;
IF #n_edges >= 1 THEN
IF (#RxD) THEN
#n_cycles_hi := #n_cycles_hi + 1;
ELSE
#n_cycles_lo := #n_cycles_lo + 1;
END_IF;
END_IF;
#RxD_old := #RxD;
END_WHILE;
// Ergebnisse für Anzeige am HMI
#n_cycles_lo_hmi := #n_cycles_lo;
#n_cycles_hi_hmi := #n_cycles_hi;
Ich habe mir die Zählwerte im DB über eine HMI-Simulation angesehen. Ergebnisse:
Bei 2ms High-Signal auf E0.0 schwankt der Zähler #n_cycles_hi zwischen 12 und 28.
Bei 4ms High-Signal auf E0.0 schwankt der Zähler #n_cycles_hi zwischen 40 und 58.
Bei 4ms ist das Signal gelegentlich für mehrere Sekunden stabil bei 58, dann gibt es für ein paar Sekunden starke Schwankungen und wird dann wieder stabil.
Außer die neuen CPUs sind wesentlich schneller als meine hier, dann sind die anvisierten 9600 bit/s wohl nicht möglich. Auch wenn du nur senden willst, denn das Prinzip bleibt ja gleich.