qinchenglim
级别: 论坛先锋
精华主题: 0
发帖数量: 1218 个
工控威望: 1319 点
下载积分: 3936 分
在线时间: 739(小时)
注册时间: 2009-06-09
最后登录: 2024-11-18
查看qinchenglim的 主题 / 回贴
楼主  发表于: 2009-07-19 20:38
现在正在改造设备,老板要求机器有记忆,判断功能.用的是三菱FX2N的PLC. 具体要求是:有十个做货位置,每个位置做货完成系统都要记住这个状态,而且要求程序具有判断功能,在同一个工作循环内同一个位置不能重复做两次.我用D0存储做货位置,用m1-m10来寄存每个位置的状态,想让m1-m10随D0的变化而变化.比如当D0=3时,表示第三个位置在做货,当这个位置完成时,m3由OFF变ON,同理当D0=4时,做货完成m4由OFF变ON,编程时发现FX2 N的CPU 里面 m类的继电器不支持与变址寄存器V结合用的功能,比如set[m1v0]这样的表达不能使用,现在一时想不出好的方法设计程序,请三菱高手帮帮忙,给我提供个思路,谢谢了

            做货完成
D0=1                                      m1   ON
D0=2                                      m2   ON
D0=3                                      m3   ON
                    .
                    .
                    .
                    .
D0=10                                   m10   ON
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6769 个
工控威望: 38370 点
下载积分: 2995 分
在线时间: 9506(小时)
注册时间: 2006-09-13
最后登录: 2024-11-18
查看cvlsam的 主题 / 回贴
1楼  发表于: 2009-07-19 21:23
LD= D0 K1  
Set M0
LD= D0 K2  
SET M1

这样不可以吗?你不过才10个状态而已,用什么变址呢?

程序的功能是完成任务,程序好不好,首先看能不能满足需求。
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5196 个
工控威望: 7419 点
下载积分: 158730 分
在线时间: 3159(小时)
注册时间: 2007-11-21
最后登录: 2024-11-18
查看sjm213的 主题 / 回贴
2楼  发表于: 2009-07-19 22:00
用DECO指令试试
竹风凉
巧者劳,智者忧,无能者,无所求。蔬食者遨游,泛若不系之舟。
级别: 家园常客
精华主题: 0
发帖数量: 470 个
工控威望: 588 点
下载积分: 516 分
在线时间: 146(小时)
注册时间: 2008-10-16
最后登录: 2022-08-24
查看竹风凉的 主题 / 回贴
3楼  发表于: 2009-07-20 05:36
楼主把简单的事情搞复杂了
祸兮福所倚
福兮祸所伏
qinchenglim
级别: 论坛先锋
精华主题: 0
发帖数量: 1218 个
工控威望: 1319 点
下载积分: 3936 分
在线时间: 739(小时)
注册时间: 2009-06-09
最后登录: 2024-11-18
查看qinchenglim的 主题 / 回贴
4楼  发表于: 2009-07-20 19:11
引用
引用第1楼cvlsam于2009-07-19 21:23发表的  :
LD= D0 K1  
Set M0
LD= D0 K2  
SET M1

.......

多谢指教,问题已经搞掂,就是程序复杂了点.
haozijun
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看haozijun的 主题 / 回贴
5楼  发表于: 2009-07-22 11:56
楼主,变址也可以,你不用m标记是否有货,你用d来标记就可以解决了, 尝试用循环指令很有意思的