电气逻辑PLC之间的MPI通信详解

合集下载

s7-300和s7-300plc的MPI通讯

s7-300和s7-300plc的MPI通讯

1、用通讯电缆将两台plc连接起来,用MPI口进行连接
2、对两台plc进行硬件组态,并修改其中一台plc的地址,同时
新建一条MPI网络,选择默认的波特率,一般为187.5KP,并点击确定。

将本台plc的地址设置为2,保存并且编译,同时组态另外一台plc的硬件,点击第二条CPU栏,将该CPU挂在刚刚建立起来的MPI网络上,同时更改该plc的站地址为3或者其他的(只要与刚刚的那台plc不一样就OK)保存并且编译、下载。

3、点击组态网络图标
4、这时出现如下图所示的画面,
可以清楚的看到两台s7-300的plc已经被挂在了我们刚刚建立起来的MPI网络上,这时用鼠标右击那条MPI线,再出现的菜单上选择“定义全局参数”,将会出现如下图所示的画面
此时,鼠标双击第一块空白的灰色图标,出现如下图所示画面
双击主站的CPU图标,会出现如下画面
此时,用同样的方法将从站的CPU添加在第三块灰色的地方,此时将鼠标放在主站下面的第一个单元格的位置如下图所示
点击“选作发送器”图标将出现如下图画面
所在单元格将会变绿,然后在里边键入数据例如下图:
就是讲主站的MB0传送给从站的MB0,将从站的MB1传送给主站的MB1。

最后点击编译按钮。

完成MPI网络的组态
5、编写程序。

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)来标识,其中的变量

MPI是多点通信方式

MPI是多点通信方式

MPI是多点通信方式,RS485接口方式,但通讯协议是封闭的,紧紧限于S7系列PLC及设备间的通信。

类似于以前常说的DCS系统。

PROFIBUS-DP,RS485接口方式,但通讯协议时开放的,可以和西门子以外的产品通信联络,是开放的现场总线形式。

PROFIBUS-DP用于现场层的高速数据传送。

主站周期地读取从站的输入信息并周期地向从站发送输出信息。

总线循环时间必须要比主站(PLC)程序循环时间短。

除周期性用户数据传输外,PROFIBUS-DP还提供智能化现场设备所需的非周期性通信以进行组态、诊断和报警处理。

一、PROFIBUS-DP的基本功能①传输技术:RS-485双绞线、双线电缆或光缆。

波特率从9.6Kbit/s到12Mbit/s。

②总线存取:各主站间令牌传递,主站与从站间为主—从传送。

支持单主或多主系统。

总线上最多站点(主—从设备)数为126。

③通信:点对点(用户数据传送)或广播(控制指令)。

循环主—从用户数据传送和非循环主—主数据传送。

④运行模式:运行、清除、停止。

⑤同步:控制指令允许输入和输出同步。

同步模式:输出同步;锁定模式:输入同步。

⑥功能:DP主站和DP从站间的循环用户数据传送。

各DP从站的动态激活和可激活。

DP从站组态的检查。

强大的诊断功能,三级诊断信息。

输入或输出的同步。

通过总线给DP 从站赋予地址。

通过总线对DP主站(DPM1)进行配置。

每DP从站的输入和输出数据最大为246字节。

⑦可靠性和保护机制:所有信息的传输按海明距离HD=4进行。

DP从站带看门狗定时器(Watchdog Timer)。

对DP从站的输入/输出进行存取保护。

DP主站上带可变定时器的用户数据传送监视。

⑧设备类型:第二类DP主站(DPM2)是可进行编程、组态、诊断的设备。

第一类DP 主站(DPM1)是中央可编程序控制器,如PLC、PC等。

DP从站是带二进制值或模拟量输入输出的驱动器、阀门等。

二、PROFIBUS-DP基本特征①速率:在一个有着32个站点的分布系统中,PROFIBUS-DP对所有站点传送512 bit/s 输入和512 bit/s输出,在12M bit/s时只需1毫秒。

PLC之间的MPI通信调用系统功能的通信方式1

PLC之间的MPI通信调用系统功能的通信方式1

PLC— PLC 之间的MPI 通信----调用系统功能的通信方式communication between PLCs through MPI network --------call SFC关键词 PLC、MPI、调用系统函数块Key Words PLC、MPI、Call SFCA&D Service & Support Page 2-11目录1 调用系统功能通信简介 (4)2 双向通信 (4)3 单向通信 (7)A&D Service & Support Page 3-111 调用系统功能通信简介调用系统功能(SFC65~69)来实现MPI的通信,这种通信方式适合于S7-300/400/200之间通信,一些非常老的S7-300/400 CPU不含有SFC65~69,所以不能用这种方式通信,只能用全局数据包的方式来通信,判断一个CPU是否含有通信的SFC,可以在联机的情况下,在线查看所用的程序块,看一看是否包含SFC65~69。

通过调用SFC来实现通信又可分为两种方式:双向通信和单项通信。

以例子的方式介绍通信过程,例子中使用的硬件为CPU315-2DP,CPU416-2DP。

软件为:STEP7 V5.2 SP1。

2 双向通信在通信的双方都需要调用通信块,一方调用发送块,另一方就要调用接收块来接收数据。

这种通信方式适用S7-300/400之间通信,发送块是SFC65(X_SEND),接收块是SFC66(X_RCV)。

下面以举例的形式说明通信实现的过程:在STEP7中创建两个站STATION1 CPU 416 MPI站为2,STATION2 CPU315-2DP MPI站号为4,2号站发送2包数据给4号站,4号站判断后放在相应的数据区中。

