
作者简介:林兵(1979-),男,四川省达州人,技术支持工程师。现就职于贝加莱工业自动化(上海)有限公司,主要从事电控系统和仪控系统开发、OEM用户电控系统设计和程序开发以及技术支持工作。
摘 要:本文以真空镀膜自控系统为应用背景,详细介绍了贝加莱X20系列PLC作为通讯网关在该系统中的应用。以RS485数据通信方式采集中频电源、真空计、流量计和分子泵等150余台设备的相关数据,并采用虚拟网络计算机(VNC)技术实现了远程独立监视和控制,同时还通过Profibus-DP现场总线和以太网TCP/IP接口实现与镀膜线其他设备的无缝链接。
关键词:真空镀膜;可编程计算机控制器 ;数据通信;虚拟网络计算机;中频电源
1 引言
真空镀膜技术是一种新型的材料合成与加工新技术,是将待镀工件置于真空室内,采用一定方法使金属蒸发、溅射和离子镀,从而使固体表面具有耐磨损、耐高温、耐腐蚀、抗氧化、防辐射、导电、导磁、绝缘和装饰等性能。通过真空镀膜镀件具有许多优于固体材料本身的优越性能,达到提高产品质量、延长产品寿命、节约能源的目的。本文以真空溅射工艺的某镀膜玻璃线为例,介绍了PLC作为通讯网关,通过RS485对采用非标准通讯协议的中频电源、真空计、流量计、分子泵等镀膜核心设备进行采集和控制,并通过DP接口使这些设备无缝接入整个镀膜线。
2 系统结构
中频电源、真空计、质量流量计、分子泵是真空镀膜线的重要组成部分,对这些设备的控制直接关系到产品质量。在这条镀膜生产线上有16台中频电源、30台真空计、75台质量流量计、30台分子泵。该PLC与以上设备之间都没有采用现成的通讯驱动程序来实现数据通讯,而采用了RS485接口来实现数据采集和参数设定,所以,必须分别按照各个设备厂家的通信协议进行通讯。这条生产线采用贝加莱X20系列PLC作为对以上设备的通讯控制网关,对其采集和控制,每个通讯模块控制同样类型设备的8~10个,镀膜线的其他逻辑控制和传动设备通过其他控制器来控制,通过VNC实现对通讯设备的本地显示和操作,并通过Profibus-DP接口与上位DP主站控制器通讯实现整体控制。系统拓扑图如图1所示。

图1 系统拓扑图
3 中频电源通讯协议
PLC发送请求主要有地址请求、读、写数据请求,每种请求电源都会有返回数据。详细的电源通讯的协议如下:
格式1 PLC发送地址请求格式:(此时检验位为1)

格式2 电源应答地址格式:(此时检验位为0)

格式3 PLC读数据请求格式:(此时检验位为0)

格式4 电源应答读数据格式(正确返回):(此时检验位为0)

格式5 电源应答读数据格式(错误返回):(此时检验位为0)

格式6 PLC写数据请求格式:(此时检验位为0)

格式7 电源应答写数据格式(正确返回):(此时检验位为0)

数据传输:所有数据均为16进制数

校验位的计算:所有数据做异或运算的结果作为CRC校验位。
4 中频电源通讯流程及特殊要求:
4.1 PLC发送地址数据
PLC要控制和读取某一个中频电源时,首先通过RS485模块发送站地址指令到中频电源,此时发送数据的校验位必须为高,以这样的校验方式发送站地址到中频电源才能正确的被接收。当RS485总线上挂的电源地址与RS485模块发出来的地址指令一致时,电源便打开指令接口,等待PLC的RS485模块发送读/写功能数据的指令,并以低校验位的方式返回确认数据给PLC。例如发送5445数据及读4号站电源,通讯电压波形如图2所示。

