沙漠仙人掌
级别: 探索解密
精华主题: 0
发帖数量: 69 个
工控威望: 110 点
下载积分: 2089 分
在线时间: 57(小时)
注册时间: 2022-05-05
最后登录: 2024-11-14
查看沙漠仙人掌的 主题 / 回贴
楼主  发表于: 2024-06-06 10:36
请问在三菱PLC程序里,主程序和子程序可以输出同一个线圈吗?也就是双线圈的问题是否可以?
ayusecret
级别: 略有小成
精华主题: 0
发帖数量: 181 个
工控威望: 259 点
下载积分: 802 分
在线时间: 72(小时)
注册时间: 2021-10-31
最后登录: 2024-11-12
查看ayusecret的 主题 / 回贴
1楼  发表于: 2024-06-06 13:18
图片:
看你的用法
1、如果一个元件定义成可以在多处地方临时调用,你100个双线圈都没问题,前提是你在使用的时候需要正确的初始化它,我经常定义一些临时变量拿来重复计算用,用之前初始化即可
2、如果一个元件定义成全局控制唯一(流程唯一或数据唯一),那得尽量避免双线圈.
理解一点,程序是按扫描执行的,你的输出取决于最后一次如何处理,你在输出的扫描之前能正确处理即可,之所以要避免双线圈,是担心你在实际编写程序时,双线圈的时序会乱放,导致逻辑不明确,扫描的时序不对导致输出不对

所以上图的执行结果,Y0的输出只取决于X0的输入,和上面的其他逻辑无关