在2号站OB35中调用SFC65,如果扫描时间太短,发送频率太块,对方没有响应,将加重CPU的负荷,在OB35中调用发送块,发送任务将间隔100MS执行一次,编写发送程序如下A&D Service & Support Page 4-11参数中REQ 为发送请求为1时发送。

PLC之间的MPI通讯-调用系统功能块的通讯方式

PLC之间的MPI通讯-调用系统功能块的通讯方式

PLC—PLC之间的MPI通讯----调用系统功能块的通讯方式对于MPI网络,调用系统功能块进行PLC站之间的通讯只适合于S7-300/400,S7-400/400之间的通讯,S7-300/400通讯时,由于S7-300CPU中不能调用SFB12(BSEND),SFB13 (BRCV),SFB14(GET),SFB15(PUT),不能主动发送和接收数据,只能进行单向通讯,所以S7-300PLC只能作为一个数据的服务器,S7-400PLC可以作为客户机对S7-300PLC的数据进行读写操作。

S7-400/400通讯时,S7-400PLC可以调用SFB14,SFB15,既可以作为数据的服务器同时也可以作为客户机进行单向通讯,还可以调用SFB12,SFB13,发送和接收数据进行双向通讯,在MPI网络上调用系统功能块通讯,最大一包数据不能超过160个字节,SFB12,SFB13的调用例子将在PROFIBUS和以太网中介绍,在这里将介绍S7-300/400之间的单向通讯,先建立两个S7的PLC站,STATION1 其CPU 为S7- 416 ,站地址为2,STATION2, CPU 为S7-315-2DP,站地址为4,假设S7-400PLC把本地数据DB1中字节0以后的20个字节写到S7-300PLC DB1中字节0以后的20个字节中去,然后再读出S7-300PLC DB1中字节0以后的20个字节中的数据并将其放到S7-400PLC本地数据块 DB2中字节0以后的20个字节中去。

1.首先在硬件组态中建立通讯连接表在STEP7中点击“Options”“Configure Network”进入网络组态画面,如下图:点击STATION1的CPU,出现连接表,双击连接表选择连接类型“S7 connection”,并选择所需要连接的CPU名,在本例中选择CPU315,如下图所示:点击“Apply”后连接表建立完成,并可以查看连接表的详细属性,如下图:组态完成以后编译存盘下载连接表信息。

编号25--S7plc之间通过MPI通讯QLF

编号25--S7plc之间通过MPI通讯QLF

不同项目下PLC之间通过MPI通讯本文介绍的是三个CPU之间进行通讯,其中1#,2#CPU在一个机架上,3#CPU 单独在一个机架上。

CPU通过DP线连接到各自的MPI/DP口两台PLC和电脑共同连接到交换机(用MAC地址或电脑直连PLC)此说明对应的是两个PLC在不同的项目下首先对两个PLC上的3个CPU进行硬件配置,可将三个CPU改名为CPU1、2、3以方便区别,配置时要注意三个CPU的MPI口状态必须为YES(※),且MPI 地址分别为2.3.4,硬件配置完毕后进行配置网络先配置CPU1和CPU2之间CPU1为主,CPU2为从:单击CPU1后,右键Insert或双击下部Local ID,可以找到CPU2,Type默认选择S7 connection(以太网连接选ISO-on-TCP)点击ok后出现对话框:1:为主的话勾上。

2:选择CPU1-MPI。

3:partner 会自动变成CPU2-MPI。

且下部可以看到此CPU的MPI地址为3。

4:点击点击4后出现对话框:因为在同一机架上且已进行硬件配置,自动默认了机架上CPU的槽位,两个10也已经默认,10及以上代表可以进行双边通讯1:点击CPU1后会出现下部内容。

2:CPU1和2的ID号(若想更改CPU2的ID号可以双击Partner下部的1进行更改,但是为了方便编程,还是将两个CPU 的ID号全设为1)(此号要记住,用来做后续编程)。

3:代表partner为CPU2。

4:YES代表CPU为主CPU1和2在同一机架下,所以配置1对2不需要再配置2对1了。

但是因为3不在同一机架,所以稍后配置13和23的时候需要两边都配置1:点击CPU2后会出现如下内容。

2:两个CPU的ID号。

3:partner为CPU1.4:NO代表CPU2和CPU1之间CPU2为从上诉步骤后,1作主,2作从的双边已经完毕,接下来进行13、31、23、31的配置此图表示,1:作2的主,并做3的从2:作1的从,并做3的主3:作2的从,并做3的主在第一个项目里做2和3的通讯(2主3从): 1:右键CPU2,Insert new 2:因为不在一个机架,所以找不到CPU3,选择Unspecified1:2作3的主。

西门子PLC的MPI是如何进行网络通讯的详细资料讲解

西门子PLC的MPI是如何进行网络通讯的详细资料讲解

西门子PLC的MPI是如何进行网络通讯的详细资料讲解随着科技的进步,智能化芯片的发展逐渐成熟起来设备的智能化程度也相应提高,随之智能化设备之间基于开放标准的现场总线技术构成的自动化控制系统也逐渐成熟起来。

于是西门子PLC除了使用工业以太网和profibus。

在我们常用的编程、组态、通讯还用到了MPI、ASI等技术。

这些技术协议实现西门子PLC主机与智能从站之间的通讯,甚至兼容符合第三方产品的通讯协议。

