登录
首页 PLC论坛 三菱Mitsubishi
回帖 发帖
正文

主题:【话题】编程看结果(20120727)

点击:999 回复:11

程序如下:
LD M8013
CML 14
H55   K2Y000
LD M8013
MOV 12
H55  K2YOOO
END
各位老师,此程序运行会有何结果?
最后修改:2012/7/30 9:11:15
12-07-25 08:17
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
运行起来不会是这样的,我感觉应该考虑扫描时长与M8013脉冲的时序关系,不信你上机试试。
12-07-25 09:30
找个plc试试看
12-07-25 10:26

引用 yanshibo 在 2012/7/25 9:30:51 发言【内容省略】

M8013的扫描与扫描周期无关,即使PLC处于STOP状态,也不会影响M8013脉冲的通闭。
Regards
12-07-25 10:51
假设M8013位于OFF,程序扫描指针正好扫描到第二个LD M8013 ,是不是应该显示第一个输出结果。表情
12-07-25 11:03
用PLC试验了一下,的确第一条指令偶尔会执行的;
所以这种程序就乱了;
最后修改:2012/7/25 15:10:44
12-07-25 15:03
是说M8013有可能在一个扫描周期内通断么,这个倒没有注意过,通常可避免类似的编程。
12-07-25 21:16
试验过,第一条指令偶尔会执行,没有规律性,所以执行的结果根本不能知道;
程序中应当避免使用这种双线圈输出;
12-07-26 15:49
事实胜于雄辩,找个PLC试试就知道了。
12-07-28 08:24

上一页下一页

工控新闻

更多新闻资讯