S7-300的MPI通讯

合集下载

对比两台S7300PLC之间的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 接口。

S7300PLC通过BCNet-S7MPI与SMART IE触摸屏通讯

S7300PLC通过BCNet-S7MPI与SMART IE触摸屏通讯

S7300PLC通过BCNet-S7MPI与SMART IE触摸屏通讯一. 方案描述
西门子S7 300PLC通过BCNet以太网模块和西门子SMART IE触摸屏建立以太网通讯。

二. 硬件配置
所需硬件设备:S7300PLC;以太网通讯模块BCNet-S7MPI;SMART IE触摸屏(以SMART 700 IE为例)。

如图:将BCNet-S7MPI以太网模块安装在S7300PLC的MPI通讯口或者DP通讯口上,BCNet-S7MPI的网口连接到SMARTIE触摸屏的网口上。

三.软件参数设置
1、新建项目
打开WinCC flexible软件,点击“项目”-“新建”,选择相应的触摸屏型号(SMART 700 IE),点击“确定”。

2、新建连接
双击“通讯”下的“连接”,在“通讯驱动程序”下选择“SIMATIC S7 200”通讯驱动程序;
在“参数”中:“接口”选择“以太网”;在“HMI设备”中:“地址”填入触摸屏的IP 地址(如:192.168.1.106);在“PLC设备”中:“地址”填入BCNet-S7MPI的IP地址(如:192.168.1.188),其它设置默认。

3、新建变量
双击“通讯”下的“变量”,新建与S7 300连接的变量(V区对应S7300的DB1,其他数据区不变)。

4、新建画面
5、触摸屏程序下载
“模式”,选择“以太网”;“计算机名或IP地址”填入触摸屏的IP地址(如:192.168.1.106),点击“传送”。

S7-200与S7-300之间的通讯(更新版)

S7-200与S7-300之间的通讯(更新版)

S7-200与S7-300之间的通讯Communication between S7-200 and S7-300摘要 文档介绍s7-200plc和s7-300plc通信,分别介绍的是mpi,profibus和以太网。

关键词 MPI ,PROFIBUS 以太网Key Words MPI,PROFIBUS, ethernetA&D Service & Support Page 2-20目录S7-200与S7-300之间的通讯 (1)1.S7-200和S7-300进行MPI通信 (4)2.S7-200和S7-300进行PROFIBUS通信 (8)3.S7-200和S7-300进行以太网通信 (13)A&D Service & Support Page 3-201.S7-200和S7-300进行MPI通信S7200与S7300之间采用MPI通讯方式时, S7200 PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7300中需要在OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68),实现S7300 与S7200之间的通讯,调用SFC67和SFC68时VAR_ADDR参数填写S7-200的数据地址区,由于S7-200的数据区为v区,这里需填写P#DB1.××× BYTE n 对应的就是S7200 V 存储区当中VB××到VB(××+n)的数据区。

首先根据S7300的硬件配置,在STEP7当中组态S7300站并且下载,注意S7200和S7300出厂默认的MPI地址都是2,所以必须先修改其中一个PLC的站地址,例子程序当中将S7300 MPI地址设定为2,S7200地址设定3,另外要分别将S7300和S7200的通讯速率设定一致,可设为9.6K,19.2K,187.5K三种波特率,例子程序当中选用了19.2K的速率。

Siemens S7-300 MPI协议使用说明书

Siemens S7-300 MPI协议使用说明书

Siemens S7-300 MPI 协议使用说明书一、参数设置串口参数设置:1.连接方式:RS485/RS232下图是RS485的接线方式:S7-300 PLC :9针公头LEVI 777A: 9针母头3(+)6(-)1(+)8(-)5(GND )5(GND )2.波特率为:187.5K3.停止位:14.数据位:85.校验位:EVENPLC 站号根据s7-300里设定的站号来设,默认为2其他参数保持默认即可。

二、地址设置S7-300的地址都是隔一设置,如IW :IW0, IW2, IW4, IW6, IW8…,而且是单字,其所对应的地址为:0.0~1.7,2.0~3.7,4.0~5.7,…以此类推,若是双字则要翻倍:IW0, IW4, IW8, IW12, IW16……(双字)。