西门子通讯大致有MPI网络通讯、PROFIBUS网络通讯、工业以太网通讯这三种。

西门子PLC的MPI网络通讯MPI叫多点接口通信,一般用于小范围、小点数现场级通讯,可实现西门子PLC的操作面板(TP/OP)和上位机之间的数据交换,例如西门子PLCs7-200/300/400,它的通讯速率19.2Kbit-12Mbit,最多可连接32个接点,通讯距离50m以内。

若以中继器连接,站之间的距离可达9100m,可最多也只能用10个中继器,而且它还占用节点数。

MPI的网络组建:利用STEP7的configuretion里的功能可以给每一个网络节点分配一个MPI地址和最高地址,连接是需要在MPI网络的第一个节点和最后一个节点加终端电阻。

PLC以MPI来实现通讯,可用三种方式解决。

全局数据包通讯方式、无组态连接通讯方式、组态连接通讯方式。

实现全局数据包通讯方式:在PLC硬件配置过程,组态需要通讯的PLC站之间的发送区和接收区不需要任何程序处理,只适应s7-300/400之间的通讯。

最多也只在一个项目中的15个CPU之间建立全局数据。

实现全局数据通讯方法:全局数据包通讯SMATIC Manage 里设置s7-300/400MPI的地址,然后在选项/定义全局数据里定义需要通讯的数据地址。

带>符号的表示发送数据,对应栏里的是接受数据,最终将设置好的项目下载到PLC即可实现MPI通讯。

无组态连接通讯方式:它适用于S7-200/300/400之间通讯,却不能与全局数据包通讯混淆。

实训二 两台S7-300PLC之间的MPI通讯

实训二  两台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起始地址。

plc与面板MPI通讯

plc与面板MPI通讯

BZXINDAXINPLC 与操作面板或触摸屏间的MPI 通讯communication between PLC and OP through MPI network关键词 PLC、操作面板、MPIKey Words PLC、OP、MPIA&D Service & Support Page 2-5A&D Service & SupportPage 3-5操作员面板或触摸屏要通过MPI 网络与PLC 通信时,在PLC 侧不须进行任何编程和组态;在操作员面板或触摸屏侧,要用PROTOOL或Wincc Flexible 组态软件对相关通信参数如所要连接CPU 的MPI 地址和槽号等进行定义,例如要将TP270-10 与S7PLC 连接,以PROTOOL软件为例在项目界面中双击“Controllers”会弹出如图1:图1 “Controllers”参数然后点击按钮“Parameters”组态所要连接CPU 的MPI 地址和槽号和其他参数,如图2:图2 通信连接参数如果直接访问功能模块,须在槽号位置上填上功能模块的槽号,对于S7-400 多CPU 系统填上所连接CPU 的槽号。

组态完成后下载到操作面板或触摸屏后,连接即建立A&D Service & Support Page 4-5附录-推荐网址AS西门子(中国)有限公司自动化与驱动集团客户服务与支持中心网站首页:/Service/专家推荐精品文档:/Service/recommend.aspAS常问问题:/CN/view/zh/10805055/133000AS更新信息:/CN/view/zh/10805055/133400“找答案”AS版区:/service/answer/category.asp?cid=1027NET西门子(中国)有限公司自动化与驱动集团客户服务与支持中心网站首页:/Service/专家推荐精品文档:/Service/recommend.aspNet常问问题:/CN/view/zh/10805868/133000Net更新信息:/CN/view/zh/10805868/133400“找答案”Net版区:/service/answer/category.asp?cid=1031A&D Service & Support Page 5-5专利产品--控制柜配线的全新解决方案控制柜快速接线模块/端子板n全系列模块化结构:将控制柜内接线附件设计成模块化结构的系列产品,包括模拟及数字信号输入输出、电源分配等,采用统一的标准安装尺寸,元器件透明化设计,指示一目了然,既美观又快捷。

一步一步教你,西门子S7-300PLC之间的MPI通讯

一步一步教你,西门子S7-300PLC之间的MPI通讯

一步一步教你,西门子S7-300PLC之间的MPI通讯学习PLC之间的通信绝对是初学者的难题,如果有通信基础还好,要是没有一点基础怎么入门呢?这里给大家几个建议:一、初步了解PLC通信涉及到的基础知识,这个时候没必要精深的搞清楚所有问题。

二、以手头上有的实物练习,无论是PLC之间还是PLC与变频器等其他仪表,也不要考虑使用什么协议,一个目的:先实操做通一个。

三、根据第二步遇到的问题,反复琢磨,找资料、请教老师。

一定要把实操中遇到的疑惑都解开。

四、找另一种通信实操··············MPI通信最多可以在15个CPU之间实现,包括MPI全局通讯,单边通讯和双边通讯三种方式。

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

程序的下载步骤:一,先下载PLC1,使用编程电缆连接PLC1上的MPI接口二,下载完PLC1的项目程序后,我们开始下载PLC1的全局通讯的通讯信息三,下载PLC2,使用编程电缆连接PLC2上的MPI接口四,下载完PLC2的项目程序后,我们开始下载PLC2的全局通讯的通讯信息下载完成,连接上MPI通信电缆,测试通讯情况MPI单边通讯(300的PLC和300的PLC)单边通讯主要用在PLC与PLC之间的通讯,一个发送和接受最多76个字节特别提示:因为通讯程序没有必要每个扫描周期都运行,所以我们可以把通讯程序放到OB35(循环中断)里面。

PLC之间的MPI通信详解

PLC之间的MPI通信详解

