APP下载

分布式PLC系统数据通信方案的实践与探究

2022-02-22

今日自动化 2022年11期
关键词:数据通信参数设置机架

常 浩

(陕西银河电力自动化股份有限公司,陕西西安 710000)

随着科学技术的不断进步,生产过程的自动化程度也逐步提高,用于生产过程控制的PLC 控制系统也从最初单一工序的自动控制,逐步发展成为如今大、中、小不同类型的系列化产品。PLC 基于可靠性高和抗干扰能力强的特点,使其广泛用于各种不同的工业控制场景。除了逻辑处理功能以外,PLC 还具备完善的、强大的数据运算能力。未来,PLC 控制系统将沿着开放式、网络化、分布式的方向继续发展。

文中提出了基于西门子SIMATIC S7-1200 PLC系列CPU1214C 的分布式控制系统内数据通信方案设计和实际应用案例,实现了小型化PLC 对中大型生产系统的过程控制,同时也是对PLC 系统的开放式、网络化的一次有意的实践和探索。重点介绍了在分布式PLC 控制系统中,位于不同机架上的同型号小型CPU 之间数据通信的方案设计与实现。

1 系统设计

1.1 设计背景

本系统的设计背景为榆林市供热有限公司多热源中继能源站建设项目。该项目纳入自控系统的设备有:6 kV 高压变频循环泵7台、380 V 低压变频补水泵8台、开关型电动阀门32台、电磁阀3台、各型热表及压力和温度变送器数十台,数字量和模拟量测点累积超过400个。若采用传统的PLC 系统设计方案,可采用中大型PLC 系统实现,如西门子S7-300系列,但从分布式控制系统的设计思路出发,经过慎重的考虑和决策,最终本系统采用了基于西门子小型PLC S7-1200系列CPU1214C 的分布式控制系统设计方案。

1.2 系统设计

1.2.1 设计思路

(1)从整体方面考虑,本系统的设计应满足用户对控制系统各种复杂连锁关系及保护等控制策略和系统的完备性、可靠性及可扩展性的全部需求;并且系统的设计和组成应符合分布式系统的控制思想。

(2)从细节方面考虑,本系统的设计要从受控设备着手。

①依据受控设备的测点总数,选定PLC 系统的机架及模块的配置;再根据受控设备相互之间的联锁关系,将测点一一分配到各机架的对应模块中。

②完成系统组网。为了保证控制系统通信的及时性和高可靠性,本系统网络拓扑采用以太网通过现场硬接线的方式与现场设备相连,从而实现了对现场设备的“分散控制,集中管理”。

1.2.2 设计重点

1.2.2.1 测点的合理分配

依据现场设备的类型、数量、控制要求,统计实际接入本系统的数字量和模拟量测点超过400余个,再加之上下位通信的中间寄存器,系统容量远超过单台CPU 的负载能力。因此实际设计过程中,通过对工艺系统的反复研究,将400多个实际测点及其相关的中间寄存器,分配进入不同的4个CPU 机架中。测点分配的基本原则是:

(1)尽量将参与同一过程控制的相关测点,分配到同一CPU;

(2)尽量将互有联锁关系的测点,分配到同一CPU;

(3)尽量减少不同CPU 之间的数据通信;

(4)尽量考虑系统通信的及时性和可靠性,以及系统的完备性和可扩展性。

根据上述原则进行测点分配后,每个机架不仅满足了系统设计容量的要求,还预留了相应数量的备用测点,第四个机架还有3个空余槽位,为今后系统的检修维护、改造扩容留有余地。

1.2.2.2 不同机架CPU之间数据通信的实现

本系统不同CPU 之间数据通信,是采用基于工业以太网技术的自动化总线标准PROFINET 的网络解决方案而实现。PROFINET 总线标准是由西门子公司和 PROFIBUS 用户协会共同开发,并针对分布式智能自动化系统进行了优化。PROFINET 为自动化控制系统提供了一套完整的网络通信解决方案。

(1)系统组网。①根据实际的硬件配置,为本系统内的操作员工作站、CPU 模块、触摸屏分配不同的IP 地址,并采用工业以太网交换机,实现通信网络架构的硬件搭建。②在西门子编程软件中,完成硬件组态及端口的参数设置。

(2)数据通信程序的编制。本系统虽然在测点划分过程中尽量避免CPU 之间的相互的数据通信,但实际上,控制系统在实现控制策略和联锁保护的过程中,不同CPU 之间很难避免相互间的数据传递。所以,端口通信程序的编制同样也是为了确保控制系统在控制策略实现过程中数据通信的高可靠性和及时性。

2 系统实现

2.1 硬件系统组态

