PLC编程的结构化:走向成功的7个步骤
作者 | Eelco van der Wal
“
IEC 61131-3标准包括强大的结构化工具,可以帮助用户将控制系统分解为可管理的单元,从而提高整体效率。
”
根据现代软件开发环境的需求,国际电工委员会 (IEC) 的可编程逻辑控制器标准第 3 部分编程语言 IEC 61131-3 包括了强大的结构化工具。其中关键部分是顺序功能图 (SFC) 和用户自定义的功能块 。两者都为将控制系统分解成可管理的单元提供了一个很好的方法。
这些单元更容易被不同背景的人使用和理解。它提供了系统工程师、软件开发人员以及安装和维护人员之间缺失的环节。此外,它还为这些不同的群体提供了一种表达和交流的工具。
通过这种方式,在更大的应用中,多专业团队也可以相互协作,编制更易于理解和可复用的代码,并在程序员、安装和维护人员以及用户之间提供不同级别的隔离。
此外,在软件开发初期就可以进行错误检测和错误处理。另一种方法,是在安装过程中(甚至在运行期间)创建这些程序,但对于供应商(支持)和用户(停机)来说成本都太昂贵。
为控制系统编程提供结构
控制系统代码结构化的优点很多,包括:更好的系统概览,不仅对原始程序员很重要,对安装和维护人员也很重要;为多专业开发团队的内部沟通提供更好的基础;不同职责之间的明确分离;更好地关注真正的问题和可能的解决方案;以及可复用软件的基础。
结构化是通过将问题分成更小的部分来完成的 。这些部分可以进一步细分。但这样做也有局限性 :不能无限制的持续细化,因为这会增加集成工作。
模块化块的使用涉及 5 个基本原则 :
• 编程语言应支持模块化单元。
• 单元的组成方式和数量,应使其具有最少的接口和最少的交互。
• 接口要小,需要最少的数据交换。
• 模块交互需要明确定义,以增加其可复用性。
• 模块应该提供数据封装功能 :应用程序数据是分区的,每个分区只能由一组功能访问,这 样就可以将其隐藏起来,避免不必要的访问。
编程软件结构化的 7 个步骤
以下 7 个步骤,为控制系统编程软件的结构化提供了一条成功之路 :
• 识别控制系统的外部接口。
• 定义控制系统和工厂其它部分之间交换的主要信号。
• 定义所有操作人员的交互、覆盖和监控数据。
• 控制问题分析,从顶层到逻辑分区,逐步分解。
• 定义所需的功能块。
• 定义应用程序不同部分的扫描周期要求。
• 通过定义资源、将程序与物理输入和输出相连接,以及将程序和功能块分配给任务来配置系统。
IEC 61131-3 提供的合适环境可以支持这些步骤。下面将以发酵过程及其控制系统为例详细探讨编程软件结构化的过程。图 1 是整个系统的示意图。
发酵过程包括一个大容器,它可以装满液体(进料阀),可以用加热带加热(通过对流冷却), 通过电机搅拌,并且可以添加酸和碱液进入容器。处理完成后,就用收获阀来收获产品。要为此示例创建控制程序,需要完成上述 7个步骤 :
1 步骤一
识别控制系统的外部接口,包括 :
• 来自温度传感器的反馈 ;
• 来自 pH 传感器的反馈 ;
• 来自阀门位置的反馈 ;
• 来自电机的反馈(速度);
• 输出到阀门 ;
• 输出到电机 ;
• 输出到加热带。
2 步骤二
定义控制系统和工厂其它部分之间交换的主要信号。
在该例中,系统与工厂的其余部分没有耦合,但是在现实中不太可能。例如,人们可能需要 一个连接到容器的管道,该管道还需要接到接收系统,如容器或瓶子的运输系统。也可能与企业资源规划 (ERP) 系统耦合。
3 步骤三
定义所有操作人员交互、覆盖和监控数据。
对于操作人员,我们定义了 “开始”、“停止”和“持续时间” 按钮作为系统的输入。
4 步骤四
控制问题分析,从顶层到逻辑分区,逐步分解。
这个过程有 5 个主要功能 :
a. 主顺序,例如,顶层工艺步骤——灌装、加热、搅拌、发酵、收获、清洁 ;
b. 阀门控制,操作用于填充和清空容器的阀门 ;
c. 温度控制,用于监测容器温度, 调节加热器 ;
d. 搅拌器控制,用于根据主工艺顺序的要求启动搅拌器电机。
e.pH 控制,用于监测发酵内容物的酸度,根据需要添加酸液或碱液。
5 步骤五
定义所需的功能块。
使用上面的定义并向其添加(高级)功能块,我们就可以在编程语言中使用这些功能块图。发酵控制程序的功能块图如图 2 所示。
▎ 图 2 :此图表示的是发酵过程的功能块图,左侧是输入,右侧是输出。
功能块主序列连接到运行人员输入。它由其它控制块支持,这些块连接到相关的输入和输出。这些附加块可以是供应商提供的块,例如使用 PID 控制的温度控制块 ;也可以由您自己创建(图 3 所示的就是用 SFC 构 造序列)。
▎ 图3 :顺序功能图 (SFC) 提供了一种方法,可以将可编程控制器程序划分为一系列的步骤和转换,它们直接相互连接。
SFC 提供了一种方法,可以将可编程控制器程序划分为一系列的步骤和转换,它们直接相互连接。与每个步骤相关联的是一组动作,与每个转移相关联的是转移条件。
从初始化开始,因为在第一次启动系统时,并不知道系统的状态,所以我们必须检查阀门的位置等。然后开始填充,直至达到合适的液位。下一阶段是加热直到发酵过程开始。接着,进入实际发酵过程控制部分。
完成后,收获产品,然后清理干净,准备重新开始。这种分解,使每个参与者都清楚地了解所涉及的序列,并进一步模块化为功能块,然后用 4 种语言中的任何一种来进行编程。
现在要完成执行级别的编程工作。这些工作可以分配给不同背景的人。为此,IEC 定义了 2 种图形和 2 种文本编程语言,即指令列表、结构化文本、梯形图和功能块图,以最好地满足需要和手头的问题。此外,如果需要,还可以通过 SFC 进一步分解执行块。
6 步骤六
定义应用程序不同部分的扫描周期要求。
在这个例子中,我们原则上只有一个循环,可以在连续模式下运行。或者,我们可以让其定时运行,例如每 20 毫秒运行一次。剩余时间可用于附加序列,例如在收获期间检查,或控制运输 / 装瓶系统,或检查所有边界和错误条件。
7 步骤七
通过定义资源,将程序与物理输入和输出相链接,以及将程序和功能块分配给任务来配置系统。该阶段是专门针对相关系统的。
它包括符号到 I/O 地址的物理映射。通过使用符号表示,可以获得更好的硬件独立性。这对于创建独立于硬件的功能块尤其有效。有了清晰的物理映射,在现场重新布线更容易完成。例如,交换两个数字输入的接线,在物理映射中只需更改 两行,程序的其余部分仍然有效,无需更改。
在这里,资源是相互映射的,意味着无论哪个部分运行在系统中的哪个处理器上,都能一一对应。IEC 61131-3 支持多线程处理环境,尽管大多数系统实际仍使用一个处理器来处理程序。
用户还必须将任务映射到扫描周期和事件,如步骤 6 中定义的那样。这样,一个系统中可以有多个程序,例如这里描述的发酵过程,由整体检查和控制支持,而其背后又有支持环境,例如供应链前端的装瓶或液位。
IEC 61131-3 编程标准为多层次的用户和应用,提供了强大的工具。使用高级 SFC,可以为正在开发的系统提供很好的概览,从而提高可读性和透明度。它为手头的控制问题的模块化提供了指导。此外,它还为区分不同的开发任务提供了基础,并将注意力集中在实际编码层,创建可复用的软件代码上。
关键概念:
■ IEC 61131-3 编程标准为多层次的用户和应用提供了强大的工具。
■ 顺序功能图 (SFC) 和用户衍生功能块,是必不可少的部分。
思考一下:
您是否充分利用了IEC 6113-3 标准进行结构化设计?
各品牌PLC编程软件版本说明
PLC编程的应用面广、功能强大、使用方便,已经成为当代工业自动化的主要装置之一,在工业生产的所有领域得到了广泛的使用,在其他领域(例如民用和家庭自动化)的应用也得到了迅速的发展。
小编整合了各类PLC编程软件,供大家参考!
西门子STEP7 MicroWIN V4.0SP9推荐理由: 西门子PLC S7-200编程软件最新版本(2012.3)是 STEP7 MicroWIN_V4 SP9 完整版, 全面支持Windows7。 三菱PLC编程软件(GX Developer) v8.86中文免费版 推荐理由: 适用于三菱Q、QnU、QS、QnA、AnS、AnA、FX等全系列可编程控制器,支持梯形图、指令表、SFC、 ST及FB、Label语言程序设计,网络参数设定,可进行程序的线上更改、监控及调试,具有异地远程读写PLC程序功能。欧姆龙plc编程软件cx-programmerv9.3绿色版
CXP其实就是OMRONCX-P9.3,它是欧姆龙的一款plc编程软件,能够支持cs/cj、cv、c、fqm、cp1h/cp1l、cp1e等多个系列指令,支持omron全系列的PLC,支持离线仿真,非常适合电气工程师等专业人员使用,本版本为简体中文版。 日本富士PLC 编程软件 Flex PC Programmer(富士plc编程软件) v2.1.0.28Flex PC Programmer是一款PLC编程软件,是FLEX-N系列用的Windows版程序开发工具。这一软件具有在线、离线程序编辑、打印功能等,内附富士plc编程软件操作手册。松下plc编程软件FPWIN GRV2.94免费中文版
松下FP系列plc编程软件FPWIN GR V2.94中文版。安装包括MEWNET-H链接系统时所需要的软件,用于各种智能模块的设定软件,编程手册,本文件为说明PLC指令的PDF格式文件。
欧姆龙PLC编程软件(CX-ONE) v4.31免费中文版CX-One是官方的欧姆龙plc编程软件,集成了CX-Programmer V9.5,能够为欧姆龙PLC编程提供全面的软件支持,本版本为最新版,全面支持32/64位WIN8系统,为多国语言版,支持简体中文。能为网络、可编程终端及伺服系统、电子温度控制等进行设置。 台达PLC编程软件(Delta WPLSoft) V2.34免费中文版推荐理由: 台达plc编程软件WPLSoft 最新版,在没有真实PLC的情况下,在电脑上模拟运行PLC程序的执行情况。先点仿真,在点那个梯形图监控。就可以右击控制一些量的状态。实现仿真。注意要和PLC连接起来。 信捷XC系列PLC编程软件(XCPPro) v3.3h全新XC 系列PLC上位机编程软件,windows xp 32位win7 64位都可用。如何查看PLC编程软件的软件版本?
第一步,打开矩形科技PLC的Vladder编程软件。
第二步,用鼠标点击最上面的状态栏中的帮助菜单。如下所示:
第三步,用用鼠标点击关于程序Vladder…如下图所示:
第四步,看软件版本。其中的vladder版本5.12就是软件的版本号。如下图所示:
相关问答
信捷plc参数怎么设置?
要设置信捷PLC的参数,首先需要进入PLC的编程软件。在软件中,可以设置PLC的输入输出点数、通信参数、定时器和计数器等功能。通过编程软件,可以编写逻辑程序,...
plc输入输出红灯闪烁是何故障?
PLC输入输出红灯闪烁可能是由于以下故障引起的:1.输入信号异常:输入信号可能出现短路、断路或信号干扰等问题,导致红灯闪烁。2.输出故障:输出模块可能存在...
我是机械电子工程专业,想了解一下plc好学么,该怎么学?申请方
PLC还是很好学的,只要你有兴趣,而且有一定的电路基础,就可以。其实PLC里面很多的软元件都是按照现实中的东西做的,比如,按钮的常开常闭,就是输入端...
PLC模拟量通道设置的平均次数是什么意思?如何确定?
看来题主和我是同行。对于PLC应也有一定的了解了。这里不再详细的介绍PLC原理,只是就模拟量采集部分做一些简单介绍。PLC模拟量采集是将模拟量转换成数字量的过...
麻烦朋友们哪位了解,肥东plc可编程控制器价格,plc可编程...
[回答]信捷plc保密下载以后就不能上传程序了。需要有密码才可以下载新的程序。信捷plc种类:XC1系列主机XC1-32R-E主机16入/16出继电器输出AC90~260VXC1-32...
惠普台式电脑换个cpu价钱,电脑最近老死机,温度高,是东西要换...
下个鲁大师看哪个东西温度高卸下来换个风扇,在风扇下面涂上少量的导热膏就可以...各位师傅,信捷plc编程软件肿么安装序列号1万浏览7回答wifi安全类型不安全...
信捷e101故障代码-ZOL问答
信捷E101故障代码是指电梯门系统的故障。具体来说,E101错误代码表示电梯门锁定...题主想问的是信捷e101故障代码怎么解决吗,1、故障代码e101其实是温度传感器...
想买套机械来生产口罩,要有什么设备?投资要多少?
2、PLC程式控制,稳定性高,故障率低;3、全机台采用铝合金结构,美观坚固不生锈;4、光电检测,降低失误率。5、耳带熔接强度可调。6、投资需要一百万左右。1、机...
老铁们,有谁能给我推荐一下,宜昌易捷通收款机代理商,易捷...
[回答]信捷plc保密下载以后就不能上传程序了。需要有密码才可以下载新的程序。信捷plc种类:XC1系列主机XC1-32R-E主机16入/16出继电器输出AC90~260VXC1-32...
信捷伺服电机带动轴承外圈转动?
此外,随着科技的不断进步,信捷伺服电机的性能和功能还将不断提升,为更多领域的应用提供更好的解决方案。它的高性能和可靠性使得它成为许多工业应用中的理想...