PLC之间的MPI通信详解1.MPI概述MPI(MultiPoint Interface)通信是当通信速率要求不高、通信数据量不大时,可以采用的一种简单经济的通信方式。

MPI通信可使用PLC S7-200/300/ 400、操作面板TP/OP及上位机MPI/PFOFIBUS通信卡,如CP5512/CP5611/CP561 3等进行数据交换。

MPI网络的通信速率为19.2kbit/s~12Mbit/s,通常默认设置为187.5kbit/s,只有能够设置为PROFIBUS接口的MPI网络才支持12Mbit/s 的通信速率。

MPI网络最多可以连接32个节点,最大通信距离为50米,但是可以通过中继器来扩展长度。

通过MPI实现PLC之间通信有三种方式:全局数据包通信方式、无组态连接通信方式和组态连接通信方式。

PLC之间的网络配置如图所示。

2.硬件和软件需求硬件:CPU412-2 DP、CPU313C-2DP、MPI电缆软件:STEP7 V5.2 SP1以上3.设置MPI参数可分为两部分:PLC侧和PC侧的参数设置。

(1)PLC侧参数设置在硬件组态时可通过点击图中“Properties”按钮来设置CPU的MPI属性,包括地址及通信速率,具体操作如图所示。

注意:整个MPI网络中通信速率必须保持一致,且MPI地址不能冲突。

(2)PC侧参数设置在PC侧痛要也要设置MPI参数,在“控制面板”→“Set PG/PC Interfac e”中选择所用的编程卡,这里为CP5611,访问点选择“S7ONLIEN”,4.全局数据包通信方式对于PLC 之间的数据交换,我们只关心数据的发送区和接收区,全局数据包的通讯方式是在配置PLC 硬件的过程中,组态所要通讯的PLC 站之间的发送区和接收区,不需要任何程序处理,这种通讯方式只适合S7-300/400 PLC之间相互通讯。

实验步骤如下:①建立MPI网络首先打开编程软件STEP7,建立一个新项,在此项目下插入两个PLC 站分别为SIMATIC 400/CPU412-2DP 和 SIMATIC 300/CPU313C-2D P,并分别插入CPU 完成硬件组态,配置MPI 的站号和通讯速率,在本例中MPI 的站号分别设置为5号站和4 号站,通讯速率为187.5Kbit/S 。

PLC的MPI通信

PLC的MPI通信

PLC的MPI通信MPI网络可用于单元层,它是多点接口(Multi Point Interface)的简称,是西门子公司开发的用于plc之间通信的保密的协议。

MPI通信是当通信速率要求不高、通信数据量不大时,可以采用的一种简单经济的通信方式。

主要的优点是CPU可以同时与多个设备建立通信联系。

也就是说,编程器、hmi设备和其他的PLC可以连接在一起并同时运行。

编程器通过MPI接口生成的网络还可以访问所连接硬件站上的所有智能模块。

可同时连接的其他通信对象的数目取决于CPU的型号。

例如,CPU 314的最大连接数为4,CPU 416为64。

MPI接口的主要特性为:●RS-485物理接口。

●传输率为19.2Kbit/s或187.5 Kbit/s或1.5Mbit/s。

●最大连接距离为50m(2个相邻节点之间),有两个中继器时为1100m,采用光纤和星形偶合器时为23.8km。

●采用PROFIBUS元件(电缆、连接器)。

MPI通信有全局数据通信、基本通信和扩展通信,以下将分别介绍。

①全局数据通信,这种通信方法通过MPI接口在CPU 间循环地交换数据,而不需要编程。

当过程映像被刷新时,在循环扫描检测点上进行数据交换。

对于S7-400 PLC,数据交换可以用SFC来启动。

全局数据可以是输入、输出、标志位、定时器、计数器和数据块区。

数据通信不需要编程,而是利用全局数据表来配置。

不需要CPU的连接用于全局数据通信。

②基本通信,这种通信方法可用于所有S7-300/400 PLC CPU,它通过MPI子网或站中的K总线来传送数据。

系统功能( SFC),例如X_SEND(在发送端)和X_RCV(在接收端)被用户程序调用。

最大用户数据量为76 B。

当系统功能被调用时,通信连接被动态地建立和断开。

在CPU上需要有一个自由的连接。

③扩展通信,这种通信方法可用于所有的S7-400 PLC CPU。

通过任何予网(MPI,Profibus, Industrial Ethernet)可以传送最多64KB的数据。

Siemens MPI协议解析

Siemens MPI协议解析

Siemens MPI协议解析协议名称:Siemens MPI协议解析协议简介:Siemens MPI(Multi-Point Interface)协议是由西门子公司开发的一种用于PLC (可编程逻辑控制器)和外部设备之间进行通信的协议。

该协议使用点对点的通信方式,在工业自动化领域广泛应用。

本文将详细解析Siemens MPI协议的通信规范和数据格式,以帮助读者更好地理解和应用该协议。

一、协议通信规范:1. 通信方式:Siemens MPI协议使用点对点通信方式,即一主一从的通信模式。

主设备负责发起通信请求,从设备负责响应请求并返回数据。

2. 物理层连接:MPI协议使用RS485串行通信,主从设备之间通过串行电缆进行连接。

通信距离一般在1000米以内,通信速率可达到187.5kbps。

3. 帧结构:MPI协议使用固定长度的帧结构进行数据传输。

每个帧包含帧头、数据区和帧尾。

