加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

CP342-5模块使用示例

(2012-09-15 12:29:49)
标签:

step7

cp342-5

dp

分类: 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)

本程序中基本可分为 MPI通讯,PROFIBUS-DP主从通讯(CP342-5为主站,网关的PROFIBUS-DP为从站,),客户的MODBUS-RTU(RS485)主从通讯(客户MODBUS为主站,网关的MODBUS为从站)。

首先,建立项目并组态硬件,安装网关的GSD文件及添加网关图标文件。

具体方法是将GSD文件拷贝到Step7\S7DATA\GSD下,图标文件拷贝到Step7\S7DATA\NSBMP下。配置如下图

http://img.blog.163.com/photo/1J8iwDaLBG2_jQ92kIYAbw==/5358439131640969407.jpg

 

 配置完成硬件后,编译存盘。具体组态地址如图

http://img.blog.163.com/photo/u7GjRrYJ5ATEM6KHkpjIlw==/3418513592151202668.jpg


编写MPI通讯程序,根据本系统要求,故采用单向通讯

与双向通讯时两方都需要编写发送和接收块不同,单向通讯只在一方编写

通讯程序,这也是客户机与服务器的关系,编写程序一方的CPU 作为客户机,

没有编写程序一方的CPU 作为服务器,客户机调用SFC 通讯块对服务器的数据

进行读写操作,这种通讯方式适合S7-300/400/200 之间通讯,S7-300/400 

CPU 可以同时作为客户机和服务器,S7-200 只能作服务器。SFC67 (X_GET) 

来读回服务器指定数据区中的数据并存放到本地的数据区中,SFC68 (X_PUT)

用来写本地数据区中的数据到服务器中指定的数据区中,我们以举例的方式说

明怎样调用SFC 通讯块来实现单向通讯,先介绍S7-300/400 之间的通讯,与上

例一样,建立两个S7 站,STATION1, CPU S7-416-2 ,MPI 地址为作为客户

; STATION2 ,CPU S7315-2DP, MPI 地址为作为服务器,调用SFC68

CPU416 把本地数据区的数据DB1.DBB0 以后的76 个字节存储在CPU315 

DB1.DBB0 以后的76 个字节中,调用SFC67 CPU416 读出CPU315 的数据

DB1.DBB0 以后的76 个字节,放到本地DB2.DBB0 以后的76 个字节中,例子程

序如下(通常在OB35中编写):

http://img.blog.163.com/photo/vNqpffPC9AdK5lqmSSRIOA==/3418513592151202694.jpg

参数DEST_ID 表示对方的MPI 地址,VAR_ADDR 表示指定服务器的数据区,

SD 表示本地数据区(数据源), M1.1 时,CPU416 将数据区的数据从

DB1.DBB0 以后的76 个字节的数据存放到CPU315 的数据区DB1.DBB0 以后的76

个字节中。

RD 为本地数接收区,当M1.3 , CPU416 CPU315 中从DB1.DBB0 

后的76 个字节中的数据存放到本地数据区DB2.DBB0 以后的76 个字节中。数

据区最大为76 个字节。同时在一个CPU 中调用SFC67 SFC68 将占用一个动态

连接,当M1.5 时中断通讯并释放连接。例子程序参见光盘,项目名为

MPI_SFC_PG300同样S7-300CPU 也可以作为客户机,S7-400CPU 也可以作为服

务器。

编写PROFIBUS通讯,参阅以下:

PLC –PLC 之间的ProfiBus 通讯

1. CP342-5 作主站与FC1(DP_SEND), FC2(DP_RECV)的应用

CP342-5 S7-300 系列的PROFIBUS 通讯模块,带有PROFIBUS 接口,

可以作为PROFIBUS-DP 的主站也可以作为从站,但不能同时作主站和从站,

而且只能在S7-300 的中央机架上使用,不能放在分布式从站上使用。由于S7-

300 系统的区和区有限,通讯时会有些限制;而用CP342-5 作为DP 主站

和从站不一样,它对应的通讯接口区不是区和区,而是虚拟通讯区,需要

调用FC1 FC2 建立接口区,下面以例子来介绍CP342-5 作为主站的使用方

法。

1.1 所需硬件和软件

软件: STEP 7 V5.2

硬件: 1.PROFIBUS-DP 主站带CP342-5 S7-300 CPU315-2DP

2.从站选用ET200M

3.MPI 网卡CP5611

4.PROFIBUS 电缆及接头

1.2 网络配置图

CP342-5 S7 CPU315-2DP 的网络配置图如下图所示:

 http://img.blog.163.com/photo/l9udp79GUctL5zUUhOFWxA==/3960352922319324277.jpg


此组态实例是选用CP342-5 接口作为主站和ET200 M组成PROFIBUS 

络。首先,将CP342-5 插在S7-300 的中央机架上,用一条PROFIBUS 总线

CP342-5 ET200M 相连接。

1.3 组态

打开SIMATIC MANAGER 软件,在FILE 菜单下选择NEW 新建一个项

目,在NAME 栏中输入项目名称,将其命名为“CP342-5_master”,在下方

Storage Location 中设置其存储位置,如下图:

http://img.blog.163.com/photo/t1c4SU4LeegTmxvdt_hjxw==/3418513592151202793.jpg

 


在项目窗口的左侧选中该项目,按右键在弹出的下拉菜单中选择Insert New

