发布于 2018-04-13 13:28:44
3楼
FUNCTION "块_1" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_TEMP
a : Bool;
b : Bool;
k : Int;
m : Bool;
END_VAR
BEGIN
FOR #k := 0 TO 7 BY 1 DO
#a := PEEK_BOOL(area := 16#83, dbNumber := 0, byteOffset := ((#k + 1080) / 8), bitOffset := ((#k + 1080) MOD 8));//模拟按钮操作
#b := PEEK_BOOL(area := 16#83, dbNumber := 0, byteOffset := ((#k + 1088) / 8), bitOffset := ((#k + 1088) MOD 8));//读取中间状态
#m := PEEK_BOOL(area := 16#82, dbNumber := 0, byteOffset := (#k / 8), bitOffset := (#k MOD 8)); //读取当前输出状态
IF #a AND NOT #b THEN
POKE_BOOL(area := 16#82,
dbNumber := 0,
byteOffset := (#k / 8),
bitOffset := (#k MOD 8),
value := NOT #m); //点亮指示灯
END_IF;
POKE_BOOL(area := 16#83,
dbNumber := 0,
byteOffset := ((#k + 1088) / 8),
bitOffset := ((#k + 1088) MOD 8),
value := #a);//中间状态保存
END_FOR;
END_FUNCTION
hongxi-002@qq.com