S7-300之间的MPI通讯
对比两台S7300PLC之间的MPI通讯

文 / 邱利军 陈春先 赵 洋对比两台S7300PLC 之间的MPI 通讯摘 要:本文提出了MPI网络通讯在教学中重要性和MPI网络通讯的分类,就日常教学中如何解决两台S7-300PLC之间通过MPI网络使用全局数据包设置的通讯教学问题进行了分析,从硬件、软件等方面论述了MPI使用全局数据包网络通讯的基础,并归纳、解决了教学中MPI使用全局数据包网络通讯教学的方法。
关键词:PLC GD MPI技术与应用APPLICATION编辑 孙祺童当今工业控制现场通常需要多个PLC 之间建立主从通讯,即一个PLC 做主站,其余PLC 做从站。
在实际工作现场,各集成商选用的PLC 品牌、型号不同,所以各自的通讯方式也是有很大区别的。
S7-300 PLC 之间可以建立MPI (MultiPoint Interface)通讯、Profibus-DP 通讯或工业以太网(Ethernet)通信等。
美国A-B PLC 之间可以建立工业以太网(Ethernet)、ControlNet 或DeviceNet 通讯。
三菱PLC 之间可以建立以N ∶N 通讯或Cclink 通讯。
西门子S7-300无论是在学校还是企业都占有很高的市场份额, MPI 通讯在技术层面上更加丰满,使用方面更加简单方便。
教师不能闭门造车,特别是职业教育教学内容要深入社会、了解社会,与企业的需求为教学目标,真正做到与时俱进。
因此,日常教学中PLC 之间通讯成为重要教学内容之一。
本文就 S7-300PLC 之间的MPI 通讯教学的实现加以论述。
一、MPI 通信介绍MPI 通信是用于S7-200/300/400等PLC 之间的通讯,MPI 通信速率范围很宽,通常默认设置为187.5kbit/s,通信数据量不大时的一种简单经济的通信方式。
通讯时要配置相关的通信卡才能进行数据交换。
MPI 网络的通信速率要达到12Mbit/s 的条件是通讯网络接口要设置PROFIBUS 接口。
winccS7-300MPI通讯问题

wincc S7-300 MPI通讯问题S7-300编程软件与PLC可以通讯,但Wincc上无法显示300PLC上数据。
查电脑资源管理器发现5611与显卡驱动、USB通用控制器有冲突。
如何解决。
答:解决这个问题需要相关的操作系统的知识与需要一定的计算机硬件知识。
解决设备资源冲突:如果某个设备前面显示了一个带有黄色圆圈的惊叹号,则表明此设备有资源冲突。
我们可以用手工的方式来重新分配该设备的资源,以解决资源冲突。
1.下面我们先对计算机资源的分配情况作一简略的介绍每次启动计算机时,WindowsXP都会自动配制每个设备的资源,即将唯一的一组系统资源分配给它。
这组资源可能是下面的一个或多个资源:中断请求(1RQ)编号;直接内存访问(DMA)通道;输入输出(I/0)端口地址;内存地址范围。
分配给设备的每个资源都必须是惟一的,否则设备将无法正常工作。
对于即插即用型设备,WindowsXP可以自动保证该设备的正确配置。
而对于某些非即插即用型设备可能需要某些特定的资源,这些资源有可能与WindowsXP自动分配的资源冲突。
此时,用户就需要手工配置该设备的系统资源,以保证它正常运行。
2.若要手工配置设备的系统资源,应遵循下列操作步骤:单击”设备管理器”中需要手工配置系统资源的设备所属硬件类型左边的”+”以展开它。
用鼠标右键单击带有黄色圆圈的惊叹号的设备,从弹出的快捷菜单中选择”属性”命令。
在弹出的快捷菜单中切换到”资源”选项卡,检查”冲突设备列表”。
如果列表中显示有设备冲突,查看是”输入/输出范围”冲突还是”中断请求”冲突或两者都是单击使用自动设置复选框,使√变成口,单击”√”按钮,打开”设置基于”下拉列表,选择另外一个配置。
不断寻找配置,直到”冲突设备列表”显示”没有冲突”为止。
若所有配置均有冲突,可单击”更改设置”按钮来进一步配置(这种可能性很小)。
单击”确定”按钮,再单击弹出的”系统设置改变”对话框中的”是”按钮,将重启计算机以使配置生效。
S7-300之间的MPI全局数据通信

