SNAP I/O控制系统与PLC系统通信的实现

时间:2022-07-25 11:02:11

SNAP I/O控制系统与PLC系统通信的实现

1,引言

SNAP I/O控制系统是美国OPT022公司1996年后推出的分布式控制系统。在工业应用现场是做为主干系统出现的,一般承担装置区总体的自动控制任务,操作人员是通过SNAPI/O控制系统的上位机人机界面对设备进行监控的。PLC(Programmable L0aic Controller)可编程序逻辑控制器,简称可编程序控制器。PLC主要应用在以开关量为主的监视控制领域,一般安装在现场独立的单体设备上,如燃料气压缩机、全自动燃烧器等,由TPLC安装在装置区内,操作也极为不便。另外,由于目前正在进行的“数字油田”计划,工业现场的生产实时数据必须定期上传,从客观上也要求PLC系统所监控的数据要与SNAP I/O控制系统进行融合。

本文详细讨论了SNAP I/O控制系统与PLC系统通信互联技术的实现及现场应用程序。

2,通信协议

根据实际情况,一般采用通用通讯协议进行SNAP I/O系统与PLC的互联,如PPI协议、MODBUS协议,在不具备MODBUS通讯协议的PLC系统中,采用自由口通讯协议进行通信。

根据目前工业现场实际应用情况,主流协议有以下几种:MODBUS协议、Profibus-DP协议、Profibus-PA和Foundation Fieldbus协议,除此以外,还有ControlNet、EtherNet、PPI等。

3,系统硬件

RS-485的远距离、多节点(32个)以及传输线成本低的特性,使得EIA RS 485成为工业应用中数据传输的首选标准。

RS 485采用差分信号进行传输,主要是针对远距离、高灵敏度、多点通讯制定的标准。本方案主要就是利用SNAP I/O系统的SNAP LCM4控制器所带的RS 485接口进行数据通信。

根据三层结构的讨论,方案使用SNAPI/O系统中的sNAP-LCM4进行硬件连接。SNAP LCM4控制器,功能强大、通讯方式灵活。采用32位,工业级的68030处理器,具有4MB的SRAM和2MB Flash EPROM。拥有4个串口,可以是RS 232/422/485串口。RS422/485串口,可设定为2线制或4线制通讯。

4、软件编程实现

软件编程实现,主要根据sNAP I/O系统FACTORYFLOOR软件包中的OPTOCONTROL进行编制,通过MODBUS协议进行数据通信。

4.1通过MODBus协议数据互联的编程实现

(1)编程画面全貌包括配置端口、初始化传送字符串、计算CRC代码、向串口传送数据、接收串口数据、数据校验等。

(2)块的功能和具体步骤

端口配置也是每段程序的起始块,此块是端口配置块,要指明SNAP I/O系统采用的串口、从设备的波特率、校验位、数据位和停止位。配置此块要依据从设备的具体情况而定。首先在系统中建立一个整型变量PORTSTATUS存放端口配置信息,配置信息按照COMl:9600,N,8,1顺序写入,用ConfigurePort命令建立此块。

数据初始化

是要传送的初始化字符串,此块功能包括从设备的地址、要读取的数据寄存器(功能域)、第一个要读取数据寄存器的高位地址和低位地址(从哪里开始读取)、要读取数据寄存器数量的高位地址和低位地址(就是要连续读几个数)。首先在系统中建立一个字符串变量TRANS-STRING,选用AppendCharacter to String命令建立此块顺序。

CRC配置 MODBUS通讯采用RTU和ASCII两种传输模式,本例中采用CRC传输模式。此块是一个计算16位的CRC值,来进行错误检验,初始计算值必须是要传送字符串的计算结果,这里从1开始计算,选用GenerateReverse CRC-16 on String命令,建立此块。

数据转换此块功能是将计算CRCCODE的值转换为16进制字符串,分别取字符串的高8位和低8位,并且将其分别转换为整型数据,分别选用Convert Number to HeXString、Get Substring和Convert Hex StringtO Number@令建立此块。

串口发送此块功能是将计算过的CRCCODE整型值添加到要传送的字符串中,并通过串口发送。选用Append Character toString和Transmit String via Serial Port@令建立此块。

串口数据判断此块功能是判断串口是否有数据,选用Characters walting at SerialPort?命令建立此块。

获得数据此块是将从串口取来的字符串保存在一整型变量WAITING STATUs中,选用Get Number of Characters walting onSerial 0r ARCNET Port@令建立此块。

CRC数据比较此块功能是将从串口读取的CRC CODE和系统计算的CRC CODE进行比较,若相同表示读取正确的数据,选用Equal命令建立此块。

数据保存此块功能是要从串口中读取指定的字符串数,之后清空系统缓冲区,选用Receive N Characters via Serial POrt;ClearReceive Buffer命令建立此块。

清除并延时此块功能是清除接收字符串变量并延时1000ms,之后进行下一周期的数据采集,选用命令Move String和Delay(mSec)命令建立此块。

5、现场实施过程

根据以上研究方案,在工程现场进行了方案的实施。实施过程一般进行以下几个步骤:首先进行PLC及sNAP I/O系统的内部软件程序编制,PL C中按照要求将需要操作的数据放到指定数据区,SNAP I/O系统进行程序编制、下装(DOWNLOAD)至控制器,然后,进行硬件配置及通信链路连接,最后进行系统调试、投用。

以天然气分公司红压深冷为例:红压深冷装置是天然气分公司2002年重大基建工程项目之一,其中仪表自控系统有五个国外引进机组自带了各种各样的五种PLC系统,压缩机系统PLC控制来自GE公司,负责压缩机系统的启停机及自动保护;膨胀机系统PLC控制来自AB公司,负责膨胀机系统的启停机及自动保护;丙烷制冷机系统PLC控制来自约克公司,负责制冷机系统的启停机及自动保护;紧急停车控制系统的PL C来自西门子公司,负责在发生紧急情况时处理全厂总停车问题;分子筛控制系统采用的PLC来自西门子公司。每一4-PLC系统均是安装在现场厂房内机组本体上,相互独立,各自带有就地显示屏。而红压深冷装置的控制中心距厂房有50米左右的距离,控制中心由SNAP I/O控制系统作为骨干结构,负责整个工厂内动态及静态设备以及工艺阀组的监视和控制,控制中心的操作人员不可能去现场各个机组的PL C就地盘观测机组运行数据,因此,要求sNAP I/O控制系统在参与装置区各类周边设备的监控的同时,要与各个就地的PL C系统进行通信。机组的各类数据通过通信的方式将数据传送至sNAP I/O系统。各个就地的PL C系统通信协议各不相同,不能统一。在这种情况下,本设计充分考虑了各自PLC的特点,采用不同的通信协议与五台PL C进行了通信互联,其中与GE公司、约克公司的PLC系统通信,采用了MODBUS通信协议模式;与AB公司的PLC系统通信,采用了自由口通信协议模式;与西门子公司的PLC系统通信,采用了PPI通信协议模式。系统2003年底投产,运行平稳正常。经现场测试通信数据刷新时间为1秒,达到了系统设计要求,满足现场生产要求。

结论

本文主要针对大庆油田自控领域出现的实际问题,详细论述了实现SNAP I/O系统与PLC系统之间通信的硬件连接方式以及编程实现途径,并给出了现场应用的方法和步骤。由于本文所做的研究工作已经在大庆油田红岗压气站深冷装置、北区压气站中冷装置、北I I深冷装置得到实践应用,因此推广意义重大。

上一篇:论SMA路面平整度的有效控制措施 下一篇:25MW机组振动故障原因分析及处理措施