Programmaufbau

ralle81

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hey leute kann mir jemand irgend etwas grundsätzliches zu einem programmaufbau sagen in awl wie struckturiere ich ein programm sinnvoll in automatik und manuell hat jemand vielleicht ein beispiel
 
suchfunktion nutzen, faq durchstöbern, siemens ausbildungsunterlagen lesen (link dazu ist in der faq).

fauler sack
 
Zuviel Werbung?
-> Hier kostenlos registrieren
es gibt verschieden möglichkeiten.

mache machen für jede betriebsarte einen eignen baustein und rufen diesen nur auf wenn die ba aktiv ist. das finde ich aber nicht gut - allgemein versuceh ich sogut es geht keine bausteine bedingt aufzurufen, dann kann ich immer alle im status sehen und ich ahbe eine relativ konstante zykluszeit.


ich mache es so, es gibt für jede ba einen eigen baustein, jeder hat nach aussen zu den aktoren die selbe schnittstelle.

die ansteuerung der aktoren sieht dann im prinzip so aus:

O Handbetrieb.OUT.Dosierpumpe_A
O Automatikbeitrieb.OUT.Dosierpumpe_A
O Einrichtbetrieb.OUT.Dosierpumpe_A
= aDosierpumpe_A

in jedem Betriebsartenbaustein muss natürlich die verrigelung sichergestellt sein.

das mache ich im prinzip so

U Strg_Ein
U Not_Aus_IO
U Hand
U ...
SPBN FRG1

hier eine SFC21 (fill)
die alle Ausgangsbits bzw. die Structur OUT mit "0" überschreibt

BEA

FRG1: nop 0


Für jede betriebsart verwende ich einen FB, die structur OUT liegt im stat bereich. es gehört zwar eigentlich nicht zum guten stil von extern auf variablen von instanzdatenbausteinen zuzugreifen, aber in diesem fall erreiche ich dadurch eine saubere structur und mehr komfort als bei riesigen IN/OUT schnittstellen und ragiererei über global-dbs...

die stuctur "OUT" ist in alleb betriebsarten FB dieselbe.


einziger schönheitsfehler bei dieser lösung ist der zugriff auf die idbs, aber eigetlich macht es die sache in diesem fall nur schöner... :)
 
Zurück
Oben