和利时MACSV与西门子S7-200之间的通讯 点击:2863 | 回复:1



青竹68

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 9回
  • 年度积分:0
  • 历史总积分:65
  • 注册:2012年12月28日
发表于:2013-01-30 19:23:05
楼主

和利时MACSV与西门子S7-200之间的通讯

  :流程工业的大型设备通常由设备厂家配套的PLC就地控制,为了能在中央控制室DCS系统的操作员站直接对设备进行监控,经常要做DCSPLC的通讯。通过介绍和利时MACS系统与西门子S7-200通讯的硬件配置及软件组态,为今后同行业类似工程的实施提供了借鉴。

关键词MACS系统  PLC S7-200 通讯  MODBUS协议

0引言

我公司20万吨离子膜及25万吨VCM项目的集散控制系统(DCS)采用的是和利时公司MACSV系统。项目中2套空压制氮装置为浙江瑞气集团生产,其控制系统为西门子公司S7-200型的PLC。原设计DCSPLC互为独立,由操作工在现场对空压制氮装置就地监控,后来工艺人员提出直接在DCS操作站上监控设备运行的要求,于是利用工厂停车检修的机会对两套系统进行改造,实现了互相通讯。

1系统组成

MODBUS协议的PLCMACSV系统的通讯有两种方案。一是直接在一台操作员站上安装一块MOXA卡,通过此卡直接连接现场PLC配备的RS485口,两个PLC现场直接并联,如下图中的上部方框内的PLC。二是增加一块和利时公司自产FM020通讯模块,该模块支持Profibus-DP 总线协议与Modbus 协议,通过Profibus-DP 总线与控制器进行参数与数据交换实现DP 从站功能,同时通过Modbus 通讯协议获取或下发Modbus 数据。FM020 模块在Profibus-DP 一侧只能做Profibus-DP 从站;在Modbus 一侧既可以做Modbus 主站,也可以做Modbus从站。FM020 作为主站时最多可连接18 Modbus 从站,如图中右下方虚线椭圆部分。由于厂家提供了S7-200485接口和MOXA卡,经微机组人员讨论选用前一种方案,MACSV作为主站,S7-200作为从站,整个网络结构如图所示。

11DCS系统

本套装置MACSV系统包括离子膜(0号域)、氯乙烯(1号域)、乙炔(2号域)三个域,由监控网、系统网和控制网三个层次组成。每个域的SNET相对独立,采用确定性实时以太网通讯协议,保证网络安全。域间通过MNET连接在一起,以太网通讯协议。三个域互为独立又能在操作员站通过口令登录到不同的域而进行相互监控。监控网(MNET)主要节点为工程师站、操作员站、服务器站;系统网主要节点为工程师站、服务器站、现场控制站。控制网(CNET)位于现场控制站内部,主要有DP主站(主控单元)DP从站(智能IO单元——输入/输出模块)

12PLC系统

两套S7-200采用并联与DCS通讯,每套系统包括1K-TP178触摸屏、1CPU224XP CN1EM222 CN1EM231 CN组成。触摸屏为现场显示工艺流程和工艺参数;CPU224XP CN为中央处理单元(带2个串行通讯口,port1与触摸屏通讯、port0口与MACSV进行通讯);EM222 CN为数字量扩展模块;EM231 CN为模拟量扩展模块。

13MODBUS协议

MODBUS协议是主从站通讯协议,用异步串行口完成通讯,物理层采用RS485RS232。传输速率可以达到115kbps,理论上可接(寻址)一台主站和至多247台从站。受线路和设备的限制,最多可接一台主站和32台从站。MODBUS协议有两种传输模式,RTU方式通讯采用8位字节的二进制数据通讯,数据校验采用CRC循环冗余校验,通讯速度较快;ASC方式采用7ASC码进行通讯,数据校验采用LRC逻辑冗余校验,通讯速度较慢。在一个通讯系统中,只能选用一种通讯方式,两种方式不能并用。MODBUS有两种通讯方式:应答方式和广播方式。应答方式是主战向某个从站(地址为1~247)发出命令,然后等待从站的应答;从站接到主站命令后,执行命令,并将执行结果返回给主战作为应答,然后等待下一个命令。广播方式是主站向所有从站(从站地址为0)发送命令,不需要等待从站应答;从站接到广播命令后,执行命令,也不向主站应答。

