Computers

Einführung in die Kontaktplanlogik mit Codesys 3.5

Autor: Laura McKinney
Erstelldatum: 10 April 2021
Aktualisierungsdatum: 19 November 2024
Anonim
Einführung in die Kontaktplanlogik mit Codesys 3.5 - Computers
Einführung in die Kontaktplanlogik mit Codesys 3.5 - Computers

Inhalt

Über 10 Jahre in Automatisierung, SPS und HMIs. Zusammenarbeit mit den meisten großen Anbietern von Automatisierung und Instrumentierung

Über Ladder Logic

Ladder Logic, normalerweise einfach als "Ladder" bezeichnet, ist die am häufigsten verwendete Sprache beim Programmieren einer SPS (Programmable Logic Controller). Es wird seit Jahrzehnten verwendet und die Grundlagen haben sich im Laufe der Zeit nicht allzu sehr geändert.

Der Grund, warum es so beliebt ist, ist, dass es sich wie ein Schaltplan von links nach rechts, von oben nach unten liest. Für Elektrotechniker war und ist es relativ einfach, eine Kopie der Software zu erhalten und die Logik zu lesen.

In diesem Einführungsartikel sehen wir uns Ladder mit CoDeSys 3.5 an (kostenlos, einen Download-Link finden Sie im CoDeSys 3.5-Downloadcenter). Wenn Sie Unterstützung mit CoDeSys 3.5 benötigen, gibt es online jede Menge Hilfe. Möglicherweise schreibe ich in Zukunft sogar ein oder zwei Artikel über den Einstieg in CoDeSys. Lassen Sie mich in den Kommentaren wissen, was fehlt, und ich werde den Artikel aktualisieren


Programmierumgebung

Jeder Editor ist anders (Allen Bradley, Mitsubishi, CoDeSys, Siemens zum Beispiel); Sie folgen jedoch alle denselben grundlegenden Richtlinien.

Die Ladder-Umgebung besteht aus Netzwerken (oder Sprossen) und Logikelementen, die von links nach rechts im Netzwerk sitzen. Die Logik "fließt" von links nach rechts, bis der Strompfad vollständig ist, und bewegt sich dann nach unten zum nächsten Strompfad.

Betrachten Sie dieses Beispiel:

Das erste Netzwerk besteht aus einem Kontakt, gefolgt von einem negierten Kontakt und schließlich einer Spule (oder einem Flag / Ausgang - nicht zu verwechseln mit einem physischen Ausgang).

Das zweite Netzwerk besteht aus einem Kontakt und einer weiteren Spule.

In Ladder ist der Name des Kontakts, der Spule oder anderer Elemente die zugewiesene Variable oder das "Tag", auf das verwiesen wird. "Spule" erscheint also zweimal, einmal als Spule und einmal als Kontakt. Wenn eine Spule auf True gesetzt ist, ist auch ein Kontakt mit demselben Namen wahr.


Damit eine Spule wahr ist, muss sich auch alles links von der Spule in einem wahren Zustand befinden. Stellen Sie sich dies als einen Stromkreis vor, bei dem Ihre V-Versorgung die vertikale Schiene links und rechts Ihre Masse ist. Eine Spule ist ein Gerät, das Strom benötigt, und Kontakte sind Relais. Einige Umgebungen zeigen auch eine rechte Seitenschiene.

! WICHTIG!

Denken Sie daran, dass der Logikfluss quer und dann runter ist. Wenn eine Spule in Netzwerk 5 auf True gesetzt ist und sich ein Kontakt mit demselben Namen in Netzwerk 3 und 7 befindet, ist nur 7 True, bis das Programm wieder nach oben läuft.

Flussbeispiel

Das obige Bild zeigt den "Logikfluss", wenn sich die SPS im Betriebsmodus befindet. Kontakte / Spulen, die blau sind, sind WAHR. Wenn sie nicht blau sind, sind sie FALSCH.


(Alle Variablen sind im obigen Bild auf false gesetzt. Beachten Sie, dass der negierte Kontakt blau ist.)

Um eine Spule auf TRUE (blau) zu setzen, müssen alle Kontakte und Bedingungen links von der Spule ebenfalls TRUE sein, damit der blaue Pfad die Spule erreichen kann:

