登录
首页
PLC论坛
三菱Mitsubishi
回帖
发帖
正文
主题:【话题】编程看结果(20120727)
点击:1041 回复: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
上一页
下一页
工控新闻
3月赴沪!Vision China 2026(上海)邀你共探机器视觉与AI、机器人的融合未来
聆听行业之声:探究开放自动化技术的现实价值
2025年全年上海人工智能制造业产值有望实现两位数增长 “AI+制造”挺进99.99分精度场景
和利时“城市轨道交通边缘计算平台关键技术研究与示范应用”项目荣获“2025中关村轨道交通国际创新创业大赛”二等奖!
西克 有奖调研 | 速来!您的需求,我们倾听!
自变量机器人获字节跳动等10亿元投资
2025年智能制造行业标准密集出台,我国标准体系迈向应用深化新阶段
锚定重点领域 智能体产业布局提速
更多新闻资讯