恭喜,你发布的帖子
发布于 2024-04-02 19:03:15
13楼
上程序:
ORGANIZATION_BLOCK MAIN:OB1
TITLE=程序注释
BEGIN
Network 1
LD SM0.1
ENI
ATCH INT0, 3
Network 2
LD M0.0
= Q0.0
END_ORGANIZATION_BLOCK
INTERRUPT_BLOCK INT_0:INT0
TITLE=中断例程注释
BEGIN
Network 1
LD M0.0
=I Q0.0
Network 2
// 程序段注释
END_INTERRUPT_BLOCK
概念是这样的:
M控制着是否要输出。区别仅仅是输出的刷新时刻不同。
当选择了主程序输出时,Q就随扫描进行刷新输出。
当选择了中断输出时,Q就随中断进行刷新输出。
当然,像上面程序这样是会双线圈的。工作不了。
现在再增加一个开关I,选择两种之一。
刷新时机,看输出的需求。
如果输出的定时非常重要,与其它输出有相位的要求,中断、主程序都可以使用立即输出,反之,都可以不用,等待扫描周期结束统一输出。
至于双线圈的问题,其实是个逻辑问题,即使使用中间变量,还是要面对这个逻辑。
请填写推广理由:
分享
只看
楼主