Leiter-Logik

:Ladder-Logik ist auch der Name eines ERSTEN Robotertechnik-Konkurrenz-Spiels

Leiter-Logik ist eine Programmiersprache, die ein Programm durch ein grafisches auf den Stromkreis-Diagrammen der Relaislogikhardware gestütztes Diagramm vertritt. Es wird in erster Linie verwendet, um Software für programmierbare Logikkontrolleure in Industriekontrollanwendungen verwendeter (PLCs) zu entwickeln. Der Name basiert auf der Beobachtung, dass Programme auf dieser Sprache Leitern, mit zwei vertikalen Schienen und einer Reihe von horizontalen Sprossen zwischen ihnen ähneln.

Übersicht

Ein Argument, das der anfänglichen Adoption der Leiter-Logik geholfen hat, war, dass ein großes Angebot an Ingenieuren und Technikern im Stande sein würde, es ohne viel zusätzliche Ausbildung wegen der Ähnlichkeit mit vertrauten Hardware-Systemen zu verstehen und zu verwenden. Dieses Argument ist weniger wichtig geworden vorausgesetzt, dass die meisten Leiter-Logikprogrammierer einen Softwarehintergrund auf herkömmlicheren Programmiersprachen haben, und in Praxis-Durchführungen der Leiter die Logik Eigenschaften, wie folgende Ausführung und Unterstützung für Kontrollfluss-Eigenschaften hat, die die Analogie zur Hardware etwas ungenau machen.

Leiter-Logik ist an das Programm PLCs weit gewöhnt, wo die folgende Kontrolle eines Prozesses oder Produktionsoperation erforderlich ist. Leiter-Logik ist für einfache, aber kritische Regelsysteme nützlich oder um alte festverdrahtete Relaisstromkreise nachzuarbeiten. Da programmierbare Logikkontrolleure hoch entwickelter geworden sind, ist es auch in sehr komplizierten Automationssystemen verwendet worden. Häufig wird das Leiter-Logikprogramm in Verbindung mit einem HMI Programm verwendet, das auf einem Computerarbeitsplatz funktioniert.

Hersteller von programmierbaren Logikkontrolleuren stellen allgemein auch vereinigter Leiter-Logik Programmierung von Systemen zur Verfügung. Normalerweise werden die Leiter-Logiksprachen von zwei Herstellern nicht völlig vereinbar sein; von Leiter-Logik wird als eine Reihe nah zusammenhängender Programmiersprachen aber nicht eine Sprache besser gedacht. (Der IEC 61131-3 Standard hat geholfen, unnötige Unterschiede zu reduzieren, aber das Übersetzen von Programmen zwischen Systemen verlangt noch bedeutende Arbeit.) Können sogar verschiedene Modelle von programmierbaren Kontrolleuren innerhalb derselben Familie verschiedene solche Leiter-Notation haben, dass Programme zwischen Modellen nicht nahtlos ausgewechselt werden können.

Von

Leiter-Logik kann als eine regelbasierende Sprache aber nicht eine Verfahrenssprache gedacht werden. Eine "Sprosse" in der Leiter vertritt eine Regel. Wenn durchgeführt, mit Relais und anderen elektromechanischen Geräten "führen" die verschiedenen Regeln gleichzeitig und sofort "durch". Wenn durchgeführt, in einem programmierbaren Logikkontrolleur werden die Regeln normalerweise folgend durch die Software, in einer dauernden Schleife (Ansehen) durchgeführt. Durch die Durchführung der Schleife schnell genug, normalerweise oft pro Sekunde, wird die Wirkung der gleichzeitigen und unmittelbaren Ausführung relativ zu innerhalb der Toleranz der Zeit erreicht, die erforderlich ist, jede Sprosse in der "Schleife" (die "Ansehen-Zeit") durchzuführen. Es ist anderen regelbasierenden Sprachen, wie Spreadsheets oder SQL etwas ähnlich. Jedoch verlangt der richtige Gebrauch von programmierbaren Kontrolleuren das Verstehen der Beschränkungen der Ausführungsordnung von Sprossen.

Beispiel eines einfachen Leiter-Logikprogramms

Die Sprache selbst kann als eine Reihe von Verbindungen zwischen logischen Kontrolleuren (Kontakte) und Auslöser (Rollen) gesehen werden. Wenn ein Pfad zwischen der linken Seite der Sprosse und der Produktion, durch den behaupteten (wahr oder "geschlossen") Kontakte verfolgt werden kann, ist die Sprosse wahr, und die Produktionsrolle-Lagerung hat gebissen wird (1) oder wahr behauptet. Wenn kein Pfad verfolgt werden kann, dann ist die Produktion (0) falsch, und die "Rolle" analog zu elektromechanischen Relais wird als "de-energized" betrachtet. Die Analogie zwischen logischen Vorschlägen und Relaiskontakt-Status ist wegen Claude Shannons.

