1 前言
*,PLC自从问世以来就在自动控制各个行业发挥着难以取代的核心控制作用。PLC运行可靠,适用于各种恶劣的工业环境,PLC和工控机(IPC)相比,其运行可靠、可扩展性好、便于电气连接、控制更专业,但是工控机良好的人机界面,方便语言都是PLC所不能比拟的。
组态软件在很多场合应用于控制,可整个控制的中心往往还是PLC,组态软件(上位机)所起的控制作用很小。人机界面一般用于简单的动作控制,工艺参数的编制,配方的设定等等,虽然在概念上属于控制范畴,但它并未真正起到核心控制作用,因为真正长期的自动运行控制是由PLC完成。我们不经常使用工控机作为核心控制部分的原因有两点:*,工控机不适于在很恶略的环境下运行;第二,工控机经常采用的Windows系统并不能够让人放心,其长期运行效果并不好。
尽管PLC、IPC在自动化控制中扮演不同角色,在许多运行连续时间较短,环境相对比较好的地方,人们还是希望使用IPC进行核心控制。使用IPC进行核心控制有很多种实现方式,当然其中zui为简单的办法就是使用组态软件。
本文针对使用组态软件做控制中用户经常遇到的问题进行讨论。在许多用户使用组态软件进行控制,尤其是使用串口连接方式进行控制时,发现组态软件自动控制会影响的数据的采集速度,本文着重介绍如何解决此问题,解决此办法就是——将PLC的控制方式模仿的应用到上位机串口控制中。
这是许多组态软件用户在编写上位机自动控制程序中所遇到的问题,到底是什么原因?能否有好的办法来解决?
我们先简单描述组态软件数据采集控制的原理。在正常情况下,组态软件定时向下位机发出读命令来等待下位机回应以截取想要查询的数据,周而复始的循环,数据便动态的显示在上位机上,实现数据“实时采集”。那么当我们需要对下位机进行控制时,组态软件就会相应写命令,实现上位机对下位机的“实时控制”。
表面上看去合情合理,可为什么会出现数据采集慢这种情况?原来一切“归咎于”组态软件的读写机制。组态软件为实现快速的控制,所以给写命令zui高的优先执行权,也就是说,当有写(控制)命令时,组态软件首先执行写命令,直到没有写(控制)命令时组态软件才恢复正常的读(采集)循环。
由此,我们不难发现用户经常出现数据采集慢的原因。如果用户频繁将控制指令发出,系统将分配很少的时间给数据采集,从而导致数据采集变慢或者中断。用户在循环指令中重复给一个变量赋值(如y0=1),就会导致以上问题,所以我们的解决办法就是需要控制时控制,不需要控制时放手。为了实现这种控制方式,我们可以参考PLC的运行模式。
3 PLC运行原理
在没有中断的情况下,PLC采用“顺序扫描,不断循环”的工作方式。
1) 每次扫描过程。集中对输入信号进行采样,集中对输出信号进行刷新。
2) 输入刷新过程。当输入端口关闭时,程序在进行执行阶段时,输入端有新状态,新状态不能被读入。只有程序进行下一次扫描时,新状态才被读入。
3) 一个扫描周期分为输入采样,程序执行,输出刷新。
4) 元件映象寄存器的内容是随着程序的执行变化而变化。
5) 扫描周期的长短由三条决定:<1>CPU执行指令的速度;<2>指令本身占有的时间;<3>指令条数。
6) 由于采用集中采样。集中输出的方式,存在输入/输出滞后的现象,即输入/输出响应延迟。
4 小结
如上所述,在组态软件控制中,我们采用先运算再输出的方法,即,对IO变量有循环复杂运算操作时,我们采用中间变量计算,待计算出结果时我们再对IO变量赋值,这样就会解决控制中采集慢的问题。
上一篇:粉末直接压片的注意事项
下一篇:压片前的制粒方法丨制粒的发展
免责声明
- 凡本网注明"来源:智能制造网"的所有作品,版权均属于智能制造网,转载请必须注明智能制造网,https://www.gkzhan.com。违反者本网将追究相关法律责任。
- 企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
- 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
- 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
2025第十一届中国国际机电产品交易会 暨先进制造业博览会
展会城市:合肥市展会时间:2025-09-20