Startseite > Forum > IEC 61131-Programmierung (LogicLab) > Beispiel für die Handhabung von Einkaufswagen in SFC-Sprache
- Dieses Thema hat 5 Antworten, 2 Teilnehmer und wurde zuletzt aktualisiert 10 Jahre, 4 Monate da Sergio Bertana.
-
AutorPost
-
September 13, 2013 bei 8: 56 #35412StefanoPartecipante
Ich versuche, LogicLab und die SFC-Sprache kennenzulernen, bin mir jedoch einiger Aspekte der Benutzeroberfläche (wie Positionierungsblöcke, Verknüpfungsaktionen usw.) noch nicht klar. Ich suche nach Beispielen zur Verdeutlichung, finde aber keine Projekte, die für LogicLab mit SFC-Komponenten etwas artikuliert sind. Ein nützliches Beispiel wäre das Bewegen eines Wagens mit zwei Positionen (FcA und FcB) und einer Starttaste. Mit einer Sequenz wie:
- Start.
- Starttaste bestätigen.
- If (NOT FcA) und (NOT FcB): Vorwärts laufen, bis FcA aktiviert ist -> Jump Waiting Start Button.
Wenn FcB: Vorwärts laufen, bis FcA aktiviert ist -> Schaltfläche Jump Waiting Start
Wenn FcA: Rückwärts bis zur FcB-Aktivierung -> Starttaste für SprungwartezeitPS: Ich weiß, dass der zweite beschriebene Fall zur Optimierung in Fall 1 eingefügt werden sollte. Ich habe es aufgeteilt, um zum Beispiel noch eine Transaktion zu haben.
September 14, 2013 bei 6: 24 #37773Sergio BertanaAdministrator des ForumsIch bin kein erfahrener SFC-Programmierer. Wenn ich sequentielle Programme erstellen möchte, bevorzuge ich die Verwendung der ST-Sprache. Mit der Anweisung CASE OF können Sie diese auf sehr geordnete Weise verwalten. Ich versuche jedoch, Ihre Anfrage mit einem einfachen SFC-Programm zu beantworten, das den Zweck erfüllt (Programm drucken, Quelldownload).
- Im Init-Schritt führe ich die Nullstellung der beiden Richtungsbefehlsausgänge durch.
- Bei der nächsten Transaktion warte ich auf die Aktivierung der Starttaste.
- Bevor ich einen Übergang öffne, muss ich einen Schritt, den Dummy-Schritt und nur einen Füllstoff zwangsweise einfügen.
- Ich öffne einen divergierenden Übergang und führe zwei Steuertransaktionen für den Status der Endschalter durch. Wenn kein Endschalter aktiv ist, ist der Zweig ganz links maßgebend, daher ist die Vorwärtsachse aktiv (gemäß Ihrer Anfrage).
- Ich führe die beiden Vorwärts- und Rückwärtsschritte aus, in denen die relative Befehlsausgabe aktiviert wird.
- Wenn der Endschalter aktiviert ist, springt er zum Schritt Init, der die Befehlsausgänge zurücksetzt.September 16, 2013 bei 8: 42 #37775StefanoPartecipanteOkay, ich würde sagen, es ist ziemlich klar.
Vielen Dank!September 17, 2013 bei 1: 11 pm #37778Sergio BertanaAdministrator des ForumsMit einem Moment der Freizeit habe ich das Wagen - und / oder Achsenhandling - Projekt erweitert, indem ich das automatische Uhrwerk hinzugefügt habe Screenshot des SFC-Programms.
Im Handbetrieb soll sich der Startbefehl vorwärts oder rückwärts bewegen, die Bewegung wird fortgesetzt, bis der relative Endschalter erreicht ist.
Im Automatikbetrieb wird beim Startbefehl die Vorwärtsfahrt ausgeführt, die Pausenzeit ist erreicht, die Rückwärtsfahrt wird durchgeführt. Wenn der Endschalter erreicht ist, wird eine Pause ausgeführt, dann wird der Zyklus mit der Vorwärtsbewegung fortgesetzt. Um den automatischen Zyklus zu stoppen, muss in den manuellen Modus gewechselt werden.
Ich habe auch einen Simulationseingang% IX0.2 vorbereitet, mit dem aktiven Eingang werden die Endschalter nach einer Zeit ab dem Beginn der Bewegung simuliert. Auf diese Weise ist es möglich, den Betrieb auf viel einfachere Weise zu testen, ohne den zu verwalten Endschalter.
Die verschiedenen Aktionen und Übergänge werden mit Programmen sowohl in der Kontaktplan-LD-Sprache als auch im strukturierten Text ST verwaltet. Dies zeigt, wie ein einzelnes SFC-Programm Teile enthalten kann, die in den anderen 4 Sprachen des IEC61131-Standards geschrieben sind, den ich anhänge Programm drücken e Quelldateien.
Dezember 2, 2013 bei 9: 34 am #37913StefanoPartecipanteIn Bezug auf dieses Beispiel habe ich ein paar Fragen.
Einer betrifft LogicLab:
Wenn Sie zum Debug-Menü -> Sinulationsmodus gehen, wird der Fehler "Simulatordefinition (TGSX) nicht gefunden" angezeigt. Fehlen Dateien in LogicLab?Der andere betrifft das Beispielprojekt.
Wenn Sie zwei Alarme hinzufügen möchten, einen, der eingreift, wenn der Wagen mehr als X Zeit benötigt, um den Endschalter zu erreichen, und einen, der eingreift, wenn ein Kontakt geschlossen wird (dies kann der Notfallknopf oder ein Wärmeschutzkontakt sein). Was wäre der richtige Weg, um sie zu verwalten?Dezember 2, 2013 bei 9: 54 am #37914Sergio BertanaAdministrator des ForumsDer interne Simulator von LogicLab ist in der aktuellen Version nicht implementiert, er wird ab der nächsten veröffentlichten Version verfügbar sein. Wir stellen derzeit einen externen Simulator zur Verfügung. Sie müssen das Simulatorziel auswählen, um ihn zu verwenden (Betreff).
Ich habe Ihr Programm für die Verwendung mit dem Simulator konvertiert und die Verwaltung des Achsenvorschubalarms hinzugefügt (Quellprogramm herunterladen). Hier ist es Screenshot Ihres Simulationsprogramms.
-
AutorPost
- Sie müssen angemeldet sein, um auf dieses Thema antworten zu können.