CoDeSys -Neuling braucht hilfe

LUZIFERUS

Level-1
Beiträge
22
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin, Moin an alle Mitglieder.
Bin neu im Forum und ein absoluter Neuling, was SPS angeht.
Ich studiere an einer Fernuni (Wirtschaftsingenieurwesen)und muss für eine Hauarbeit ein Programm (Fahrstuhlsteuerung) mit CoDeSys 2.3 entwerfen. Es ist für mich der erste Kontakt mit SPS/CoDeSys und man tut sich noch ziemlich schwer. Bei einer Teilaufgabe bin ich auf ein Problem gestoßen, was ich nicht beheben kann. Es soll ein Funktionsblock namens KABINE in der Sprache AS (Ablaufsprache) erstellt werden und eine Instanz davon namens KAB_UP_DOWN als lokale Variable. Als Inputvariable sind E1x, E2x, E3x (Zieletagen) vorgegeben. Als Outputvariablen sind AMaufx (Kabinenmotor aufwärts) und AMabx (Kabinenmotorabwärts) vorgegeben.
Diese Variablen sind dann im PLC_PRG (in der Instanz) jeweils mit E1, E2,E3; AMauf, AMab zu verbinden. E1,E2,E3 sind als GLOBALEVARIABLEN vorgegeben. AMauf und AMab als Outputvariablem im PLC_PRG vorgegeben. Es gibt noch drei Endschalter für geschlossene Türen (TZ1; TZ2 und TZ3), die als globale Variable (Vorgabe) definiert sind. Jetzt zu meinem Problem: ich habe den Funktionsblock als AS erstellt (so ist es gefordert), aber die Aktionen werden leider nicht ausgeführt, wenn die Transition davor TRUE ist und ich es simuliere (s. Anhang).
PS. Bei der Lösungssuche habe ich die gleiche Schrittkette direkt im PLC_PRG als Programm und nicht als Funktionsblock nachgebildet und die Aktionen werden aktiviert. Wenn ich von einem anderen Funktionsblock (als FUP) eine Instanz im PLC_PRG erstelle, dann funktioniert es mit der Online-Simulation auch.
Mit der Suchfunktion habe ich es bereits probiert, aber leider nichts Passendes gefunden.
Woran könnte es liegen? Für eure Unterstützung wäre ich sehr dankbar und sag jetzt schon: besten Dank im Voraus.

Gruß
Luziferus
 

Anhänge

Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo dingo und Danke für die superschnelle Antwort.
Ja ich habe nach dem Einloggen die Simulation gestartet (mit F5).
Wie gesagt: als einzelnes Programm läuft die Simulation. Als Funktionblock in AS im PLC_PRG als Instanz tut sich nichts :-(.

Gruß

Rafal
 
Hallo "dingo",

habe E1,E2,E3 im PLC_PRG gelöscht. Leider ohne Ergebnis :-(.
Ich bin mit meinem "bescheidenen Latein" am Ende.
 
Nur mal als Zwischenfrage ...kann ich in einem FB mit Variablen arbeiten die dort gar nicht definiert sind?
Woher soll der FB denn wissen was er mit den Avriablen anfangen soll?

Gruß

Onno
 
Hallo Tiktal,
danke für deine Zwischenfrage. Bin ein SPS-Neuling, glaube aber das die globalen Variablen in jedem Funktionsblock verwendet werden könne,
ohne zusätzliche lokalen Variablen im Funktionsblock zu definieren. Aber alles ohne Gewähr.

Gruß

Luziferus
 
Für Mitleser:
Die AS- Kette bleibt "hängen" wegen einer Logik- Kombination aus Globalen & Input Variablen.
 
Habe im PLC_PRG die Eingänge E1,E2,E3 nach deinem Screenshot (s. oben) geändert.
Wenn ich jetzt diesen Baustein im PLC_PRG teste (dh. z.B. T1&T2&T3&E3 sind TRUE),
dann müsste doch der Ausgang (die Kabine , AMauf blau leuchten, also wahr werden).
Es tut es aber nicht.
Dürfen denn in dem Funktionsblock KABINE die Transitionen ET1;ET2;ET3 global bleiben?
Danke im Voraus .
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du sie nur global hast ist das kein Problem. Sollte Codesys eine Var nicht finden weil sie nicht definiert oder nicht global ist meldet sich das PRG beim übersetzten.
Um Probleme zu vermeiden und die Fehlersuche zu erleichtern solltest du zuerst wirklich deine VARs alle nur einmalig vergeben.
 
Gerade deine PDFs angesehen. Aber leider nur auf dem Smartphone. Rufst du deine Bausteine im PLC_PRG überhaupt auf ? Kann ich leider nicht wirklich sehen.
 
Hallo Dr.MirakulixX,
danke für die Teilnahme an der Diskussion.
Die Bausteine werden aufgerufen (ist im zweiten Anhang "PLC_PRG") zu sehen.
Ich hoffe, dass ich das richtig getan habe.
Gruss,
Luziferus
 
Da ich immer noch auf dem Schlauch stehe, möchte ich eine ganz dumme Anfängerfrage stellen:
Muss in Ablaufsprache der Schritt durch einen Doppelklick noch "programmiert werden",
wenn ich daran nur ein eine Aktion habe? Habe das irgendwo mal gelesen, aber weiß den Kontext
nicht mehr genau. Ist da was dran?

Gruß
Luziferus
 
Sorry für eine zusätzliche Frage, aber so ist es mit den "Frischlingen" (von tuten und blasen haben sie keine Ahnung oder nur ganz ganz wenig :-):
Soll ich von PLC_PRG ein Screenshot machen, wenn die Simulation läuft?
Bis jetzt bin ich folgendermaßen vorgegangen: Einloggen, Simulation starten, dann im PLC_PRG die Eingänge "wahr gesetzt" und gehofft, dass
die Ausgänge WAHR werden.
 
Also betrachten wir jetzt den Eingang E3x, dann sind E3&TZ1&TZ2&TZ3 auf TRUE
und jetzt hätte ich erwartet, dass der Ausgang AM auf TRUE wird (für mich blau wird).
Die Eingänge E1x und E2x betrachte ich nicht, weil AMauf TRUE werden soll, wenn TZ1&TZ2&TZ3&E3 auch WAHR werden.
Ich schnalle es einfach nicht, warum das nicht passiert.
 
Zurück
Oben