如下表示IW98,所读取的单字地址范围:98.0~99.7;双字范围:98.0~101.7DBn标识表示信息:其中BBB为数据块号(0~255),DDDD为对应数据块中的地址(0~8192)。

如下所示:(100)为数据块号,(0095)为地址。

注:当数据块号位数不足3位时,系统会自动在高位补0,如下地址补零后表示:0120005,即为数据块012中的0005地址。

注意:当HMI与PLC连接时,PLC中的地址要与HMI中的地址相对应,即若HMI地址为上图中所示的DBn120005,即PLC中也要设置相同的地址。

DB##DBW 和DB##DBX标识位表示如下:DB##DBWxxxxxx的表示信息为:##表示为数据块(0~255),xx表示每个数据块的地址范围(0~8192);如下图所示01为数据块,4为地址。

注:单字设置地址为:00,02,04,06….双字时设置地址为:00,04,08,12…DB##DBXxxxxxx的表示信息为:##表示为数据块(0~255),xx表示每个数据块地址范围(0~8192).(0~7)注:此时表示的是位地址,因此地址是连续性的。

S7300PLC和S7200PLC的MPI通讯实例

S7300PLC和S7200PLC的MPI通讯实例

MPI的通信速率为19.2K~12Mbit/s,但直接连接S7-200CPU通信口的MPI 网最高速率通常为187.5Kbit/s(受S7-200CPU最高通信速率的限制),在MPI 网络上最多可以有32个站,一个网段的最长通信距离为50米(通信波特率为187.5Kbit/s时),更长的通信距离可以通过RS-485中继器扩展。

MPI允许主-主通信和主-从通信,每个S7-200CPU通信口的连接数为4个,S7-200CPU只能做MPI从站,即S7-200CPU之间不能通过MPI网络互相通。

本例以一台CPU313C-2DP和CPU224通过MPI通讯举例说明具体操作步骤:本例的控制要求:
1:MPI主站为CPU313C-2DP,主站号位2。

2:MPI从站为CPU224,从站号位3。

3:MPI主站的M10.0控制MPI3号从站的Q1.0
4:MPI3号从站的Q1.0控制MPI主站的Q0.0
做控制要求如下图:
操作步骤如下:
1:新建S7300程序,在硬件配置中的CPU属性中设置CPU313C-2DP 的MPI地址为2。

2:MPI通讯速率为187.5K,并将硬件配置下载到CPU313C-2DP中。

编写如下程序并下载到CPU313C-2DP中:
2:新建S7200程序在系统块中设置CPU224的波特率和MPI地址为3,并将程序下载到CPU224中。

3:主站和从站的MPI端口用通讯线连接起来。

4:测试通讯观察效果。

注:在本实验中主站程序使用的功能块解释如下图:。

S7-300之间的MPI全局数据通信

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之间地通讯

S7-200与S7-300之间地通讯

S7-200与S7-300之间的通讯显示订货号1.S7-200和S7-300进行MPI通信S7-200 PLC与S7-300 PLC之间采用MPI通讯方式时,S7-200 PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7-300 PLC中需要在组织块OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68),以实现S7-200 PLC 与S7-300 PLC之间的通讯。

调用SFC67和SFC68时VAR_ADDR参数填写S7-200的数据地址区,由于S7-200的数据区为v区,这里需填写 P#DB1.DBX×× BYTE n 对应的就是S7200 V存储区当中VB××到VB(××+n)的数据区。

例如交换的数据存在S7-200中VB50到VB59这10个字节当中,VAR_ADDR参数应为P#DB1.DBX50.0 BYTE 10.首先根据S7-300的硬件配置,在STEP7当中组态S7-300站并且下载,注意S7-200和S7-300出厂默认的MPI地址都是2,所以必须修改其中一个PLC的站地址,例子程序当中将S7-300 MPI地址设定为2,S7-200地址设定3,另外要分别将S7-300和S7-200的通讯速率设定一致,可设为9.6K,19.2K,187.5K三种波特率,例子程序当中选用了19.2K的速率。