根据系统设计最终确定的系统容量和模块选型,在西门子全集成自动化编程软件TIA portal 中完成硬件设备组态及相关的参数设置,并导入本地PLC 系统所用的IO 测点和编程过程中使用到的中间寄存器

2.2 不同CPU之间数据通信的实现

2.2.1 数据缓存区的建立

在系统中的每一个CPU(位于不同机架)中分别创建4个数据缓存区,其中一个缓存区存储本机架CPU 的变量数据,其余三个缓存区分别接受其他三台CPU 的变量数据,如下所示(C1代表CPU1,C2代表CPU2,以此类推):

2.2.2 数据写入缓存区

编制程序将本地数据写入数据发送的缓存区,并接收其他机架CPU 发送过来的数据(具体实现程序以PLC 机架1CPU 中的程序为例)。在建立了4个数据缓存区(缓存区的大小和数据类型,因编程思路的不同而不同,具体根据实际确定)后,先将本机架CPU 的实时数据写入数据缓存区。在程序块中增加相应的数据转发函数(FC 块),并在主函数Main(OB1)中,编制数据接收和发送程序。

分别将模拟量测点和开关量测点实时数据全部写入数据缓存区。

模拟量测点实时数据写入数据缓存区程序,文中仅以其中一个模块的一个测点为例,如图1所示。

图1 模拟量测点实时数据写入数据缓存区

开关量测点实时数据写入数据缓存区程序(文中仅以其中一个模块的一个测点为例,如图2所示)。

图2 开关量测点实时数据写入数据缓存区

使用以太网数据发送指令(TSEND_C)和接收指令(TRCV_C),在主函数(Main)中编程实现本地CPU 与目标CPU 实时数据的传递和接收,程序以本地CPU1与目标CPU2通信为例,如图3所示。

图3 本地CPU与目标CPU实时数据通信程序

这里要注意的是,本地CPU 和目标CPU 数据通信使用的TSEND_C 和TRCV_C 应该是成对出现的。

以此类推,系统中每个PLC 系统的程序编制时,主函数(Main)中均包含6段本地CPU 与其他3个目标CPU 之间的收发通信程序。

2.2.3 通信参数设置

在使用以太网数据发送指令(TSEND_C)和接收指令(TRCV_C)编制数据转发和接收程序时,应在对应的发送指令(TSEND_C)和接收指令(TRCV_C)中进行相关的参数设置,即组态,比如伙伴CPU的选定、链接类型、端口设置、数据缓存区的设置等。完成指令中参数设置后,程序进行编译和生成,CPU之间的数据转发和读取通信,便得以实现。在数据转发和接收的通信建立过程中,CPU 遵循谁发送数据,谁主动和伙伴CPU 建立链接的原则。这是在对发送指令(TSEND_C)和接收指令(TRCV_C)中进行参数设置时,需要格外注意的。

经过上述一系列步骤后,实现了位于不同机架上的CPU 之间数据通信功能。本地CPU 除了使用本地I/O 测点进行编程以外,还可以调用目标CPU 的I/O测点,以便实现更复杂的系统控制策略。

至此,基于西门子小型PLC S7-1200 系列CPU1214C 的分布式控制系统的难点——CPU 之间的数据通信功能的方案设计和实现介绍完毕。

3 结束语

本方案的成功实施,较为完美地解决了传统PLC系统设计过程中,小型PLC 的分布式控制系统通常仅适用于多台设备分别独立控制,又要相互联系的场合,还必须附加通信模块,而无法承担一个超过自身负载能力的相对复杂的中大型系统整体控制的困境,也是分布式PLC 控制系统在开放式和网络化方面的一次有意义的尝试。

PLC 技术在其30 多年的发展过程中逐步壮大,因为自身的可靠性高、编程容易、组态灵活等特点,深受广大工控从业人员的喜爱,因而在工业自动化控制领域的应用范围越来越大。近年来,随着控制理念的不断发展,分散控制系统(DCS)的不断壮大,以及管理理念的完善(火电厂主辅一体化),PLC 逐步退出中大型控制系统的应用范畴。所以,为了适应时代发展和技术进步的新要求,PLC 也需在保持原有特点的基础上,将向着网络化、开放化进一步发展。

猜你喜欢

数据通信参数设置机架
中厚板轧机组合式机架的性能分析
基于有限元法分析的机架装配干涉处理
关于数据通信网络维护与网络安全问题的探讨
别忽略它的存在!“意大利新一代架皇”BAS Accordeon(雅歌顿)XL4 2.0发烧机架
监测系统接口数据通信方式
关于数据通信电源现状和高压直流供电新系统的分析
逃生疏散模拟软件应用
蚁群算法求解TSP中的参数设置
热轧拉矫机机架加工讨论
一种高效可靠的串行数据通信协议及处理算法