另一个CPU接收。全局数据环有以下2种:
①环内包含2个以上的CPU,其中一个发送数据包,其它的
CPU接收数据;
②环内只有2个CPU,每个CPU可既发送数据又接受数据。
S7-300的每个CPU可以参与最多4个不同的数据环,在一个
MPI网上最多可以有15个CPU通过全局通讯来交换数据。
其实,MPI网络进行GD通信的内在方式有两种:一种是一对
整理ppt
9
四、全局数据包通信方式
全局数据(GD)通信方式以MPI分支网为基础而设计的。 在S7中,利用全局数据可以建立分布式PLC间的通讯联系, 不需要在用户程序中编写任何语句。S7程序中的FB、FC、 OB都能用绝对地址或符号地址来访问全局数据。最多可以在 一个项目中的15个CPU之间建立全局数据通讯。
整理ppt
11
四、全局数据包通信方式
在PLC操作系统的作用下,发送CPU在它的一个扫描循环
结束时发送全局数据,接收CPU在它的一个扫描循环开始时
接收GD。这样,发送全局数据包中的数据,对于接收方来说
是“透明的”。也就是说,发送全局数据包中的信号状态会
自动影响接收数据包;接收方对接收数据包的访问,相当于
一方式,当GD环中仅有两个CPU时,可以采用类全双工点对点
方式,不能有其它CPU参与,只有两者独享;另一种为一对多
(最多4个)广播方式,一个点播,其它接收。
整理ppt
14
五、MPI通信实例
例:要求通过MPI网络配置,实现2个CPU 314之间的全 局数据通信。第一台PLC的IB0控制第二台PLC的QB0,第 二台PLC的IB0控制第一台PLC的QB0。
用数据包号码(GD Packet Number)来标识,其中的变量
S7-200与S7-300之间的三种通讯方式(MPI、DP、以太网)

2.S7-200和S7-300进行PROFIBUS通信
图10 STEP7 Micro/WIN通信数据监控
2.S7-200和S7-300进行PROFIBUS通信
注意:VB0-VB7是S7-300写到 S7-200的数据,VB8-VB15是S7 -300从S7-200读取的值。EM277 上拨位开 关的位置一定要和S7- 300中组态的地址值一致。如果使 用的S7-200通信区域不从VB0开始, 则需要设置地址偏移,在S7-300硬 件组态中双击 EM277,修改数值0 为实际使用的数值即可,如图所示:
1.S7-200和S7-300进行MPI通信
图1 S7-200 设置MPI地址
1.S7-200和S7-300进行MPI通信
S7-300 PLC修改MPI地址可以参考下图
图2 S7-300 设置MPI地址
1.S7-200和S7-300进行MPI通信
例子程序在OB1当中调用数据读写功能块:SFC67和SFC68,如下图:
图5 S7-300监控结果
2.S7-200和S7-300进行PROFIBUS通信
S7-300与S7-200通过EM277进行 PROFIBUS DP通讯,需要在 STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进 行组态和编程,只需要将要进行通讯的数据整理存放在V 存储 区,并且S7-300组态EM277从站时设置正确的地址即可。
根据EM277上的拨位开关设定以上EM277从站的站地址。
图8 组态DP通信地址
2.S7-200和S7-300进行PROFIBUS通信
组态完系统的硬件配置后,将编译下 载到S7-300的PLC当中。S7-300的硬件 下载完成后,将EM277的拨位开关拨 到与以上硬件组 态的设定值一致,在 S7-200中编写程序将进行交换的数据 存放在VB0-VB15,对应S7-300的 PQB0-PQB7和PIB0-PIB7,打开 STEP7中的变量表和STEP7 MicroWin32的状态表进行监控,它们 的数据交换结果如图:
S7-300_PLC通讯-MPI多点接口

