PLC编程虚拟调试技术研究
2023-08-09赵健
赵健
(上汽通用汽车有限公司,上海 201206)
随着数字化工厂推进,建立工艺数模和PLC程序之间的互动成为一种需求,通过PLC本身自带的或是第三方的OPC应用,建立PLC和工艺数模间的通讯,从而实现PLC和工艺数模的互动。一方面可以提前验证工艺数模的准确性、可达性、有效性等,另一方面可以对PLC程序进行提前验证,包括逻辑、报警等,从而确保在现场调试的PLC程序正确率达标,可以减少现场调试时间,提升项目质量,降低项目成本。
1 PLC虚拟调试说明
OPC为硬件制造商与软件开发商提供了一座桥梁,透过硬件厂商提供的OPC Server接口,建立软件和硬件之间的通信。OPC Server提供了许多接口,通过这些接口,可以取得与OPC Server相连的硬件装置的信息,而无须了解这些硬件装置的细节信息,就可以实现信号互动。
PLC虚拟调试就是通过这种技术,建立PLC和工艺数模的通信,从而实现PLC程序提前调试的目的。目前市场上支持这方面的工艺制造应用不是很多,其中西门子的Tecnomatix是非常著名的制造应用软件,旗下的Process Designer和Process Simulation是2个非常重要的应用软件。另外由于开放式体系架构,使得它和第三方产品的兼容性非常强。
Siemens PLC和Process Simulation间的通讯简洁方便,调试后的PLC程序完善度也最高,应用较为广泛,有许多应用案例可参考,这里不多重复介绍。这里以Rockwell PLC和Process Simulation间的通讯应用来说明虚拟调试的具体应用方法,其基本原理是一样的。
2 虚拟调试所需的软硬件及连接方式
2.1 主要应用软件
RsLogix 5000—Rockwell 编程软件,调试用20.03版本。
RSLinx Classic Gateway—3.60版本以上。
PS—Process Simulation工艺仿真软件,13版本以上。
2.2 主要硬件
Rockwell PLC—1台。
PC工作站,配置要高—1台。
其他硬件选配,列如HMI、安全光栅、按钮、指示灯等。
2.3 连接示意图,见图1
图1
其中,PD/PS软件和RSLinx Gateway都安装在PC工作站上,RsLogix 5000的软件建议用另外的编程电脑安装,这样调试比较方便,PLC和PC工作站之间用以太网进行连接,因连接的设备较多,还需要1台交换机。
3 工艺数模配置
在调试开始之前,我们需要先有对应的数模,这个数模是通常是由工艺工程师负责的,在数模完成后,若需要进行虚拟调试,还要在Process Simulation中进行配置。因为要和PLC进行通讯,就需要在数模中添加信号,这些添加的信号就相当于现场的传感器、阀岛等,到时这些信号需要和PLC的进行互动的;对PLC而言,这些就是现场设备的输入输出信号,PLC根据这些信号状态进行逻辑处理,执行相关的动作。下面的示意图,见图2,就是针对一组夹头需要加载的信号。其中MOVE_OPEN对应于PLC的输出—打开夹头,MOVE_CLOSE对应于PLC的输出—关闭夹头,AT_OPEN对应于PLC的输入—夹头已打开,AT_CLOSE对应于PLC的输入—夹头已关闭。除了这些,还需要添加逻辑关系,用于处理夹头的动作顺序。
图2
为了和PLC进行通讯,还需要建立一张输入输出信号的对应表,将数模中加载的信号和PLC的信号对应起来,见图3,导入到PS中,这样才可以建立和PLC的通讯。
图3
4 通讯、配置信息
4.1 IP地址配置要求
首先,PC工作站、PLC、编程电脑包括HMI等都需要连接到交换机,并在同一个IP地址段内,这样相互之间能够直接通讯,例如192.168.1.XX,子网掩码等无需配置。另外,对于安装PD/PS的工作站要求双网卡,一个用于和PLC之间的通信,另外一个用于和PD/PS软件之间的通信(常规的PD/PS是网络版的,需要连接到服务器获取;当然,本地安装版不需要双网卡)。
4.2 通讯建立
首先是在编程电脑端进行配置,打开RsLinx,选择通讯方式,按照硬件配置的方式进行选择,可以访问到PLC的硬件组态,见图4。
图4
然后在安装有PD/PS及RSLinx Classic Gateway端的PC工作站上进行相关操作,打开OPC进行配置,见图5,按步进行操作,一直到最后建立通信成功,见图6。
图5
图6
出现这个“Good”,说明你的PLC和PS已经建立了通信,通过上述方式,所需的信号点都可以和PS的信号建立通讯。
5 程序调试
通过上面的方式建立了PLC和数模之间的通讯,说明两者之间的信号可以互相传递了,也就是搭建沟通的桥梁。若上面通讯无法建立,请检查有哪些没有准备好,或者是遗漏了什么,只有建立了两者之间的通讯,后面的工作才可以展开。按照上面的步骤,把所有需要的信号都建立对应关系。
5.1 I/O校验
I/O校验是指将数模中的信号和PLC的信号一一对应起来,类似于现场的I/O校验一样。这个比较简单,主要有2种方式:一种检查数模处在哪个位置,确定对应的PLC信号是否为on;还有一个是从PLC那端开始校验,PLC给出一个动作信号,数模就应该有对应的动作,然后检查相关的信号是否一致。
5.2 程序联调
将事先编写好的离线PLC程序导入到PLC中,开始和数模互动联调。因受条件限制,虚拟调试的环境不可能会和现场配置那么齐全,虚拟调试环境一般不含I/O总线模块、安全装置和按钮指示灯等。所以,虚拟调试中的程序和现场程序是有一些区别的。我们在程序调试的时候要做一些调整,一般是添加一些跳转信号或者是短接、屏蔽信号,以满足虚拟调试程序需求。这次我们做的是和Rockwell PLC通讯,需要做许多假设、屏蔽工作,但若是西门子PLC进行通讯,会方便很多,因为西门子有专门的仿真模块,名称是SIMIT UNIT,可以模拟大部分现场的设备,包括ET200s等,确保虚拟调试逻辑和现场实际应用逻辑基本一致,可以使虚拟调试程序和实际现场程序非常接近,减少许多工作量。
5.3 联调的注意事项
上文提到有些元器件是虚拟调试环境没有的,那么有些信号无法直接获取,需要在程序中加短接或开路信号。一般不建议在原程序上进行直接改动,如删除变量或加短接、旁路支路,这样会导致在现场调试时需要用大量的时间进行程序的恢复工作,并且很容易疏忽或遗漏,增加调试时间。
建议在程序中建立相应的变量组,对应常开或常闭的信号,并按功能进行分类。在程序需要短接的地方引入常闭的旁路信号,在程序需要常开的地方插入对应的常开变量,而不是直接短接或旁路。这样程序可以做到快速切换,从虚拟调试程序切换到现场程序,也可以快速切换回来。这样避免虚拟调试与现场调试切换时大量的程序修改工作,也避免了切换时错误的产生。
6 现场调试
若虚拟调试顺利,并且在加载短接或旁路信号时采用了相应变量的话,现场调试还是比较方便的。先将PLC程序切换到现场程序模式,然后导入到现场PLC中,按步骤进行调试,调试过程中逐步把原先加载的变量组删除,因为当初是特定的变量,删除变量非常方便也不容易犯错。因为已经有了虚拟调试,很多逻辑或程序块都得到了提前验证,现场调试可以节省很多时间,越是复杂的项目节省的时间越多。
7 结语
PLC编程虚拟调试是大数据时代的产物,也是工业自动化发展的必然结果。利用虚拟调试技术,可以将整条生产线的机械、电气、机器人整合在一起进行仿真模拟,可以提高企业对生产系统整条运转时可能发生问题的认知度,从而在未投入正式制造之前对系统进行验证和优化,以提升效率,降低项目成本。