当前位置:文档之家› 主题:实现ABB系统AC800M与西门 子S7-200PLC的通讯

主题:实现ABB系统AC800M与西门 子S7-200PLC的通讯

工程技术人员论文

主题:实现ABB系统AC800M与西门子S7-200PLC的通讯

撰写人:王庆

日期:2012.8.15.

章节

一、引言。

1、1 开发设计通讯的原因。

1、2开发设计通讯的理论基础。

1.2.1)简单的I/0:

1.2.2)模拟量

二、硬件安装与设置。

1、硬件导入。

1.1)识别文件导入选项。

1.2)文件导入图。

2、S7-300硬件组态

3、S7-300对EM277分配电址

3.1)数据类型、数据通道图

3.2)选择数据类型、数据通道

3.3)地址分配图示。

3.4)地址分配图示。

4、PROFIBUS地址设定。

三、利用S7-300作主站(模拟ABB系统)程序应用开发举例。

1、S7-300侧编程:

2、S7-200侧编程:S7-200发送数据,控制S7-300

3、S7-300侧编程:S7-200发送数据,控制S7-300

4、S7-200侧编程:S7-300发送数据控制S7-200

4.1)建立对应关系。

4.2)S7-200侧编程。

4.3)在线测试过程

4.4)S7-200侧编程

5、简要总结:

四、西门子S7-200与ABB/AC800M的通讯开发。

引言

1、从站设置。

2、开关量设置。

2、字模拟量设置。

3、双字模拟量设置

4、程序设计。

5、ABB/ Compact Control Builder AC 800M的设置。

实现ABB系统AC800M与西门子S7-200PLC的通讯

摘要:

论文主要对变量V区的数据处理技术进行了论述,对不同系统间的通讯过程实现、兼容性的技术处理作了详细论述。通过一个具体的案例,通过实例编辑画面,言简意赅的演示自动化过程中不同系统通讯的具体实现,从而为大家在该方面的技术提供案例支持。本文引用了S7300作为主站(模拟ABB系统),建立模型,S7-200作为从站。

一、引言。

1、1 开发设计通讯的原因。

在16万控制系统当中,根据我方提出的方案,在7套离心机控制系统中,进口的安德里茨离心机(这是我方自行设计的系统程序)、进口韦斯法尼亚离心机(5号离心机,由德国人开发的系统),由于其都为单独设计的系统,且都采用西门子PLC控制系统,都满足PROFIBUS-DP通讯协议规范,这与我公司在施工中的ABB的DCS系统采用的通讯协议相同,理论上应该可以进行通讯,但在技术环节实施上需要处理。最初我们并不清楚两个完全不同的系统之间的兼容性如何。不同系统的兼容性,直接决定了系统之间能否实现自由数据的交换,从而实现把现场运行系统的数据可以通过通讯的方式,直接开发设计到整个DCS 控制系统里边。两台离心机中,韦斯法尼亚由于个别原因,暂时无法调试通讯。安德利茨的离心机控制系统,是由我个人自行设计开发调试的系统,所以,我们先调试了安德里茨离心机(1号离心机)的通讯。

在2008年设计安德里茨的控制系统时,我在设计理念上,前瞻性的设计了PROFIBUS-DP 的通讯协议预留接口,即EM277通讯组件。该硬件的基本功能,作为支持PROFIBUS协议的接口,可实现不同电器设备间以总线PROFIBUS形式进行通讯。范围可包含全部支持PROFIBUS的仪表、带PROFIBUS通讯的电器、不同厂家型号支持PROFIBUS的控制系统。

1、2开发设计通讯的理论基础。

首先,我查阅了相关资料。对EM277模拟量数据交换进行了解,EM277具备以下特点。

1.2.1)简单的I/0:

例如在S7300中组态了32字节入/32字节出:

如S7200的VB0-VB31为输出缓冲区,VB32-VB63为输入缓冲区。

S7200的输入可写入上述输入缓冲区中;

S7200的输出(即S7-300的写入)可由输出缓冲区来接收;

1.2.2)模拟量:

如同简单的I/0一样,只不过是简单的数字量I/0为二进制位BOOL型,而模拟量一般如为整型,占一字(2个字节WORD),转换为实数型为两个字(32个二进制位DWORD,即四个VB)。3.弄清S7-300与S7-200的DP通信数据结构及相互关系之后,自己要编

S7-200有32个开关量输入输入,2个模入(整型)要送入S7-300:

在S7-200中32个开关量输入可存入VB32,VB33,VB34,VB35中;

在S7-200中2个模拟量输入可分别存入VW36,VW38中,即VB36,VB37,VB38,VB39中;

二、硬件安装与设置(S7-300模拟ABB系统作为主站)。

然后我在实际开发过程中,利用S7-200与S7-300的模型,设立主从站,进行了测试设计,实现模拟通讯。这是因为,无论西门子系列PLC之间,还是西门子与ABB系统之间,统一按PROFIBUS开放式总线协议进行通讯,这样,在通讯协议上,可以建立联系。模拟西门子系统主从站之间的测试,主要按以下几个步骤进行。

1、硬件导入。

1.1)识别文件导入选项。

首先需要对EM277的GSD文件进行导入。(说明:GSD文件,GSD文件也称为

设备描述文件(General Station Data),是一种进行电器硬件识别的驱动程序。工

业上大量的仪表、电器设备、控制系统都提供GSD文件。)在导入GSD文件后,

西门子S7300PLC才能识别到EM277,也才能在硬件组态中引用EM277。方法,

选中STEP7 的硬件组态窗口中的菜单Option Install new GSD,如下图:

1.2)文件导入图。

在西门子官方网站下载EM277的GSD文件,放置E盘根目录下。搜索导入

2、S7-300硬件组态,如下图所示:

导入完毕后,我们会在硬件组态右侧的工具栏里找到EM277的组态信息。

3、S7-300对EM277分配电址:

3.1)数据类型、数据通道图。

导入GSD 文件后,在右侧的设备选择列表PROFIBUS DP中就会出现

一个PLC的标识栏,在SIMATIC中找到EM277 从站,EM277

PROFIBUS DP。该表显示EM277支持的数据类型、数据通道。如下图:

数据类型、数据通道图

3.2)选择数据类型、数据通道

根据我们需要的通讯字节数,选择一种通讯方式,我在测试程序中选择了32字

节入/32字节出的方式,选择完毕,就是第4页图显示的地址分配内容。选择过

程如下图:

3.3)地址分配图示。

点击EM277,在下方显示地址分配栏,如下图:

S7-300的PQB输出首地址是Q4.0,范围是Q4.0~Q35.0,对应VB1132~VB1163

S7-300的PIB输入首地址是I12.0,范围是I12.0~I43.0,对应VB1164~VB1195 对应关系

PQB0---------VB1132 ~PQB31----------VB1163

PIB0---------VB1164 ~PIB31----------VB1195

4、PROFIBUS地址设定。

双击上图的EM277 图标,出现“属性-DP 从站”设定对话框,点击“PROFIBUS…”键,设定EM277的地址(设定的地址须和EM277 的拨码开关一致)。在这里我选择的是拨码开关1,

对应地址应为1,如下图:

三、程序应用开发举例。这里我做了几个简单的程序组态过程,用来验证通讯程序的可行性。

1、S7-300编程;将QB0传送到QB10(QB10是写到S7-200通讯区地址VB1132数据)

2、S7-200编程:S7-200发送数据,控制S7-300(图1、图2见第20页)

下图是S7-200传送数据演示图:I0.2是从S7-200/ VB1164传送至IB0的数据,

图1

3、S7-300编程:S7-200发送数据,控制S7-300

下图是S7300通过通讯,接收数据建立I0.2~I12.2的自然对应关系,使S7300输出Q0.0的过程;

图1;I0.0是S7-200/VB1164传送至IB0的信号传输过来通知的,其对应的S7-300的输入点是I12.2 通过EM277 DP传送的结果。I0.0点亮,就是I12.2 点亮,从而使S7300 Q0.0输出

图1

图2,I0.1是从S7-200/VB1164传送至IB0的数据。S7-300 /Q0.1是S7-200 I0.1信号传输过来控制的

4、S7-200编程:S7-300发送数据控制S7-200

下边的图1、图2、图3都是演示的这个过程。

4.1)建立对应关系。将QB0传送到VB1132(VB1132是写到S7-300通讯区地址IB10数据)VB1164传送到MB10是将接收的S7-300 QB10数据传送到MB10供程序调用。

图1

4.2)S7-200编程。在SBR_0里边,编一段程序,这个程序,把通过VB1132从S7-300发送过来的数据,启动S7-200里边的开关量输出。如下图:

图2 4.3)在线测试过程:

主控制站PLC S7-300发送数据,在这里强制M8.7为ON作为I输入端,输出Q4.7,如下图:

S7-300编程:S7300/PQB0传送至S7-200/VB1132数据,使IB0与S7300/PQB0建立对应关系。

图3 上图中,M8.7在测试中强制为ON,输出的Q4.7(首地址Q4.0)为PQB0的下标分量,对应关系为PQB0~VB1132,在S7-200一侧,因为QB0送入VB1132,而VB1132又送入MB10,其下标(共8个)在S7300主站Q4.7亮时,通过建立的通讯对应关系直接传送至S7-200,即MB10.7,从而使西门子S7200的

4.4)S7-200编程

S7-200 Q0.7是S7-300 Q4.7信号传输过来控制的,通过EM277 DP传送的结果。

通过以上的输入输出的通讯测试,从S7-300主站强制M8.7,从站就会输出Q4.7,而从站输入I0.0,就会在主站输出Q0.0

5、简要总结:

在S7300与S7200通讯的建立过程中,EM277的地址1132....1195就是S7_300中的PIB0—PIB31和PQB0—PQB31。因为对应S7-200中变量的偏移量是1132,所以

PQB0—PQB31对应S7-200中的VB1132—VB1163;PIB0—PIB31对应S7-200中的

VB1164—VB1195。所以对PQB0—PIB31和PIB0—PQB31进行操作时实际就是同时对S7-200中的VB1132—VB1163和VB1164—VB1195进行操作的,从而控制S7-200的PIB、PQB,达到接收和发送数据控制从站的效果。

四、西门子S7-200与ABB/AC800M的通讯开发(参考西门子S7-300操作实例)。

引言:在16万控制系统与ABB的DCS系统通讯调试过程中,我们参考西门子S7300与S7200的主站、从站的通讯设置,主从站的偏移变量对应关系,主从站的编程,

尤其是主、从站点间通讯的实现过程,受到启示。不同的是ABB与西门子是两

个完全不同公司的产品系统。下面是整个开发测试过程。

1、从站设置。

主要进行S7-200从站的设置,这些设置由ABB主站作为识别的起始地址。

设定地址,由于安德利茨离心机的程序设计中,我设计了3个回路的PID,V区变量分别占用为VB0、VB370、VB616,通过查看S7200程序中的交叉地址,发现在前边V区全部占用,或间断占用,只能选择1030区域至1199区域进行变量的采集。我们选择VB1132作为首地址,如下图:

所以在S7300的DP slave组态中,设定Offset为1132,如下图

2、开关量设置。我这里需要由20多个开关量输入点DI,为了扩展需要,我把点数设计到32点,这就需要占用4个字节,即VB1132、VB113

3、VB113

4、VB1135,对应的主站变量分别为I0.0-I0.7,,I1.0-I1.7,I2.0-I2.7,,I3.0-I3.7。

2、字模拟量设置。有6个VW的模拟量,占用字节为12个,分别为VB1136-VB1147,对应的S7-300的变量分别为VW1136、VW1138、VW1140、VW1142、VW1144、VW1146。

3、双字模拟量设置。由2个VD的模拟量,占用8个字节,分别为VB1148-VB1155,对应的S7-300的变量分别为VD1148、VD1152

4、程序设计。以上关系建立好后,要在S7200里边做客户端的V区程序段,V区的程序遵循以下原则。如下图:图4.4.1、图4.4.2、图4.4.3

VB1132----------------PQB0

……….

VB1163--------------- PQB31

VB1164----------------PIW0

……….

VB1195--------------- PIW31

程序编译如下图:

图4.4.1

图4.4.2

图4.4.3说明:以上S7-200的编程,分别应用了MB,VW,VD,代表的意思分别是字节位、字,双字,占用的V区变量分别是1个字节位,2个字节,4个字节

小结:S7-200P LC,作为从站编程完毕,就建立了与主站一对一的数据关系,从而可实现数据的通讯采集。在主站那边,要把以上的信号进行分解或合并,并建立与之

对应的数据表,这样顺利建立起了数据对应关系,从而为数据采集与通讯创造条

件。

5、ABB/ Compact Control Builder AC 800M的设置。

在S7-200从站设计完毕到主站的V区程序后,在ABB的DCS里边按以下方式设置好对应关系,就可以很方便的读取S7-200的数据了。从而成功实现了在不同系统之间建立通讯关系的实例。

如下图ABB编程平台软件所示:

ABB软件编程平台

里边的对应关系,如下图所示

在实际操作中,我的数值,只需要把这些变量中的分量取出来,可以随意使用。

一个GSD文件的例子如下:

#Pr0fibus DP ;DP设备的GSD文件均以此关键存在GSD Revision=1;GSD文件版本

VendorName="Meglev" ;设备制造商

Model Name="DP Slave" ;产品名称,产品版本

Revision="Version 01" ;产品版本号(可选) RevisionNtmber=01 ;产品识别号

IdemNumber=0x01 ;协议类型(表示DP)

ProtocoI Ident=0 ;站类型(0表示从站)

StationType=0 ;不支持FMS.纯DP从站

FMS Supp=0 ;硬件版本

Hardware Realease="HW1.0" ;软件版本

Soltware Realease="SWl.0" ;支持9.6kbps波特率

9.6 supp=1 ;支持19.2kbps波特率

19.2 supp=l ;9.6kbps时最大延迟时间

MaxTsdr 9.6=60 ;19.2kbps时最大延迟时间MaxTsdrl9.2=60 ;不提供RTS信号

RepeaterCtrl sig=0 ;不提供24V电压

24VPins=0 ;采用的解决方案

Implementation Type="SPC3" ;不支持锁定模式

FreezeMode Supp=0 ;不支持同步模式

SyncMode Supp=0 ;支持自动波特率检测

AutoBaud Supp=l ;不支持改变从站地址

Set SlaveAdd Supp=0 ;故障安全模式类型

Fail Safe=0 ;最大用户参数数据长度(0-237) MaxUser PrmDataLen=0 ;用户参数长度

Usel prmDataLen=0 ;最小从站响应循环间隔

Min Slave Imervall=22 ;是否为模块站

Modular Station=l ;从站最大模块数

MaxModule=l ;最大输入数据长度

MaxInput Len=8 ;最大输出数据长度

MaxOutput Len=8 ;最大数据的长度(输入输出之和) MaxData Len=16 ;最大诊断数据长度(6~244)Slave MaxDiagData Len=6 ;从站类型

Family=3 ;模块1,输入输出各4字节

Module=“Modulel”0x23,0x13;;模块2.输入输出各8字节EndModule

Module="Module2"0x27,0x17;

EndModule

相关主题
相关文档 最新文档