中继器间带有站点
西门子自动化与驱动集团技术支持部CS2/崔坚 2005 通信
MPI接口
SIMATIC S7-300
数据传输率:187.5 K至12 Mbit/s
MPI网段最多32个站点
每个CPU最多可有32 个连接。
MPI提供的通讯服务:
n PG 通讯 n OP通讯 n S7基本通讯 n S7通讯 n 全局数据通讯
MPI物理接口是与Profibus RS485(EN 50170)接口标准相一 致。
FDL即Fieldbus data link protocol。是各个协议操作执 行的基础访问总线的方式是令牌.
S7-Protocol是唯一独立于物理接口的操作协议,在 SIMATIC环境中使用是相当重要的。它可以使用在MPI、 Profibus和Ethernet上。用于数据传输到器件以及FM和CP等。
通过调用SFC实现。 通讯方式是依靠无组态的方式连接,连接是动态连接。 需要分配资源数,并占用CPU的通讯资源。
西门子自动化与驱动集团技术支持部CS2/崔坚 2005 通信
MPI S7 BASIC通信 (双方编程)
Automation and Drives
4)CP5412
5) CP5511
6) CP5512
7) CP5611
8) CP5613
注: CP5X1Y X=4 ISA X=5 PCMCIA X=6 PCI
Automation and Drives
西门子自动化与驱动集团技术支持部CS2/崔坚 2005 通信
SIMATIC S7-300
MPI接口
MPI局数据包通信
SIMATIC S7-300
GD 1.1.1
Automation and Drives
两台西门子S7-300系列PLC如何进行MPI通讯?

全局数据通信是PLC之间进行的不需要编程通过MPI接口在CPU间循环地交换少量数据,当过程映像被刷新时,在循环扫描检测点上进行数据交换;而无组态的连接的MPI通信(编程通信)通过调用SFC67和SFC68来实现,MPI无组态连接就是MPI通信时,不需要组态,只要编写通信程序即可实现通信,PLC 之间可以采用双边编程通信和单边编程通信方式,你这里应该是采用单边编程通信方式,因为CPU313C需要从老系统上用MpI通讯读取一个模拟量和16个数字量的数据,只要在CPU313C上进行编程就可以实现数据交换,编程通信要比全局数据传输的数据量要大,速度更快;你首先必须把两个PLC之间的MPI端口连接起来,设定主站CPU313C的MPI 通信参数(波特率187.5kbit/s)和主站的MP地址如“3”,不能与老的PLC 的MPI地址重复,把两个站的波特率设定一样,各自下载到PLC中;因为你只想老系统上用MpI通讯读取一个模拟量和16个数字量的数据,在CPU313C中单边编程,在读取数据区只要指定对方的PLC的MPI地址和数据区就可以了。
X_PUT(SFC68)为发送数据的指令,通过此指令将数据写入不在同一个本地S7站中的通信伙伴,其中DEST_ID为对方的MPI地址(这里指你的老系统PLC 的MPI地址)和VAR_ADDR为对方的数据区,SD为本地数据区,必须保证SD参数定义的数据长度和数据类型与通信伙伴上VAR_ADDR一致;X_GET(SFC67)为接收数据的指令,可以从本地站S7站以外的通信伙伴(这里指老系统上PLC站)中读取数据,其中参数DEST_ID和VAR_ADDR分别指对方的 MPI地址和对方的数据区,RD为本机的数据区必须保证RD参数定义的接收区(CPU313C)至少和由VAR_ADDR参数定义的要读取的区域一样大,而且类型必须相匹配。
如果不想要全局数据通信,只要在硬件组态界面中选择菜单Options(选项)/Define Global Data“(定义全局数据)界面中,打开全局变量发送和接收组态,断口连接,执行保存编译,下载到PLC就可以了。
S7-300与S7-300之间的双边MPI通信