图2 校验位为高时的通讯数据电压波形
4.2 修改通讯校验位
PLC发送地址指令后,如果要接收电源的返回地址数据或者在发送读写电源的功能数据请求,必须将RS485模块的通讯校验位改为低,才能收到电源的返回数据。但是值得注意的是,当发送地址指令后,立刻把RS485模块的校验位改为低后,有可能发现上次以高校验位发送的地址数据中有个别数据还没发完,那么没发完的数据的末尾的校验位就为低了,从而使得电源接收到的地址指令的校验位不符合要求,引起电源不接收这样的请求指令,导致通讯失败。

图3 校验位为低时的通讯数据电压波形
4.3 电源的地址返回
电源接收到PLC过来的正确数据后,便返回自己的地址数据给PLC,同时打开自己的指令接收接口,等待PLC发读/写功能指令。此时PLC的校验位如果修改为低,方能收到电源返回的正确数据。
4.4 PLC发送功能数据
读/写功能指令以低校验位方式发送给电源,反之认为无效。如果电源的指令接口打开时间超过100ms还没收到读/写指令,其打开的接口将关闭,关闭后即便是发送的读/写功能数据校验位是正确的,也不再响应。所以PLC以高校验位的方式发送电源地址指令后,必须确保地址数据已经全部发出完毕,然后在把校验位修改为低,最后在发送读/写功能数据指令,整个过程不能超过100ms。通讯程序在时间的把握上非常关键,既不能太快也不能太慢。
4.5 电源返回功能数据
电源接收到PLC发出的正确地址信息后,便打开通讯接口等待PLC第二次发给它的读/写功能数据。如果写指令,电源将执行指令动作,控制电源的参数设定或者启停,并返回写指令是否成功的数据给PLC。如果为读指令,电源便将自己的状态数据,如当前电压、电流、功率、设定等状态数据返回给PLC。返回数据的时间也大约是接收到读写功能数据后2ms。
4.6 PLC读返回功能数据
电源返回的状态数据为20个字节,用示波器查看,大概要18.4ms才能完成发送。即PLC读数据的功能块,要在电源发送出状态数据18.4ms后去接收。RS485总线上,同一时刻只能有PLC发数据或者电源返回数据的信号在总线上,如果同时存在,在电信号相交的地方,电信号会叠加在一起,导致PLC和电源各自接收到的数据与对方发过来的数据不一致,这一点也对数据读取和发送的时机提出了要求。
5 X20 PCC通讯实例
以实际项目为例,首先PLC以高校验位发送以下数据,例如发4号站地址请求,PLC发送数据如下:
wr_data1[0] = $05
wr_data1[1] = $04
wr_data1[2] = $04
wr_data1[3] = $05
以9600的波特率发送以上4个字节,计算并用示波器测量的结果为4.6ms左右,及PLC执行发送数据指令后,大约要4.6ms后,数据才能全部从RS485的硬件端口发出。
(1)如果在4.6ms之前把通讯的校验位改为低后,那么发送出去最后的几个字节的校验位就为低,从而电源接收不到正确的站地址指令,也不会返回电源本身的数据。所以修改PLC模块通讯的高/低校验位,必须要在发出地址指令4.6ms以后。
(2)电源接收到PLC发过去的正确数据后,经过中频电源系统本身处理并把本身的地址返回给PLC的间隔时间为2ms。电源发送出来的数据校验位为低,此时PLC的通讯校验位也必须为低才能收到电源返回的地址确认信息。所以必须在这2ms内把PLC校验位修改为低。
(3)正确的时序逻辑:PLC以高校验位方式发送电源地址,在发出地址指令4.6ms后立刻修改通讯模块的校验位,修改完成的时间必须在4.6ms之后6.6ms之前。只有这样PLC才能正确的收到从电源返回的数据。
(4) PLC接收到电源返回的地址确认信息后,PLC程序对返回的数据进行校验分析,如果正确,就发送读/写功能数据。反之就再发一次地址请求数据。因为中频直流电源干扰非常大,所以必须对PLC收到的数据进行校验,确保数据的正确性和控制的可靠性。
(5)电源收到读/写功能请求后,会把自己的状态数据返回给PLC,数据有20个字节,以9600波特率传输,大约需要23ms才能传送完毕。PLC在电源发出23ms之后读取通讯的数据缓存方能取到正确的数据。
(6)PLC从数据缓存中取出电源返回的正确数据后,立刻清除数据缓存,并再次修改通讯的校验位为高,发送另一个电源的站地址,进行与下一个电源的通讯和控制。

