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
网站提示: 请不要用迅雷下载附件,容易出错
nilgns
级别: 探索解密
精华主题: 0
发帖数量: 5 个
工控威望: 123 点
下载积分: 517 分
在线时间: 10(小时)
注册时间: 2013-01-03
最后登录: 2013-10-01
查看nilgns的 主题 / 回贴
1楼  发表于: 2013-01-03 22:28
自己顶下,求助啊~~
nilgns
级别: 探索解密
精华主题: 0
发帖数量: 5 个
工控威望: 123 点
下载积分: 517 分
在线时间: 10(小时)
注册时间: 2013-01-03
最后登录: 2013-10-01
查看nilgns的 主题 / 回贴
2楼  发表于: 2013-01-04 08:35
谢谢两位的回答!
其实我是要用ST语言写的,case的情况还有很多,不止0、1两种,还有2、3、4、……,而且D0也不是简单的由Y0控制,我的意思是D0受到多个输出点Yn的影响。我现在想问的是上面的程序为什么在X0的第一次上升沿(其实就是一个按键,我通过上升沿来判断它为一次合法按键过程)Y0不动作。(本来程序的功能就是按下X0,Y0转换下状态0<->1)

附件里面的梯形图是我将上面的ST程序烧录进去后读出来的。(我不管开发软件是如何转换编译的,我只想知道ST程序为什么会出错)
nilgns
级别: 探索解密
精华主题: 0
发帖数量: 5 个
工控威望: 123 点
下载积分: 517 分
在线时间: 10(小时)
注册时间: 2013-01-03
最后登录: 2013-10-01
查看nilgns的 主题 / 回贴
3楼  发表于: 2013-01-04 08:38
而且每个case里面也不止简单的一句话,里面还有一小段程序。感觉用梯形图要画出好几层了,看起来更晕!
nilgns
级别: 探索解密
精华主题: 0
发帖数量: 5 个
工控威望: 123 点
下载积分: 517 分
在线时间: 10(小时)
注册时间: 2013-01-03
最后登录: 2013-10-01
查看nilgns的 主题 / 回贴
4楼  发表于: 2013-01-04 12:54
再顶下!
有谁知道不~~