帧头和帧尾是固定的标识符,用于标识帧的开始和结束;数据区包含实际的通信数据。

4. 通信协议:MPI协议使用一种基于命令/响应的通信协议,主设备发送命令给从设备,从设备接收并执行命令,然后返回响应给主设备。

二、数据格式:1. 帧头:帧头是一个固定长度的标识符,用于标识帧的开始。

通常为两个字节,取值为0x10和0x68。

2. 帧尾:帧尾是一个固定长度的标识符,用于标识帧的结束。

通常为两个字节,取值为0x16和0x10。

3. 数据区:数据区包含实际的通信数据,其格式由具体的命令和响应定义。

数据区的长度可以根据具体的通信需求而变化。

4. 校验位:校验位用于验证数据的完整性和正确性。

MPI协议使用CRC16校验算法,将数据区的内容进行计算,并将计算结果添加到帧尾中。

三、常用命令和响应:1. 读取数据命令:主设备发送读取数据命令给从设备,从设备根据命令中指定的地址和长度读取数据,并将读取的数据作为响应返回给主设备。

2. 写入数据命令:主设备发送写入数据命令给从设备,从设备根据命令中指定的地址和数据写入数据,并将写入结果作为响应返回给主设备。

MPI通讯介绍

MPI通讯介绍

MPI通讯介绍PLC 2007-11-10 14:16:02 阅读46 评论0 字号:大中小MPI(MULTIPOINT INTERFACE)是一种适用于小范围、少数站点间通讯的网络。

在网络结构中属于单元级和现场级。

适用于SIMATIC S7/M7和C7系统,多用于对其变成,连接上位机和少量PLC之间近距离通讯。

通过PROFIBUS 电缆和接头,将控制器CPU的MPI编程口相互连接以及与上位机网卡的编程口(MPI/DP口)连接即可实现。

拓扑结构MPI网络是一种总线型网络,可以用来连接多哥编程设备、操作面板和SIMATIC PLC(如:S7-300/400系列,也包括S7-200系列)。

应用场合MPI接口是S7-300/400CPU上自带的编程口,利用编程口通讯是一种对通讯速率要求不高,通讯数据量不大的通讯方式。

MPI的通讯速率为19.2K~12Mbps,通常默认设置是187.5Kbps;通讯数据包不大于122字节。

网络连接MPI通讯利用PLC站S7-200/300/400和上位机(PG/PC)插卡CP5411/CP5511/5611/5613的MPI进行数据交换。

连接电缆为PROFIBUS 电缆,接头为PROFIBUS接头,并带有终端电阻。

在MPI网络上最多可以有32个站。

第一个站与最后一个站之间通讯距离为50米,更厂的通讯距离可以通过RS485中继器扩展,扩展后一个总线段最长1000米。

通讯波特率为187.5bps。

通讯方式1.设置MPI接口在控制面板/SET PG/PC INTERFACE中选择访问点S7-ONLINE,选择所用的编程设备,例如用PC ADAPRER作为编程设备.2.PLC之间通过MPI口通讯PLC之间通过MPI口通讯可分为三种:(1)全局数据包(GD)通讯方式(2)不需要组态连接的通讯方式(3)需要组态连接的通讯方式全局数据包通讯方式以这种通讯方式实现PLC之间的数据交换时,只需要关心数据的发送区和接收区.在配置PLC硬件的过程中,组态所要通讯PLC站之间的发送区和接收区即可,不需要任何程序处理.这种通讯方式只适合S7-300/400PLC之间相互通讯.这种通讯方式的通讯数据包长度为:S7-300最大为22字节,S7-400最大为54字节.不需要组态连接的通讯方式全局数据包通讯的组态必须是同一个项目下完成,缺乏灵活性,可以通过调用系统功能来实现MPI通讯,这种通讯方式适合于S7-300/400/200之间通讯,而且是不需要组态连接.。

S7-300PLC和S7-200PLC的MPI通讯

S7-300PLC和S7-200PLC的MPI通讯

个人收集整理-ZQ
(多点接口)是西门子内部使用地通信协议,物理层为.通过网络地基本通信,可以用系统功能和来读、写地存储区,最多可读、写字节地数据,不需要编写通信程序.其优点是使用自带地通信接口,不需要增加通信用地硬件,编程简单,容易实现.
.通信参数地设置
用系统块设置在网络中地站地址为.为了方便下载和监控,将、和计算机地通信速率均设置为.需要将系统块下载到,设置地参数才会起作用.文档收集自网络,仅用于个人学习组态时将连接到网络上,设置站地址为.将设置地参数下载到.文档收集自网络,仅用于个人学习
.读写地区地编程
在地中调用“”,将本站地地字节数据发送到通信伙伴地地~,即地~.调用“”,读取地~(即地~)中地数据,将它们存放到.执行地时间间隔为默认地.文档收集自网络,仅用于个人学习
下面是地循环中断组织块地程序:
程序段:将本站地中地数据写入地区
""
地地址文档收集自网络,仅用于个人学习
要写入数据地~文档收集自网络,仅用于个人学习
存放本站要发送地数据地地址区文档收集自网络,仅用于个人学习
程序段:读取地区地数据,保存到本站地
""
要读取地~文档收集自网络,仅用于个人学习
保存读取地数据地地址区文档收集自网络,仅用于个人学习为了验证通信是否实现,在初始化程序将数据块地字节数据发送区地字预置为,将地字节数据接收区复位为.文档收集自网络,仅用于个人学习
.地程序
为了验证通信是否实现,在地中,在第一个扫描周期将发送数据区~预置为,将接收数据区~清零.文档收集自网络,仅用于个人学习
, ,
, ,
可以用地变量表和地状态表来监视参与通信地存储区.
1 / 1。

