S7-300之间的MPI通讯
- 格式:docx
- 大小:368.15 KB
- 文档页数:6
文 / 邱利军 陈春先 赵 洋对比两台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 接口。
wincc S7-300 MPI通讯问题S7-300编程软件与PLC可以通讯,但Wincc上无法显示300PLC上数据。
查电脑资源管理器发现5611与显卡驱动、USB通用控制器有冲突。
如何解决。
答:解决这个问题需要相关的操作系统的知识与需要一定的计算机硬件知识。
解决设备资源冲突:如果某个设备前面显示了一个带有黄色圆圈的惊叹号,则表明此设备有资源冲突。
我们可以用手工的方式来重新分配该设备的资源,以解决资源冲突。
1.下面我们先对计算机资源的分配情况作一简略的介绍每次启动计算机时,WindowsXP都会自动配制每个设备的资源,即将唯一的一组系统资源分配给它。
这组资源可能是下面的一个或多个资源:中断请求(1RQ)编号;直接内存访问(DMA)通道;输入输出(I/0)端口地址;内存地址范围。
分配给设备的每个资源都必须是惟一的,否则设备将无法正常工作。
对于即插即用型设备,WindowsXP可以自动保证该设备的正确配置。
而对于某些非即插即用型设备可能需要某些特定的资源,这些资源有可能与WindowsXP自动分配的资源冲突。
此时,用户就需要手工配置该设备的系统资源,以保证它正常运行。
2.若要手工配置设备的系统资源,应遵循下列操作步骤:单击”设备管理器”中需要手工配置系统资源的设备所属硬件类型左边的”+”以展开它。
用鼠标右键单击带有黄色圆圈的惊叹号的设备,从弹出的快捷菜单中选择”属性”命令。
在弹出的快捷菜单中切换到”资源”选项卡,检查”冲突设备列表”。
如果列表中显示有设备冲突,查看是”输入/输出范围”冲突还是”中断请求”冲突或两者都是单击使用自动设置复选框,使√变成口,单击”√”按钮,打开”设置基于”下拉列表,选择另外一个配置。
不断寻找配置,直到”冲突设备列表”显示”没有冲突”为止。
若所有配置均有冲突,可单击”更改设置”按钮来进一步配置(这种可能性很小)。
单击”确定”按钮,再单击弹出的”系统设置改变”对话框中的”是”按钮,将重启计算机以使配置生效。
全局数据通信是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-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、用通讯电缆将两台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-300PLC的通讯多点接口(MPI) 集成在CPU中,用于同时连接编程器、PC机、人机界面系统及其他SIMA TIC S7/M7/C7等自动化控制系统。
—- 用户可以方便的使用Step7软件进行通讯组态。
—- CPU 支持下列通讯类型:过程通讯通过总线(AS-i或PROFIBUS)对I/O模块周期寻址(过程映象交换)。
数据通讯在自动控制系统之间或人机界面(HMI)和几个自动控制系统之间,数据通讯会周期地进行或被用户程序或功能块调用。
通过PROFIBUS的过程通讯–—S7-300通过通讯处理器,或通过集成在C PU上的PROFIBU S-DP接口连接到P ROFI B U S-DP网络上。
—- 带有PROFIBUS-DP主站/从站接口的CPU可以使用户能够方便高效地进行组态。
—- 而且,用户通过PRO FIBUS-DP分布式I/O就像处理集中的I/O一样,具有相同的组态、地址和编程。
—- 下列设备可以作为通讯的主站:SIMATIC S7-300(通过带PROF IBUS-DP 接口CPU或通过PROFIBU S-DP)SIMATIC S7-400(通过带PROF IBUS-DP 接口的CPU或通过PROF IBUS-DP CP)SIMATIC C7(通过带PROF IBUS-DP接口的C7或通过PRO FIBUS-DP CP)S5-115U/h,S5-135U和带IM308的S5-155U/H带PROFIB U S-DP接口的S5-95USIMATIC 505—- 需要说明的是,在一条线上不要连接2个以上的主站。
—- 下列设备可以作为从站:ET200B/L/M/S/X分布式I/O设备通过CP342-5的S7-300CPU315-2 DP,CPU316-2 DP和CPU318-2 DPC7-633/p CP,C7-633 DP,C7-634/P DP,C7-634 DP,C7-626 DP虽然带有STE P7的编程器P G/PC或OP在总线中作为主站,但它们只使用部分通过PROFIBUS- DP运行的MP I功能。
以上可以实现PLC网络的有:MPI,工业以太网,profibus等。
每种可以单接的设备有所不同。
可以从图中看出。
OP操作屏,PG编程设备,winac控制器。
MPI网络通信
如果有多台设备时,就需要修改地址。
MPI网络连接器
全局数据包通信方式
步骤:建立项目文件--建立两个300站点--分别进行硬件组态--添加电源,cpu,数字量等模块
双击第一个cpu进入属性--修改接口属性地址为2
双击第二个cpu进入属性--修改接口属性地址为3
在simatic manager中点击“组态网络”图标,在仿真按钮的左侧。
进入组态网络,便可看见组态的MPI网络。
MPI网络下挂了两个CPU地址分别是2和3。
点击MPI干线,右键,打开“定义全局数据”,出现全局数据表(GD),双击灰色标题栏,选择分别选择第一个和第二个CPU。
如图
选中第一行,mp1.1下,将其选作为发送器,变绿,输入IBO:1
选中第一行,mp2.2下,输入MB0:1
同理选中第二行,mp2.2下,将其选作为发送器,变绿,输入IB0:1 在mp1.1下,输入MB0:1
保存,编译
如果编译不成功,注意调整输入法为英文。
编译成功后的数据表为:
回到管理器
在第一台PLC中,双击OB1块进行程序编写。
同理在第二台PLC中也编写同样的程序。
下载就行啦。
1.S7-200和S7-300进行MPI通信2.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.3.首先根据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地址可以参考下图:S7-200 PLC修改MPI地址可以参考下图:页脚内容1图1 S7-200 设置MPI地址S7-300 PLC修改MPI地址可以参考下图:页脚内容2图2 S7-300 设置MPI地址例子程序在OB1当中调用数据读写功能块:SFC67和SFC68,如下图:页脚内容3图3 程序编写分别在STEP7 MicroWin32 和STEP7当中监视S7-200和S7-300 PLC当中的数据,数据监视界面如下:页脚内容4图4 S7-200监控结果图5 S7-300监控结果通过CP5611,STEP7 MicroWin32,Set PG/PC Interface可以读取S7200和S7300的站地址,如下图:页脚内容5图6 CP5611诊断结果(站地址0为进行编程的计算机)页脚内容6图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从站时设置正确的地址即可。
一、SIMA TIC S7-300具有多种不同的通讯接口:多种通讯处理器用来连接AS-i接口(传感器,执行器网络)、PROFIBUS 和工业以太网总线系统。
通讯处理器用来连接点到点的通讯系统。
多点接口(MPI) 集成在CPU中,用于同时连接编程器、PC机、人机界面系统及其他SIMA TICS7/M7/C7等自动化控制系统。
用户可以方便的使用Step7软件进行通讯组态。
CPU 支持下列通讯类型:1、过程通讯:通过总线(AS-i或PROFIBUS)对I/O模块周期寻址(过程映象交换) 。
2、数据通讯:在自动控制系统之间或人机界面(HMI)和几个自动控制系统之间,数据通讯会周期地进行或被用户程序或功能块调用。
通过PROFIBUS的过程通讯方式:S7-300通过通讯处理器,或通过集成在CPU上的PROFIBUS-DP接口连接到PROFIBUS-DP网络上。
带有PROFIBUS-DP主站/从站接口的CPU可以使用户能够方便高效地进行组态。
而且,用户通过PROFIBUS-DP分布式I/O就像处理集中的I/O一样,具有相同的组态、地址和编程。
下列设备可以作为通讯的主站:①SIMA TIC S7-300 (通过带PROFIBUS-DP 接口CPU或通过PROFIBUS-DP)②SIMA TIC S7-400 (通过带PROFIBUS-DP 接口的CPU或通过PROFIBUS-DP CP)③SIMA TIC C7 (通过带PROFIBUS-DP接口的C7或通过PROFIBUS-DP CP)④S5-115U/h,S5-135U和带IM308的S5-155U/H⑤带PROFIBUS-DP接口的S5-95U⑥SIMA TIC 505需要说明的是,在一条线上不要连接2个以上的主站。
下列设备可以作为从站:①ET200B/L/M/S/X分布式I/O设备②带有CP342-5的S7-300(带DP接口的控制系统)③CPU315-2 DP,CPU316-2 DP 和CPU318-2 DP (带DP接口的CPU)④C7-633/p CP,C7-633 DP,C7-634/P DP,C7-634 DP,C7-626 DP (带DP接口的控制系统)虽然带有STEP7的编程器PG/PC或OPPROFIBUS- DP运行的MPI功能。
1、s7-300plc与s7-200plc在MPI协议下通讯时,例如put(写指令SFC68),
其驱动位为M0.0,判断是否传送结束的标志位为M0.1,则程序应该如图所示:
下图就是s7-300与s7-200plc通讯的写指令,其中DEST_ID是200plc的地址,该条指令是将s7-300里的MB50传送给200plc的VB0
200plc与300plc在MPI通讯协议下的步骤:
1、硬件接线-----------在200与300的plc的MPI协议口用通信电缆连接
2、更改200plc的站地址为3或者其他的不是2所有站号(MPI协议下,
200plc只能作为从站,因此更改200plc的地址),同时,更改通信所用端口的波特率的更改,一般更改为187.5KP,下载系统快,完成更改3、组态300plc的硬件,组态完成后,点击CPU,再跳出来的对话框中,
对通讯波特率,和站地址进行更改
4、规划好数据的读写(在指令中完成)如第三张图中的MB50和
P#DB1.DBX0.0 BYTE 1---------就是代表把MB50传送到200plc的VB0
5、最后,根据需要进行编程序。
(见第一条)
6、总结:
Plc通讯的固定步骤
1、硬件接线
2、更改地址和波特率
3、规划数据的读和写即数据的传送
4、开始编程、下载、调试。
#西门子S7_300PLC设备构件使用说明1 概述本设备构件用于MCGS操作和读写西门子S7_300系列PLC设备的DB数据数据块、输入输出、中间寄存器。
MCGS通过上位机中的MPI网卡(如cp5611)和PLC上的通讯单元(通讯模块)建立通讯连接,从而达到操作PLC设备的目的,(本设备也支持PC-Adapter),使用本构件前,请先阅读通讯单元和PLC设备的有关技术说明书,根据实际应用的需要来正确设置通讯单元的跳线设置,选用适当的通讯连接MPI方式。
使用标准的MPI协议,本设备能在WINDOWS98,95,NT下使用2 通讯电缆连接:使用MCGS组态软件和PLC通讯之前,必须保证通讯连接正确,和西门子PLC的通讯连接如下:1 使用西门子标准PC\MPI电缆通讯,进行如图所示连接:MPI卡可以根据用户的需要使用CP5411、CP5511和CP5611中的任何一种,装入计算机中相应的插槽,在保证硬件没有任何问题的情况下,按第3步安装软件。
3 安装西门子的Prodave和设置MPI卡的参数请到本光盘的\support目录下找到“prodave”和“prodave完全版”两个目录,使用prodave\disk1\setup.exe来安装您的MPI网卡,若您已经用STEP7安装了MPI网卡就不必再安装“prodave”但要安装“prodave完全版”。
当MPI网卡安装以后,请用STEP7主菜单中Options菜单下的Setting the PG-PC interface 工具设置网卡的属性(或者是系统的开始采单\程序\Prodave_S7_mini\PG-PC Interface中设置# 000000MPI卡的属性)第一步:按Install按钮安装MPI卡的驱动程序或PC-Adapter。
第二步:点击Properties按扭选中Programming device/PC is the only master。
在通讯程序中最好都插入OB组织块,下面最好都插入。
组态2个站。
其实不分主从站的,只是便于区分而已。
网络配置只下载到主站,从站只编程自己的传送程序就是了。
在主站组态MPI网络:
同样组态从站MPI网络:
组态王完以后,
上图已配好2个站,新配的画点箭头位置双击弹出选择CPU,
同样方法配从站
2个站配好后如下图:
输入交换的区域:
字节,字,双字都可以
在主站先选中MB100,在点选作发送器按钮即可,从站:同样方法。
最好编译保存
如果要插入多个字节:
直接加:5,主站表示发送MB10开始的5个字节。
从站表示发送MB20开始的5个字节。
组态完后如下图
组态王编译:
组态完正确时,上图箭头为白色,如为黄色则不正常。