-> Hier kostenlos registrieren
Code:
//Digitale Ausgänge ansteuern
// Pro Zyklus werden 8 Ausgaenge angesteuert
//Bytestzähler 1 bis 13 Bytes x 8 = 104 BH (Begleitheizungsregler)
L "BH_Regler_DB".Byteszähler
+ 1
T "BH_Regler_DB".Byteszähler
L 13
<=I
SPB weit
L 1
T "BH_Regler_DB".Byteszähler
weit: NOP 0
L "BH_Regler_DB".Stellenwertzähler ["BH_Regler_DB".Byteszähler]
+ 1
T "BH_Regler_DB".Stellenwertzähler ["BH_Regler_DB".Byteszähler]
L 100
SPB m001
L 0
T "BH_Regler_DB".Stellenwertzähler ["BH_Regler_DB".Byteszähler]
m001: NOP 0
L "BH_Regler_DB".Byteszähler
L 1
-I
L 8
*I
T #Bytenummer_x_8
L 1
T #Bitnummer_output
loop: NOP 0
L #Bytenummer_x_8
L #Bitnummer_output
+I
T #Regler_Nr_Temp
O(
L #Bitnummer_output
+ 1
T #Bitnummer_output
L 9
>I
)
O(
L #Regler_Nr_Temp
L 100 max 100 Regler
>I
)
BEB // Byte angesteuert!!
L "BH_Regler_DB".Regler_Begleitheizung[#Regler_Nr_Temp].BH_Regler.Stellwert_Integer
L "BH_Regler_DB".Stellenwertzähler["BH_Regler_DB".Byteszähler]
>I
= "BH_Regler_Outputarray"."Output_BH[1..100]"[#Regler_Nr_Temp]
SPA loop
Hallo liebe Freunde,
ich möchte dieses AWL-Programm in SCL umschreiben. Es handelt sich um die Ansteuerung der digitalen Ausgänge. Jeder digitaler Ausgang steuert ein SSRelais.
Im Moment verstehe ich den Ablauf des Programms in loop Schleife nicht. Aus meiner sicht werden die Variable #Regler_Nr_Temp und "BH_Regler_DB".Bytezähler nicht inkrementiert.