Siemens MPI协议解析

Siemens MPI协议解析

Siemens MPI协议解析1. 引言本协议旨在解析Siemens MPI(Multi-Point Interface)协议,该协议是一种用于Siemens SIMATIC S7系列PLC(可编程逻辑控制器)之间进行通信的协议。

本协议将详细介绍MPI协议的基本原理、通信方式、数据帧结构以及相关的通信命令和错误处理。

2. MPI协议基本原理MPI协议是一种基于串行通信的协议,用于实现PLC之间的数据交换和通信。

它通过MPI总线连接多个PLC设备,并使用特定的通信命令进行数据传输。

MPI协议采用主从结构,其中一个PLC设备充当主站(Master),其他设备充当从站(Slave)。

主站负责发起通信请求和控制数据传输,从站负责响应请求并提供数据。

3. MPI通信方式MPI协议支持两种通信方式:点对点通信和多点通信。

在点对点通信中,主站与从站之间建立一对一的连接,数据传输效率较高。

而在多点通信中,主站可以同时与多个从站进行通信,但数据传输效率较低。

4. MPI数据帧结构MPI协议的数据帧由多个字节组成,每个字节包含特定的信息。

数据帧的结构如下:- 帧头:用于标识数据帧的起始位置,通常由两个字节组成。

- 地址:指定数据帧的目标设备地址,通常由一个字节组成。

- 命令:指定数据帧的通信命令,通常由一个字节组成。

- 数据:包含需要传输的数据,可以是一个或多个字节。

- 校验:用于验证数据帧的完整性和准确性,通常由一个字节组成。

- 帧尾:用于标识数据帧的结束位置,通常由一个字节组成。

5. MPI通信命令MPI协议定义了多个通信命令,用于实现不同的功能和操作。

以下是一些常用的通信命令:- 读取数据命令:用于从从站读取数据。

- 写入数据命令:用于向从站写入数据。

- 执行命令命令:用于执行从站中的特定命令。

- 确认命令:用于确认主站的通信请求。

- 错误处理命令:用于处理通信过程中的错误和异常情况。

6. MPI错误处理MPI协议在通信过程中可能会出现各种错误和异常情况,例如通信超时、数据传输错误等。

Siemens MPI协议解析

Siemens MPI协议解析

Siemens MPI协议解析协议名称:1. 引言Siemens MPI(Multi-Point Interface)协议是西门子公司用于其工业自动化设备之间进行通信的一种串行通信协议。

该协议被广泛应用于西门子工业自动化产品系列中,包括PLC(可编程逻辑控制器)、HMI(人机界面)、IO模块等。

本文将详细解析Siemens MPI协议的结构、功能和通信过程。

2. 协议结构Siemens MPI协议采用了经典的主从结构,其中包括一个主站(Master)和多个从站(Slave)。

主站负责发起通信请求,而从站则负责响应请求并提供数据。

3. 功能Siemens MPI协议支持以下功能:- 数据读取和写入:主站可以向从站请求读取或写入数据。

- 报警和事件通知:从站可以向主站发送报警和事件通知。

- 设备状态监控:主站可以查询从站的状态信息。

- 程序下载和上传:主站可以将程序下载到从站中,或从从站中上传程序。

4. 通信过程Siemens MPI协议的通信过程包括以下步骤:4.1 连接建立主站通过MPI总线与从站建立通信连接。

连接建立时,主站向从站发送连接请求,并等待从站的响应。

4.2 数据传输连接建立后,主站可以向从站发送读取或写入数据的请求。

请求中包含数据的地址和长度等信息。

从站接收到请求后,根据请求进行相应的数据读取或写入操作,并将结果返回给主站。

4.3 报警和事件通知从站可以根据设备状态发送报警和事件通知给主站。

主站接收到报警或事件通知后,可以采取相应的措施进行处理。

4.4 设备状态监控主站可以周期性地向从站发送状态查询请求,以获取从站的状态信息。

从站接收到查询请求后,将状态信息返回给主站。

4.5 程序下载和上传主站可以向从站发送程序下载请求,将程序下载到从站中。

从站接收到下载请求后,将程序保存并进行相应的处理。

主站也可以向从站发送程序上传请求,从站接收到上传请求后,将程序数据发送给主站。

5. 总结Siemens MPI协议是一种用于西门子工业自动化设备之间通信的串行通信协议。

从零开始学PLC之MPI通信

从零开始学PLC之MPI通信

从零开始学PLC之MPI通信调用系统功能SFC用系统功能SFC65~69,可以在无组态情况下实现PLC之间的MPI的通讯,这种通讯方式适合于S7-300、S7-400和S7-200之间的通讯。

无组态通讯又可分为两种方式:双向通讯方式和单向通讯方式。

无组态通讯方式不能和全局数据通讯方式混合使用。

1.双向通讯方式双向通讯方式要求通讯双方都需要调用通讯块,一方调用发送块发送数据,另一方就要调用接收块来接收数据。

适用S7-300/400之间通讯,发送块是SFC65(X_SEND),接收块是SFC66(X_RCV)。

下面举例说明如何实现无组态双向通讯。

例:设2个MPI站分别为MPI_Station_1(MPI地址为设为2)和MPI_Station_2(MPI地址设为4),要求MPI_Station_1站发送一个数据包到MPI_Station_2站。

