S7-300的MPI通讯

时间:2023-03-17来源:佚名
MPI通信最多15个CPU,包括MPI全局通讯,单边通讯和双边通讯
MPI的全局通讯(300plc和300PLC):
MPI的全局通讯一个包最多22个字节,最多4个数据包(一个发送,一个接收算一个数据包)
硬件的配置(我们在一个项目里面组态三个CPU)

S7-300的MPI通讯
注意在组态的时候建立的是MPI通讯,不是DP通讯
PLC1里进行硬件组态:

S7-300的MPI通讯

S7-300的MPI通讯

S7-300的MPI通讯

S7-300的MPI通讯

S7-300的MPI通讯

在PLC2里进行硬件组态:

S7-300的MPI通讯
在PLC3里进行硬件组态:
(和PLC2的CPU属性设置相同,地址更改为3)

S7-300的MPI通讯

S7-300的MPI通讯

S7-300的MPI通讯

S7-300的MPI通讯

S7-300的MPI通讯

S7-300的MPI通讯

我们在PLC里面不用编辑通讯的程序,只需在PLC1里给MB0开始的22个字节赋值,在PLC2里给MB0开始的22个字节解压使用即可。
程序的下载步骤:
一,先下载PLC1,使用编程电缆连接PLC1上的MPI接口

S7-300的MPI通讯
二,下载完PLC1的项目程序后,我们开始下载PLC1的全局通讯的通讯信息

S7-300的MPI通讯

S7-300的MPI通讯

三,下载PLC2,使用编程电缆连接PLC2上的MPI接口

S7-300的MPI通讯

四,下载完PLC2的项目程序后,我们开始下载PLC2的全局通讯的通讯信息

S7-300的MPI通讯

下载完成,连接上MPI通信电缆,测试通讯情况
MPI单边通讯(300的PLC和300的PLC):
单边通讯主要用在PLC与PLC之间的通讯,一个发送和接受最多76个字节
特别提示:因为通讯程序没有必要每个扫描周期都运行,所以我们可以把通讯程序放到OB35(循环中断)里面
下面我们开始单边通讯300对300的编程:
我们使用系统功能SFC68发送,SFC67接受
下面我们在PLC1里面进行编程:
SFC68发送数据

S7-300的MPI通讯

S7-300的MPI通讯
REQ:等于“1”的时候发送数据
C0NT:保持通讯,(是否使用这个SFC68进行发送),常为“1”
DEST_TD:通讯对方的地址
VAR_ADDR:对方接收数据的的缓存区(把要发送的数据放到对方的什么地方)
SD:本地需要发送的数据
REST_VAL:错误代码
BUSY:完成位
上图中SFC68的意思为,当M1.0为“1”,且M1.1为“1”,时向MPI地址是3的PLC中发送M0.0开始的20个字节,存到对方DB1.DB1000.0开始的20个字节中去。

S7-300的MPI通讯
SFC67接收数据
同样在标准库中找到SFC67:

S7-300的MPI通讯
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.DBX2000.0开始的76个字节存到自己PLC里从M100.0开始的76个字节中。
分别把PLC的程序下载到相应的CPU内,连接MPI通讯电缆测试
MPI单边通讯(300的PLC和200的PLC):

S7-300的MPI通讯
S7-300为主站,S7-200为从站
(MPI通讯也可以通过EM277进行,EM277拨码开关地址要和300编程时填写的对方通讯地址相同)
和200的单边通讯方式和300对300的通讯相同,都需要使用SFC67和SFC68,进行数据的接收和发送。

S7-300的MPI通讯
上图中的信息意思是:当M200.0为“1”,且M200.1为“1”的时候把300PLC的以M0.0为开始的76个字节传送到200PLC以V0.0为开始的76个字节中去。

S7-300的MPI通讯
上图中的意思是:当M200.4为“1”,且M200.5为1的时候读取200PLC里以V1.0为开始的76个字节存放到300PLC的以M100.0为开始的76个字节里面。
特别提示:MPI的默认通讯速率是187.5kbit/s,需要将200对应接口的通讯速率也改成187.5kbit/s
S7-300和200的通讯不只是只能传递V区的数据
如下图程序:
S7-300的MPI通讯
当M1.1为“1”的时候,CPU调用SFC68(X_PUT)把S7-300中的数据MB6写入S7-200(站地址为
4)的QB0中

