登录
首页
PLC论坛
三菱Mitsubishi
回帖
发帖
正文
主题:【话题】编程看结果(20120727)
点击:999 回复:11
楼主
编辑
引用
管理
yanshibo
程序如下:
LD M8013
CML 14
H55 K2Y000
LD M8013
MOV 12
H55 K2YOOO
END
各位老师,此程序运行会有何结果?
最后修改:
2012/7/30 9:11:15
12-07-25 08:17
1楼
编辑
引用
管理
cvlsam
H55转换为2进制就是 0101 0101 K2Y0代表由Y0~Y7这8个位组成的字节。
CML 反向传送,因此,0101 0101反向后就是1010 1010 此时K2Y0:
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
0 1 0 1 0 1 0 1
同理: 直接将H55 MOV到K2Y0,那么就是将0101 0101送入K2Y0
由于程序的扫描执行步骤是由上往下,自左往右,因此这段程序的最终运行结果就是Y0~Y7的状态始终是0101 0101,原因在于:
M8013为ON 首先将10101010送入K2Y0
然后将H55送入K2Y0。
因为当出现双线圈时,以最后状态为准,因此K2Y0的值始终为H55.
Regards
12-07-25 09:22
2楼
编辑
引用
管理
yanshibo
运行起来不会是这样的,我感觉应该考虑扫描时长与M8013脉冲的时序关系,不信你上机试试。
12-07-25 09:30
3楼
编辑
引用
管理
PLC-hmi
找个plc试试看
12-07-25 10:26
4楼
编辑
引用
管理
cvlsam
引用
yanshibo
在 2012/7/25 9:30:51 发言
【内容省略】
M8013的扫描与扫描周期无关,即使PLC处于STOP状态,也不会影响M8013脉冲的通闭。
Regards
12-07-25 10:51
5楼
编辑
引用
管理
yanshibo
假设M8013位于OFF,程序扫描指针正好扫描到第二个LD M8013 ,是不是应该显示第一个输出结果。
12-07-25 11:03
6楼
编辑
引用
管理
ZCMY
用PLC试验了一下,的确第一条指令偶尔会执行的;
所以这种程序就乱了;
最后修改:
2012/7/25 15:10:44
12-07-25 15:03
7楼
编辑
引用
管理
qlin
是说M8013有可能在一个扫描周期内通断么,这个倒没有注意过,通常可避免类似的编程。
12-07-25 21:16
8楼
编辑
引用
管理
ZCMY
试验过,第一条指令偶尔会执行,没有规律性,所以执行的结果根本不能知道;
程序中应当避免使用这种双线圈输出;
12-07-26 15:49
9楼
编辑
引用
管理
wml0060
事实胜于雄辩,找个PLC试试就知道了。
12-07-28 08:24
上一页
下一页
工控新闻
共创、合作、共赢!缅甸能源局及石化公司高层领导专家莅临和利时考察推进项目合作
2025年全球智能机器人3D视觉白皮书发布,深入解析全球视角下机器人3D视觉市场格局与未来增长机遇
西克重点推介 - 高精度室内外 2D 激光雷达 picoScan150
科技创新驱动产业变革
埃夫特3414万元芜湖拿地建机器人超级工厂
首届“信捷杯”全国大学生智能制造创新大赛收官
提升人工智能产业技术创新力
施耐德电气中压变频器护航水务“生命线”与“发展线”
更多新闻资讯