生成MPI硬件工作站打开STEP 7,创建一个S7项目,并命名为“双向通讯”。

在此项目下插入两个S7-300的PLC站,分别重命名为MPI_Station_1和MPI_Station_2。

MPI_Station_1包含一个CPU315-2DP;MPI_Station_2包含一个CPU313C-2DP。

设置MPI地址完成2个PLC站的硬件组态,配置MPI地址和通信速率,在本例中CPU315-2DP和CPU313C-2DP的MPI地址分别设置为2号和4号,通信速率为187.5kbit/s。

完成后点击按钮,保存并编译硬件组态。

最后将硬件组态数据下载到CPU。

编写发送站的通讯程序在MPI_Station_1站的循环中断组织块OB35中调用SFC65,将I0.0~I1.7发送到MPI_Station_2站。

MPI_Station_1站OB35中的通讯程序如图所示。

编写接收站的通讯程序在MPI_Station_2站的主循环组织块OB1中调用SFC66,接收MPI_Station_1站发送的数据,并保存在MB10和MB11中。

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

(2)PC侧参数设置在PC侧痛要也要设置MPI参数,在“控制面板”→“Set PG/PC Interface”中选择所用的编程卡,这里为CP5611,访问点选择“S7ONLIEN”,4.全局数据包通信方式对于PLC 之间的数据交换,我们只关心数据的发送区和接收区,全局数据包的通讯方式是在配置PLC 硬件的过程中,组态所要通讯的PLC 站之间的发送区和接收区,不需要任何程序处理,这种通讯方式只适合S7-300/400 PLC之间相互通讯。

实验步骤如下:①建立MPI网络首先打开编程软件STEP7,建立一个新项,在此项目下插入两个PLC 站分别为SIMATIC 400/CPU412-2DP 和SIMATIC 300/CPU313C-2DP,并分别插入CPU 完成硬件组态,配置MPI 的站号和通讯速率,在本例中MPI 的站号分别设置为5号站和4 号站,通讯速率为187.5Kbit/S 。

②组态数据的发送和接收区选中MPI网络,再点击菜单“Options” →“Define Global Date”进入组态画面如图所示。

③插入所有需要通讯的PLC 站CPU 双击GD ID 右边的CPU 栏选择需要通讯PLC 站的CPU。

CPU 栏总共有15 列,这就意味者最多有15 个CPU 能够参与通讯。

在每个CPU 栏底下填上数据的发送区和接收区,例如: CPU412-2DP 的发送区为DB1.DBB0~DB1.DBB21,可以填写为DB1.DBB0:22 (其中“DB1.DBB0”表示起始地址,“22”表示数据长度)然后在菜单“edit”项下选择“Sender”作为发送区。

而CPU313C-2DP 的接收区为DB1.DBB0~21,可以填写为DB1.DBB0:22。

如图所示。

编译存盘后,把组态数据分别下载到CPU 中,这样数据就可以相互交换了。

注意:发送区和接收区的长度必须一致,地址区可以为DB、M、I、Q区,S7-300地址区长度最大为22字节,S7-400地址区长度最大为54字节。

④通信的诊断在多个CPU 通讯时,有时通讯会中断,可用通过下述方法进行监测:在菜单“View”中点击“Scan Rates”和“GD Status”可以扫描系数和状态字,如图所示。

SR:扫描频率系数。

如上图SR1.1 为225,表示发送更新时间为225×CPU 循环时间。

范围为1~255。

通讯中断的问题往往设置扫描时间过快,可改大一些。

GSD:每包数据的状态字(双字)。

可根据状态字编写相应的错误处理程序,结构如下:第一位:发送区域长度错误。

第二位:发送区数据块不存在。

第四位:全局数据包丢失。

第五位:全局数据包语法错误。

第六位:全局数据包数据对象丢失。

第七位:发送区与接收区数据对象长度不一致。

第八位:接收区长度错误。

第九位:接收区数据块不存在。

第十二位:发送方从新启动。

第三十二位:接收区接收到新数据。

GST:所有GDS 相“OR”的结果⑤事件触发的数据传送如果我们需要控制数据的发送与接收,如在某一事件或某一时刻,接收和发送所需要的数据,这时将用到事件触发的数据传送方式。

这种通讯方式是通过调用CPU 的系统功能SFC60 (GD_SND)和SFC61(GD_RCV)来完成的,而且只支持S7-400CPU,并且相应设置CPU 的SR(扫描频率)为0,可参考下图全局数据的组态画面:编译存盘后下载到相应的CPU 中,然后在S7-400 中调用SFC60/61 控制接收与发送。

具体程序代码为:5.无组态连接通信方式无组态的MPI通信需要调用系统功能块SFC65~SFC69来实现,这种通信方式适合于S7-300、S7-400和S7-200之间的通信。

通过调用SFC来实现MPI通信又可分为两种方式:双边通信方式和单边通信方式。

调用系统功能通信方式不能和全局数据通信方式混合使用。

(1)双边编程通信方式在通讯的双方都需要调用通讯块,一方调用发送块,另一方就要调用接收块来接收数据。

这种通讯方式适用S7-300/400 之间通讯,发送块是SFC65(X_SEND),接收块是SFC66(X_RCV)。

实验步骤如下:①在STEP7 中创建两个站STATION1, CPU 为S7- 412-2DP, MPI 站地址为5; STATION2, CPU 为S7-313C-2DP , MPI 站号为4,5号站发送2 包数据给4 号站,4 号站判断后放在相应的数据区中。

