作者 | 主题 |
---|---|
will666 奇侠 经验值: 8873 发帖数: 2001 精华帖: 12 |
楼主 2019-06-06 23:41:44
主题:由一条状态切换程序深入理解了PLC的扫描机制 在程序中要实现一个功能:长按按钮C_MTC超过5秒钟切换S_MTC的状态。本来认为是一个非常简单的逻辑,所以第一次我是这么写的,其中T_PRES是记录按钮按下时间的变量。 第一次想象很简单:按钮按下超过5秒的上升沿,如果状态是1则复位状态,是0则置位状态。结果运行发现状态置位以后就复位不掉了,因为如果是置位状态,边沿触发后先复位紧接着就被置位。 第二次改成了下面的样子,觉得用两个触发是不是就可以了呢? 结果发现其实更糟糕,变成了两个边沿触发交替使能,最后只有置位有效,同样不能复位。为了能复位只有在复位后置位指令失去执行条件才可以,那么很简单,把计时变量清零就可以了,所以我又改成了下面的样子。 运行发现还是不行,因为前面扫描条件是满足的,在同一行里虽然把计时变量清零了也无效,最后的解决方案就是分成两行来判断,像下面的样子: 学习PLC第一个要理解的就是PLC的扫描机制:从左至右,从上至下循环扫描。在同一行程序里,后面的任何动作都不会影响前面的判断结果,所以前面几次有问题的逻辑都是在用人脑子想当然做了判断,换作PLC这个死脑筋就不灵了,这也是编程过程中常犯的错误。同样的功能,如果用上程序跳转就简单多了,各位高手指点一下吧。
污水处理自控工程师,简称污师。
|
Zane 至圣 经验值: 76091 发帖数: 19115 精华帖: 378 |
1楼 2019-06-06 23:59:00
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 这个问题实际上可以归纳为,单键状态切换之单键延时满足后的状态切换
Zane
注册自动化系统工程师
Always save before download
|
Zaxife 至圣 经验值: 12573 发帖数: 2503 精华帖: 31 |
2楼 2019-06-07 00:19:31
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制
既然要判断长按、短按两种,逻辑上就是:
1、按下按钮时开始计时; 2、松开按钮下降沿时判断按下按钮的时长; 3、时长小于规定时间、时长大于等于规定时间则执行不同的分支。 这样逻辑上就不会乱了。高级语言编程经常用到这样的逻辑。 |
WOWUWUWU 至圣 经验值: 10573 发帖数: 1794 精华帖: 0 |
4楼 2019-06-07 07:09:51
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 |
RENHQ 至圣 经验值: 68963 发帖数: 12238 精华帖: 59 |
5楼 2019-06-07 07:44:08
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 手册上有说明的 了解了扫描顺序,可以利用这个扫描顺序做文章的 在手册里面说了,应该是从上到下,从左到右
Q群:https://jq.qq.com/?k=9BDuEgf6
|
Kapok_ZXM 奇侠 经验值: 7258 发帖数: 558 精华帖: 2 |
6楼 2019-06-07 09:54:31
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 楼主深入细致地对问题进行研究并通过修改完善程序实现了预期,为你点赞!
低调做人 高调做事
|
天芯 至圣 经验值: 18857 发帖数: 2106 精华帖: 0 |
7楼 2019-06-07 14:20:03
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 |
威师爷 至圣 经验值: 37430 发帖数: 5126 精华帖: 47 |
8楼 2019-06-08 12:13:16
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 从上到下 ,从左到右!!
工业起重机防摇摆 QQ:404136820 AntiSwayControl
|
Zane 至圣 经验值: 76091 发帖数: 19115 精华帖: 378 |
9楼 2019-06-08 13:37:56
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制
呵呵,这不仅是对PLC程序扫描机制的理解,更是对控制对象控制逻辑本身的一个理解,我认为大部分的问题出在后者而不是前者
Zane
注册自动化系统工程师
Always save before download
|
will666 奇侠 经验值: 8873 发帖数: 2001 精华帖: 12 |
10楼 2019-06-09 09:36:46
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 扫描机制大家都理解,但是一旦编程时可能就忽略了,开始用自己想当然的判断来写逻辑了,最后调试有问题才发现是扫描机制不同,人脑子自动跳转了。
污水处理自控工程师,简称污师。
|
will666 奇侠 经验值: 8873 发帖数: 2001 精华帖: 12 |
11楼 2019-06-09 23:39:30
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 PLC编程确实是需要见多识广,否则容易闭门造车封闭在自己的思路里。做了十年的水处理控制,其实没有在编程上有太大长进,因为这行对程序要求不高,也就没有动力。最近在做一个编程标准化的研究,就是同类设备使用同样的功能块开发上下位,达到不同人开发不同项目功能和风格一致的目的。开始做才发现要考虑的问题非常多,命名的规则,程序功能,移植和复制的简便性,配套上位机的复用功能等很多问题要处理。如果有正在做类似工作的人大家可以互相交流一下。
污水处理自控工程师,简称污师。
|
不断攀登 至圣 经验值: 12543 发帖数: 1843 精华帖: 0 |
12楼 2019-06-10 08:09:23
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 理解扫描机制和顺序。
邮箱 yongquancun@126.com
|
黑阁男爵 侠圣 经验值: 3658 发帖数: 268 精华帖: 0 |
13楼 2019-06-10 09:42:21
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 请问楼主,功能块的编程方式的扫描顺序也是这样吗?
努力屯田中!
|
holdkcsxyz 至圣 经验值: 13012 发帖数: 1814 精华帖: 22 |
15楼 2019-06-10 13:37:35
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 这是斑竹说的逻辑问题 |
夕阳渔歌 侠士 经验值: 1660 发帖数: 81 精华帖: 1 |
16楼 2019-06-11 10:32:14
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 明白扫描机制,应该知道第一个程序加两个中间变量就可以了,不需要弄的多复杂。 |
阿宝的快乐生活 侠士 经验值: 1172 发帖数: 44 精华帖: 0 |
17楼 2019-06-12 06:56:37
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制
做好自己的事...........
|
Ready_OK 至圣 经验值: 15531 发帖数: 1735 精华帖: 0 |
18楼 2019-06-12 07:18:50
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制
海纳百川,厚德务实!
|
哈哈去你妹 游民 经验值: 83 发帖数: 10 精华帖: 0 |
19楼 2019-06-18 16:43:18
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 |
潇阳 侠客 经验值: 793 发帖数: 47 精华帖: 0 |
20楼 2019-06-23 09:02:47
主题:回复:由一条状态切换程序深入理解了PLC的扫描机制 我觉得没必要这样写,直接按下后,计数到你要的时长,给出一个tmp输出信号,这个输出信号再去置位最终输出信号,输出信号的置位不是你这个长按按钮要考虑的事情,它可以是一个手动复位,或者其他状态条件产生的复位信号,这样比较直观。 |