技术论坛

 200smart通过HMI指定输出点

返回主题列表
作者 主题
水煮花生
侠圣

经验值: 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仿真测试画面:





多学长知识 多问长见识
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。