S7300400PLC的MPI通讯
SunyTech8和S7300/400 PLC 的MPI通讯 一、概述
MPI(多点接口)是一种适用于小范围、少数站点间通讯的网络。可通过
PROFIBUS电缆和接头,将PLC的MPI编程口相互连接以及上位机网卡的编程
口(MPI/DP),连接即可实现。如果有西门子MPI通信电缆,也可把PLC的
MPI编程口和计算机串口直接连接即可。组态软件可通过简单的配置实现和
西门子S7-300/400的MPI通讯。本驱动支持的通信MATCH_
word
word文档格式规范word作业纸小票打印word模板word简历模板免费word简历
_1713558080873_0为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)通过西门子通讯卡(如西门子公司提供的CP5611卡/CP5613)与S7300系列PLC的连接:
1
将卡安装在计算机的PCI插槽中,用电缆将卡与S7-300的口相连
2)通过PC-Adapter与S7-300系列PLC的连接:
将PC-Adapter的一端与计算机的串口相连,另一端与S7-300的口相连 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和组态软件通过电缆通讯为例,介绍一下如何在西门子的编程软件中进行通讯参数的配置
1、在用户编写的STEP7PLC工程基础上,首先打开STEP7的硬件组态环境:
2
图1 2、双击图1中的2号槽的CPU,弹出如下对话框:
图2 3、点击图2中的Properties按钮,弹出如下对话框:
3
图3 4、在控制面板中Set PG/PC接口参数的设置
图4
4
5、点击上图的Properties 按钮,弹出通讯接口参数配置框 :
图5
通过电缆通讯,波特率一般为187.5K 注意:前后所设置的波特率要一致,否则可能通讯不上 四、组态软件设置
1、定义SunyTech8.0设备
PLC\西门子\S7-300系列\S7-300MPI(通讯卡)
5
2、设备地址及通讯参数定义
组态软件地址格式:*.*
其中小数点前为地址(即站号),小数点后为设备(即所使用的通讯模块或CPU模块)的槽号(slot number)范围为.0~126.126,建议使用常用的地址范围为2.2~126.30.一般PLC默认的地址(即站号)为2,槽号为2,SunyTech8.0设备地址定义为2.2.
根据实际情况,选择COM口,在组态软件中并不需要设置串口的任何通讯参数。 3、SunyTech8.0中IO变量定义
1)、组态软件中寄存器列
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
2)、特殊寄存器说明
1.对于只写寄存器,请将采集频率设置为0。
2.若定义非法寄存器,将不被承认。
6
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)寄存器使用举例
7
有关地址的几点说明:
1. 其寻址方法的约定与Step 7相同。例如,对于M类型的数据区,若地址为2,则表示访问的是M区中从第2个字节开始的数据,访问的数据长度则与选择的数据格式有关。对于T类型的数据区,若地址为2,则表示访问的是第2个定时器的时间值。所有地址从0开始。
2.对于DB寄存器,用户不要定义DB0.X的形式,因为DB0已经被系统所定义,用户不能访问。
五、注意事项
1、进行组态软件数据组态时,设备通讯方式一定要选择同步,不需要设置任何通讯参数。
2、设备地址和通讯参数一定要和设备参数相匹配,否则第一步就出错。
8
3、组态软件变量和西门子里面的变量数据类型要一一对应,如果不对应,将会
有数据丢失的现象。
4、西门子网络配置具体步骤,可以查看西门子相关文档。
5、当有多台装有组态软件的上位机同时通过MPI方式和PLC进行通讯时(MPI支持多主方式),各台PC机所设的MPI站地址要保持一致,否则无法通讯。 6.当用户通过在Step 7中编写程序,将模拟量传给DB块时,特别要注意DB块的大小,不要太大,因为DB块的大小是由不同类型的PLC所决定的,用户如果超过了,会出现PLC被强制到stop状态,如下图所示:
9
此时变量监视列表所监视的数据如下所示:
由此我们可以看出,当用户将一个变量强制传送到PLC中本身不存在的数据块中,强行下载时,将会导致PLC停机,此时,我们应该适当缩小DB块的大小,重新下载,如下图所示:
相应,变量监视列表中的数据如下图所示:
10
当你定义DB0.X之类的寄存器时,将会导致读取其它DB块数据的失败,如下图所示:
7.当用户所填写的寄存器地址较大时,例如当我新建一个A751的寄存器时,实时运行软件中原本是读写正确的数据,现在出现了混乱,导致所有的A寄存器数
11
据都不能读写,如下图所示:
此时当你读写数据时,会显示如下错误信息:
12
错误记录说明你所填写的寄存器地址无效,此时你应该尝试着将相应寄存器地
址改小一些。
13