Fragen zu TIA und S7 1214C

settelma

Level-1
Beiträge
356
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Ich hätte zwei Fragen zur S7 1200.

1.
Ich versuch gerade eine Rollosteuerung mit einer S7 1214C zu realisieren. Bin auch schon relativ weit. Jetzt wollt ich das Programm mal testen ( hab die Hardware noch nicht ) aber das klappt nicht so recht. Beim Step 7 konnte ich die Simulation starten und konnte Online gehen.
Bei der neuen Software kann ich zwar auch in den Testmodus gehen und Variablen setzen, die Verarbeitung durchs Programm wird aber nicht durchgeführt. Kann mir jemand sagen wie das funtioniert?

2.
Da ich bisher nur (sehr) kleine Projekte gemacht habe fehlt mir hier die Erfahrung. In TIA gibt’s ja nur noch IEC-Timer und IEC-Counter. Ist es wirklich notwendig das ich für jede Zeitfunktion bzw. Zählfunktion einen eigenen Datenbaustein brauche. Ich hab jetzt schon ca. 20 Datenbausteine. Ich kenn das in der Form noch nicht. Bei den Step 7 Zeiten gings ja auch ohne.

Danke schon mal

Gruß Markus
 
Hallo Markus,

wenn ich dich richtig verstehe dann willst du dein Programm ohne S7-1200er CPU testen. Das geht, genauso wie bei der S7-200 leider nicht.

Die 1200 hat nur noch IEC-Timer und Zähler. Um Dateibausteine zu "sparen" kannst du wie bei Step7 die Timer als Multiinstanz aufrufen. Das funktioniert natürlich nur in eine FB und nicht in eine FC.

Gruß André
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Antwort.

Dann ist es also schon so das wirklich so viele Datenbausteine benötigt werden? Ich dachte schon ich mach was falsch.
Dann kanns ja wirklich sein das ich bei einem aufwendigen Projekte hunderte Datenbausteine brauche oder.

Das ist aber nicht gerade von Vorteil wenn man das Programm nicht simulieren kann.

Gruß Markus
 
Hallo Markus.
Die Sache mit den IEC Timern und den Datenbausteinen funktioniert wie folgt.
Öffne eine FB und gehe in die deklaration der statischen Variablen. Dort benennst Du eine Variable und trägst rechts in der Spalte Format z.B. "SFB4" für einen einschaltvertzögerten Timer ein.
In einem Netzwerk kannst Du die Variable mit einem Call aufrufen.
In der Deklaration kannst Du also beliebig viel IEC Timer deklarieren.
Wenn Du dann den erzeugten FB dann in deinem Programm aufrufst, hängst Du einen (nur einen) DB als Multiinstanz dahinter und schon ist dein Programm voll mit Timern...:ROFLMAO:

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

du kannst die Timer auch in einem "normalen" globalen Datenbaustein anlegen und dort quasi sammeln falls du keinen FB anlegen willst.
Ich hab mir seinerzeit eigens einen Timer DB angelegt (siehe Anhang).
Bei gekapselten Funktionen macht es natürlich mehr Sinn die Timer direkt im Instanz-DB eines FB´s anzulegen.

Gruß Andy
 

Anhänge

  • Timer DB.JPG
    Timer DB.JPG
    24,8 KB · Aufrufe: 57
Ich versuch mal zu erklären wie ich das vorhab.
Ich hab mir einen FB1 angelegt mir dem ich eine Betriebsartenwahl durchführe. Ich habe einen Taster mit dem ich bei kurz drücken die Betriebsart 1 wähle, bei lang drücken die Betriebsart 2. Den FB hab ich schon fertig und funtioniert auch. Jetzt hab ich aber im FB eíne Einschaltverzögerung verwendet. Wenn ich jetzt den FB1 mehrmals im FC10 aufrufe ( Ich habe im ganzen 10 Betriebsarten ) das will der FB jedesmal einen neuen DB. So bekomm ich eben sehr viele DB`s zusammen.
Du sagst ich kann in einem "normalen" DB Quasi einen anderen DB anlegen und diesen dann für den im FC10 verwendeten FB1 verwenden?

Gruß Markus
 
Im Prinzip ja, du kannst innerhalb eines normalen DB´s IEC Timer als Variablen anlegen.
Da du aber mit einem FB arbeitest, macht es vermutlich mehr Sinn mit dem dazugehörigen Instanz-DB zu arbeiten, siehe Vorschlag von Drösel.
 
Zuletzt bearbeitet:
Zurück
Oben