S7-200 PLC修改MPI地址可以参考下图:图1 S7-200 设置MPI地址S7-300 PLC修改MPI地址可以参考下图:图2 S7-300 设置MPI地址例子程序在OB1当中调用数据读写功能块:SFC67和SFC68,如下图:图3 程序编写分别在STEP7 MicroWin32 和STEP7当中监视S7-200和S7-300 PLC当中的数据,数据监视界面如下:图4 S7-200监控结果图5 S7-300监控结果通过CP5611,STEP7 MicroWin32, Set PG/PC Interface可以读取S7200和S7300的站地址,如下图:图6 CP5611诊断结果(站地址0为进行编程的计算机)图7 使用STEP7 MicroWin32诊断结果2.S7-200和S7-300进行PROFIBUS通信S7-300与S7-200通过EM277进行 PROFIBUS DP通讯,需要在STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在V 存储区,并且S7-300组态EM277从站时设置正确的地址即可。

S7-200与S7-300之间地通讯

S7-200与S7-300之间地通讯

S7-200与S7-300之间的通讯显示订货号1.S7-200和S7-300进行MPI通信S7-200 PLC与S7-300 PLC之间采用MPI通讯方式时,S7-200 PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7-300 PLC中需要在组织块OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68),以实现S7-200 PLC 与S7-300 PLC之间的通讯。

调用SFC67和SFC68时VAR_ADDR参数填写S7-200的数据地址区,由于S7-200的数据区为v区,这里需填写 P#DB1.DBX×× BYTE n 对应的就是S7200 V存储区当中VB××到VB(××+n)的数据区。

例如交换的数据存在S7-200中VB50到VB59这10个字节当中,VAR_ADDR参数应为P#DB1.DBX50.0 BYTE 10.首先根据S7-300的硬件配置,在STEP7当中组态S7-300站并且下载,注意S7-200和S7-300出厂默认的MPI地址都是2,所以必须修改其中一个PLC的站地址,例子程序当中将S7-300 MPI地址设定为2,S7-200地址设定3,另外要分别将S7-300和S7-200的通讯速率设定一致,可设为9.6K,19.2K,187.5K三种波特率,例子程序当中选用了19.2K的速率。

S7-200 PLC修改MPI地址可以参考下图:图1 S7-200 设置MPI地址S7-300 PLC修改MPI地址可以参考下图:图2 S7-300 设置MPI地址例子程序在OB1当中调用数据读写功能块:SFC67和SFC68,如下图:图3 程序编写分别在STEP7 MicroWin32 和STEP7当中监视S7-200和S7-300 PLC当中的数据,数据监视界面如下:图4 S7-200监控结果图5 S7-300监控结果通过CP5611,STEP7 MicroWin32, Set PG/PC Interface可以读取S7200和S7300的站地址,如下图:图6 CP5611诊断结果(站地址0为进行编程的计算机)图7 使用STEP7 MicroWin32诊断结果2.S7-200和S7-300进行PROFIBUS通信S7-300与S7-200通过EM277进行 PROFIBUS DP通讯,需要在STEP7中进行S7-300站组态,在S7-200系统中不需要对通讯进行组态和编程,只需要将要进行通讯的数据整理存放在V 存储区,并且S7-300组态EM277从站时设置正确的地址即可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