②编程在2 号站OB35 中须调用SFC65,具体程序代码为:参数说明:REQ 为发送请求,该参数为1 时发送。

CONT 为1表示发送数据是连续的一个整体。

DEST_ID 表示对方的MPI 地址。

REQ_ID 表示一包数据的标识符,标识符自己定义。

SD 表示发送区,以指针的格式表示,例子中第一包数据为DB1 中从DBX0. 0(DBB0) 以后的10个字节数据,发送区最大为76 个字节。

RET_VAL 表示发送的状态BUSY 为1 时表示发送中止。

在这个例子中, M1.1,M1.3 为1 时,CPU412-2DP 将发送标识符为“1”和“2”的两包数据给4 号站的CPU313C-2DP。

一个CPU 究竟可以和能几个CPU 通讯和CPU 的通讯资源有关系,这也决定SFC 的调用的次数。

以上例作说明,M1.1,M1.3 为1时,与4 号站的连接就建立起来了,反之4 号站发送,5号站接收同样要建立一个连接,也就是说两个站通讯时,若都需要发送和接收数据,则须占用两个动态连接。

通信状态可参考下图。

M1.1,M1.3 为0 时,此时建立的连接并没有释放,必须调用SFC69 来释放连接,在上例中M1.5 为1 时,与4 号站建立的连接断开,如下图:在S7 313C-2DP的OB1中调用接收块SFC66,具体程序代码为:参数EN_DT 表示接收使能,RET_VAL 表示接收状态字,REQ_ID 为接收数据包的标识符,NDA 为1 时表示有新的数据包,为0 时则表示没有新的数据包,RD 表示接收区,接收区放在DB1 中从DBB0 以后10 个字节中。

程序中,接收块只识别数据的标识符,而不管是哪一个CPU 发送的,接收从5号站CPU412-2DP 发送的两包数据,当标识符为“1” 且M1.3 为1时,复制接收区的数据到DB2 的前10 个字节中(调用SFC20),当标识符为“2” 时,M1.4 为1,复制接收区的数据到DB3 的前10个字节中。

数据传送状态如图所示。

(2)单边编程通信方式与双向通讯时两方都需要编写发送和接收块不同,单向通讯只在一方编写通讯程序,这也是客户机与服务器的关系,编写程序一方的CPU 作为客户机,没有编写程序一方的CPU 作为服务器,客户机调用SFC 通讯块对服务器的数据进行读写操作,这种通讯方式适合S7-300/400/200 之间通讯,S7-300/400 的CPU 可以同时作为客户机和服务器,S7-200 只能作服务器。

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

具体实验步骤如下:①新建项目建立两个S7 站,STATION1, CPU 为S7 313C-2DP ,MPI 地址为4作为客户机; STATION2 ,CPU 为S7 412-2DP, MPI 地址为5作为服务器。

②编程 CPU421-2DP的OB1中调用SFC68,把本地数据区的数据DB2.DBB0开始的连续10个字节发送到CPU313C-2DP的DB1.DBB20开始的10个字节中;调用SFC67,CPU412-1DP读出CPU313C-2DP的数据DB1.DBB0开始的10个字节放到本地DB2.DBB20开始的10个字节中。

程序代码如下图所示。

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

数据传送状态如图所示。

6.组态连接通信方式MPI 网络,调用系统功能块进行PLC 站之间的通讯只适合于S7-300/400,S7 -400/400 之间的通讯,S7-300/400 通讯时,由于S7-300CPU 中不能调用SFB12( BSEND),SFB13 (BRCV),SFB14(GET),SFB15(PUT),不能主动发送和接收数据,只能进行单向通讯,所以S7-300PLC 只能作为一个数据的服务器,S7-400PLC 可以作为客户机对S7-300PLC 的数据进行读写操作。

S7-400/400 通讯时,S7-40 0PLC 可以调用SFB14,SFB15,既可以作为数据的服务器同时也可以作为客户机进行单向通讯,还可以调用SFB12,SFB13,发送和接收数据进行双向通讯,在MPI 网络上调用系统功能块通讯,最大一包数据不能超过160 个字节。

具体实验步骤如下:①新建项目建立两个S7 的PLC 站,STATION1 其CPU 为S7 412-2DP ,站地址为5,STAT ION2, CPU 为S7 313C-2DP,站地址为4,假设S7-400PLC 把本地数据DB1 中字节0 以后的5 个字节写到S7-300PLC DB1 中字节0 以后的5个字节中去,然后再读出S7-300PLC DB1 中字节0 以后的5个字节中的数据并将其放到S7-400PLC 本地数据块 DB2 中字节0 以后的5个字节中去。

②组态连接及参数设置在STEP7 中点击“Options” “Configure Network”进入网络组态画面,如图所示:右键点击CPU412-2DP,选择“Insert New Connections”新建连接。

在弹出的对话框中选择“S7connection”连接类型,并选择所需连接的CPU,这里选择CPU313C-2DP。

如图所示。

点击“Apply”按钮建立连接,并查看连接表的详细属性,如下图:组态完成后编译存盘,并将连接组态分别下载到各自的CPU。

③编程在PLC 中调用通讯所需的系统功能块,由于是单向通讯S7-300PLC 是数据的服务器,所以只能在S7-400PLC 侧编程,调用SFB15 写数据到S7-300 PLC 中如下图:程序编制好后下载到各自的CPU站,并建立变量表测试程序的运行。

如图所示。

相关文档
最新文档