# CoDeSys -Neuling braucht hilfe



## LUZIFERUS (26 Juni 2017)

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


----------



## dingo (26 Juni 2017)

Moin,
hast Du nach dem Einloggen im Simulationsmodus das Programm gestartet?
Anhang anzeigen 37527

Anhang anzeigen 37528


----------



## LUZIFERUS (26 Juni 2017)

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


----------



## dingo (26 Juni 2017)

Auf einen schnellen Blick, warum doppelte Variablen?

Die im PLC_PRG wären bei der Vorgabe diese Global zu deklarieren überflüssig.

Anhang anzeigen 37529


Bei doppelten Variablen, haben die im jeweils "aktiven PRG" Vorrang vor den global deklarierten Variablen.


----------



## LUZIFERUS (26 Juni 2017)

Hallo "dingo",

habe E1,E2,E3 im PLC_PRG gelöscht. Leider ohne Ergebnis :-(.
Ich bin mit meinem "bescheidenen Latein" am Ende.


----------



## dingo (26 Juni 2017)

Mach mal Screenshots eingeloggt & mit simulierten Variablen oder sende mir Dein PRG per PN.


----------



## Tiktal (26 Juni 2017)

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


----------



## LUZIFERUS (26 Juni 2017)

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


----------



## dingo (26 Juni 2017)

Vielleicht so:
Anhang anzeigen 37540


----------



## dingo (26 Juni 2017)

Für Mitleser:
Die AS- Kette bleibt "hängen" wegen einer Logik- Kombination aus Globalen & Input Variablen.


----------



## LUZIFERUS (26 Juni 2017)

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 .


----------



## Dr.MirakulixX (26 Juni 2017)

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.


----------



## Dr.MirakulixX (26 Juni 2017)

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.


----------



## LUZIFERUS (26 Juni 2017)

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


----------



## Dr.MirakulixX (26 Juni 2017)

Das ist leider auf dem Smartphone etwas schwer zu sehen sorry. 
Kannst du mal einen Screenshot machen wenn du Online bist ? Mal sehen was die Eingänge sagen ob die True oder False sind.


----------



## LUZIFERUS (26 Juni 2017)

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


----------



## LUZIFERUS (26 Juni 2017)

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.


----------



## LUZIFERUS (26 Juni 2017)

Hier der aktuelle Stand


----------



## Dr.MirakulixX (26 Juni 2017)

Sorry war falsch gedacht. Beitrag editiert.


----------



## LUZIFERUS (26 Juni 2017)

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.


----------



## Dr.MirakulixX (26 Juni 2017)

Wenn ich mich recht erinnere ist deine erste Bedingung für den Baustein das Start auf True sein muss. Das ist er aber nicht. Bzw gerade nicht und somit ist die erste Bedingung für die AS nicht erfüllt.


----------



## dingo (26 Juni 2017)

Du hast noch einen bock bei den E1 Variablen:
Anhang anzeigen 37543

Ich habe mal zum Testen xTest & die xLook Var eingefügt.

Beim Forcen siehst Du obwohl E1 TRUE ist, gibt es kein TRUE für xLook.


----------



## LUZIFERUS (26 Juni 2017)

Das ist richtig, was du schreibst.
Habe jetzt START auf TRUE geforced und trotzdem läuft 
AMauf nicht. Leider :-(


----------



## dingo (26 Juni 2017)

Auch wenn Start geforct wird, schaltet  z.B. E1 nicht durch, hier ist der Bock zu suchen


----------



## LUZIFERUS (26 Juni 2017)

Halo dingo,
danke für die Antwort. Aber was heißt es denn?
Momentan habe ich nur Chaos im Kopf und muss gleich
offline gehen.
Werde gegen 21 Uhr nochmal reinschauen.

Ich möchte mich bei allen, die mich heute tatkräftig unterstützt haben, bedanken: besonders bei DINGO.

Gruß

LUZIFERUS


----------



## dingo (26 Juni 2017)

Anhang anzeigen 37545

Hierzu habe ich unter anderem den SimuFB vom übersetzen ausgeschlossen, die Variablen direkt geforct, einschließlich Start


----------



## dingo (26 Juni 2017)

Kein Thema,
wir kommen Schritt für Schritt weiter.
Wir geben gerne Hilfe, sollst aber einen Lerneffekt haben.


----------



## LUZIFERUS (26 Juni 2017)

Ist SimuFB der Übeltäter? Ist denn die AS richtig?


----------



## LUZIFERUS (26 Juni 2017)

Der Lerneffekt ist auf jeden Fall da: Vor einigen Wochen wusste ich nicht mal, wie man  CoDeSys schreibt .
Jetzt kann ichs sogar starten . Am Bedienen arbeite ich fleißig.

Gruß und bis später

Luziferus


----------



## oliver.tonn (26 Juni 2017)

Übrigens, Vorsicht beim Forcen von Variablen, soweit diese nicht an anderer Stelle auch überschrieben werden solltest Du lieber die Funktion "Werte schreiben" nutzen. Mich hat das Forcen schon des Öfteren zur Verzweifelung gebracht, da obwohl eine Variable auf TRUE geforced wurde diese weiterhin FALSE blieb.


----------



## Dr.MirakulixX (26 Juni 2017)

Mach dir sonst einfach etwas mehr Arbeit und Bau dir eine kleine Visu wo du deine Ein- und Ausgänge anzeigen bzw Simulieren kannst. 
Mache das oft so da ich wie Oliver schon öfter beim Forcen merkwürdige Ergebnisse hatte.


----------



## LUZIFERUS (26 Juni 2017)

Halo dingo,

habe mir die von dir geänderte AS angeschaut und erkenne auch (erstaunlicherweise), dass irgendwas mit den Eingängen falsch sein muss, 
weil der von Baustein (mit dem XLock) funktioniert.
Ich werde mir das am Dienstag in der Früh anschauen.

Bis jetzt vielen lieben Dank für Deinen/Euren Einsatz



PS. Wenn jemand von Euch Hilfe beim 3D-Konstruieren (Inventor) braucht, kann ich selbstverständlich helfen.

Gruß

Luziferus


----------



## LUZIFERUS (26 Juni 2017)

Hallo Dr.MirakulixX,

die Tipps von Dir und von Oliver werde ich befolgen. Die kleine Visu, wie von Dir vorgeschlagen, werde ich 
mit meinen Anfängerkenntnissen wohl nicht hinkriegen (habs bis jetzt noch nie gemacht).

Besten Dank für die bisherige Hilfe.

Gruß

Luziferus


----------



## Passion4Automation (26 Juni 2017)

Hi, 
schalte mich mal kurz ein. 
Ich war in codesys vor kurzem auch mal Anfänger und hab dank Ehrgeiz und der Unterstützung im Forum schon viel geschafft. 
Leg dir einfach eine Visu an, ziehe ein Rechteck auf, mache einen doppelklick drauf. Jetzt suchst du nach Variable Tasten und wählst  mit F2 die variable aus die du mit dem Button Tasten willst. 

In der Codesys Hilfe PDF sind teilweise Sachen recht gut beschrieben, alternativ auch you tube. 

Viel Spaß


----------



## Tiktal (27 Juni 2017)

Du könntest z.B. nach der PDF "Die CoDeSys Visualisierung - Ergänzung zum Handbuch für SPS Programmierung mit CoDeSys 2.3" suchen.
Alternativ kann ich Dir die auch gerne schicken.

Gruß

Onno


----------



## LUZIFERUS (27 Juni 2017)

Moin an alle "Helfer" aus dem Forum.
Besten Dank für eure Tipps. Leider bin ich noch nicht weitergekommen, trotz eurer tatkräftiger Unterstützung (besonders von DINGO).

Als Anfänger kann ich euren Vorschlägen, z.B. Simulationserstellung nicht folgen, da der Nutzen nicht 100% nachvollziehbar ist.
Ich kann leider noch nicht auf eurem Niveau mit euch kommunizieren.

Mal ´ne ganz andere Frage: Gibt es hier im Forum jemanden aus dem Großraum Hamburg, der "Lust" hätte sich das SPS-Problem 
am lebenden Objekt anzuschauen? Mein Problem ist die Zeit zur Abgabe, die immer knapper wird.
Die Fehlersuche dauert bei mir  einfach sehr lange und wie die meisten von euch, muss ich noch für meine Brötchen "ackern".
Also, wenn es jemanden gibt, der sich diese Sache aus der Nähe anschauen "möchte", bitte einfach melden.

Gruß und einen angenehmen Tag für alle.

Luziferus


----------



## DeltaMikeAir (27 Juni 2017)

Hallo LUZIFERUS,

ich kann dir zwar nicht helfen aber vielleicht könnte dir einer der Profis mittels TeamViewer ab die schnelle helfen.

Mit Grüßen


----------



## LUZIFERUS (27 Juni 2017)

Hallo DeltaMikeAir,

schön, dass Du/Ihr euch Gedanken macht und unbedingt helfen wollt. Das habe ich so noch 
in keinem Forum erlebt. Ein dickes Lob an alle, die produktiv helfen.

Deine Idee mit dem TeamViewer finde ich sehr gut, aber im Büro haben wir nur SKYPE
und die meisten von euch sind auch stark beruflich angebunden.
Team Viewer darf ich im Büro selber nicht installieren. 
Damit könnte ich nach der Arbeit, ab ca. 19 Uhr was anfangen.

Alternativ könnte ich die Programmdatei und die Aufgabenstellung zum besseren Verständnis
zur Verfügung stellen.
Es soll aber bitte nicht der Eindruck entstehen, dass es jemand für mich machen soll.
Dies ist nicht meine Absicht. 

Also, wenn jemand helfen möchte/kann, bitte einfach melden per PN, dann schicke ich die Unterlagen.

Gruß

Luziferus


----------



## DeltaMikeAir (27 Juni 2017)

Hallo Luziferus,

den Teamviewer muss man nicht zwangsläufig installieren. Man kann ihn direkt starten ( EXE Datei ).
Das ganze heißt dann "Team Viewer Quick Support":
https://www.teamviewer.com/de/download/windows/

Viel Erfolg!


----------



## LUZIFERUS (27 Juni 2017)

Hallo DeltaMikeAir,

danke für den Link.
Vielleicht wird sich jemand "erbarmen" .

Gruß

Luziferus


----------



## Nicole S (6 Juli 2017)

Hallo, ich habe auch Probleme mit der Steuerung des Aufzuges, hast du dein Problem lösen können und kannst mir vielleicht weiter helfen?
Gruß 
Nicole


----------



## Dr.MirakulixX (6 Juli 2017)

Was hast du denn genau für Probleme ?


----------



## Nicole S (6 Juli 2017)

Hallo, die Tür des Aufzugs fährt zu und gleich wieder auf.






Danke fürs anschauen.
Gruß Nicole S


----------



## ccore (7 Juli 2017)

Welche Bedingung muss erfüllt sein damit die Tür auffährt, bzw. die Eingangsvariable "AUF" true ist? 

Du musst in der richtigen Etage sein und die Tür muss zu sein?


----------



## dingo (7 Juli 2017)

Hallo Nicole S,
da es sich um eine Hausaufgabe handelt, sind weiter Informationen, wie Aufgabenstellung, bereitgestellte FB & Visu usw. nötig.

Schreib mal Luziferus an, Er hat die Aufgabe gelöst, sonst meldest Du Dich noch einmal.

Eine Fehlersuche ist für Mitleser ohne Details sehr schwierig, bringt nur unnötige Verwirrung.

Es muss bereitgestellte FB's, Visu & Variablen der Schule für die Hausaufgabe genutzt werden, z.B. dazu darf keine doppelte Deklarierung der Variablen, wie START erfolgen.

Des weiteren gibt es in dem PRG_PRG in Verbindung FB SiMu (für die Simulation/ Visualisierung benötigt), Output Variablen.
Diese müssen genutzt werden, sonst funktioniert die Visu nicht Richtig.


----------



## Nicole S (12 Juli 2017)

Hallo Luziferus, wenn der Aufzug von 2 nach 3 fährt und mit der T3 Taste betätigt wurde öffnet sich die Türe nicht, genauso verhält es sich wenn der Aufzug von 2 nach 1 fährt und mit der T1 Taste bedient wird.
Woran könnte das liegen?


----------



## LUZIFERUS (13 Juli 2017)

Hallo Nicole S,

was mir auffällt ist, dass meine Funktionsblöcke  "ZUFAHRN" und "TUER" etwas anders aussehen.
Vielleicht versucht Du es zunächst mal damit (s. Screenshot).

Bitte um kurze Rückmeldung, ob es läuft? Viel Erfolg

PS. Bitte für die Schrittnamen im AS eine andere Bezeichnung wählen, damit es unterschiedlich aussieht. Danke.

Gruß

Luziferus


----------



## KeyserSoze (15 Juli 2017)

Guten Morgen,

ich habe mir diesen Beitrag gut durchgelesen und auch die Fehler, die ich in meinem Programm hatte, verbessert. 

Nun habe ich allerdings folgendes Problem:

Wenn ich die Simulation starte und auf Ruf einer anderen Etage drücke, fährt die Tür zu, wartet die Sekunde und dann öffnet sie sich wieder, beides in normaler Geschwindigkeit.
Wenn ich in der Kabine auf die Taste für eine andere Etage drücke, schließt sich die Tür sofort und der Fahrstuhl fährt in die Etage. Die Tür öffnet dann in normaler Geschwindigkeit.

Ich habe es im FB Ziel (angefangen habe ich mit dem Aufbau wie in der Formel) mit etlichen Varianten probiert, die mir logisch erscheinen, aber da ändert sich dann nur, dass die Tür sofort schließt und der Fahrstuhl fährt, wenn ich auf Ruf drücke.

Habt ihr dieses Problem auch? Das ist das Einzige, was mich von der Fertigstellung abhält.

Danke schonmal im Vorraus!

Beste Grüße


----------



## Heinileini (15 Juli 2017)

@KeyserSoze
Diagnose eines unbedarften Mitlesers: die RufTaste muss solange gedrückt bleiben, bis die GedenkSekunde abgelaufen ist!(?)
Dingo hat absolut Recht. Als "Nur-Mitleser" steht man vor immer neuen Rätseln.
Woher kommt jetzt die "normale Geschwindigkeit" beim Öffnen/Schliessen der Tür ins Spiel? Welche Alternativen zu "normal" gibt es?
Ist die GedenkSekunde erwünscht oder sogar Bestandteil der Aufgabenstellung?
Gruss, Heinileini


----------



## KeyserSoze (16 Juli 2017)

Moin Heinileini,

die Gedenksekunde ist eine Vorgabe aus einer Aufgabenstellung. In den bisher gesendeten Screenshots meiner Leidensgenossen war das in einem AS-Block schon einige Male sichtbar, daher dachte ich, dass die netten Helfer/innen in diesem Beitrag schon im Bilde wären, was die Sekunde angeht. 
Mit der Geschwindigkeit meine ich, dass in der Visualisierung beim Durchlaufen der Simulation die Fahrstuhltür wie eine normale Fahrstuhltür öffnet und und schließt. Bei meinem Durchlauf ist es nun aber so, dass die Tür sofort geschlossen wir und der Fahrstuhl dann sofort beginnt, in die gewählte Etage zu fahren. 
Den Teil mit der Ruftaste und dem wieder öffnen hat sich erledigt, ich hab noch eine Änderung gemacht, so dass es jetzt wie bei den Tastern in der Kabine ist. Aber richtig kann das ja immernoch nicht sein. 
Die Geschwindigkeit der Tür ist kein Teil unserer Aufgabenstellung, sonder irgendwo im gegebenen Programmteil, so dass wir da keine Variablen verändern sollen/können.


----------



## Heinileini (16 Juli 2017)

Moin KeyserSoze!
Ah ja, die Simulation gaukelt unterschiedliche Geschwindigkeiten vor. Tschuldigung, die Frage wäre nicht aufgekommen, wenn ich die Simulation hätte sehen können.
Ich hatte die "GedenkSekunde" zwar auch schon im AS-Bild gesehen, aber nicht wirklich wahrgenommen. Die Texte in den Bildern sind z.T. leider schwer zu entziffern, ganz zu schweigen davon, dass die AS-Darstellung für mich noch Neuland ist, obwohl ... erinnert mich an Skizzen, die man sich in der EntwurfsPhase schon mal macht. 
Zur Aufgabenstellung: 
Die AS-Darstellung deute ich so, dass nach dem Schliessen der Tür 1 GedenkSekunde verstreichen soll, ehe der Fahrstuhl die ZielEtage anstrebt - immer, egal ob durch RufTaste oder Taste in der Kabine angefordert.
Deine ProblemBeschreibung verstehe ich so, dass sich die Tür richtig verhält, aber die Kabine vergisst, in die ZielEtage zu fahren, wenn die RufTaste betätigt wurde.
Wird jedoch die Taste in der Kabine betätigt, so fehlt die GedenkSekunde, die Tür schliesst mit SchallGeschwindigkeit und der Rest der Fahrt läuft korrekt ab.
Habe ich das jetzt richtig verstanden?
Vergiss meine Frage - für Dich ist jetzt wichtig, die Aufgabe rechtzeitig zu lösen - nicht dumme Fragen zu beantworten!
Wünsche Dir und den Leidensgenossen viel Erfolg! Heinileini


----------



## Japapa (3 Januar 2023)

Hallo.
Ich bekomme bei diesem Programm die Visualisierung nicht hin. Ich drücke auf Übersetzen, dann auf einloggen und auf Start und die Knöpfe funktionieren nicht bei der Darstellung. Hat jemand von euch ein Tipp was da falsch ist?


----------



## plcinrun (4 Januar 2023)

Warum eigentlich Programmieren mit FUP, wenn es mit SCL viel einfacher/flexibler geht? 

Gruß 
plcinrun


----------



## oliver.tonn (4 Januar 2023)

Hardware aktiviert?


----------



## Japapa (4 Januar 2023)

So war die Aufgabenbeschreibung mit Fup zu programmieren. 
Was meist du Oliver Hardware aktiviert? 
Wenn man bei CoDeSys auf Login geht  und Start drückt, dann wird es doch aktiviert? Oder Ihre ich mich da?


----------



## oliver.tonn (4 Januar 2023)

Japapa schrieb:


> SWas meist du Oliver Hardware aktiviert?


Sorry, war bei TwinCAT.


----------



## Japapa (Samstag um 16:30)

Hallo. Ich habe meinen Fehler schon gefunden. 
Ich wusste am Anfang nicht genau wo die globalen Variablen kommen.
Danke euch.


----------