图4 PLC和电源通讯数据时序
目前电源的通讯,根据发送地址指令需要4.6ms的特点,所以我们采用5ms的循环任务,通讯流程如图4所示,图中每一个网格,表示每一个循环任务5ms时间,执行以下5个CASE语句。
CASE0:修改校验位为高,并发送站地址
CASE1:修改校验位为低
CASE2:延迟5ms,然后读电源的地址返回数据
CASE3:PLC发送读/写功能数据
CASE4:延迟35ms,PLC读电源返回数据
执行完每个CASE语句后,在下一个循环会自动跳到下一个CASE语句。执行完CASE4后,CASE将跳到CASE0,开始与下一个中频直流电源的通讯。在60ms时间里PLC读数据两次,发数据两次完成一个电源的通讯。
6 与其他设备通讯
质量流量计采用厂家内部的CPL通讯协议,读数据时必须按照厂家协议所定义的数据格式,包含起始结尾数据、站地址信息、读数据的地址、数据长度以及校验位以ASCII码的方式通过RS485发送,例PLC发送读数据如下:

设备收到PLC正确的数据请求后,便返回设备的当前信息,PLC根据通讯协议把实际的工艺数据从返回的一串数据中挑选出来组成实际需要的数据。流量计返回数据如下:

如果要修改设备的参数,则必须发出写指令给对应流量计,PLC写指令时发送数据如下:

