您现在所在的是:

三菱Mitsubishi

回帖:8个,阅读:1968 [上一页] [1] [下一页]
667
492165156
文章数:101
年度积分:50
历史总积分:667
注册时间:2017/11/1
发站内信
发表于:2019/3/12 16:51:13
#0楼
提了一个子程序的问题以后把我自己绕晕了。
当时的问题就是子程序的触发信号是一个PLS信号,只存在一个扫描周期,如果子程序写长了就执行不了,改短了就可以成功。
虽然解决了但是我没明白。

PLC执行程序的时候,不是会把每一条指令都过一遍吗,扫描周期的定义不就是把所有指令扫描完的时间吗,为什么会出现扫描周期不够的问题呢?
当你想做某件事却觉得太迟的时候,恰恰是最早的时候。
16168
zrx517697809
文章数:6262
年度积分:50
历史总积分:16168
注册时间:2014/3/28
发站内信
2018论坛热心网友
三菱电机活动(三)
寻找英威腾(三)
发表于:2019/3/12 17:27:37
#1楼
使用PLS触发子程序,子程序只会从上往下执行一遍,如果子程序内有延时、循环等就会有问题了
致力于自动化
伺服 PLC HMI
6705
szhenlong
文章数:1347
年度积分:176
历史总积分:6705
注册时间:2014/9/28
发站内信
发表于:2019/3/12 18:21:18
#2楼
程序虽然是不停扫描,通讯指令是中断输出的。例如主机向下位机发送命令,下位机向主机回传数据,这个时间是不固定的,有时要远远大于PLC的扫描周期。
24524
mjinbao
文章数:13934
年度积分:48
历史总积分:24524
注册时间:2013/1/12
发站内信
2018春节活动(三)
2017春节活动(三)
2016国庆活动(三)
发表于:2019/3/12 19:32:44
#3楼
子程序不执行时,应当是不占用扫描周期时间。
此帖发自手机工控论坛
667
492165156
文章数:101
年度积分:50
历史总积分:667
注册时间:2017/11/1
发站内信
发表于:2019/3/12 20:06:08
#4楼
回复 #2楼 szhenlong
我大概明白了,谢谢解答
当你想做某件事却觉得太迟的时候,恰恰是最早的时候。
2762
sxjice545
文章数:540
年度积分:57
历史总积分:2762
注册时间:2013/2/23
发站内信
发表于:2019/3/13 7:27:43
#5楼
扫描不到那一块啊。
条件不满足的段不会走到母线最右端,也就不会执行子程序跳转
667
492165156
文章数:101
年度积分:50
历史总积分:667
注册时间:2017/11/1
发站内信
发表于:2019/3/13 21:00:35
#6楼
回复 #5楼 sxjice545
你可能误会了我的问题
当你想做某件事却觉得太迟的时候,恰恰是最早的时候。
2762
sxjice545
文章数:540
年度积分:57
历史总积分:2762
注册时间:2013/2/23
发站内信
发表于:2019/3/14 8:41:53
#7楼
回复 #6楼 492165156
你是说没执行完对吗?
第一次还在执行,第二次压根就过不去,怎么执行?
6705
szhenlong
文章数:1347
年度积分:176
历史总积分:6705
注册时间:2014/9/28
发站内信
发表于:2019/3/14 19:44:02
#8楼
问题的根本是弄清扫描与刷新输出。扫描与CPU的时钟有关,只要加电就不停地扫描;刷新输出与指令类型有关。I/O点这些数字量扫描一次刷新输出一次,定时器、通讯、计数器等需要内部中断,虽然也在扫描,条件不成立并不会输出,只有扫描到中断标志才会输出,当然在此期间需要一直维持这些指令的执行条件。
你的通讯指令只维持一个扫描周期,如果能在一个周期内完成,能收到完整数据,如果一个周期不能完成,而下一个周期又失去了维持通讯的条件,当然就不会得到什么信息了。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004