Leiter-Logik hat Kontakte, die machen oder Stromkreise brechen, um Rollen zu kontrollieren. Jede Rolle oder Kontakt entsprechen dem Status eines einzelnen Bit im Gedächtnis des programmierbaren Kontrolleurs. Verschieden von elektromechanischen Relais kann ein Leiter-Programm jede Zahl von Zeiten zum Status eines einzelnen Bit verweisen, das zu einem Relais mit einer unbestimmt Vielzahl von Kontakten gleichwertig ist.

So genannte "Kontakte" können sich auf physische ("harte") Eingänge dem programmierbaren Kontrolleur von realen Geräten wie Drucktasten beziehen und Schalter über ein einheitliches oder äußerliches Eingangsmodul beschränken, oder können den Status von inneren Lagerungsbit vertreten, die anderswohin im Programm erzeugt werden können.

Jede Sprosse der Leiter-Sprache hat normalerweise eine Rolle am weiten Recht. Einige Hersteller können mehr als eine Produktionsrolle auf einer Sprosse erlauben.

  • Eine regelmäßige Rolle, gekräftigt, wann auch immer seine Sprosse geschlossen wird.
  • "Nicht" rollen sich, gekräftigt zusammen, wann auch immer seine Sprosse offen ist.
  • Ein regelmäßiger Kontakt, geschlossen, wann auch immer seine entsprechende Rolle oder ein Eingang, der es kontrolliert, gekräftigt werden.
  • "Nicht" setzen sich, offen in Verbindung, wann auch immer seine entsprechende Rolle oder ein Eingang, der es kontrolliert, gekräftigt werden.

Die "Rolle" (Produktion einer Sprosse) kann eine physische Produktion vertreten, die ein Gerät bedient, das mit dem programmierbaren Kontrolleur verbunden ist, oder ein inneres Lagerungsbit für den Gebrauch anderswohin im Programm vertreten kann.

Beispiele

Hier ist ein Beispiel dessen, wie was eine Sprosse in einem Leiter-Logikprogramm aussehen könnte. In echten Weltanwendungen kann es Hunderte oder Tausende von Sprossen geben.

Zum Beispiel:

1.----[]---------| - [] - |------

X | Y | S

| |

| - [] - |

Z

Der obengenannte begreift die Funktion: S = X UND (Y ODER Z)

Gewöhnlich wird komplizierte Leiter-Logik verlassen zum Recht und der Spitze zum Boden 'gelesen'. Als jede der Linien (oder Sprossen) werden bewertet die Produktionsrolle einer Sprosse kann in die folgende Bühne der Leiter als ein Eingang fressen. In einem komplizierten System wird es viele "Sprossen" auf einer Leiter geben, die in der Größenordnung von der Einschätzung numeriert werden.

1.----[]-----------|---[]---|----

X | Y | S

| |

|---[]---|

Z

2.----[]----[]-------------------

S X T

2. T = S UND X

Das vertritt ein ein bisschen komplizierteres System für die Sprosse 2. Sich nachdem die erste Linie bewertet worden ist, wird die Produktionsrolle (S) in die Sprosse 2 gefüttert, der dann bewertet wird und die Produktion zusammenrollen, konnte T in ein Produktionsgerät gefüttert werden (Summer, Licht usw.) oder in die Sprosse 3 auf der Leiter. (Bemerken Sie, dass der Kontakt X auf der zweiten Sprosse keinem nützlichen Zweck dient, weil X bereits in 'UND' Funktion von S von der 1. Sprosse definiert wird.)

Dieses System erlaubt sehr komplizierten Logikdesigns, gebrochen und bewertet zu werden.

Weil praktischere Beispiele unten sehen:

------[]--------------[]----------------

Schlüsselschalter 1 Schlüsselschalter 2 Tür-Motor

Dieser Stromkreis zeigt zwei Schlüsselschalter, dass Wächter verwenden könnten, um einen elektrischen Motor auf einer Bankgewölbe-Tür zu aktivieren. Wenn die normalerweise offenen Kontakte von beiden Schaltern nahe, Elektrizität im Stande ist, in den Motor zu fließen, der die Tür öffnet. Das ist ein logischer UND.

+-------+

----------------------------+ +----

+-------+

Entfernter Empfänger

- |-------[]-------+-----------------

| |

|-------[]-------|

Interieur schließt auf

Dieser Stromkreis zeigt die zwei Dinge, die Macht-Tür-Schlösser eines Autos auslösen können. Der entfernte Empfänger wird immer angetrieben. Das Schloss-Solenoid bekommt Macht, wenn jeder Satz von Kontakten geschlossen wird. Das ist ein logischer ODER.

Häufig haben wir einen kleinen grünen "Anfang"-Knopf, um einen Motor anzumachen, und wir wollen es mit einem großen roten "Halt"-Knopf abdrehen. Der Halt-Knopf selbst wird als ein normalerweise geschlossener Schalter angeschlossen. Das bedeutet, dass, wenn der Halt-Knopf in seinem normalen Staat (nicht gestoßen) ist, der PLC-Eingang wahr sein wird. Wenn der Halt-Knopf gestoßen wird, wird der Eingang falsch gehen. Das wird die Sprosse falsch machen und die "Lauf"-Produktion aufhören. Ein normalerweise geschlossener Kontakt muss im Leiter-Diagramm verwendet werden, da dieser Eingang normalerweise durch den normalerweise geschlossenen Drucktaste-Kontakt angemacht wird und abbiegt, wenn der Knopf gedrückt wird.