OB35块中调用发送块,发送任务间隔为100ms,两边都需要组态,分别下载到各自的 CPU中去。
指令说明
REQ:发送请求,该参数为1时发送 CONT:为1时表示发送数据是连续的一个整体 DEST_ID接收方的MPI地址 REQ_ID:任务标志符 SD:本地PLC的数据发送区 RET_VAL:故障信号 BUSY:通信进程:“1”表示正在发送,“0”表示发送完成
指令说明
EN_DT:接收使能 RET_VAL:错误代码:W#16#7000表示无错 REQ_ID:接收数据包的标志符 NDA:通信进程:“1”表示有新的数据包,“0”表示没有新的数 据包 RD:本地PLC的数据接收区。
控制要求
1)当2号站的I0.0为ON时,3号站的电机延时3s后接通,5s以后断开,往复循环; 当2号站的I0.1为ON时,3号站的电机关掉。 2)当3号站的I0.0为ON时,2号站的电机延时3s后接通,5s以后断开,往复循环; 当3号站的I0.1为ON时,2号站的电机关掉。
ห้องสมุดไป่ตู้
实训二 两台S7-300PLC之间的MPI通讯

实训二两台S7-300PLC之间的MPI通讯一、实训目的:1.掌握MPI网络通讯的基本原理。
2.学会MPI网络通讯的组态。
3.掌握MPI网络通信软件编写。
二、实训内容:要求通过MPI网络配置,实现2个CPU314-2DP之间的全局数据通信。
三、实训设备:2个带有CPU314-2DP PLC的THPFSF-3型实训装置、DP总线、安装有STEP7V5.5编程软件计算机四、实训步骤:(一)网络组态1.生成MPI硬件工作站打开STEP7,首先执行菜单命令“文件”→“新建...”创建一个S7项目,并命名为“MPI全局数据”。
选中“MPI全局数据”项目名,然后执行菜单命令“插入”→“站点”→“SIMATIC300站点”,在此项目下插入两个S7-300的PLC工作站,分别重命名为“MPI_Station_1”和“MPI_Station_2”,如图1所示。
图1生成的两台MPI硬件工作站2.分别完成两个PLC工作站的硬件组态根据PLC工作站硬件实际完成组态,这里两台PLC用的是S7300CPU314C-2DP,订货号为:6ES7 314-6CH04-0AB0。
下面以第一台为例简单介绍一下。
(1)选中SIMATIC管理器左边的站对象“MPI_Station_1”,双击右边窗口的“硬件”图标(如图2所示),打开硬件组态工具HW Config。
图2启用硬件组态工具(2)放置机架。
用鼠标打开硬件目录中的文件夹“\SIMATIC300\RACK-300”,选中机架Rail,可用“拖放”的方法或用鼠标双击之放置机架。
(3)放置CPU。
用鼠标单击选中机架2号槽,之后打开硬件目录中的文件夹“\SIMATIC 300\CPU-300\CPU314C-2DP\6ES7314-6CH04-0AB0”,选中“V3.3”固件,可用“拖放”的方法或用鼠标双击之放置,在出现如图3所示的“PROFIBUS接口DP”对话框中点击“取消”按钮。
图3“PROFIBUS接口DP”对话框(3)修改I/O起始地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在通讯程序中最好都插入OB组织块,下面最好都插入。
组态2个站。
其实不分主从站的,只是便于区分而已。
网络配置只下载到主站,从站只编程自己的传送程序就是了。
在主站组态MPI网络:
同样组态从站MPI网络:
组态王完以后,
上图已配好2个站,新配的画点箭头位置双击弹出选择CPU,
同样方法配从站
2个站配好后如下图:
输入交换的区域:
字节,字,双字都可以
在主站先选中MB100,在点选作发送器按钮即可,从站:同样方法。
最好编译保存
如果要插入多个字节:
直接加:5,主站表示发送MB10开始的5个字节。
从站表示发送MB20开始的5个字节。
组态完后如下图
组态王编译:
组态完正确时,上图箭头为白色,如为黄色则不正常。