MODBUS通讯双方以寄存器将双方的数据对应起来,数据类型有数字量、模拟量两种,寄存器地址分为四类:1)内部数字量保持线圈,寄存器地址以1开头,地址表示为1XXXX2)外部输入数字量线圈、继电器,寄存器地址以2开头,寄存器地址表示为2XXXX3)外部输入模拟量存贮器,寄存器地址以3开头,地址表示为3XXXX;4)内部模拟量保持寄存器,寄存器地址以4开头,地址表示为4XXXX

14通讯的硬件配置

选用0号域的61#操作员站兼作通讯站。在通讯站主机上安装了MOXA通讯卡(型号为CP-132ULV2/PCI2RS422/485串口)。DCSPLC之间通讯介质采用带屏蔽的双绞线,接口采用标准的DB9串行接口。 PLC一侧接DB9串行接口针脚的3+)、8-),与CPU自带的PORT0口相连;通讯站一侧接DB9串行接口针脚的3+)、4-)与MOXA通讯卡所带的串口连接。

2软件组态

在做好硬件连接后,可以用MODBUS从站主站模拟器进行测试。在笔记本上运行模拟MODBUS从站模块ModSim32.exe模拟现场PLC。在通讯站运行模拟MODBUS主站模块modscan32.exe,运行设置如下:

1.运行modscan32.exe

2.从菜单connection中选择connect对串口进行配置,参数与通信的设备设置相同。

3.Device ID 设置是通信的设备的站地址

4.选择03HOLDING REGISTER

5.按下Reset Ctrs

6.观察灰色区的数据内容如在尖括号内数据不断刷新就可以了

4步可以根据实际选择,在第6步看到数据刷新就说明硬件的物理连接没有问题。

21PLC软件组态

在原有软件编程的基础上新增加MBUS_SLAVEMBUS_INIT两个控制功能块。MBUS_SLAVE被用于为MODBUS主设备发出的请求服务;MBUS_INIT被用于启用和初始化或禁止MODBUS通讯。如图所示:

能否通讯成功的关键是对MBUS_INIT功能块进行设置。MODE选择1,通讯地址设定12,通讯速率设定9600,校验参数设定为2偶校验,时延参数设定为0,数字量通讯点数设定128,模拟量寄存器通讯的点数设定为32V内存中的字保持寄存器数目设定为30V内存中保持寄存器的起始地址VB1396

22DCS软件组态

通信执行文件名是MvModbusMDT.exe,该模块通过串口实现将现场遵循Modbus协议的设备数据采集到MACSV系统中,并可给设备下发控制。本模块支持多种模拟量数据类型,支持DCS系统多域,支持任意域中的服务器双网冗余。

采用标准MODBUS协议、RTU方式,作为MODBUS主站进行通信,支持功能码如下

01H

请求接收开关量

02H

请求接收开关量

03H

发送单个开关量

04H

请求接收模拟量

05H

发送单个开关量

06H

发送单个模拟量

0FH

发送多个开关量

10H

发送多个模拟量

模拟量支持多种数据类型可配,数据类型如下