写指令发送后,设备将返回写指令是否成功的信息,PLC收到返回的失败信息后将重复发送此写指令,操作3次都不成功,系统将提示,并退出对这个站的写操作。
CRC校验计算:发送数据ETX以前的20个数据以16进制方式相加,取其结果的后两位,例如为36F(16进制),取后两位6F,把6F转化为2进制结果为01101111,在求反码,其结果为10010000;然后在最后一位加上1,计算结果为10010001,在转化为16进制结果为91,在把十位和个位分开并转换为ASCII码就是39 31,就得到了两个校验位数据。不同的设定值校验位是不一样的,在项目中利用高级语言编写了一个计算校验位的库,利用库函数自动计算检验位,实现只要输入设定值和通讯站地址,函数会自动按照协议的格式把数据链层和应用层数据生成为一个符合通讯协议要求数组。PLC只要把这个数组通过RS485接口发送即可。由于流量计返回数据比较多,目前采用80ms的循环任务来处理,及PLC发送读指令间隔80 ms后执行读取指令,将流量计返回的数据读出。时间间隔太短会引起数据还没接收完就读另一个设备,时间太长又影响通讯实时性。
分子泵的通讯方式和协议基本与流量计相同,在此不再做介绍。真空计的通讯需要把当前真空室的真空度读出来,通讯协议相对简单,把地址和数据结束符通过ASCII码的方式发送,然后50ms以后PLC在执行读取指令,把真空计返回的数据从缓存中读取出来,读取完成后再通讯下一个设备,采用轮询的方式实现所有真空计的通讯。
7 X20系列PLC在控制和数据通信方面的特点和优势
电源通讯协议的特殊性,对RS485通讯模块提出了较高的要求,RS485模块必须在2ms之内修改模块的校验位,并且每读一次电源的数据都要这样频繁的修改。很多模块不能在2ms之内修改校验位,读写通讯数据的时机又不好把握,给编程带来很大麻烦,另外即便是程序执行了修改校验位的指令,但有些模块发出去的电平信号无法在2ms内对校验位的修改做出响应,这些要求和特性也致使很多PLC无法实现这样的通讯。
经过多个厂家PLC的测试,贝加莱的X20系列PLC满足这样的控制要求。该PLC采用VXWORKS实时多任务操作系统,可对每个子程序设定相应的循环任务时间,根据电源的通讯特性,把握数据读/写时间,避免了通讯总线上收发信号重叠,以及把PLC读、发数据两次的时间控制在100ms以内,并尽可能地提高通讯效率。目前60ms时间就控制一个电源的读写控制,整个生产线上一共有16台电源,选择贝加莱公司IF1030 RS485通讯模块,每个模块控制8个电源。该模块通过软件和示波器测试,其修改高低校验位并最终输出的时间间隔小于1ms,另一款RS485接口模块X20CS103则慢一些,大概间隔是在20ms,这个响应时间不能实现在地址发出后4.6ms到6.6ms之间修改校验位,所以X20CS103这个模块是无法满足电源的通讯要求。 X20CS103模块可用来和真空计、分子泵和流量计通讯。
利用实时多任务的处理机制,对实时控制提供了保障,把项目中各个不同工艺的处理放在不同的循环任务里,根据实际需要,调整每个任务的循环执行时间,准确把握修改校验位的时机和通讯读/写时间。并且支持标准C、BASIC高级语言编程,在做校验位运算和通讯编程时更为便利。这正是150台设备的通讯和控制选用该厂家的原因之一。
8 支持VNC的PLC
VNC (Virtual Network Computing)是虚拟网络计算机的缩写,是一款优秀的远程控制工具软件,它由两部分组成:一部分是客户端的应用程序(Vncviewer),另外一部分是服务器端的应用程序(Vncserver)。Vncserver运行在设备中,Vncviewer运行在任何远程计算机中,输入正确的IP地址和密码就能调用和查看Vncserver中的画面程序,不需要插件和专业软件的支持。贝加莱公司的PLC支持VNC技术,即在编写PLC逻辑处理程序的同时,写入类似触摸屏一样的画面程序,把PLC作为Vncserver,通过以太网把PLC中的画面显示在作为Vncviewer的计算机上,从而达到远程操作和显示的目的;
整线要求这套采集系统可以独立工作,也可以通过主控系统来控制。由于PLC支持VNC技术,所以这样的要求不需要额外增加触摸屏,只是在对PLC编程时,除编写RS485等通讯控制程序外,还需编辑控制电源以及显示数据的画面,程序完成后画面和通讯逻辑程序一同下载到X20CP3484硬件中去。任何一台计算机与PLC自带的以太网接口相连,通过Vncviewer输入正确IP地址和密码后,PLC中写的画面便显示在计算机上,监视系统数据;同时可通过鼠标来控制这套系统,使其能独立运行。在硬件上免去了触摸屏,软件上减少了程序开发的工作量,也不需要在计算机中安装组态软件。VNC画面如图5所示。

图5 VNC画面
9 结语
质量流量计、真空计、分子泵和中频电源在镀膜线上使用的数量较多,而这些设备进口价格约为国产的2-3倍,如能采用国产设备一条线就能节省上百万元的成本。目前国产设备大多为自主研发,通讯协议多为自定义协议,常见PLC在非标准协议通讯处理和控制时略显不足。而贝加莱PLC支持多种标准通讯协议,完美地解决了这个问题。它的分时多任务操作系统、高速的指令执行、高级语言的编程方式以及快速硬件响应能力,方便地实现了对自定义通讯协议设备的通讯,把PLC作为通讯网关实现对设备的直接控制, 通过功能划分后结构更加清晰,编程更加简单。两套操作终端都可对这些设备进行操作,提高了系统的可靠性和灵活性,也促进了国产仪器设备的使用和镀膜技术的革新。
|