Step 7 Umstieg von CoDeSys auf Step 7

FB mit SCL oder GRAPH erstellen

  • SCL

    Stimmen: 6 60,0%
  • GRAPH

    Stimmen: 4 40,0%

  • Umfrageteilnehmer
    10

SanjaDO

Level-1
Beiträge
177
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute

Ich habe jetzt seit ein paar Tagen Simatic S7 Pro Software. Davor habe ich mit Codesys programmiert. Ich hoffe ihr könnt mir ein paar Fragen beantworten:

1. In Codesys gibt es ja ein Hauptprogramm PLC_PRG was als freilaufende Task eingestellt ist. In diesem Programm kann man ja Unterprogramme usw. aufrufen. So wie ich das jetzt bei Step7 verstanden habe ist OB1 das Hauptprogramm und ich muss alle Programme da drin aufrufen? Wenn das so stimmt wie erstellt man z.B eine andere Task? Ein zusätzlicher OB2 Baustein?

2. Wenn ich mit SCL einen FB erstelle habe ich im Vergleich zu Codesys ein zusätzlichen Eingang "EN" und ein Ausgang "ENO". Was machen die? Müssen diese belegt werden?

3. Wenn man eine ganz einfache Ablaufsteuerung erstellt (mit zwei Marken und zwei Transitionen) und im OB1 aufruft kriege ich eine FB mit 10 Eingängen und 10 Ausgängen wobei es nur zwei Eingänge haben muss(vgl. Codesys).

4. In Codesys war es möglich in der Ablaufsteuerung die einzelnen Schritte anzuklicken und eine Programmiersprache auszusuchen in welcher man diesen Schritt programmieren möchte. Wie geht das in Step 7?

Fürs Erste reichts erstmal!

Danke :)
 
Hallo Leute


Ich habe jetzt seit ein paar Tagen Simatic S7 Pro Software. Davor habe ich mit Codesys programmiert. Ich hoffe ihr könnt mir ein paar Fragen beantworten:


1. In Codesys gibt es ja ein Hauptprogramm PLC_PRG was als freilaufende Task eingestellt ist. In diesem Programm kann man ja Unterprogramme usw. aufrufen. So wie ich das jetzt bei Step7 verstanden habe ist OB1 das Hauptprogramm und ich muss alle Programme da drin aufrufen? Wenn das so stimmt wie erstellt man z.B eine andere Task? Ein zusätzlicher OB2 Baustein?


2. Wenn ich mit SCL einen FB erstelle habe ich im Vergleich zu Codesys ein zusätzlichen Eingang "EN" und ein Ausgang "ENO". Was machen die? Müssen diese belegt werden?


3. Wenn man eine ganz einfache Ablaufsteuerung erstellt (mit zwei Marken und zwei Transitionen) und im OB1 aufruft kriege ich eine FB mit 10 Eingängen und 10 Ausgängen wobei es nur zwei Eingänge haben muss(vgl. Codesys).


4. In Codesys war es möglich in der Ablaufsteuerung die einzelnen Schritte anzuklicken und eine Programmiersprache auszusuchen in welcher man diesen Schritt programmieren möchte. Wie geht das in Step 7?


Fürs Erste reichts erstmal!


Danke :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute

Ich habe jetzt seit ein paar Tagen Simatic S7 Pro Software. Davor habe ich mit Codesys programmiert. Ich hoffe ihr könnt mir ein paar Fragen beantworten:

1. In Codesys gibt es ja ein Hauptprogramm PLC_PRG was als freilaufende Task eingestellt ist. In diesem Programm kann man ja Unterprogramme usw. aufrufen. So wie ich das jetzt bei Step7 verstanden habe ist OB1 das Hauptprogramm und ich muss alle Programme da drin aufrufen? Wenn das so stimmt wie erstellt man z.B eine andere Task? Ein zusätzlicher OB2 Baustein?

2. Wenn ich mit SCL einen FB erstelle habe ich im Vergleich zu Codesys ein zusätzlichen Eingang "EN" und ein Ausgang "ENO". Was machen die? Müssen diese belegt werden?

3. Wenn man eine ganz einfache Ablaufsteuerung erstellt (mit zwei Marken und zwei Transitionen) und im OB1 aufruft kriege ich eine FB mit 10 Eingängen und 10 Ausgängen wobei es nur zwei Eingänge haben muss(vgl. Codesys).

4. In Codesys war es möglich in der Ablaufsteuerung die einzelnen Schritte anzuklicken und eine Programmiersprache auszusuchen in welcher man diesen Schritt programmieren möchte. Wie geht das in Step 7?

Fürs Erste reichts erstmal!

Danke :)

1. Falls es TIA Portal ist kann man mehrere "OB1s" einrichten
2. EN/ENO muss nicht belegt werden. EN schaltet das bausteineksekvierung aus..und ENO volgt EN. ENO = falsch = eksekvierungfehler in program (FC/FB)
3. ????
4. Geht nicht, aber man kann zwischen LAD/FBD "view" wechseln.....
 
