①如果
if(***) then
*** := ***;
end_if;
②循环
for n1:=1 to 50 by 1 do
end_for;
WHILE #n1 < 54 DO
END_WHILE;
CASE #n1 of
1: //等于1的时候
;
2,4..5: // 等于2 和4到5的时候
;
ELSE // 等于其他的值的时候
;
END_CASE;
tiao: //自定义名字 后面有个冒号****
goto tiao; //直接跳转到自定义名字处
③函数
自带的函数 有的括号里面有in1:= in2:= 等等,有的不需要,直接从右边指令拖拽最好 如 "上位机的值".顶升时间 := T_DIFF(IN1 := #sj5, IN2 := #sj4);END_IF;
自己写的fc函数,调用时候,输出的的需要加=> 如 "杨少专属函数"(q1:=0,q2:=53,q4=>"上位机的值".选中多少台设备);
④特殊指令
获取当前plc的时间值 如: #t1 := RD_SYS_T(#sj2);
统计这个字或者双字里面有多少个1 如:"上位机的值".回拉到位的台数 := BITSUM(WORD_TO_BLOCK_DB(5).DD(424));
与分控的读写 读: %IX(200 + #n2, 7) 写: %QX(200 + #n2, 7) ,把X换成W是写字 换成D是写双字****
④定时器
1:自带的脉冲 需要在时钟设置里面打开 默认是10.0是20HZ 0.1S
2:直接在右边拖到一个ton到scl语言里面。弄一个定时器传不同的PT值(设定接通值 类型都是time 默认是ms)就可以了,然后记得到位后,赋值0给in和q
#IEC_Timer_0_Instance(IN := "定时器启动", //通用的定时器间隔时间,可传输不同的间隔
PT := "上位机的值".每个动作等待的间隙,
Q => "定时器结束",
ET => "上位机的值".计时了多久);
3:走自动,用case不停的循环判断自动状态就可以了(以前程序是用的编码与解码然后赋值 原理一样)
以前是 把一个整数deco解码输出成多少位是通的,感觉可以直接用这个数值判断=多少 一样可以
今天直接在原程序上修改
①单腿位移传感器斜多或者挂钩掉了(加入上升和下降的一个位移区间范围) 报警提示
②四个腿的位移差值过大 报警提示
③把打成手动不能选中设备 改成 不是自动模式 选择的时候选不中
④行程统计待优化,要弄一个长整数,会超过32米(单独在变量表里面建),然后基准点弄个哪台设备为变量
⑤待优化成 开启调平位置 预顶开 往上顶开 下降开 到0后也开 全开 上位机弄一个数字判断用户是想怎么设置,每台设备单独设置
手机扫一扫
移动阅读更方便
你可能感兴趣的文章