作者 | 主题 |
---|---|
水煮花生 侠圣 经验值: 2068 发帖数: 224 精华帖: 3 |
楼主 2021-03-05 11:14:54
主题:200smart通过HMI指定输出点 有用户反映设备问题,经查确定CPU上的输出点损坏,领导提出这种问题能不能让用户自己解决,或者远程解决。咱也不好说,PLC加了密码,当初不愿意加装远程网络模块,现在不愿意告诉用户密码。只有换CPU模块或派人了,让用户等一两天了,销售一脸无辜,还有回款没到位,赶紧处理吧,别让用户停机等太久。领导甩出一板脸,你看看,公司这么多变频器仪表都能自定义IO点,你们就不能也让用户自己选IO口,输入不行,输出点总可以吧!-- 得累! 实现构想:输出点不直接驱动Q点,先定义到专用的M点上,并建一个专用的地址设定变量,16位地址,其高位字节存放指向QB的地址偏移量,低位字节存放位号,比如要输出到Q1.3,地址设定为16#01 03 , 把地址设定变量中的高位字节的地址偏移量转换成32位,和指向&QB0的地址指针相加,得到对应的QB地址; 将对应的QB字节(间接寻址 )(当前输出状态)传送到缓存字节中Out_B中, 将缓存字节Out_Bt循环右移,移动位数来自于地址设定变量中的低位字节。 根据输出点状态M点,输出到Out_B字节的第0位,LD M = Out_B.0 将缓存字节Out_B循环左移,移动位数来自于地址设定变量中的低位字节。 将缓存字节Out_B传送到对应的QB字节(间接寻址 )中。 程序和简单测试如下: MAIN: SBR0: HMI仿真测试画面:
多学长知识 多问长见识
|