Object SIMATIC 300 Station 插入一个S7-300 站,则插入的S7-300 站即显

示在右侧的窗口。                        http://img.blog.163.com/photo/mx6G0tTqFmsQoWXaODR6Zw==/5149021748968463590.jpg

双击SIMATIC 300 Station 目录下的hardware 图标,打开HW configuration 

行硬件组态。在HW configuration 主界面的右侧按实际硬件安装顺序完成系统

硬件组态。在菜单栏中选择“View”菜单,并在下拉菜单中选择“Catalog”打

开硬件目录;在左侧目录中打开SIMATIC 300 文件夹,在RACK-300 下选择

一个机架,把选用的机架拖到屏幕的左上方。同时在号槽和号槽分别插入

CPU 和 CP342-5 模块。在配置CPU 时,会自动弹出一个对话框,此时不用做任何设置,直接点击OK即可。由于在该实例中,将CP342-5 作为主站,配置CP342-5 网络设置时,先新建一条PROFIBUS 网络,然后组态PROFIBUS 属性如下图:

http://img.blog.163.com/photo/kkvQXqSPsCsqrD8phoHXug==/3960352922319324428.jpg

本例中选择传输速率为“1.5Mbps”和“DP”行规,无中继器和OBT 等网

络元件,点击“OK”按钮确认。然后定义CP342-5 的站地址,本例中为

站,加入CP 后,双击该栏,在弹出的对话框中,选择“Operating Mode”标

签,选择“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 


如下图所示,并为其配置个字节个输入和个字节输

出点,输入输出点的地址从开始,是虚拟地址映射

区,而不占用区和区,虚拟地址的输入区在主站上

要调用FC1 (DP_SEND) 与之一一对应 ,虚拟地址的

输出区在主站上要调用FC2 (DP_RECV) 与之一一对

应 ,如果修改CP342-5 的从站开始地址,如输入输出

从地址开始,相应的FC1 FC2 对应的地址区也要

相应偏移个字节。组态完成后下载到CPU 中,如果没有调用FC1FC2

CP342-5 PROFIBUS 的状态等“BUSF”将闪烁,在OB1 中调用FC1FC2

后通讯将建立。配置多个从站虚拟地址区将顺延。

1.4 编程

OB1 中调用FC1 FC2FC1 FC2 的位置如右图,具体程序如下:

http://img.blog.163.com/photo/IzsSoxP4KKczyK4uDGfUtA==/5149021748968463773.jpg

参数含义:

CPLADDRCP342-5 的地址。

SEND:发送区,对应从站的输出区。

RECV:接收区,对应从站的输入区。

DONE:发送完成一次产生一个脉冲。

NDR: 接收完成一次产生一个脉冲。

ERROR:错误位。

STATUS:调用FC1FC2 时产生的状态字。

DPSTATUSPROFIBUSDP 的状态字节。

从上面我们可以看出,MB20MB21 对应从站输出的第一个字节和第二个

字节,MB22MB23 对应从站输入的第一个字节和第二个字节。连接多个从站

时,虚拟地址将向后延续和扩大,调用FC1FC2 只考虑虚拟地址的长度,而

不会考虑各个从站的站号。如果虚拟地址的开始地址不为0,那么调用FC 的长

度也将会增加,假设:虚拟地址的输入区开始为4,长度为10 个字节,那么对

应的接收区偏移个字节相应长度为14 个字节,接收区的第个字节对应从站

输入的第一个字节,如接收区为 P#M0.0 BYTE 14 MB0~MB13,偏移个字

节后,MB4~MB13 与从站虚拟输入区一一对应。

编完程序下载到CPU 中,通讯区建立后,PROFIBUS 的状态灯将不会闪烁,

例子程序参见光盘 “ PROFIBUS ” 目录下的 项目名 “ CP342-

5_MASTER”。

注意:

使用CP342-5 作为主站时,因为本身数据是打包发送,不需要调用SFC14

SFC15,由于CP342-5 寻址的方式是通过FC1FC2 的调用访问从站地址,

而不是直接访问I/Q 区,所以在ET200M 上不能插入智能模块,如:FM350-

1FM352 等项,所有从站的Ti To 时间保持一致。

由于本项目中使用的是第三方的硬件,因此,程序中需要增加一句控制来对第三方硬件进行使能,具体参数参阅第三方硬件手册。具体梯形图如下:

 http://img.blog.163.com/photo/TXmMJhxGbs9mavFcsEqmZg==/1734167331514819329.jpg


程序段1DB10.DBX0.0对应虚拟的Q0.0(使PROFIBUS输出数据进入MODBUS 1XXXX3XXXX。),实际编程请理解使用,实际地址与虚拟地址与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测试软件接受的数据,证明成功。

 

 http://img.blog.163.com/photo/z9nH-g_Qlm-huYd1KDjHKg==/5149021748968463948.jpg

 


下图为在0B35中编写的MPI通讯程序


http://img.blog.163.com/photo/9EbtCi6cAjpPczKNC45FCw==/2044915705803368572.jpg


 http://img.blog.163.com/photo/uC7vXdPdfMF-FCHBpDJGgw==/1734167331514819441.jpg

 

http://img.blog.163.com/photo/UbElf1_6JTEpTD4BDf4JCw==/4271945721538032557.jpg

 http://img.blog.163.com/photo/dua3wp0tJLIOCgFHkP-4Pg==/1734167331514819643.jpg

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有