Ladelogik testen

8

Wir kennen alle die verschiedenen Möglichkeiten, OO-Systeme zu testen. Es sieht jedoch so aus, als würde ich ein Projekt machen, bei dem es um die SPS-Kontaktplanlogik geht (nicht fragen: /), und ich frage mich, ob es eine gute Möglichkeit gibt, die Gültigkeit des Systems zu testen.

Der einzige Weg, den ich bisher gesehen habe, ist, einfach eine riesige Tabelle mit allen bekannten Zuständen des Systems zu konstruieren und Zustände auszugeben, die generiert werden. Dies würde für einfache "Wenn Eingang A eingeschaltet ist, schalten Sie Ausgang B an" Fällen tun. Ich denke nicht, dass dies für kompliziertere Konstruktionen funktionieren wird.

    
Erik van Brakel 16.09.2008, 10:21
quelle

4 Antworten

4

Die Verifikation von "logischen" Systemen in der IC-Design-Arena wird als "Design Verification" bezeichnet, bei der sichergestellt wird, dass das von Ihnen entworfene System (RTL) die gewünschte Funktionalität implementiert.

Ladder Logik kann zu einem der modernen HDLs wie Verilog umgewandelt werden .. Transformiere jede Leiter

%Vor%

zu einem Ausdruck wie

%Vor%

oder Sie könnten eine assign-Anweisung verwenden

%Vor%

ein Verriegelungsrelais

%Vor%

Dann verwenden Sie einen kostenlosen Verilog-Simulator wie Icarus , um eine Testbench zu entwickeln und Ihr System zu testen. Stellen Sie sicher, dass Ihre Testfälle eine gute CODE-Abdeckung Ihrer Logik bieten! Und wenn Ihre Leiterbearbeitungssoftware Ihnen anständige Benennungsfähigkeiten bietet, verwenden Sie sie statt Rnn.

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

Verilog wird eine einfachere Sprache sein, um Ihre Tests und Testbenches zu entwickeln!

Es kann hilfreich sein, einige Verzögerungen zu programmieren.

Entschuldigung, ich habe noch nie nach Kontaktlogik zu / von Verilog-Übersetzern gesucht. aber Leiterlogik wurde zu meiner Zeit gerade erst in einen Computer zur Programmierung von SPSen gesteckt - die meisten Relaissysteme, die ich verwendete, waren REAL Relais, die in die Schaltschränke verdrahtet waren!

Viel Glück. jbd

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

Ссылка

    
jbdavid 16.09.2008, 10:41
quelle
1

Wir haben mit Testabdeckungswerkzeugen für Rockwell Control Logix-Steuerungen experimentiert. Die meisten prozeduralen Sprachtest-Coverage-Tools bieten Branchendeckung oder ähnliches; Da die Relay Ladder Logic normalerweise nicht verzweigt, funktioniert das nicht sehr gut.

Was wir prototypisiert haben, ist MC / DC (geändert / Zustand / Entscheidungsabdeckung) für RLL-Code für Rockwell controllers .. Dies teilt für jede Bedingung im Strompfad mit, ob diese Bedingung als TRUE getestet wurde, als FALSE getestet wurde und, was noch wichtiger ist, wenn die Bedingung die Ausgabe der Entscheidung im Strompfad (zumindest die von die Entscheidung) in beiden wahr und falsch Richtungen unter einem Test.

Diese Arbeit wird mit einem Allzweckprogramm zur Analyse und Transformation von Programmen durchgeführt DMS verwendet, um den RLL-Code mit zusätzlicher Logik zu instrumentieren, um die notwendigen Daten zu sammeln.

Sie müssen noch Komponententests codieren. Der einfachste Weg ist, eine andere SPS als Ersatz für die mechanische Hardware zu bekommen, die Sie steuern wollen, und einfach ein anderes RLL-Programm schreiben, um die erste auszuprobieren.

    
Ira Baxter 02.09.2009 04:22
quelle
0

Es gibt ein Programm namens LogixPro, das einen IO-Simulator für die Kontaktplanlogik hat. Sie können das ausprobieren.

    
rlbond 28.03.2009 16:52
quelle
0

Manchmal wird bei kleinen SPS-Programmen ein Testprogramm (oder eine Unterroutine oder Kontaktplandatei) in das Projekt geschrieben, das nur ausgeführt wird, wenn das Projekt emuliert wird. Die Datei verfügt über eine einfache Logik, die besagt, dass ein mit der Rückmeldung verbundener Eingang eingeschaltet wird, wenn ein Ausgang aktiviert wird. Sie können dann Ihre SPS über das gesamte HMI steuern und sehen, dass sich der Code wie erwartet verhält. Es ist sehr wichtig, das Testprogramm zu deaktivieren oder zu löschen, wenn die Software auf eine reale 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 ähnlich ist. Ссылка

Das ist nichts wie die Verwendung von Test-Frameworks für OO-Sprachen, aber ich habe bisher keine testgetriebene Entwicklung für SPS oder sogar viele automatisierte Tests gesehen.

    
daniel 29.09.2011 01:08
quelle

Tags und Links