Step 7 weckalarm

Iwan_74

Level-1
Beiträge
21
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi! Meinen betriebsstundenzähler habe ich erfolgreich programmiert! Nächstes Projekt lautet weckalarme. In meinen Unterlagen steht das Stichwort Regelungstechnik. Hat einer ein Beispiel für eine praxisnahe Anwendung?
 
Weckalarme verwendest du wenn du eine einen festen Zeittakt für dein Programm brauchst. Der normale SPS Zyklus kann ja variieren. Der Weckalarm wird in festen Zeitabständen einmalig gestartet (z.B alle 100ms) und unterbricht für die Ausführungsdauer den normalen OB1 Zyklus. Für die Weckalarme gibt es die Weckalarm OBs. Je nach CPU gibt es einen oder mehrere davon, je nachdem wie viele Weckalarme die CPU hat.
Ein häufiger Anwendungsfall für Weckalarme sind u.a. Regler.
 
Code:
was ich jedoch suche, ist ein Beispiel in der praktischen Anwendung!

Ein Temperatur oder Druckregelung auf Basis einer CONT_C ist ein praktisches Beispiel.
Oder suchst du einen SCL-Code / Baustein-Aufruf?

Bram
 
Du kannst auch der CONTC erst mal in ein FUP Baustein aufrufen. Und dann der so wie du sagst "F1" drucken.
Der CONTC ist erst mal ein Basis Regler(Rechnenwerk). Der Rest (Du machst aus wie er reagiert) musst du selbst rund um der Regler programmieren.

Hier mal ein Beispiel als SCL Aufruf

Code:
 "Instanz_Zu_Contc"(COM_RST:=FALSE,
                   MAN_ON:=TRUE,
                   PVPER_ON:=FALSE,
                   P_SEL:=TRUE,
                   I_SEL:=TRUE,
                   INT_HOLD:=FALSE,
                   I_ITL_ON:=FALSE,
                   D_SEL:=FALSE,
                   CYCLE:=T#1S,
                   SP_INT:=0.0,
                   PV_IN:=0.0,
                   PV_PER:=W#16#0,
                   MAN:=0.0,
                   GAIN:=2.0,
                   TI:=T#20S,
                   TD:=T#10S,
                   TM_LAG:=T#2S,
                   DEADB_W:=0.0,
                   LMN_HLM:=100.0,
                   LMN_LLM:=0.0,
                   PV_FAC:=1.0,
                   PV_OFF:=0.0,
                   LMN_FAC:=1.0,
                   LMN_OFF:=0.0,
                   I_ITLVAL:=0.0,
                   DISV:=0.0,
                   LMN=>_real_out_,
                   LMN_PER=>_word_out_,
                   QLMN_HLM=>_bool_out_,
                   QLMN_LLM=>_bool_out_,
                   LMN_P=>_real_out_,
                   LMN_I=>_real_out_,
                   LMN_D=>_real_out_,
                   PV=>_real_out_,
                   ER=>_real_out_);
 
Zurück
Oben