ABB PLC和西门子PLC通过DP通讯.docx
《ABB PLC和西门子PLC通过DP通讯.docx》由会员分享,可在线阅读,更多相关《ABB PLC和西门子PLC通过DP通讯.docx(17页珍藏版)》请在冰豆网上搜索。
ABBPLC和西门子PLC通过DP通讯
ABBPLC和西门子PLC通过DP通讯
1.硬件配置
ABBCPU:
PM866
ABBPLC采用CI854作为主站,西门子PLC使用的是S7-1200CPU,CM1242-5作为从站,实物图如下:
CI854
CM1242-5
关于图中ABBPLC以及S7-1200PLC相关操作,本文不再做介绍,可以参考我之前的文档。
由于ABBPLC作为主站,那么我们需要把从站配置到ABBPLC硬件组态中,因此我们需要下载CM1242-5GSD文件,西门子官网有,下载完GSD文件后,需要如下配置:
1.在ABB工程新建一个硬件库(图中S71242),右击选择插入
2.选择下载的GSD文件打开
3.点击next
4.点击next
5.选择输入输出数据类型,此处我选择的是16byte输入输出
6.点击Next
7.选择输入手动配置
8.对16个byte配置:
前4个字节共32个点位bool类型,后12个字节配置为3个real类型数据
9.同样的对输出手动配置,配置完之后next
10.点击next
11.点击Finish
接下来可以在ABB工程中使用新建的硬件库:
这里需要注意我先配置的是16字节输出然后输入,对应西门子要反过来,否则通讯故障
1.在CI854下插入新建的CM1242-5从站,并且地址设定为2
2.在CM1242-5从站下插入刚才配置好的输入输出模块
ABBPLC硬件配置到此完成,接下来是西门子PLC的硬件配置:
输入输出配置:
要先配置16字节输入,然后输出,和ABB的输入输出配置顺序相反
CM1242地址设置2,对应ABBPLC的设置
2.软件设计
上述ABB以及西门子硬件配置全部完成,接下来简单写下程序测试通讯效果。
首先在ABBPLC新建变量,如下:
ABBPLC中由于硬件连接的数据类型需要BOOLIO或者REALIO,因此我们需要把BOOL或者REAL类型转为IO类型
连接的变量需为BOOLIO或者REALIO,因此在上述我们需要建立对于变量
此处数据类型都是IO
上图为16字节Input配置,16字节Output同理连接。
发送给ABB的数据
把Bool和Real类型赋值给BOOLIO和REALIO
接收到ABB的数据
在西门子PLC侧,新建数据类型如下:
此处变量地址就是上述1242-5中配置的:
QD6为给ABBPLC的第一个Real数据
Q2.0为给ABBPLC的第一个BOOL量
ABB和西门子PLC都编写好程序后,分别下载进去,效果如下:
ABB侧接收到的BOOL量
ABB侧接收到的Real数据
ABB发送给西门子的第一个BOOL量
ABB发送给西门子的第一个Real数据
西门子PLC接收到的BOOL量
西门子PLC接收到的Real数据,次数由于我模拟量连接了温度变送器,因此数据实时变化,两边会不一样