S7300400PLC 的MPI通讯
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SunyTech8和S7300/400 PLC 的MPI通讯一、概述
MPI(多点接口)是一种适用于小范围、少数站点间通讯的网络。
可通过PROFIBUS电缆和接头,将PLC的MPI编程口相互连接以及上位机网卡的编程口(MPI/DP),连接即可实现。
如果有西门子MPI通信电缆,也可把PLC的MPI编程口和计算机串口直接连接即可。
组态软件可通过简单的配置实现和西门子S7-300/400的MPI通讯。
本驱动支持的通信协议为SIEMENS 公司提供的Prodave S7通信开发包。
二、设备配置
硬件:
(1)CPU 315 (S7-200/300/400)
(2)CP5611卡和PROFIBUS通讯电缆(CP5411/CP5611/CP5613)或者西门子MPI 专用通信电缆
软件:
(1) STEP 7 V5.3及以上版本
(2)组态软件
1.组态软件与S7300系统连接方式
组态软件与S7300/400系统连接方式有下面两种:
1)通过西门子MPI通讯卡(如西门子公司提供的CP5611卡/CP5613)与S7300系列PLC的连接:
将MPI卡安装在计算机的PCI插槽中,用MPI电缆将MPI卡与S7-300的MPI口相连
2)通过PC-Adapter与S7-300系列PLC的连接:
将PC-Adapter的一端与计算机的串口相连,另一端与S7-300的MPI口相连
2.软件配置
A、在运行SunyTech8.0的机器上需要安装西门子公司提供的Step 7 V 5.3及以上版本的编程软件。
B、组态软件和设备通讯需要调用编程软件中集成的PRODAVE5.5及以上版本的库,由于不同版本的Step 7编程软件集成的PRODAVE的库的版本不同。
有可能会造成通讯的失败,当出现通讯失败时请用户手动更新通讯涉及到的文件
S7Onlinx.dll,Komfort.dll,W95_S7.dll和S7osmcax.sys。
更新方法如下,
1、将S7Onlinx.dll,Komfort.dll,W95_S7.dll拷贝到winnt\system32下,如果有同名字的文件,则替换原来文件
2、将S7osmcax.sys和S7otranx.sys拷贝到winnt\system32\drivers下
重新启动计算机,使替换的底层驱动运行。
详情请见西门子相关使用手册
三、网络组态及参数设置
下面以西门子315-2DP的PLC和组态软件通过MPI电缆通讯为例,介绍一下如何在西门子的编程软件中进行通讯参数的配置
1、在用户编写的STEP7PLC工程基础上,首先打开STEP7的硬件组态环境:
图1
2、双击图1中的2号槽的CPU,弹出如下对话框:
图2
3、点击图2中的Properties按钮,弹出如下对话框:
图3 4、在控制面板中Set PG/PC接口参数的设置
图4
5、点击上图的Properties 按钮,弹出通讯接口参数配置框:
图5
通过MPI电缆通讯,波特率一般为187.5K
注意:前后所设置的波特率要一致,否则可能通讯不上
四、组态软件设置
1、定义SunyTech8.0设备
PLC\西门子\S7-300系列\S7-300MPI(通讯卡)
2、设备地址及通讯参数定义
组态软件地址格式:*.*
其中小数点前为MPI地址(即站号),小数点后为MPI设备(即所使用的通讯模块或CPU模块)的槽号(slot number)范围为.0~126.126,建议使用常用的地址范围为2.2~126.30.一般PLC默认的地址(即站号)为2,槽号为2,SunyTech8.0设备地址定义为2.2.
根据实际情况,选择COM口,在组态软件中并不需要设置串口的任何通讯参数。
3、SunyTech8.0中IO变量定义
1)、组态软件中寄存器列表
2)、特殊寄存器说明
1.对于只写寄存器,请将采集频率设置为0。
2.若定义非法寄存器,将不被承认。
3.若定义的寄存器在所用的下位机具体型号中不存在,将读不上数据,也可能会导致通讯失败。
4.当SunyTech8.0需要读取模拟量模块中的输入输出寄存器值时,SunyTech8.0(本驱动)中没有直接用于读取模拟量的寄存器,您需要将模拟量对应通道值通过PLC编程传送到DB块中,SunyTech8.0直接从DB块中读取该值即可。
5.组态软件(本驱动)支持的寄存器名称为德文方式,与PLC中英文寄存器对应关系如下:
A———Q 数字量输出寄存器
M———M 位寄存器
DB———DB 数据块寄存器
E———A 数字量输入寄存器
T———T PLC中的定时器
Z———C PLC中的计数器
6.由于这个驱动是用老开发包做的,因此对于没有通道范围(0-0)的寄存器,在定义变量的时候请不要输入数字0,对于有通道范围的寄存器,如果想定义0通道,则应该输入数字0
7.驱动运行需要涉及的其他软件的支持:
(1)若用户使用Siemens CP5611卡或串口适配器,需要安装Step7、SunyTech8.0驱动后,SunyTech8.0才能和PLC通信上。
(2)寄存器使用举例
有关地址的几点说明:
1. 其寻址方法的约定与Step 7相同。
例如,对于M类型的数据区,若地址为2,则表示访问的是M区中从第2个字节开始的数据,访问的数据长度则与选择的数据格式有关。
对于T类型的数据区,若地址为2,则表示访问的是第2个定时器的时间值。
所有地址从0开始。
2.对于DB寄存器,用户不要定义DB0.X的形式,因为DB0已经被系统所定义,用户不能访问。
五、注意事项
1、进行组态软件数据组态时,设备通讯方式一定要选择同步,不需要设置任何通讯参数。
2、设备地址和通讯参数一定要和设备参数相匹配,否则第一步就出错。
3、组态软件变量和西门子里面的变量数据类型要一一对应,如果不对应,将会
有数据丢失的现象。
4、西门子网络配置具体步骤,可以查看西门子相关文档。
5、当有多台装有组态软件的上位机同时通过MPI方式和PLC进行通讯时(MPI 支持多主方式),各台PC机所设的MPI站地址要保持一致,否则无法通讯。
6.当用户通过在Step 7中编写程序,将模拟量传给DB块时,特别要注意DB块的大小,不要太大,因为DB块的大小是由不同类型的PLC所决定的,用户如果超过了,会出现PLC被强制到stop状态,如下图所示:
此时变量监视列表所监视的数据如下所示:
由此我们可以看出,当用户将一个变量强制传送到PLC中本身不存在的数据块中,强行下载时,将会导致PLC停机,此时,我们应该适当缩小DB块的大小,重新下载,如下图所示:
相应,变量监视列表中的数据如下图所示:
当你定义DB0.X之类的寄存器时,将会导致读取其它DB块数据的失败,如下图所示:
7.当用户所填写的寄存器地址较大时,例如当我新建一个A751的寄存器时,实时运行软件中原本是读写正确的数据,现在出现了混乱,导致所有的A寄存器数
据都不能读写,如下图所示:
此时当你读写数据时,会显示如下错误信息:
错误记录说明你所填写的寄存器地址无效,此时你应该尝试着将相应寄存器地址改小一些。