MPI+以太网通讯
- 格式:docx
- 大小:631.03 KB
- 文档页数:16
西门子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之间通讯,却不能与全局数据包通讯混淆。
图文并茂——PPI和MPI通信1 内容概述首先,这里对S7-200通讯性能做一个整体介绍,请看CPU200和扩展模块示意图(上图),CPU200会集成1~2个RS485通讯口,集成的通讯口可以实现PPI、MPI和自由口通讯,在自由口方面,西门子已经为客户开发Modbus RTU主站和从站通讯指令库-USS通讯指令库。
CPU200后的第一个扩展模块是CP243-2,是ASI主站通讯模块,使用两个槽位资源,支持的协议版本是2.1版本。
第二个扩展模块是EM277,是标准的PROFIBUS DP从站通讯模块,EM277后面的EM241模块是一个模拟的电话调制解调器模块。
最后两个模块CP243-1、CP243-1IT是以太网通讯扩展模块,支持西门子内部的S7协议,目前已经有新一代的CP243-1模块来代替之前的两个模块。
CP243-1的IT功能主要包括Email、HTML和FTP三种。
2 PPI通信(1)PPI通信PPI协议原为点对点通讯,是一个主站-从站协议,主站设备将通讯请求发送至从站设备,然后从站设备进行响应,随着产品的发展,目前也支持多主站网络。
PPI协议是基于开放互联OSI 7层模型的通讯结构的基础上通过令牌环实现网络。
PPI使用1位起始位,1位停止位,8位数据位和偶校验。
PPI协议使用CPU200集成的RS485通讯口,可以实现编程通讯,S7-200PLC之间的通讯以及和人机界面之间的通讯。
CPU200集成的通讯口有一个PG连接资源和三个OP连接资源,支持的波特率有9.6k、19.2k和187.5k,支持多主站,最远的通讯距离为50米,一个网段内最多有32个节点,可以使用中继器进行网段隔离以及通讯距离的扩展(2)CPU200之间的PPI通信我们首先介绍两个CPU200之间的PPI通讯,这里的两个S7-200PLC分别是PPI的主站和从站,在主站一侧,用户需要配置网络读写向导,使用向导生成的子程序。
以上可以实现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中也编写同样的程序。
下载就行啦。
S7-200和S7-300进行MPI通信西门子系列PLC之间的通讯方式分以下几种:S7-200系列之间互相通讯无需新增硬件的有:PPI自由口通讯、modbus主从通讯(需安装标准的modbus通讯库文件)S7-300系列之间互相通讯无需新增硬件方式有:MPI全局通讯、DP主从通讯(需CPU带DP 口)以太网通讯(需要CPU自带以太网口)S7-200与S7-300之间相互通讯无需新增硬件的有:MPI-PPI通讯,此种通讯也是本文介绍的重点,其他通讯方式再以后的文档中会详细讲解。
S7-200 PLC与S7-300 PLC之间采用MPI通讯方式时,S7-200 PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7-300 PLC中需要在组织块OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)用于读取S7-200的数据和X_PUT(SFC68)用于向S7-200写数据,以实现S7-200 PLC与S7-300 PLC之间的通讯。
S7-200与S7-300采用此种通讯方式只能交换S7-200的V存储区数据。
调用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的速率。
西门子MPI转以太网通讯的全新解决方案1经常使用西门子S7300/400的朋友都知道,一般传统的MPI连接方式是采用西门子PC适配器或者CP5611,进行Step7程序下载,组态软件通过其与PLC 进行数据通讯。
但是西门子PC适配器,是采用串口或者usb口的方式,通讯距离受到很大局限。
并且PC如果要与西门子PLC通过以太网进行通讯,需要增加西门子专门的以太网PLC通讯模块(如CP343 )和西门子NET软件。
特别是对于那些已经使用MPI通讯的项目改造,用户不仅仅需要购买西门子以太网通讯模块,还要考虑柜内槽位和接线问题,同时还要对PLC程序和上位机监控软件进行修改,工作量是比较大的,也存在修改是否正确等问题。
针对以上提出的问题,我们提出一个全新的解决方案,使用德国HILSCHE R的NETLINK转换器可以轻松通过以太网连接西门子PLC,进行Step7程序下载,并实现组态软件与PLC之间进行以太网数据通讯,并且不需要对原有PLC 程序和上位组态软件进行任何修改,极大地提高了工作效率,其良好的性价比无论对最终用户还是系统集成商而言都是不二选择。
一、产品简介netLINK具有MPI接口和10/100 MBit/s以太网接口,是连接PC与PLC 的紧凑型以太网网关。
其结构是固定在DSub连接器外壳中,能够直接接到设备的MPI插头,通过一根3米长的以太网电缆,再连接到交换机、Hub或PC上。
供电电源是直接由MPI插头提供。
转换模块实物图二、特点:1、通过以太网连接西门子S7-300/S7-400;2、易于使用且支持远程下载;3、紧凑型;4、性价比高;5、在PC端与NETLINK通讯方式主要有三种:a. 直接使用IBHNET驱动;b. 使用SYCON软件进行配置,提供TCP/UDP IP驱动协议进行二次开发;口上即可。
2、双击打开如下对话框,或者启动“STEP 7”,选择菜单栏上的“Options”->“S et PG/PC Interface”命令也可以打开如下对话框;3、在弹出的对话框中选中“IBHNet(MPI)”,然后单击“Properties…”按钮,打开如下对话框;4、单击“IBH network settings”按钮,打开如下对话框;5、单击“New station”按钮创建一个新站,并如下图配置该站参数;。
通讯:通讯设备的双方基于一种通讯协议,实现双方之间数据交换的过程PPI/USS/Modbus---RS485串口通信PPI/USS 西门子内部开放使用的标准通讯协议Modbus 开放式的标准协议MPI通信:也属于(RS485):通讯速度19.2K--12Mbit/s 通信速度越快---通讯的距离会越近:抗干扰能力会越差实现:S7300的程序上下载MPIS7300与HMI的连接S7300作为主站与S7200 MPIS7300之间PLC数据交换MPIDP:Profibus DP 现场总线(国际标准开放式)将设备作为IO设备HMI/PC/变频器/IO分布式/S7PLC 9.6K--12M (RS485通讯)通讯线接口:3----38----8以太网通讯:Enternet CP 通讯(ISO/TCP/UDP)开放式以太网通讯S7300必须扩展支持Enternet CP模块S7300CPu 自带的网口支持Profinet IO (现场总线)S7通讯协议:西门子内部的以太网协议自由口通讯:(RS485 无协议通信)S7200 FX系列之间的通讯同第三方设备----仪表/变频器S7-300与S7-200之间的MPI200只能作为从站(不能进行数据收发)单边通讯:PLC1---的数据直接发送到--PLC2的数据存储区调用(SFC67读/SFC68写)双边通讯:PLC1用发送命令将数据发送到数据缓存区---PLC2通过接收命令从数据缓存区读取数据----存放到数据存储区调用(SFC65读/SFC66写)通讯设置:1.S7200可以通过CPU224XP/CPU2262.S7200扩展通讯模块EM277 Profibus Dp 1种方式:200--系统块--端口1--端口号:1-31(与S7300 地址不一样)波特率要设置与S7300一致187.5KS7300--硬件组态中在OB1中调用程序:SFC67读SFC68、写读写是可以同时进行的 MPI----全双工S7-300的MPI通讯2014-4-28 08:32|?发布者:?admin|?查看:?3121|?评论: 0|原作者: 张勇|来自: 互联网摘要:?MPI通信最多15个CPU,包括MPI全局通讯,单边通讯和双边通讯MPI的全局通讯(300PLC和300PLC):?MPI的全局通讯一个包最多22个字节,最多4个数据包(一个发送,一个接收算一个数据包)硬件的配置(我们在一个项目里面 ...MPI通信最多15,包括MPI全局通讯,单边通讯和双边通讯MPI的全局通讯300PLC):???MPI的全局通讯一个包最多22个字节,最多4个数据包(一个发送,一个接收算一个数据包)硬件的配置(我们在一个项目里面组态三个CPU)注意在组态的时候建立的是MPI通讯,不是DP通讯PLC1里进行硬件组态:在PLC2里进行硬件组态:在PLC3里进行硬件组态:(和PLC2的CPU属性设置相同,地址更改为3)我们在PLC里面不用编辑通讯的程序,只需在PLC1里给MB0开始的22个字节赋值,在PLC2里给MB0开始的22个字节解压使用即可。
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毫秒。
通讯:
通讯设备的双方基于一种通讯协议,实现双方之间数据交换的过程
PPI/USS/Modbus---RS485串口通信
PPI/USS 西门子内部开放使用的标准通讯协议Modbus 开放式的标准协议
MPI通信:也属于(RS485):通讯速度s
通信速度越快---通讯的距离会越近:抗干扰能力会越差
实现:S7300的程序上下载MPI
S7300与HMI的连接
S7300作为主站与S7200 MPI
S7300之间PLC数据交换MPI
DP:Profibus DP 现场总线(国际标准开放式)
将设备作为IO设备HMI/PC/变频器/IO分布式/S7PLC (RS485通讯)
通讯线接口:
3----3
8----8
以太网通讯:
Enternet CP 通讯(ISO/TCP/UDP)开放式以太网通讯
S7300必须扩展支持Enternet CP模块
S7300CPu 自带的网口支持Profinet IO (现场总线)
S7通讯协议:西门子内部的以太网协议
自由口通讯:(RS485 无协议通信)
S7200 FX系列之间的通讯
同第三方设备----仪表/变频器
S7-300与S7-200之间的MPI
200只能作为从站(不能进行数据收发)
单边通讯:PLC1---的数据直接发送到--PLC2的数据存储区
调用(SFC67读/SFC68写)
双边通讯:PLC1用发送命令将数据发送到数据缓存区---PLC2通过
接收命令从数据缓存区读取数据----存放到数据存储区
调用(SFC65读/SFC66写)
通讯设置:可以通过CPU224XP/CPU226
2.S7200扩展通讯模块EM277 Profibus Dp 1种方式:200--系统块--端口1--端口号:1-31(与S7300 地址不一样)
波特率要设置与S7300一致
S7300--硬件组态中
在OB1中调用程序:
SFC67读
SFC68、写
读写是可以同时进行的 MPI----全双工
S7-300的MPI通讯
2014-4-28 08:32|发布者:|查看:3121|评论: 0|原作者: 张勇|来自: 互联网
摘要:MPI通信最多15个CPU,包括MPI全局通讯,单边通讯和双边通讯MPI的全局通讯(300PLC和300PLC):MPI的全局通讯一个包最多22个字节,最多4个数据包(一个发送,一个接收算一个数据包)硬件的配置(我们在一个项目里面 ...
MPI通信最多15个CPU,包括MPI全局通讯,单边通讯和双边通讯
MPI的全局通讯(300和300PLC):
MPI的全局通讯一个包最多22个字节,最多4个数据包(一个发送,一个接收算一个数据包)
硬件的配置(我们在一个项目里面组态三个CPU)
注意在组态的时候建立的是MPI通讯,不是DP通讯
PLC1里进行硬件组态:
在PLC2里进行硬件组态:
在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(循环中断)里面
下面我们开始单边通讯300对300的编程:
我们使用系统功能SFC68发送,SFC67接受
下面我们在PLC1里面进行编程:
SFC68发送数据
REQ:等于“1”的时候发送数据
C0NT:保持通讯,(是否使用这个SFC68进行发送),常为“1”
DEST_TD:通讯对方的地址
VAR_ADDR:对方接收数据的的缓存区(把要发送的数据放到对方的什么地方) SD:本地需要发送的数据
REST_VAL:错误代码
BUSY:完成位
上图中SFC68的意思为,当为“1”,且为“1”,时向MPI
SFC67接收数据
同样在标准库中找到SFC67:
SFC67接收信息
REQ:等于“1”的时候发送数据
C0NT:保持通讯,(是否使用这个SFC68进行发送),常为“1”
DEST_TD:通讯对方的地址
VAR_ADDR:对方存储数据的缓存区(我们要从地方的什么地方取数据)
REST_VAL:错误代码
BUSY:完成位
RD:本地存储信息的的地址(把对方的数据拿过来以后放到自己这边的什么地方)
上图中SFC67的意思是:当为“1”,且为“1”,时把MPI
分别把PLC的程序下载到相应的CPU内,连接MPI通讯电缆测试
MPI单边通讯(300的PLC和200的PLC):
S7-300为主站,S7-200为从站
(MPI通讯也可以通过EM277进行,EM277拨码开关地址要和300编程时填写的对方通讯地址相同)
和200的单边通讯方式和300对300的通讯相同,都需要使用SFC67和SFC68,进行数据的接收和发送。
上图中的信息意思是:当为“1”,且为“1”的时候把300PLC的以为开始的76个字节传送到200PLC以为开始的76个字节中去。
上图中的意思是:当为“1”,且为1的时候读取200PLC里以为开始的76个字节存放到300PLC的以为开始的76个字节里面。
特别提示:MPI的默认通讯速率是s,需要将200对应接口的通讯速率也改成s
S7-300和200的通讯不只是只能传递V区的数据
如下图程序:
当为“1”的时候,CPU调用SFC68(X_PUT)把S7-300中的数据MB6写入S7-200(站地址为
4)的QB0中
?
当为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:完成位
上图中的信息意思是:当和接通的时候把为起始的76个字节的数据的3号数据包写入到MPI地址是3的PLC中。
在另外一台PLC(MPI地址中SFC65中的对方地址相同)内编写SFC66接收数据:
EN_DT:等于“1”的时候发送数据
RET_VAL:错误代码
REQ_ID:接收数据编号
NDA:检测数据
RD:接收数据存放的地点
S7300 以太网通讯:
单边通讯:S7协议西门子内部协议
双边通讯:tcp/iso/udp 开放式以太网
Profinet IO (IO设备扩展)总线
200/300/400/1200/1500 之间可以通过S7协议进行通讯
单边通信控制个数8台
使用S7314C-2PN/DP 与smart200 进行S7 通讯
1.smart200 PLC 只能作为服务器
2.
3.连线
4.
在OB1中调用程序:
SFB14 GET 读
SFB15 PUT 写
库---SIMATIC-NET-CP—Cp-300----FB14 GET读FB15 PUT写
S7-300:在REQ的上升沿处读取数据。
在REQ的每个上升沿处传送参数ID、ADDR_1和RD_1。
在每个作业结束之后,可以分配新数值给ID、ADDR_1和RD_1参数
开放式以太网:双边通讯--需要扩展CP模块
UDP/ISO/TCP
S7:服务器和客户机
ISO:工业以太网--速度块(MAC地址)100M--1000M
TCP/IP 以太网(IP地址)10M---100M
以太网模块需要去选择:有支持UDP/ISO/TCP
支持S7协议
支持Profinet io
双边通讯:A发送数据到缓存区---B通过读取命令去缓存区读取数据
在OB1中编程PLC1
库---SIMATIC NET CP--CP300
FC5
PLC2 OB1中调用库---SIMATIC NET CP--CP300
FC6
Profinet IO 通讯(总线)
1.扩展IO(分布式机架)通过CP自带网口扩展
总线是IO设备---IO通讯I:读取数据Q:发送数据
非总线MPI/以太网---全局通讯I/Q/M/DB区都可以进行数据传输。