vitalityboy
级别: 略有小成
精华主题: 0
发帖数量: 67 个
工控威望: 225 点
下载积分: 5500 分
在线时间: 71(小时)
注册时间: 2013-09-23
最后登录: 2025-12-19
查看vitalityboy的 主题 / 回贴
楼主  发表于: 9小时前
图片:
用ST写的那段,第一次M0 On后M100能On,在5秒后M100自动为Off,而M0再次On时M100却不会为On;用梯形图写的这段,M0为On时M100就On,在5秒后M100自动为Off,而且M0再次On后M100也能为On。以上两段程序运行原理一样,梯形图写的执行效果符合预期,而用ST写的却差强人意,同样都是FX3U的程序为什么执行效果却不一样???
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 6 篇
发帖数量: 5185 个
工控威望: 7546 点
下载积分: 163302 分
在线时间: 3263(小时)
注册时间: 2007-11-21
最后登录: 2025-12-19
查看sjm213的 主题 / 回贴
1楼  发表于: 4小时前
IF M0 THEN
    IF NOT M100 THEN
        IF M0 AND NOT M1 THEN
            M100:=TRUE;
            MOV(TRUE,0,D0);
        END_IF;
    ELSE
        IF D0>=5 THEN
            M100:=FALSE;
        END_IF;
    END_IF;
END_IF;

INCP(SM413,D0);

M1:=M0;

======================
估计是M0为OFF时 LDP(TRUE,M0)这句一直未执行,导致M0再ON时它的上升沿状态无变化,这样M100:=TRUE就不执行了。