25.01.2017 16:21 | |
Beiträge: 2 Bewertung:
|
Zum Schutz von empfindlicher Hardware haben wir seit Anfang des Jahres ein LOGO!8 Modul mit 4 Relais, um die Versorgungsspannunng automatisch abschalten zu können. Im Anhang ist zu sehen, daß dies in der Simulation auch so funktioniert: Logo_AND_Edge_Sim_?.png mit ? = 0,1,2,3 fir die Single-Step Simulations Schritte. Wird das Programm aber auf der LOGO!8 ausgeführt, dann klappt dies nur in ca. 30% der Fälle. In den anderen Fällen oszilliert V0.0 zwischen 0 und 1 und der Zähler läuft mit ca 2500 Hz. Logo_AND_Edge_Online_1.png zeigt einen ScreenShot eines Online-Test Zustandes, der laut Dokumentation (und Simulation) nicht erreicht werden sollte, denn per Data-Table wird V0.0 nur auf 1 gesetzt, und nur der AND(Edge) Ausgang kann V0.0 auf 0 zurücksetzen.Außerdem dürfte der AND(Edge) Ausgang nicht 1 sein, wenn ein Eingang 0 ist. Eine alternative Variante mit einem Edge-Triggered Wiping Relay anstelle des AND(Edge) (Logo_SingleClientRequesTrigger_vs2.png) ist über 500000 Client-Requests vom PC problemlos gelaufen, solange die Pulslänge auf 00:02 s gesetzt war. Bei 00:01 s klappte es aber auch damit nicht verläßlich. Da ich unsere zu schützende Hardware keinem unnötigen Risiko aussetzen möchte, würde ich schon gerne verstehen, warum diese LOGO Programme nicht stabil laufen. Evtl. liegt es ja an einem internen Buffereing der Network-Inputs und -Outputs, so daß eine Abbildung auf einem Speicherbit wie V0.0 zwischen zwei LOGO Cycles nicht eindeutig ist ? Für einen Vorschlag, wie ein Trigger mit einem einzigen Client Request von einem PC verläßlich realisierbar ist wäre ich dankbar, ansonsten würde ich dann doch auf den internen Reset von V0.0 verzichten und dann 2 Client requests schicken - mit etwas Pause dazwischen, damit die LOGO auch den Flankenwechsel mitbekommen kann. Software: LOGO!Soft Comfort 8.1 Linux 64bit DateianhangLogo8_Oscillation_screenshots.zip (65 Downloads) |
Folgen Sie uns auf