# Spünge oder gleich in ST?



## xinix (9 März 2011)

Moin moin,

stehe mal wieder vor einer neuen Herausvorderung und benötige mal ne erhliche Einschätzung.

System WAGO 750-841 bestückt mit analogen Messklemmen (4-20mA, DI's, DO,s und nebensächliches.  

Eigenlich programmiere ich immer gern in FUP. Hat bisher auch gereicht. Aber bei Werterfassungen und der Verweisung auf Programmeile ist ST glaube ich die bessere Alternative - oder? So schwer scheint es nach den ersten Lesen von Beiträgen auch gar nich zu sein.

Wird in ST eigentlich vorzugsweise alles in ein Programm geschrieben oder kann auch hier in mehrere Einzelprogramme aufgeteilt werden? Wie ist es mit der Abarbeitung der Programme - wie bei FUP?

Danke vorerst!

Wenn ich mich für ST entscheiden werde kommt bestimmt noch der ein oder andere Hilferuf :_)

Danke im Voraus!!!

Gruß Ralf


----------



## dante (9 März 2011)

Hallo, ST ist schon eine schöne Sprache die einem sehr viele Freiheiten lässt! Du kannst ja deine "kniffligen" Programmteile in ST als Funktionsblock oder Funktion machen und diese dann in deinem FUP Progamm aufrufen. Kommt halt ganz drauf an was du vor hast ich würde mir auf jeden Fall ST mal anschauen 1x gelernt ist man damit echt schneller.


----------



## gloeru (9 März 2011)

*Fast immer ST*

Ich benutze auch fast immer ST, eine Ausnahme, wenn ich komplizierte boolsche Verknüpfungen habe, vornehmlich bei Fehlerauswertungen. Wenn ich grosse Funktionsbausteine (in ST) habe, mit viel Ein/Ausgängen rufe ich diese oftmals im FUP auf, es dünkt mich einfach übersichtlicher, insbesondere bei der Fehlersuche. Aber du kannst (zumindest bei Beckhoff) frei kombinieren und deine Programm in der Sprache schreiben, die du magst. Das ist fast schon Luxus


----------



## drfunfrock (10 März 2011)

xinix schrieb:


> Moin moin,
> 
> 
> Wird in ST eigentlich vorzugsweise alles in ein Programm geschrieben oder kann auch hier in mehrere Einzelprogramme aufgeteilt werden? Wie ist es mit der Abarbeitung der Programme - wie bei FUP?




Du hast ein Programm und instanzierst dort die Blöcke. Der Vorteil mit ST aus meiner Sicht ist



Der Kode wird kompakter
Ich kann Code einfach als ASCII für Zitate kopieren
Ich habe es immer vermieden, zu viel im Programm zu machen und habe dort faktisch nur ein paar FB instanziert. Das waren dann meine "Einzelprogramme".


----------



## gloeru (11 März 2011)

*Programme*

Zu deiner Frage mit dem Ablauf: Das Programm startet immer im MAIN, und dort von oben nach unten, du kannst die Reihenfolge somit selbst definieren!

Ob es Sinn macht, mehrere Unterprogramme auf zu teilen oder nicht ist meines Erachtens eine Glaubensfrage.

Ich persönliche Teile meine Programme immer in "logische Einheiten" zu sammen. Also mache ich ein Programm für z.B. die Sensorwerterfassung und Umrechung, eines für die Ventilsteuerung, eines für die HIlfsantriebe, Fehlerüberwachung etc...


----------



## drfunfrock (11 März 2011)

gloeru schrieb:


> Zu deiner Frage mit dem Ablauf: Das Programm startet immer im MAIN, und dort von oben nach unten, du kannst die Reihenfolge somit selbst definieren!
> 
> Ob es Sinn macht, mehrere Unterprogramme auf zu teilen oder nicht ist meines Erachtens eine Glaubensfrage.
> 
> Ich persönliche Teile meine Programme immer in "logische Einheiten" zu sammen. Also mache ich ein Programm für z.B. die Sensorwerterfassung und Umrechung, eines für die Ventilsteuerung, eines für die HIlfsantriebe, Fehlerüberwachung etc...




Das ist keine Glaubensfrage, sondern hat auch praktische Gründe. Hat man das Hauptprogramm von direkten Hardwarezugriffen entlastet, kann man die FBs für einen Test durch einen Dummy oder einen Test-FB ersetzen.  Somit lässt es sich viel früher und einfacher testen, als wenn man alles auf einmal im Hauptprogramm testet.

Ich habe einen Grossteil meiner Programme Top-Down geschrieben, dh. oben im Programm angefangen und erst dann die FBs geschrieben. Das ist eben am einfachsten, wenn du alles in FBs auslagerst.


----------



## dante (11 März 2011)

Vor allem beim testen von Programmabschnitten sehr gut ich mach auch immer FB´s und teste diese einzelnt und dann in der masse


----------



## Mario_K (11 März 2011)

Weiterer Vorteil: Ein einmal entwickelt und getesteter FB kann immer eingesetzt werden und wird immer gleich funktionieren.


----------