S7-300的MPI通讯
MPI通信最多15个CPU,包括MPI全局通讯,单边通讯和双边通讯MPI的全局通讯(300PLC和
300PLC):MPI的全局通讯一个包最多22个字节,最多4个数据包(一个发送,一个接收算一个数据包)
硬件的配置(我们在一个项目里面 ...
MPI通信最多15个CPU,包括MPI全局通讯,单边通讯和双边通讯
MPI的全局通讯(300plc和300PLC):
MPI的全局通讯一个包最多22个字节,最多4个数据包(一个发送,一个接收算一个数据包)硬件的配置(我们在一个项目里面组态三个CPU)
注意在组态的时候建立的是MPI通讯,不是DP通讯
PLC1里进行硬件组态:
在PLC2里进行硬件组态:
在PLC3里进行硬件组态:
(和PLC2的CPU属性设置相同,地址更改为3)
我们在PLC里面不用编辑通讯的程序,只需在PLC1里给MB0开始的22个字节赋值,在PLC2里给节解压使用即可。

程序的下载步骤:
一,先下载PLC1,使用编程电缆连接PLC1上的MPI接口
二,下载完PLC1的项目程序后,我们开始下载PLC1的全局通讯的通讯信息
三,下载PLC2,使用编程电缆连接PLC2上的MPI接口
四,下载完PLC2的项目程序后,我们开始下载PLC2的全局通讯的通讯信息
下载完成,连接上MPI通信电缆,测试通讯情况
MPI单边通讯(300的PLC和300的PLC):
单边通讯主要用在PLC与PLC之间的通讯,一个发送和接受最多76个字节
特别提示:因为通讯程序没有必要每个扫描周期都运行,所以我们可以把通讯程序放到OB35(循下面我们开始单边通讯300对300的编程:
我们使用系统功能SFC68发送,SFC67接受
下面我们在PLC1里面进行编程:
SFC68发送数据
REQ:等于“1”的时候发送数据
C0NT:保持通讯,(是否使用这个SFC68进行发送),常为“1”
DEST_TD:通讯对方的地址
VAR_ADDR:对方接收数据的的缓存区(把要发送的数据放到对方的什么地方)
SD:本地需要发送的数据
REST_VAL:错误代码
BUSY:完成位
上图中SFC68的意思为,当M1.0为“1”,且M1.1为“1”,时向MPI地址是3的PLC中发送M0.存到对方DB1.DB1000.0开始的20个字节中去。

SFC67接收数据
同样在标准库中找到SFC67:
SFC67接收信息
REQ:等于“1”的时候发送数据
C0NT:保持通讯,(是否使用这个SFC68进行发送),常为“1”
DEST_TD:通讯对方的地址
VAR_ADDR:对方存储数据的缓存区(我们要从地方的什么地方取数据)
REST_VAL:错误代码
BUSY:完成位
RD:本地存储信息的的地址(把对方的数据拿过来以后放到自己这边的什么地方)
上图中SFC67的意思是:当M1.4为“1”,且M1.5为“1”,时把MPI地址是3的PLC中DB1.DB 个字节存到自己PLC里从M100.0开始的76个字节中。

分别把PLC的程序下载到相应的CPU内,连接MPI通讯电缆测试
MPI单边通讯(300的PLC和200的PLC):
S7-300为主站,S7-200为从站
(MPI通讯也可以通过EM277进行,EM277拨码开关地址要和300编程时填写的对方通讯地址相同和200的单边通讯方式和300对300的通讯相同,都需要使用SFC67和SFC68,进行数据的接收和
上图中的信息意思是:当M200.0为“1”,且M200.1为“1”的时候把300PLC的以M0.0为开始的200PLC以V0.0为开始的76个字节中去。

上图中的意思是:当M200.4为“1”,且M200.5为1的时候读取200PLC里以V1.0为开始的76个的以M100.0为开始的76个字节里面。

特别提示:MPI的默认通讯速率是187.5kbit/s,需要将200对应接口的通讯速率也改成187.5kbi S7-300和200的通讯不只是只能传递V区的数据
如下图程序:
当M1.1为“1”的时候,CPU调用SFC68(X_PUT)把S7-300中的数据MB6写入S7-200(站地址为4)的QB0中
当M1.5为1的时候,S7-300会将S7-200的IB0的数值读取到S7-300的MB7中MPI双边通讯(300PLC和300PLC)
MPI的双边通讯需要使用系统功能SFC65发送和SFC66接收、
SFC65发送数据:
SFC65,发送数据
REQ:等于“1”的时候发送数据
C0NT:保持通讯,(是否使用这个SFC65进行发送),常为“1”
DEST_TD:通讯对方的地址
REQ_ID:数据编号,(常填写本地MPI地址)
SD:要发送的数据块
REST_VAL:错误代码
BUSY:完成位
上图中的信息意思是:当M5.0和M5.1接通的时候把DB1.DBX3000.0为起始的76个字节的数据的MPI地址是3的PLC中。

在另外一台PLC(MPI地址中SFC65中的对方地址相同)内编写SFC66接收数据:
EN_DT:等于“1”的时候发送数据
RET_VAL:错误代码
REQ_ID:接收数据编号
NDA:检测数据
RD:接收数据存放的地点
上图中的信息意思是:当M6.0为“1”的时候,接收对方发来的信息,存放到DB1.DB3100.0开始。

相关文档
最新文档