Frage

Wir alle wissen, die verschiedenen Arten von Tests OO-Systeme. Allerdings sieht es aus wie werde ich ein Projekt zu tun, gehen, wo ich mit PLC Leiter Logik zu tun haben werde (nicht fragen: /), und ich habe mich gefragt, ob es zur Prüfung der Gültigkeit des Systems ein guter Weg ist.

Die einzige Möglichkeit, die ich bisher sehen ist einfach eine große Tabelle mit allen bekannten Zustände des Systems konstruieren und welche Ausgangszustände, die erzeugt. Dies würde tun für einfache ‚wenn der Eingang A ist, schalten Sie den Ausgang B auf‘ Fälle. Ich glaube nicht, dies obwohl für kompliziertere Konstruktionen arbeiten.

War es hilfreich?

Lösung

Die Überprüfung der „logischer“ Systeme im IC-Design-Arena wird als „Design Verification“ bekannt ist, die der Prozess der Gewährleistung ist, dass das System, das Sie in Hardware-Design (RTL) implementiert die gewünschte Funktionalität.

Ladder-Logik kann auf einem der modernen HDL wie Verilog umgewandelt werden .. verwandeln jeden Leiter

|---|R15|---+---|/R16|---------(R18)--------|
|           |
|---|R12|---+

zu einem Ausdruck wie

always @(*) R18 = !R16 && ( R15 | R12);

oder Sie können eine assign-Anweisung

assign R18 = R16 && (R15 | R12); 

ein Stromstoßrelais

assign R18 = (set condition) || R18 && !(break condition);

Dann nutzen Sie einen kostenlosen Verilog-Simulator wie Icarus einen Prüfstand zu entwickeln und testen Sie Ihr System . Stellen Sie sicher, Testfälle geben gute CODE Abdeckung Ihrer Logik sind! Und wenn Sie Ihre Leiter-Editing-Software Sie anständige Namens Fähigkeiten gibt, verwenden sie, anstatt Rnn.

(Hinweis:. In KOP für die SPS-Konvention, Rnn für interne Relais ist, während, ist Xnn ein Eingang und Ynn ist ein Ausgang, wie schnell aus einem der Online-Tutorials entnommen werden

Verilog wird eine einfachere Sprache Ihre Tests und Testbenches in entwickeln!

Es kann hilfreich sein, in einigen Einheitsverzögerungen programmiert werden.

Sorry, ich habe noch nie für Leiterlogik sehe zu / von Verilog-Übersetzer .. aber Leiterlogik in meinem Tag nur war gerade in einen Computer für die Programmierung von SPS gesetzt wird - die meisten der Relaissysteme I REAL Relais waren, verdrahtet in die Schrank !!

Viel Glück. jbd

Es gibt ein paar Leiterlogik Editoren (mit simultors) kostenlos zur Verfügung .. hier ist eine, die angeblich auf Windows läuft:

http://cq.cx/ladder.pl

Andere Tipps

Wir haben mit Testabdeckung Tools für Rockwell Control Logix-Steuerungen experimentiert. Die meisten Verfahrenssprache Testabdeckung Tools tun Zweigüberdeckung oder so; weil Relay Ladder Logic typischerweise nicht verzweigen, das nicht sehr gut funktionieren.

Was wir prototypisiert haben, ist MC / DC (modified / Zustand / Decision Coverage für RLL-Code) für Rockwell-Controller .. Dies teilt, für jede Bedingung in geläutet, ob diese Bedingung als TRUE getestet wurde, als FALSCH getestet, und was noch wichtiger ist, wenn die Bedingung des Ausgang der Entscheidung in der Sprosse gesteuert (gut zumindest die Maßnahmen der Entscheidung gesteuert) in beiden wahren und falschen Richtungen unter einem Test.

Diese Arbeit eines Allzweck Programmanalyse und Transformation Tool namens DMS Instrument des RLL-Code mit zusätzlicher Logik verwendet, um die notwendigen Daten zu sammeln.

Sie haben noch Code Unit-Tests. Der einfachste Weg, dies zu tun, ist eine andere SPS zu erhalten als Ersatz für die mechanische Hardware Sie steuern die Absicht zu handeln und einfach ein anderes RLL Programm schreiben, um den ersten zu trainieren.

Es gibt ein Programm namens LogixPro, die einen IO-Simulator für Leiterlogik verfügt, können Sie versuchen, dass.

Manchmal auf kleine SPS-Programmen ein Testprogramm (oder Unterprogramm, oder Leiter-Datei) in dem Projekt geschrieben, die nur dann ausgeführt wird, wenn das Projekt emuliert wird. Die Datei hat eine einfache Logik, die sagt, wenn ein Ausgangssignal mit Energie versorgt wird, schalten den Eingang mit dem Feedback verbunden. Anschließend können Sie Ihre SPS-Steuerung durch, was auch immer HMI bis zu es verdrahtet ist und sehen Sie, dass der Code wie erwartet verhält. Es ist sehr wichtig, das Testprogramm zu deaktivieren oder zu löschen, wenn die Software auf eine echte Website heruntergeladen wird, da es sehr seltsame Dinge in der realen Welt tun kann.

Bei größeren Projekten hat jedes Gerät einen Simulationsmodus, der etwas etwas ähnliches tut. http://www.batchcontrol.com/s88/01_tutorial/06-modules.shtml

Das ist nichts, wie mit Test-Frameworks für OO-Sprachen, aber ich habe nicht wirklich eine Testgetriebene Entwicklung für SPS gesehen, oder sogar viel automatisierte Tests.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top