S7-300的MPI通讯
当M1.5为1的时候,S7-300会将S7-200的IB0的数值读取到S7-300的MB7中
MPI双边通讯(300PLC和300PLC)
MPI的双边通讯需要使用系统功能SFC65发送和SFC66接收、
SFC65发送数据:
S7-300的MPI通讯

S7-300的MPI通讯

SFC65,发送数据
REQ:等于“1”的时候发送数据
C0NT:保持通讯,(是否使用这个SFC65进行发送),常为“1”
DEST_TD:通讯对方的地址
REQ_ID:数据编号,(常填写本地MPI地址)
SD:要发送的数据块
REST_VAL:错误代码
BUSY:完成位
上图中的信息意思是:当M5.0和M5.1接通的时候把DB1.DBX3000.0为起始的76个字节的数据的3号数据包写入到MPI地址是3的PLC中。
在另外一台PLC(MPI地址中SFC65中的对方地址相同)内编写SFC66接收数据:

S7-300的MPI通讯
EN_DT:等于“1”的时候发送数据
RET_VAL:错误代码
REQ_ID:接收数据编号
NDA:检测数据
RD:接收数据存放的地点
上图中的信息意思是:当M6.0为“1”的时候,接收对方发来的信息,存放到DB1.DB3100.0开始的76个字节中。

    相关阅读

    软启动器12个故障代码

    软启动器常见故障问题的故障代码,参考如下: 1、故障代码Err01 故障类容:→断相;说明:主电路任意一相断相。 2、故障代码Err02 故障类容:→过电流;说明:超过额定电流12倍。 3、故...
    2022-11-26

    电动车电池看参数的三种方法,轻松查看电动车电池型号

    新买的电动车电池是什么型号的,很多人并不是很清楚,而在需要换电池时搞不清楚型号就会很麻烦,那么电动车电池规格怎么,怎么来识别电动车电池的型号,与电工天下小编一起来...
    2022-11-30

    电焊机电流调到多少合适,根据焊条大小及焊接对象做调整

    2.5焊条电焊机电流大小应根据焊条的种类来定: 1、一般碳钢焊条焊接电流调到100A左右,不锈钢焊条稍低点。 2、焊方管2.5焊条电流: 60-80A电焊机利用正负两极在瞬间短路时产生的高温电...
    2023-01-09
    电焊机电流调到多少合适,根据焊条大小及焊接对象做调整

    电动机的启动电流如何计算,电动机启动电流计算公式

    有关电动机启动电流的计算方法,三相电机启动电流瞬时是正常的多少倍,电动机的启动电流是额定电流 的多少,电动机 启动电流计算公式与实例,感兴趣的朋友参考下。 电动机启动...
    2022-11-22
    电动机的启动电流如何计算,电动机启动电流计算公式

    【电力用户怎么分级,电力用户分类标准】

    【电力用户怎么分级,电力用户分类标准】 有网友咨询,电力用户怎么分级,针对分级的问题,电力用户分为一级用户至三级用户,那么电力用户分类标准是怎么样的,电力客户分级和...
    2022-12-10
    【电力用户怎么分级,电力用户分类标准】

    插座发出滋滋滋的声音是什么原因

    首先最有可能的原因就是电源线与插座接线端子接触不牢固,而造成的虚接,进而产生电弧也就是我们俗称的电火花,就会发出的滋滋声音。 插座内由于质量问题,电源接线柱与插头触...
    2022-11-10
    插座发出滋滋滋的声音是什么原因

    电焊机怎么调,电流与电压调整方法

    电焊机的调整方法,具体参考如下: 1、先把电流旋钮调到最小,把电压旋钮调到最大,试焊一下,不要动电压旋钮,逐步调大电流,直到能正常焊接时停上。 2、反过来,把电流旋钮先...
    2023-01-09
    电焊机怎么调,电流与电压调整方法

    安装西门子软件时提示重启电脑的解决办法

    在 西门子软件安装 时,比如:WinCC、Step7、SIMATIC NET SQL Server for WINCC等软件,有时候并不是很顺利,经常提示要重启,而且重启之后还是提示重启,一直循环提示,这个问题可以通过下面...
    2023-03-09
    安装西门子软件时提示重启电脑的解决办法

    网站栏目