a475100193
级别: 略有小成
精华主题: 0
发帖数量: 172 个
工控威望: 353 点
下载积分: 958 分
在线时间: 63(小时)
注册时间: 2009-12-13
最后登录: 2022-06-30
查看a475100193的 主题 / 回贴
楼主  发表于: 2011-10-27 10:49
写了这么一个程序 X0为高速计算器的计数输入,X2为外部中断输入
DI
LD M8000
SET M100
EI
LD M8000
OUT C235 K5000
FEND
I201
LD M100
DMOVP C235 D1
DMOVP K0 C235
RST M100
IRET
END
程序目的为:每当发生中断把C235当前值读出到D1,C235从零开始重新计数
(每当X2有中断输入 将计数器C235的当前值赋给D1后对C235清零)

下载到FX-48MT(欧洲版)PLC,用FX-WIN编程软件监控其运行结果,情况一:发现中断信号X2产生后偶尔C235的值不赋给D1 例如:C235=K300 X2有输入 D1还为上一次的值
情况二: 一旦X2有输入 C235=D1=K0
想请教各位高手 为什么会这样?据我对PLC程序执行的理解 应该不会发生这样的情况
会不会是 FX-win 编程软件 监控时 PC与PLC通讯偶尔失灵导致的呢?
请各位大虾指教! 多谢

aoouang
级别: 略有小成
精华主题: 0
发帖数量: 273 个
工控威望: 402 点
下载积分: 2709 分
在线时间: 105(小时)
注册时间: 2011-06-21
最后登录: 2015-11-18
查看aoouang的 主题 / 回贴
1楼  发表于: 2011-10-27 11:42
是不是你的指令不对吧!用MOVP可能就没问题了。
本帖最近评分记录:
  • 下载积分:+1(a475100193) c235是32进制的对啊
  • 绿色的微笑
    znz43
    工控职业已成回忆 只因爱好常回家园 乐此不疲
    级别: 工控侠客

    精华主题: 0
    发帖数量: 1055 个
    工控威望: 4898 点
    下载积分: 7346 分
    在线时间: 2553(小时)
    注册时间: 2010-06-24
    最后登录: 2024-05-14
    查看znz43的 主题 / 回贴
    2楼  发表于: 2011-10-27 11:54
    把中断内的 DMOVP 改成 DMOV
    中断内检测不到M100的上升沿
    楼主留言:
    检测得到吧
    出门打工难,打工学艺难,学艺拜师难,找到好师傅更难。
    赠人玫瑰,手留余香。舍得舍得,有舍才有得。