您正在浏览的页面需要登录,为了提高您的阅读体验,请在右上角登录您的账号!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 ali3070091 于 2021-5-6 18:37 编辑
有用户反映设备问题,经查确定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仿真测试画面:
来源:西门子工业论坛
|