1:无符号短整型(16bit

2:有符号短整型(±15bit

3:无符号整型(32bit

4:有符号整型(±31bit

5: 浮点型(32bit)数据的储存格式为:字节2字节1字节4字节3

6: 浮点型(32bit)数据的储存格式为:字节4字节3字节2字节1

7: 浮点型(32bit)数据的储存格式为:字节1字节2字节3字节4

8: 浮点型(32bit)数据的储存格式为:字节3字节4字节1字节2

首先在通信站上正确配置文件MvModbusMDT.INI,该项目对本文件参数进行配置如下。

【COM_CONFIG】 ----串口配置

PORT=3 ----串口号

TIMEOUT=200 ----读串口数据超时时间,单位:毫秒

INSIDEINTERVAL=50 ----命令间间隔时间,单位:毫秒

OUTERINTERVAL=50 ----设备间间隔时间,单位:毫秒

BAUDRATE=9600 ----波特率,单位:位/

DATABIT=8 ----数据位,常用7位,8

STOPBIT=1 ----停止位,常用1位,2

PARITY=2 ----校验位(0-无校验,1-奇校验,2-偶校验)

【COMMUNICATION_PERIOD】 ----通信周期配置

PERIOD=2000 ----通信周期,单位:毫秒

【SERVER_CONFIG】 ----MACSV服务器配置

SVRPORT=7325 ----MACSV服务器端口号,为7316-8000任一数字

DOMAINNUM=2 ----域的个数

【DOMAIN2_CONFIG】 ----第二个域的服务器参数配置

DOMAIN=1 ----MACSV服务器的域号

SERVER1=sever3 ----MACSV服务器1的名称

SERVER2=sever4 ----MACSV服务器2的名称

S1IP1=130.0.0.3 ----MACSV服务器1IP地址1

S1IP2=131.0.0.3 ----MACSV服务器1IP地址2

S2IP1=130.0.0.4 ----MACSV服务器2IP地址1

S2IP2=131.0.0.4 ----MACSV服务器2IP地址2

SUBSTATIONNUM=2 ----第二个域的子站个数

【DOMAIN2_SUBSTATION_ORDER】 ----第二个域的子站配置

ORDER1=12 ----第一个子站的站号

ORDER2=11 ----第一个子站的站号

【DOMAIN2_ARG_NUMBER】 ----第二个域的各子站通信协议数配置

SUB1_ARG_NUMBER=5 ----第一个子站的通信协议数

SUB2_ARG_NUMBER=5 ----第二个子站的通信协议数

【DOMAIN2_SUB1_ARG1】 ----第二个域第一个子站第一个协议的配置

FUNCTION=3 ----功能码

STARTADDR=0001 ----起始地址

POINTNUM=3 ----点数

POINT1=AM12_0001 ----第一个点点名

MULTIPLE1=1 ----第一个点缩放倍数

POINTTYP1=5 ----第一个点数据类型

……

【DOMAIN2_SUB1_ARG2】 ----第二个域第一个子站第二个协议的配置

FUNCTION=1 ----功能码

STARTADDR=0000 ----起始地址

POINTNUM=8 ----点数

POINT1=DM12_0001 ----第一个点点名

……

【DOMAIN2_SUB1_ARG5】 ----第二个域第一个子站第五个协议的配置

FUNCTION=2 ----功能码

STARTADDR=0000 ----起始地址

POINTNUM=4 ----点数

POINT1=DIM12_0001 ----第一个点点名

……

【DOMAIN2_SUB2_ARG1】 ----第二个域第二个子站第一个协议的配置

FUNCTION=3 ----功能码

STARTADDR=0001 ----起始地址

POINTNUM=3 ----点数

POINT1=AM11_0001 ----第一个点点名

MULTIPLE1=1 ----第一个点缩放倍数

POINTTYP1=5 ----第一个点数据类型

……

读取和下发开关量数据时,点类型和放大倍数这两个参数无效,可以不做配置;采用06H功能码下发单个模拟量数据时,点类型参数无效,默认的点类型为有符号短整型。

文件正确配置完毕后,将可执行程序MvModbusMDT.EXE,配置文件MvModbusMDT.INI以及pcomm.dll拷到同一安装目录下。运行MvModbusMDT.exe文件,该文件通过串口将PLC内的设备数据采集到MACSV系统中,并可给设备下发控制,如通讯正常显示X号设备第X个协议的功能码X正确,说明配置文件没有问题。

通讯站配置完毕,在工程师站打开数据库总控,选择1号域工程,添加AMDM)中间变量。点名为通讯站中的点名、点说明为PLC通讯所读取的点解释、量程上下限根据实际设定、站号设定为0。配置完后进行数据库总控完全编译生成控制器工程文件,分别下装服务器。在MACSV图形组态工具中对添加的变量进行动态组态,然后下装各个操作员站。操作员既可看到PLC通讯来的数据并可以控制。

3.结束语

到目前为止,各种数据采集、控制都运行正常。制氮机组上的各种数据都能在DCS中监视,现场机组的启停在DCS上也能控制。使用MODBUS通讯结构简单、易维护、编程方便,更重要是造价低廉大大降低了生产成本。(转帖)




zdm2008

  • 精华:3帖
  • 求助:11帖
  • 帖子:108帖 | 1584回
  • 年度积分:1
  • 历史总积分:12293
  • 注册:2011年12月09日
发表于:2013-01-31 09:02:03
1楼
我也做过,还有和利时MACSV与西门子S7-300的通讯。只要地址和字节对了,就通讯上来了。具体见过我发表的论文。PLC和DCS成功的结合。

热门招聘
相关主题

官方公众号

智造工程师