In der obigen Logik wurde "Kontakt" (das erste Element in Netzwerk 1) auf TRUE gesetzt. Da "Negated Contact" ein negierter Kontakt ist, ist FALSE = TRUE. Da beide Bedingungen links von "Spule" erfüllt sind, wird die Spule jetzt auf WAHR gesetzt.

Der Kontakt des zweiten Netzwerks "Coil" ist jetzt wahr. Da alle Bedingungen links von Coil_2 jetzt TRUE sind, wird Coil_2 auf TRUE gesetzt.

Funktionsbausteine ​​& Funktionen

Ladder Logic verwendet Funktionsblöcke und Funktionen in großem Umfang. In dieser Einführung wird davon ausgegangen, dass alle Funktionsblöcke und Funktionen mit Ladder erstellt wurden.

Was ist der Unterschied zwischen einer Funktion und einem Funktionsblock? Es kommt auf "Instanzen" an. Eine Funktion ist einfach eine Funktion, Eingaben werden übergeben und eine Ausgabe wird gegeben, nichts wird im Speicher gehalten. Ein Funktionsblock ist jedoch in der Programmlogik definiert, ihm wird eine Instanz zugewiesen, und diesem Block wird Speicher zugewiesen.

Stellen Sie sich vor, Sie möchten die folgende mathematische Berechnung durchführen:

X + Y = Z.

EIN Funktion würde die Mittel bereitstellen, um die Werte X und Y zu übergeben und den Wert Z zurückzugeben.

Angenommen, Sie möchten die folgende mathematische Berechnung durchführen:

X + Y + Z = Z.

EIN Funktionsblock würde erlauben Z. als Ausgabe definiert werden, aber da der Block eine Instanz erhält, ist der Wert von Z. wird im Block gespeichert, muss also NICHT erneut übergeben werden, um für die Berechnung verwendet zu werden. Ein Funktionsblock erhält eine Instanz, indem er wie ein Kontakt oder eine Spule benannt wird:

Im obigen Beispiel a Funktionsblock wurde in das Netzwerk gestellt. Der Funktionsblock wurde als definiert TONNE (Timer On Delay) und hat den Namen Timer_1 erhalten. Diesem wurde nun Speicher zugewiesen, Timer_1 ist eine Instanz von TON. Auf diese Weise kann Timer_1 die von TON bereitgestellten Funktionen verwenden und gleichzeitig Timer_1 in seiner eigenen Instanz verfolgen, unabhängig von anderen TON-Funktionsblöcken.

Dies ist nur eine kurze Einführung in Funktionsblöcke. Sie sind sehr leistungsfähig und benötigen weitere Erklärungen, um ihre volle Verwendung zu verstehen.

Alles einpacken

Ladder Logic ist einfach, sauber und eine effektive Sprache zum Programmieren einfacher und komplexer Steuerungssysteme. Es ist auch leicht zu lesen, zu drucken und zu folgen. Meiner Meinung nach ist es ein Nachteil, dass es sehr verlockend ist, einfach das Ende einer POE- oder Kontaktplandatei hinzuzufügen und so langen und schwer zu befolgenden Code zu erstellen.

Die Leiter wird am besten für gerade Logik, grundlegende Zuordnung und kleine Funktionsblöcke verwendet.

Dieser Artikel ist genau und nach bestem Wissen des Autors. Der Inhalt dient nur zu Informations- oder Unterhaltungszwecken und ersetzt nicht die persönliche Beratung oder professionelle Beratung in geschäftlichen, finanziellen, rechtlichen oder technischen Angelegenheiten.

Unsere Empfehlung

Achten Sie Sicher

So richten Sie einen HTTP-Antivirus-Proxy mit pfSense und HAVP ein
Internet

So richten Sie einen HTTP-Antivirus-Proxy mit pfSense und HAVP ein

am arbeitet al Netzwerkanaly t für eine algorithmi che Handel firma. Er erhielt einen Bachelor-Ab chlu in Information technologie von UMKC.In die em Artikel werde ich zeigen, wie man a konfiguri...
Handys: Der Unterschied zwischen den Gs und den GBs
Telefone

Handys: Der Unterschied zwischen den Gs und den GBs

Al techni cher Betreuer in einem Callcenter für einen der führenden amerikani chen Mobilfunkanbieter höre ich immer wieder die gleichen Fragen. Viele Kunden möchten nur ge chult w...