nilgns
级别: 探索解密
精华主题: 0
发帖数量: 5 个
工控威望: 123 点
下载积分: 517 分
在线时间: 10(小时)
注册时间: 2013-01-03
最后登录: 2013-10-01
查看nilgns的 主题 / 回贴
楼主  发表于: 2013-01-03 14:47
大家好:帮我看下程序那里出错!

我要实现的功能是:用三菱PLC的FX1s-30MR,当D0 == 0的时候,X0出现上升沿则将Y0置1,当D0==1的时候,X0出现上升沿则将Y0清0。(程序的case有很多状态,这里只是简化出现的故障)
现在的故障现象:初始上电后,X0的第一次上升沿出现时,Y0不动作,然后再出现则Y0正常动作。

IF Y0 THEN
    D0 := 1;
ELSE
    D0:=0;
END_IF;


CASE D0 OF
    0:
        SET((LDP(TRUE,X0)),Y0);
    1:
        RST((LDP(TRUE,X0)),Y0);
END_CASE;

从PLC内读出的梯形图见附件。

在此先谢谢大侠们~~~~~~~
描述:梯形图
附件: 梯形图.pdf (44 K) 下载次数:38
网站提示: 请不要用迅雷下载附件,容易出错
abcde12345
abcde12345
级别: 论坛先锋
精华主题: 1 篇
发帖数量: 215 个
工控威望: 1262 点
下载积分: 11137 分
在线时间: 314(小时)
注册时间: 2012-10-09
最后登录: 2025-03-13
查看abcde12345的 主题 / 回贴
1楼  发表于: 2013-01-03 22:50
你牛叉,那么多的跳转被你搞晕了
你直接搞
LD= D0 K0   ANDP X0  SET Y0
LD= D0 K1  ANDP X0 RST Y0

其实你的那个跳转和没跳一样,他和子程序不同,跳转其实M8000还是有电的,但是子程序的M8000没有电(没有调用之前)