- +----[] - +----[/]---

| fangen Sie | an Halt führt

| |

+----[] - +

geführter

-------[]--------------

geführter Motor

Diese Klinke-Konfiguration ist ein allgemeines Idiom in der Leiter-Logik. In der Leiter-Logik wird es Siegel - in der Logik genannt. Der Schlüssel zum Verstehen der Klinke ist im Erkennen, dass "Anfang"-Schalter ein kurzer Schalter ist (sobald der Benutzer den Knopf veröffentlicht, ist der Schalter wieder offen). Sobald sich das "Lauf"-Solenoid beschäftigt, schließt es den "Lauf"-Schalter, der das Solenoid darauf zuklinkt. Der "Anfang"-Schalter, der dann öffnet, hat keine Wirkung.

Zusätzliche Funktionalität

Zusätzliche Funktionalität kann zu einer Leiter-Logikdurchführung vom PLC Hersteller als ein spezieller Block hinzugefügt werden. Wenn der spezielle Block angetrieben wird, führt er Code auf vorher bestimmten Argumenten durch. Diese Argumente können innerhalb des speziellen Blocks gezeigt werden.

+-------+

-----[]--------------------+ +----

Entfernt schließen +-------+ auf

Entfernter Schalter

+-------+

-----[]--------------------+ B +----

Interieur schließt +-------+ auf

Innenschalter

+--------+

--------------------+ + B +-----------

+ in C +

+--------+

Viper

In diesem Beispiel wird das System die Zahl von Zeiten aufzählen, dass der Innen- und das entfernte Knöpfe aufschließen, werden gedrückt. Diese Information wird in Speicherpositionen A und B versorgt. Speicherposition C wird die Gesamtzahl von Zeiten halten, dass die Tür elektronisch aufgeschlossen worden ist.

PLCs haben viele Typen von speziellen Blöcken. Sie schließen Zeitmesser, arithmetische Maschinenbediener und Vergleiche, Tisch lookups, Textverarbeitung, PID Kontrolle und Entstörung von Funktionen ein. Stärkerer PLCs kann auf einer Gruppe von inneren Speicherpositionen funktionieren und eine Operation auf einer Reihe von Adressen durchführen, um zum Beispiel einen physischen folgenden Trommel-Kontrolleur oder eine Zustandsmaschine vorzutäuschen. In einigen Fällen können Benutzer ihre eigenen speziellen Blöcke definieren, die effektiv Unterprogramme oder Makros sind. Die große Bibliothek von speziellen Blöcken zusammen mit der hohen Geschwindigkeitsausführung hat Gebrauch von PLCs erlaubt, sehr komplizierte Automationssysteme durchzuführen.

Beschränkungen und Nachfolger-Sprachen

Leiter-Notation wird am besten angepasst, um Probleme zu kontrollieren, wo nur zweiwertige Variablen erforderlich sind, und wo ineinander zu greifen, und sequencing der Dualzahl das primäre Kontrollproblem ist. Da die Ausführung von Sprossen innerhalb eines Programms folgend ist und unbestimmt sein oder innerhalb einer Sprosse verdunkeln kann, sind einige Logikrasse-Bedingungen möglich, der unerwartete Ergebnisse erzeugen kann; komplizierte Sprossen werden am besten in mehrere einfachere Schritte gebrochen, dieses Problem zu vermeiden. Einige Hersteller vermeiden dieses Problem durch ausführlich und völlig das Definieren der Ausführungsordnung einer Sprosse, jedoch können Programmierer noch Probleme haben, völlig die resultierende komplizierte Semantik ergreifend.

Analoggrößen und arithmetische Operationen sind plump, um in der Leiter-Logik auszudrücken, und jeder Hersteller hat verschiedene Weisen, die Notation für diese Probleme zu erweitern. Dort wird gewöhnlich Unterstützung für die Reihe und Schleifen beschränkt, häufig auf Verdoppelung des Codes hinauslaufend, um Fälle auszudrücken, die auf anderen Sprachen nach Gebrauch von mit einem Inhaltsverzeichnis versehenen Variablen verlangen würden.

Da Mikroprozessoren stärker geworden sind, können Notationen wie folgende Funktionstafeln und Funktionsblockdiagramme Leiter-Logik für einige beschränkte Anwendungen ersetzen. Sehr große programmierbare Kontrolleure können alle oder einen Teil der Programmierung haben, die in einem Dialekt ausgeführt ist, der GRUNDLEGEND oder C oder andere Programmiersprache mit für eine Echtzeitanwendungsumgebung passendem bindings ähnelt.

Siehe auch

Außenverbindungen


Adamstown / Spinnen Sie (Public Relations)
Impressum & Datenschutz