1.
du kannst auch
OB30 5 s
OB31 2 s
OB32 1 s
OB33 500 ms
OB34 200 ms
OB35 100 ms
OB36 50 ms
OB37 20 ms
OB38 10 ms
nutzen.

Je nach CPU stehen nicht alle OBs zur verfügung. Der Aufrufintervall lässt sich in den Hardwareeinstellungen verändern.

Mit OB40- OB47 kannst du auch Hardwareinterrupts = Prozessalarme programmieren.


3.
Die Außenbeschaltung eines Graph-Bausteines ist vom verwendeten Graph-FC abhängig.
Graph-Editor...Extras...Bausteim-Einstellungen...Übersetzen/Speichern.

4. Transitionen gehen nur in KOP/FUP zu programmieren. In eine Aktion passt so eine Art Pascal Syntax rein z.B. [N]MD100:=MD100*5. Beim Aufbau einer solchen Gleichung ist man aber ziemlich beschränkt.

Beste Grüße
Holger
 
Danke für die schnelle Antwort ossa,

1. Es ist ganz normal Step 7 Prof., TIA Portal ist es nicht. Wie mache ich dann mehrere Tasks auf?
2. Was ist eine eksekvierung?
3. siehe Bild, aus der zwei Marken Steuerung wird so ein Baustein wenn ich den im OB1 aufrufe...Was sind die I/O?
4. Ok dann kann man ja auf Ablaufsteuerung verzichten und das Ganze in SCL machen mit If-schleifen und Semaphoren usw.?

PS. kann irgendwie kein Bild hochladen...bin neu hier sorry
 

Anhänge

  • abl.jpg
    abl.jpg
    24,4 KB · Aufrufe: 25
  • FBresult.jpg
    FBresult.jpg
    27,1 KB · Aufrufe: 38
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie mache ich dann mehrere Tasks auf?
im Simatic-Manager "Neues Objekt einfügen".."Organisationsbaustein"..

Was ist eine eksekvierung?
Das Wort kenne ich auch nicht.
EN Enable-Eingang
ENO Enable-Ausgang

Wenn EN = 0 ist, wird der Baustein nicht augeführt. Unbeschaltet entsprich 1.
ENO kann man im Baustein programmieren.



siehe Bild, aus der zwei Marken Steuerung wird so ein Baustein wenn ich den im OB1 aufrufe...Was sind die I/O?
Ist alles in der Step7-Hilfe dokumentiert. Init_SQ Initialisiert die Schrittkette(n) auf den/die doppeld umrahmten Initialschritt(e).
Bei dir ist das S1.
Viel mehr braucht man fast gar nicht.

Ok dann kann man ja auf Ablaufsteuerung verzichten und das Ganze in SCL machen mit If-schleifen und Semaphoren usw.?
SCL und Graph hben beide ihre Berechtigung. Wer sich richtig an SCL gewöhnt hat, findet sich nur ungern an die anstrengende Graph-Programmierung heran :)
 
Vielen Dank!

ich bin nun viel weiter gekommen :)

eine letzte Frage noch:

Ich habe mein Programm mit PLCSIM(local) simuliert. Das Problem ist dass es manchmal funktioniert und manchmal nicht. Also ich gehe erstmal auf OB1 neu laden, dann online gehen, dann simulieren und auf RUN. Wie gesagt ab und zu gehts...und ab und zu nicht. Was kann es sein?
 
Ich habe einmal zum Testen ein und FB in AWL geschrieben und ein UND FB in SCL den ich dann im OB1 aufrufe. Bei der Simulation der I/O's schaltet der Ausgang manchmal und manchmal nicht....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
wenn du einen FB erstellt hast dann gibt es dazu auch immer einen Instanz-DB. Der muß (vor allem wenn du im Variablen-Haushalt des FB etwas änderst) immer passend zum FB mit in die CPU (auch wenn es "nur" die Sim ist).

Gruß
Larry
 
Der Screenshot zeigt keinen Fehler. Der letzte Eintrag verweist daraufer, dass die CPU auf RUN gegangen ist.

Ein häufiger Fehler ist auch, daß man temporäre Variablen benutzt und erwartet, dass deren Inhalt über einen SPS-Zyklus hinaus erhalten bleibt. Das ist aber nicht oder nur "zufällig" so!
 
Danke holgero

hab den Fehler schon gefunden...habe aus Versehen den InstanzFB gelöscht...

Danke!

Andere Frage:

Wenn ich Merker für REAL Zahlen benutze dann nehme ich doch z.B MD0. Hab aber gesehen dass die nachfolgenden MD1 bis MD3 belegt sind. Also muss ich die zweite REAL Zahl mit MD4 deklarieren. Sehe ich das richtig?
 
Zurück
Oben