CP342-5模块使用示例

标签:
step7cp342-5dp |
分类: Step7 |
http://img.blog.163.com/photo/5m2P_XpHMMYihgWDiEeI_Q==/5358439131640969322.jpg
项目要求:3台西门子S7-312 PLC通过MPI连接进行数据交换,然后,数据经过PROFIBUS-DP通讯模块——PROFIBUS-DP/MODBUS网关,与客户的MODBUS设备进行数据通讯。MPI---CP342-5---MODBUS(SLAVE)
本程序中基本可分为
首先,建立项目并组态硬件,安装网关的GSD文件及添加网关图标文件。
具体方法是将GSD文件拷贝到Step7\S7DA
http://img.blog.163.com/photo/u7GjRrYJ5ATEM6KHkpjIlw==/3418513592151202668.jpg
编写MPI通讯程序,根据本系统要求,故采用单向通讯
与双向通讯时两方都需要编写发送和接收块不同,单向通讯只在一方编写
通讯程序,这也是客户机与服务器的关系,编写程序一方的CPU
没有编写程序一方的CPU
进行读写操作,这种通讯方式适合S7-300/400/200
CPU
来读回服务器指定数据区中的数据并存放到本地的数据区中,SFC68 (X_PUT)
用来写本地数据区中的数据到服务器中指定的数据区中,我们以举例的方式说
明怎样调用SFC
例一样,建立两个S7
机;
STATION2 ,CPU
CPU416
DB1.DBB0
DB1.DBB0
序如下(通常在OB35中编写):
http://img.blog.163.com/photo/vNqpffPC9AdK5lqmSSRIOA==/3418513592151202694.jpg
参数DEST_ID
SD
DB1.DBB0
个字节中。
RD
后的76
据区最大为76
连接,当M1.5
MPI_SFC_PG300。同样S7-300CPU
务器。
编写PROFIBUS通讯,参阅以下:
PLC
–PLC
1.
CP342-5
CP342-5
可以作为PROFIBUS-DP
而且只能在S7-300
300
和从站不一样,它对应的通讯接口区不是I
调用FC1
法。
1.1
软件:
硬件:
2.从站选用ET200M
3.MPI
4.PROFIBUS
1.2
带CP342-5
此组态实例是选用CP342-5
络。首先,将CP342-5
将CP342-5
1.3
打开SIMATIC
MANAGER
目,在NAME
的Storage
Location
http://img.blog.163.com/photo/t1c4SU4LeegTmxvdt_hjxw==/3418513592151202793.jpg
在项目窗口的左侧选中该项目,按右键在弹出的下拉菜单中选择Insert New
Object
示在右侧的窗口。
双击SIMATIC 300
Station
行硬件组态。在HW
configuration
硬件组态。在菜单栏中选择“View”菜单,并在下拉菜单中选择“Catalog”打
开硬件目录;在左侧目录中打开SIMATIC
300
一个机架,把选用的机架拖到屏幕的左上方。同时在2
CPU
http://img.blog.163.com/photo/kkvQXqSPsCsqrD8phoHXug==/3960352922319324428.jpg
本例中选择传输速率为“1.5Mbps”和“DP”行规,无中继器和OBT
络元件,点击“OK”按钮确认。然后定义CP342-5
站,加入CP
签,选择“DP master”模式,如下图:
http://img.blog.163.com/photo/Yudp4hIGivAkrh2bjiM3yQ==/4271945721538032098.jpg
点击“OK”按钮确认主站组态完成。
组态从站:在HW
configuration
中选择PROFIBUS DP DP V0 Slaves ET200M
http://img.blog.163.com/photo/mHJGBSHuDCPRuDpfh5uurw==/4271945721538032119.jpg
如下图所示,并为其配置2
出点,输入输出点的地址从0
区,而不占用I
要调用FC1
(DP_SEND)
输出区在主站上要调用FC2
(DP_RECV)
应 ,如果修改CP342-5
从地址2
相应偏移2
CP342-5
PROFIBUS
后通讯将建立。配置多个从站虚拟地址区将顺延。
1.4
在OB1
http://img.blog.163.com/photo/IzsSoxP4KKczyK4uDGfUtA==/5149021748968463773.jpg
参数含义:
CPLADDR:CP342-5
SEND:发送区,对应从站的输出区。
RECV:接收区,对应从站的输入区。
DONE:发送完成一次产生一个脉冲。
NDR: 接收完成一次产生一个脉冲。
ERROR:错误位。
STATUS:调用FC1,FC2
DPSTATUS:PROFIBUS-DP
从上面我们可以看出,MB20,MB21
字节,MB22,MB23
时,虚拟地址将向后延续和扩大,调用FC1,FC2
不会考虑各个从站的站号。如果虚拟地址的开始地址不为0,那么调用FC
度也将会增加,假设:虚拟地址的输入区开始为4,长度为10
应的接收区偏移4
输入的第一个字节,如接收区为
节后,MB4~MB13
编完程序下载到CPU
例子程序参见光盘
“
5_MASTER”。
注意:
使用CP342-5
SFC15,由于CP342-5
而不是直接访问I/Q
1、FM352
由于本项目中使用的是第三方的硬件,因此,程序中需要增加一句控制来对第三方硬件进行使能,具体参数参阅第三方硬件手册。具体梯形图如下:
程序段1中DB10.DBX0.0对应虚拟的Q0.0(使PROFIBUS输出数据进入MODBUS 1XXXX和3XXXX。),实际编程请理解使用,实际地址与虚拟地址与MODBUS地址对应关系如下:
PROFIBUS真实地址 |
PROFIBUS虚拟地址 |
MODBUS对应地址 |
MODBUS使用命令 |
DB10.DBB0 |
QB0 |
|
02H读命令 |
DB10.DBB1 . |
QB1 . |
10001 . |
|
DB10.DBB3 |
QB3 |
10032 |
|
DB10.DBW4 |
QW4 |
30001 |
04H读命令 |
. . |
. . |
. . |
|
DB10.DBW12 |
QW12 |
30005 |
|
|
|
|
|
|
|
|
|
DB11.DBB0 |
IB0 |
|
01H读、05H写、OFH 写命令 |
DB11.DBB1 . |
IB1 . |
00001 . |
|
DB11.DBB3 |
IB3 |
00032 |
|
DB11.DBW4 |
IW4 |
40001 |
03H读、06H写、10H 写命令 |
. . |
. . |
. . |
|
DB11.DBW12 |
IW12 |
40005 |
|
|
|
|
|
以上程序测试通过。以下是MODBUS测试软件接受的数据,证明成功。
下图为在0B35中编写的MPI通讯程序
http://img.blog.163.com/photo/9EbtCi6cAjpPczKNC45FCw==/2044915705803368572.jpg