线下实训
HOME
线下实训
正文内容
plc编程成功后 PLC编程的结构化:走向成功的7个步骤
发布时间 : 2025-04-20
作者 : 小编
访问数量 : 23
扫码分享至微信

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与PC连接,附方案

PLC与计算机连接需要用到通信电缆,常用电缆有两种:一种是FX-232AWC-H(简称SC09)电缆,如图所示,该电缆含有RS-232C/RS-422转换器;另一种是FX-USB-AW(又称USB-SC09-FX)电缆,如图所示,该电缆含有USB/RS-422转换器。

在选用PLC编程电缆时,先查看计算机是否具有COM口(又称RS-232C接口),因为现在很多计算机已经取消了这种接口,如果计算机有COM接口,可选用FX-232AWC-H电缆连接PLC和计算机。在连接时,将电缆的COM头插入计算机的COM接口,电缆另一端圆形插头插入PLC的编程口内。

如果计算机没有COM接口,可选用FX-USB-AW电缆将计算机与PLC连接起来。在连接时,将电缆的USB头插入计算机的USB接口,电缆另一端插入PLC的编程口内。 将FX-USB-AW电缆插到计算机USB接口时,还需要在计算机中安装这条电缆佩戴的驱动程序。驱动程序安装完成后,在计算机中选择“设备管理器”,弹出设备管理器窗口,如图所示,展开其中的“端口(COM和LPT)”,从中可以看到一个虚拟的COM端口,图中为COM3,记住该编号,在works2软件进行通信参数设置时要用到。

通信

用编程电缆将PLC与计算机连接好后,在启动works2软件,打开或新建一个工程,再执行菜单栏命令“工程数据列表区→连接目标”,再选择当前连接目标,弹出连接目标设置对话框,双击左上角的“串行usb”图标,出现出现详细的设置对话框,如图所示,在该对话框中选中“RS-232C”项,COM端口一项中选择与PLC连接的端口号,使用FX-USB-AW电缆连接时,端口号应与设备管理器中虚拟的COM端口号一致,在传输速度上选择某个速度(如选19.2kbps),单击确定返回连接目标设置对话框,如果想知道PLC与计算机是否连接成功,可在连接目标设置中点击通信测试按钮,若出现图中所示对话框,表示连接失败,则要重新选择COM端口。

程序的写入与读出

程序的写入是指将程序由编程计算机送入PLC,读出则是将PLC内的程序传送到计算机中。程序的读出操作过程与写入基本类似,可参照学习,这里不做介绍。在对PLC进行程序写入或者读出时,除了要保证PLC与计算机通信连接成功外,PLC还需要接上工作电源。

在线监视PLC程序的运行

在works2软件中将程序写入PLC后,如果希望看见程序在实际PLC中的运行情况,可使用软件的在线监视功能,该功能使用时,应确保PLC与计算机间通信电缆连接正常,PLC供电正常。

以上,欢迎动动手分享及收藏!

相关问答

西门子plc编程好后怎么试运行?

在西门子PLC编程完成后,需要进行试运行,可以按照以下步骤进行测试。首先,确认所有的输入输出信号是否正确接线。然后,使用西门子PLC编程软件进行仿真,检查...

plc学会了能干嘛?

PLC,与工控机IPC,单片机统称为工业自动化三大支柱,目前的工业自动化控制都可以用PLC来完成。学会plc,可以从事关于温度、逻辑、湿度、压力、比量、运算、人...

维修电工应该把plc编程学到什么程度?

能独立完成200点的系统编程及调试工作。想要成为PLC编程工程师,必须熟练掌握一种编程语言,熟练应用基本电气控制,能独立阅读中等以上的程序,理解其中的逻辑关...

台达plc程序上传成功为什不能用?

检查程序是否正确,可以联机在线调试,输入输出口的状态,进行判断检查程序是否正确,可以联机在线调试,输入输出口的状态,进行判断

女生学会了Plc编程有什么用?

机电一体化的专业学Plc编程很有用,具备一定的电工基础,而Plc是专为为电控人员设计的控制器,入门简单,学起来较快。对于女生来说没有多大的困难,女生学Plc编...机...

为何plc上传程序后要重新上电?

将程序传送到plc上面是要将plc从运行状态调到停止状态的,所以在传程序过程中plc是不运作的,上传程序后就要重新上电了。将程序传送到plc上面是要将plc从运行...

已经编号的PLC程序怎样导入到PLC中?

导入已经编号的PLC程序到PLC中需要进行以下步骤:1.打开编程软件,连接PLC和电脑,确保通信正常。2.在编程软件中选择“文件”菜单,点击“打开”选项,选择...

信捷PLC程序显示上传成功,但是PLC里没有?

上传是将PLC中程序上传到PC,下载才是将你的程序传到PLC中上传是将PLC中程序上传到PC,下载才是将你的程序传到PLC中

plc断电后怎么运行?

这需要通过PLC停电保持软元件,如停电保持继电器、停电保持计数器等,结合程序的编写。但对于工业控制,不会采用这种方式,因为由PLC控制的设备一旦停电,那么...

看到好多PLC程序,将i点转成m点再编程,这样有什么好处吗?

这样的好处就是:1、当外部输入点坏掉需要更换输入点地址时,不需要在整个程序中替换,只要更换对应的I与M间关系就可以了,不过现在的标签化编程方法的使用已经...

 云南楚雄市  fireworkscs4 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部