您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
PLC程序结构怎么搭建,自动流程图怎么才能构思缜密没漏洞?
程序,结构,子程序PLC程序结构怎么搭建,自动流程图怎么才能构思缜密没漏洞?
发布时间:2020-12-06加入收藏来源:互联网点击:
PLC程序结构怎么搭建,自动流程图怎么才能构思缜密没漏洞?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
原图文请查看我头条号文章
结合项目的实际情况,
选用合适的程序设计结构,
注意编程常用技巧,
可以事半功倍。
题图:西门子S7-1200 PLC
来源:EVERYPIXEL
PLC程序设计,常用的结构有三种:线性化编程、模块化编程、结构化编程。下面我们就以西门子PLC为例,对这三种程序结构展开叙述。
线性化编程是将整个用户程序放在组织块OB1(主程序)中,在CPU循环扫描时执行OB1中的全部指令。其特点是结构简单,但效率低下。另一方面,某些相同或相近的操作需多次执行,这样会造成不必要的编程工作。再者,由于程序结构不清晰,会造成管理和调试的不方便。所以在编写大型程序时,避免线性化编程。
模块化编程是将程序根据功能分为不同的逻辑块,且每一逻辑块完成的功能不同。在OB1(主程序)中可以根据条件调用不同的功能或功能块。其特点是易于分工合作,调试方便。由于逻辑块是有条件的调用,所以可以提高CPU的利用率(图中FC类似子程序)。
结构化编程是将过程中要求类似或相关的任务归类,在功能或功能块中编程,形成通用解决方案。通过不同的参数调用相同的功能或通过不同的背景数据块调用相同的功能块。其特点是结构化编程必须对系统功能进行合理分析、分解和综合,所以对设计人员的要求较高,另外,当使用结构化编程方法时,需要对数据进行管理[1]。
第一种线性化编程,即不采用分支的形式,在一个页面中从头写到尾;
第二种模块化编程,即把程序分为例如手动、自动、初始化、数据换算等子程序;
第三种结构化编程,即把控制过程中分为独立的部分,再来调用,比如可以做成多个独立的单步流程动作。
说完程序结构的三种方式后,再来说说程序设计中的一些技巧。
1.简单性
使PLC程序尽可能简单。简单的含义就是尽可能的使用标准化的程序框架,尽可能使用简单的指令。
要想程序简单,从大的方面讲,要优化程序结构,用流程控制指令简化程序,从小的方面讲还要用功能强的指令取代功能单一的指令,以及注意指令的安排顺序等。
2.可读性
要求设计的程序可读性要好,以便于调试、维护,利己利人。
要使程序可读性好,所设计的程序就要尽可能清晰。要注意层次,实现模块化。
如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便阅读。
再就是I/O分配和内部寄存器要有规律性,以及做好注释,便于记忆与理解。
3.可靠性
有的PLC程序,在正常的工作条件下或合法操作时能正确工作,而出现非正常工作条件(如临时停电,又很快再通电)或进行非法操作(如一些按钮不按顺序按,或同时按若干按钮)后,程序就不能正常工作了。这种程序,就不大可靠,或说不稳定,就是不好的程序。
4.扩展性
许多程序可能在进现场之前都已经编好,但是到了现场,可能还需要添加另外的程序,为了避免打乱整套系统的结构,需要在每个功能区预留一定的空间作为备用[2]。
结合项目的实际情况,选用合适的程序设计结构,注意编程常用技巧,可以事半功倍。
参考
1.刘华波.09编程方法《西门子S7-300/400 PLC编程与应用》第二版.青岛大学-西门子先进自动化技术联合实验室.2016
2.工控帮.完美PLC程序什么样子?.2017
回答于 2019-09-11 08:43:50
PLC程序结构怎么搭建,自动流程图怎么才能构思缜密没漏洞
首先我们了解下PLC编程所对应的控制类型:
顺序控制,所谓的顺序控制就是按照预先确定的顺序进行动作是PLC基本的控制,通常使用一些按钮、开关即可完成对传统继电器下图的控制,如指示灯、中间继电器、接触器等,这些输入和输出的状态只有两种ON(闭合)和OFF(断开)由0和1来表示称之为开关量。
过程控制,过程控制的对象状态就不是0和1,而是介于两种之间的连续状态的控制。例如水阀控制,现在想要以1/3大小的流量出水,又如温度数据的采集它是一个连续变化的数值,如果采用开关量控制则满足不了要求,那这些连续变化的控制则需要采用模拟量实现,常见的控制对象是一些仪器仪表如温度、压力、流量等传感器以及变频器等驱动器。
运动控制,运动控制主要针对的是精确定位功能,PLC以高速输入和高速输出的形式来实现,如对编码器的高速脉冲输入的采集进行计数、定位和测速等,发出高频脉冲驱动步进、伺服电机进行运动,它的普通的输入输出的区别是频率较高,采用中断方式进行处理。
除了开关量和模拟量,PLC还有通信方式实现控制,如MODBUS、CAN、CCLINK、以太网等,如果你的PLC和控制对象都具有通信功能就能使用。
不同的控制方式在我们PLC编程中的结构是有所区别的,甚至可以采用不同的编程语言。其中顺序控制是最为简单的,主要理清楚逻辑顺序比如自动洗车机,按照顺序一步一步编写即可,把每个动作的完成标志找出来,有时间、计数和限位等要求,检测到这个标志信号进行下一步即可。过程控制主要是模拟量数据的采集和输出,它是一个持续性的过程控制,如温度数据的读取,我们要根据温度大小来决定输出不同的信号(加热、冷却),它在PLC编程中需要注意模拟量、数字量和实际工程量的转换,由工艺要求去确定输出。运动控制的主要理解定位指令和对应的概念如相对位置、绝对位置、原点回归等,相对定位要计算距离和方向,绝对定位要知道目的。
其实程序结构和自动流程图的搭建一定是在机械、工艺流程的基础上进行指定的,一个复杂的工程可能不仅仅是单一的控制类型,往往是几个控制类型的组成,因此模块化的编程思想很重要,要清楚控制对象的在整个工程所起到的作用。无论思路是多么的缜密,漏洞是肯定会有的,PLC的编程只是其中的一部分,后期的设备调试才是重要的环节。程序尽量做到容易懂和可扩展性强的要求,当然如果前期的程序结构设计的好、自动流程比较清晰则后面的工作相对轻松。
上一篇:《道德经》第二十章,“人之所畏,不可不畏”这句话怎么理解?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |