主题实现ABB系统AC800M与西门 子S7200PLC的通讯.docx
- 文档编号:6111966
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:24
- 大小:730.43KB
主题实现ABB系统AC800M与西门 子S7200PLC的通讯.docx
《主题实现ABB系统AC800M与西门 子S7200PLC的通讯.docx》由会员分享,可在线阅读,更多相关《主题实现ABB系统AC800M与西门 子S7200PLC的通讯.docx(24页珍藏版)》请在冰豆网上搜索。
主题实现ABB系统AC800M与西门子S7200PLC的通讯
工程技术人员论文
主题:
实现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/CompactControlBuilderAC800M的设置。
实现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-300的哪一地址对于S7-200的哪一VB。
例如:
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文件也称为设备描述文件(GeneralStationData),是一种进行电器硬件识别的驱动程序。
工业上大量的仪表、电器设备、控制系统都提供GSD文件。
)在导入GSD文件后,西门子S7300PLC才能识别到EM277,也才能在硬件组态中引用EM277。
方法,选中STEP7的硬件组态窗口中的菜单Option→InstallnewGSD,如下图:
1.2)文件导入图。
在西门子官方网站下载EM277的GSD文件,放置E盘根目录下。
搜索导入SIEM089D.GSD文件,按Install,如下图:
2、S7-300硬件组态,如下图所示:
导入完毕后,我们会在硬件组态右侧的工具栏里找到EM277的组态信息。
3、S7-300对EM277分配电址:
3.1)数据类型、数据通道图。
导入GSD文件后,在右侧的设备选择列表PROFIBUSDP中就会出现一个PLC的标识栏,在SIMATIC中找到EM277从站,EM277PROFIBUSDP。
该表显示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通过EM277DP传送的结果。
I0.0点亮,就是I12.2点亮,从而使S7300Q0.0输出
图1
图2,I0.1是从S7-200/VB1164传送至IB0的数据。
S7-300/Q0.1是S7-200I0.1信号传输过来控制的
图2
4、S7-200编程:
S7-300发送数据控制S7-200
下边的图1、图2、图3都是演示的这个过程。
4.1)建立对应关系。
将QB0传送到VB1132(VB1132是写到S7-300通讯区地址IB10数据)VB1164传送到MB10是将接收的S7-300QB10数据传送到MB10供程序调用。
图1
4.2)S7-200编程。
在SBR_0里边,编一段程序,这个程序,把通过VB1132从S7-300发送过来的数据,启动S7-200里边的开关量输出。
如下图:
图2
4.3)在线测试过程:
主控制站PLCS7-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的输出Q0.7点亮,关系描述PQB0---Q4.7(分量)---VB1132---MB10---M10.7(分量)---Q0.7
4.4)S7-200编程
S7-200Q0.7是S7-300Q4.7信号传输过来控制的,通过EM277DP传送的结果。
通过以上的输入输出的通讯测试,从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的DPslave组态中,设定Offset为1132,如下图
2、开关量设置。
我这里需要由20多个开关量输入点DI,为了扩展需要,我把点数设计到32点,这就需要占用4个字节,即VB1132、VB1133、VB1134、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
取值MB一个字节8个位,VW占用2个字节,VD占用4个字节。
程序编译如下图:
图4.4.1
图4.4.2
图4.4.3
说明:
以上S7-200的编程,分别应用了MB,VW,VD,代表的意思分别是字节位、字,双字,占用的V区变量分别是1个字节位,2个字节,4个字节
小结:
S7-200PLC,作为从站编程完毕,就建立了与主站一对一的数据关系,从而可实现数据的通讯采集。
在主站那边,要把以上的信号进行分解或合并,并建立与之对应的数据表,这样顺利建立起了数据对应关系,从而为数据采集与通讯创造条件。
5、ABB/CompactControlBuilderAC800M的设置。
在S7-200从站设计完毕到主站的V区程序后,在ABB的DCS里边按以下方式设置好对应关系,就可以很方便的读取S7-200的数据了。
从而成功实现了在不同系统之间建立通讯关系的实例。
如下图ABB编程平台软件所示:
ABB软件编程平台
里边的对应关系,如下图所示
ABB变量表
在实际操作中,我的数值,只需要把这些变量中的分量取出来,可以随意使用。
一个GSD文件的例子如下:
#Pr0fibusDP ;DP设备的GSD文件均以此关键存在
GSDRevision=1 ;GSD文件版本
VendorName="Meglev" ;设备制造商
ModelName="DPSlave" ;产品名称,产品版本
Revision="Version01" ;产品版本号(可选)
RevisionNtmber=01 ;产品识别号
IdemNumber=0x01 ;协议类型(表示DP)
ProtocoIIdent=0 ;站类型(0表示从站)
StationType=0 ;不支持FMS.纯DP从站
FMSSupp=0 ;硬件版本
HardwareRealease="HW1.0" ;软件版本
SoltwareRealease="SWl.0" ;支持9.6kbps波特率
9.6supp=1 ;支持19.2kbps波特率
19.2supp=l ;9.6kbps时最大延迟时间
MaxTsdr9.6=60 ;19.2kbps时最大延迟时间
MaxTsdrl9.2=60 ;不提供RTS信号
RepeaterCtrlsig=0 ;不提供24V电压
24VPins=0 ;采用的解决方案
ImplementationType="SPC3" ;不支持锁定模式
FreezeModeSupp=0 ;不支持同步模式
SyncModeSupp=0 ;支持自动波特率检测
AutoBaudSupp=l ;不支持改变从站地址
SetSlaveAddSupp=0 ;故障安全模式类型
FailSafe=0 ;最大用户参数数据长度(0-237)
MaxUserPrmDataLen=0 ;用户参数长度
UselprmDataLen=0 ;最小从站响应循环间隔
MinSlaveImervall=22 ;是否为模块站
ModularStation=l ;从站最大模块数
MaxModule=l ;最大输入数据长度
MaxInputLen=8 ;最大输出数据长度
MaxOutputLen=8 ;最大数据的长度(输入输出之和)
MaxDataLen=16 ;最大诊断数据长度(6~244)Slave
MaxDiagDataLen=6 ;从站类型
Family=3 ;模块1,输入输出各4字节
Module=“Modulel”0x23,0x13; ;模块2.输入输出各8字节
EndModule
Module="Module2"0x27,0x17;
EndModule
图2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 主题实现ABB系统AC800M与西门 子S7200PLC的通讯 主题 实现 ABB 系统 AC800M 西门 S7200PLC 通讯