现场培新现场总线.docx
《现场培新现场总线.docx》由会员分享,可在线阅读,更多相关《现场培新现场总线.docx(65页珍藏版)》请在冰豆网上搜索。
现场培新现场总线
项目一设置MPI参数
一、项目介绍
MPI是MultipointInterface的简称,S7-300/400CPU都集成了MPI通讯协议,PLC通过MPI能同时连接运行STEP7的编程器、计算机、人机界面(HMI)及其它SIMATICS7、M7和C7。
是当通讯速率要求不高、通讯数据量不大时,可以采用的一种简单经济的通讯方式。
通过项目,熟悉MPI通信,学会对MPI参数进行设置,并了解各个参数的含义。
二、项目设备
1、PS3072A1只
2、CPU313C-2DP1只
3、电脑1台
4、CP5611通讯卡或PC适配器1只
5、配套软件STEP7V5.2
三、项目内容
1、在SIMATICManager下建立一个项目,并加入一个300Station。
点击“Options”,选择“SetPG/PCInterface”。
图1.1
这时会弹出“SetPG/PCInterface”对话框,计算机上要是没有安装CP5611通讯卡,请选择“PCAdapter(MPI)”(见图1.2)。
双击“PCAdapter(MPI)”,使用COM1口(见图1.3),然后点击OK。
图1.2
图1.3
如果计算机上已经安装了CP5611通讯卡后,则可以选择CP5611(MPI)(见图1.4),点击OK即可。
图1.4
注意:
MPI通信速率设置为187.5Kbps。
图1.5
2、打开HWConfig,双击CPU,弹出CPU属性框。
图1.6
点击“Properties”,对MPI地址及通讯速率进行设置(见图1.7)。
图1.7
注意:
在整个MPI网络中通讯速率必须保持一致,且各MPI站地址不能冲突。
3、设置完成后,将STEP7中的组态信息下载到CPU中。
四、项目说明
1、PCAdapter(PC适配器),一端连接PC的RS232口或通用串行总线(USB)口,另一端连接CPU的MPI,它没有网络诊断功能,通讯速率最高为1.5Mbit/s,价格较低。
2、CP5611PCI卡,用于台式计算机编程和通信,,此卡具有网络诊断功能,通信速率最高为12Mbit/s,价格适中。
3、MPI最大通信距离为50m,每个CPU可以使用MPI连接总数与CPU的型号有关,为6~64个。
4、MPI默认的传输速率为187.5Kbps,在通常应用中不要改变MPI通信速率。
项目二利用全局数据通信方式实现PLC之间的MPI通信
一、项目介绍
对于PLC之间的数据交换,只需关心数据的发送区和接收区,全局数据(GD)的通信方式是在配置在PLC硬件的过程中,通过MPI接口在CPU之间循环交换数据,用全局数据表来设置个PLC站之间的数据发送区和接收区,不需要任何程序处理,通信是自动实现的。
进一步熟悉MPI通信,学会利用全局数据的方式进行PLC之间的通信。
二、项目设备
1、PS3072A2只
2、CPU313C-2DP2只
3、电脑1只
4、MPI电缆1根
5、配套软件STEP7V5.2
三、项目内容
1、在SIMATICManager接口下,建立一个项目,加入两个300Station。
然后在HWConfig中分别对这两个300Station进行硬件组态,注意,这两个PLC的MPI地址不能冲突,同时CPU必须挂到MPI网络中(见图2.1)。
在SIMATICManager界面里点击
按钮,进入NetPro接口也可以看到两只PLC在MPI网络中的连接情况(见图2.2)。
图2.1
图2.1
2、上述工作完成后,就组态数据的发送区和接收区,再次回到SIMATICManager接口,选中MPI网络标志(见图2.2)。
点击“Options”,选择“DefineGlobalData”,进入全局数据组态画面(见图2.3)。
图2.2
图2.3
3、在全局数据画面中,插入所需要通信的CPU。
双击“GDID”所在的最上面一行中“GDID”右边的方格,在出现的“SelectCPU”对话框中,双击第一个站的CPU313C-2DP的图示(见图2.4),CPU313C-2DP便出现在最上面一行指定的方格中(见图2.5),用同样
图2.4
的方法将另一个CPU放置在最上面一行。
图2.5
4、组态数据的发送区和接收区。
在CPU下面一行中生成1号GD环1号GD包中的1号数据,即将SIMATIC300
(1)中CPU的MW0发送到SIMATIC300
(2)中CPU的QW0(见图2.6)。
图2.6
首先在SIMATIC300
(1)下面的单元中输入发送的全局数据的地址MW0,点击菜单栏里的
按钮,该单元变为深色,同时在单元中的左端出现“〉”符号,表示SIMATIC300
(1)的CPU为发送站。
点击SIMATIC300
(2)下面的单元,输入QW0,该单元的背景为白色,表示SIMATIC300
(2)的CPU是接收站。
完成全局数据的输入后,点击菜单栏里的
按钮进行编译,将各单元中的变量组合为GD包,同时生成GD环,最后下载到CPU中。
注意:
输入全局数据时只能输入绝对地址,不能输入符号地址。
包含定时器和计数器地址的单元只能作为发送方。
在每一行中应定义一个并且只能有一个CPU作为数据的发送方。
同一行中各单元的字节数应相同。
四、项目说明
1、这种通信方式只适合S7-300/400PLC之间互相通信。
2、S7-300CPU可以发送和接收的GD的个数(4个或8个)与CPU的型号有关,每个GD包地址区长度最大为22个字节;S7-400CPU可以发送和接收GD包的个数与CPU型号有关,可以发送8个或16个GD包,接收16个或32个GD包,每个GD包地址区长度最多64个字节。
3、在全局数据画面中,CPU栏总共有15列,这就意味着最多有15个CPU能够参与通信。
4、全局数据(GD)可以是输入和输出、标记、数据块中的数据、定时器和计数器。
5、编译后,每一行通信区都会有GDID号(见图2.7)。
图2.7
参数A:
全局数据的循环数。
每一个循环数表示和一个CPU通信。
例如S7-300CPU通信,两个发送和接收是一个循环,S7-400CPU之间的3个发送和接收市一个循环。
支持的循环数与CPU有关,S7-300CPU最多为4个,即最多能和4个CPU通信。
S7-400CPU414-2DP最多为8个,S7-400CPU416-2DP最多为16个。
参数B:
全局数据包的个数。
表示一个循环有几个全局数据包,例如两个S7站互相通信,一个循环有两个数据包(见图2.8)。
图2.8
参数C:
一个数据包里的数据的数据区数,(见图2.9)SIMATIC300
(1)的CPU发送3组数据到SIMATIC300
(2)的CPU,3个数据区是一个数据包。
图2.9
项目三不用连接组态的MPI通信
一、项目介绍
不用连接组态的MPI通信用于S7-300之间、S7-300/400之间、S7-300/400与S7-200之间的通信,是一种应用广泛、经济的通信方式。
无组态的MPI通信需要调用系统功能块SFC来实现,通过调用SFC来实现的MPI通信又可分为两种方式:
单边编程通信方式和双边编程通信方式。
二、项目设备
1、PS3072A2只
2、CPU313C-2DP2只
3、电脑1台
4、MPI电缆1根
5、配套软件STEP7V5.2
三、项目内容
(一)双边编程通信方式
1、在SIMATICManager界面下,建立一个项目,加入两个300Station。
然后在HWConfig中分别对这两个300Station进行硬件组态,设置MPI地址,在这里SIMATIC300
(1)的CPU的MPI地址为2,SIMATIC300
(2)的CPU的MPI地址为4。
最后把组态信息下载到两台PLC中。
2、首先在SIMATIC300
(1)的CPU下插入OB35,把发送方的程序写入OB35中(见图3.1)。
图3.1
3、双击OB35进入程序编辑界面,点击“Libraries”→“StandardLibrary”→“SystemFunctionBlocks”,选择SFC65“X_SENG”(见图3.2)。
图中当REQ的值等于“TURE”后就把M20.0开始的5个字节发送出去。
图3.2
4、发送站的程序编好后,接下来在SIMATIC300
(2)的CPU的OB1里编写接收方程序。
同样双击OB1进入程序编辑界面,点击“Libraries”→“StandardLibrary”→“SystemFunctionBlocks”,选择SFC66“X_RCV”(见图3.3)。
通过下面这个程序SIMATIC300
(2)的CPU就可以接收SIMATIC300
(1)的CPU发送过来的数据,并存放在MB50~MB54中。
图3.3
注意:
在程序编写时SFC65“X_SENG”和SFC66“X_RCV”必须成对使用。
(二)单边编程通信方式
与双边编程通信方式不同,单边编程通信只要在一方PLC内编写程序就可以,无论这一方PLC是作为发送方还是作为接收方,即单边编程通信方式带有强制性。
1、同样在SIMATICManager界面下,建立一个项目,加入两个300Station。
硬件组态与做双边编程通讯方式相同。
把组态信息下载到CPU中。
2、在SIMATIC300
(1)的CPU下插入OB35,双击OB35进入程序编辑界面,点击“Libraries”→“StandardLibrary”→“SystemFunctionBlocks”,选择SFC68“X_PUT”(见图3.4)。
图3.4
3、双击SIMATIC300
(1)的CPU下的OB1,进入程序编辑界面,点击“Libraries”→“StandardLibrary”→“SystemFunctionBlocks”,选择SFC67“X_GET”(见图3.5)。
图3.5
建议:
无论运用双边编程通信方式还是单边编程通信方式,最好在SIMATICManager界面下插入OB82、OB86、OB122,并下载到CPU中,可以防止通信时系统出错。
四、项目说明
1、利用不用连接组态的MPI通信方式不能和全局数据通信方式混合使用。
2、对于单边编程通信方式,只有主动站才能调用系统功能块SFC67、SFC68。
3、在双边编程通信方式和单边编程通信方式中,每次块(SFC65、SFC66、SFC67、SFC68)调用最多76个字节的用户数据。
对于S7-300CPU,数据传送的数据一致性是8个字节,对于S7-400CPU则是全长。
如果连接到S7-200,必须考虑到S7-200只能用作一个被动站。
4、SFC65“X_SEND”参数说明
参数名
数据类型
参数说明
REQ
BOOL
发送请求,该参数为1时发送
CONT
BOOL
为1时表示发送数据是连续的一个整体
REST_ID
WORD
接收方(对方PLC)的MPI地址
REQ_ID
DWORD
任务标识符
SD
ANY
本地PLC的数据发送区
RET_VAL
INT
故障信号
BUSY
BOOL
通信进程,为1时表示正在发送,为0时表示发送完成
5、SFC66“X_RCV”参数说明
参数名
数据类型
参数说明
EN_DT
BOOL
接收使能
RET_VAL
INT
错误代码,=W#16#7000表示无错
REQ_ID
DWORD
接收数据包的标识符
NDA
BOOL
为1时表示有新的数据包,为0时表示没有新的数据包
RD
ANY
本地PLC的数据接收区
6、SFC68“X_PUT”参数说明
参数名
参数类型
参数说明
REQ
BOOL
发送请求,该参数为1时发送
CONT
BOOL
为1时表示发送数据是连续的一个整体
DEST_ID
WORD
接收方(对方PLC)的MPI地址
VAR_ADDR
ANY
接收方(对方PLC)的数据接收区
SD
ANY
发送方(本地PLC)的数据发送区
RET_VAL
INT
故障信息
BUSY
BOOL
通信进程,为1时表示正在发送,为0时表示发送完成
7、SFC67“X_GET”参数说明
参数名
参数类型
参数说明
REQ
BOOL
发送请求,该参数为1时发送
CONT
BOOL
为1时表示发送数据是连续的一个整体
DEST_ID
WORD
对方PLC的MPI地址
VAR_ADDR
ANY
要读取的对方的数据区
RET_VAL
INT
故障信号
BUSY
BOOL
通信进程,为1时表示正在发送,为0时表示发送完成
RD
ANY
本地PLC的数据接收区
项目四组态一个带DP接口的智能DP从站
一、项目介绍
在PROFIBUS-DP网络中,某些型号的CPU可以作为DP从站。
在SIMATICS7系统中,这些现场设备称为“智能(Interllingent)DP从站”简称为“I从站”。
是PROFIBUS-DP通信中典型的从站之一。
二、项目设备
1、PS3072A2只
2、CPU313C-2DP2只
3、电脑1台
4、PROFIBUS电缆1根
5、配套软件STEP7V5.2
三、项目内容
1、打开SIMATICManager,新建一个项目,插入两个300Station。
在这里把SIMATIC300
(1)定为“主站”,把SIMATIC300
(2)定为“从站”。
2、首先对“从站”进行硬件组态,插入CPU后双击DP弹出PROFIBUS组态界面(见图4.1)。
出现PROFIBUS组态界面点击“Properties”按钮,设置CPU的PROFIBUS地址,并把CPU挂到PROFIBUS总线中(见图4.2),这里“从站”CPU的PROFIBUS地址设为4。
图4.1
图4.2
然后再次进入PROFIBUS组态界面,选择“OperatingMode”,将CPU设置为“DPSlave”(见图4.3)。
“从站”组态好后保存,这时不用也不能编译和下载。
图4.3
3、“从站”硬件组态好后,对“主站”进行硬件组态。
“主站”的组态方法和“从站”相似,只是在“OperatingMode”中将CPU设置为“DPMaster”,CPU的PROFIBUS地址设为2。
当CPU被设置为“DPMaster”后,CPU上会出现一条PROFIBUSDP总线(见图4.4)。
图4.4
“主站”硬件设置好后,就可以把“从站”与“主站”相连。
具体做法是,选择“PROFIBUSDP”→“ConfiguredStations”→“CPU31x”(见图4.5),挂到PROFIBUSDP总线上。
图4.5
这时会出现DP从站向导对话框(见图4.6),在对话框中有刚刚组态好的“从站”信息,点击“Connect”按钮,“从站”就挂入PROFIBUSDP总线中,与“主站”构成PROFIBUSDP通信(见图4.7)。
图4.6
图4.7
4、当“从站”挂入PROFIBUSDP总线,同样在DP从站向导对话框中选择“Configuration”,对通信接口区进行设置(见图4.8)。
图4.8
点击“New”,进行通信接口区设置(见图4.9)。
图4.9
Mode:
通信模式,在这里只能进行主从通信的模式。
DPaddress:
PLC的DP地址。
Addresstype:
选择“Output”对应输出区,“Input”对应输入区。
注意:
在这里一个PLC设置为“Output”,那么另一个PLC只能使“Input”。
Address:
设置通信数据区的起始地址。
注意:
通信区起始地址占用本地PLC的I/O地址,所以通信区起始地址不能与PLC自身的I/O地址冲突。
Length:
设置通信区域大小,最多32个字节。
Unit:
选择是按字节(byte),还是按字(word)来通信。
Consistency:
选择“Unit”是按在“Unit”定义的数据格式发送,即按字节或字发送;若选择“All”表示是打包发送,每包最多32个字节。
此时通信数据大于4个字节时,应用SFC14、SFC15。
设置完成后点击“Apply”按钮确认,同样可以根据实际通信数据建立若干行,但最大不能超过244个字节(见图4.10)。
图4.10
最后,硬件组态完成,“主站”、“从站”都进行编译、下载。
建议:
在两个PLC进行主从通信时,原则上先组态从站的硬件。
5、主从站硬件组态完成后,对程序进行编辑。
当两个PLC通信传送的数据量不大于4个字节时,可以直接用“MOVE”指令传送。
在“主站”中编写发送程序(见图4.11)。
图4.11
在“从站”中编写接收程序(见图4.12)。
图4.12
上面的程序就是主站从I0.0开始发送两个字节到从站,从站的接收区域为Q0.0开始的两个字节。
其中,QW10和IW10分别对应的是两个PLC通信数据区的地址。
6、但是如果要传送的数据量大于4个字节时,用“MOVE”指令就做不到了,需要调用SFC14“DPRD_DAT”和SFC15“DPWR_DAT”。
在“Libraries”→“StandardLibrary”→“SystemFunctionBlocks”中可以调用到SFC14、SFC15。
我们先分别在“主站”和“从站”中加入一个数据块DB1、DB2,作为发送数据和接收据的存放区。
接下来同样在“主站”中编写发送程序(见图4.13),“从站”中编写接收程序(见图4.14)。
图4.13
图4.14
建议:
一定要在SIMATICManager界面下插入OB82、OB86、OB122,并下载到CPU中,可以防止通信时系统出错。
四、项目说明
1、SFC14“DPRD_DAT”参数说明
参数名
参数类型
参数说明
LADDR
WORD
要读出数据的模块输入映像区的起始地址,必须用十六进制格式
RECORD
ANY
存放读取的用户数据的目的数据区,只能使用BYTE数据类型
RET_VAL
INT
返回的故障代码
2、SFC15“DPWR_DAT”参数说明
参数名
参数类型
参数说明
LADDR
WORD
要写入数据的模块输出映像区的起始地址,必须用十六进制格式
RECORD
ANY
存放要写出的用户数据的源区域,只能使用BYTE类型
RET_VAL
INT
返回的故障代码
3、主站-从站通信数据区对应关系
项目五CPU集成PROFIBUS-DP接口连接远程站ET200M
一、项目介绍
ET200系列是远程I/O站,为减少信号电缆的敷设,可以在设备附近根据不同的要求放置不同类型的I/O站,如ET200M、ET200B、ET200X、ET200S等,ET200M是典型的模块化的分布式I/O,它适用在远程站点I/O点数量较多的情况下使用。
ET200M实物图
二、项目设备
1、PS3072A1只
2、CPU313C-2DP1只
3、ET200M接口模块IM153-11只
4、电脑1台
5、PROFIBUS电缆1根
6、配套软件STEP7V5.2
三、项目内容
1、新建一个项目,加入一个300Station。
在HWConfig中对CPU进行硬件组态,首先设置CPU的DP地址,这里设置为2,并将CPU定位“DPMaster”,这时会出现PROFIBUSDP总线。
然后,从“PROFIBUSDP”→“ET200M”→“IM153-1”里选择订货号与实际硬件设备一致的ET200M接口模块IM153-1(见图5.1)。
图5.1
注意:
在STEP7软件中会出现多个ET200M接口模块IM153-1,但只能选择与实物订货号相同的一个。
把订货号与实际硬件设备一致的IM153-1关入PROFIBUSDP总线中(见图5.2)。
会弹出IM153-1属性对话框(见图5.3),设置IM153-1的DP地址,本例中IM153-1的DP地址是4。
图5.2
图5.3
注意:
IM153-1的DP地址设置必须与实物上拨盘开关所设置的地址一致,否则将出错影响正常使用。
2、双击挂入PROFIBUSDP总线中IM153-1模块可以弹出DP从站向导对话框,点击“PROFIBUS”按钮后可以更改IM153-1的DP地址(见图5.4),但更改的地址也必须与实物上拨盘开关所设置的地址一致。
图5.4
单击关入PROFIBUSDP总线中IM153-1模块,再从“PROFIBUSDP”→“ET200M”→“IM153-1”下选择所需要插入I/O模块(见图5.5)。
然后把模块放入IM153-1所在的机架中(见图5.6)。
注意:
与插入CPU一样,机架中的第3槽是放特殊的接口模块,一般的模块不能放到第3槽。
图5.5
图5.6
注意:
IM153-1后所带的I/O模块地址是占用PLC自身的I/O地址,所以地址设置不能与PLC所带的I/O模块地址冲突。
硬件组态过程中,配置尽量要与实际硬件设备相一致,可以减少出错的机率。
最后把硬件组态信息下载到CPU中去。
3、由于IM153-1后所带的I/O模块地址是占用PLC自身的I/O地址,在程序编辑上就和在一台PLC中编程一样(见图5.7和5.8)。
图5.7
图5.8
建议:
一定要在SIMATICManager界面下插入OB82、OB86、OB122,并下载到CPU中,可以防止通信时系统出错。
四、项目说明
1、ET200M可以使用S7-300全系列模块,最多可以扩展8个模块,连接256个I/O通道。
2、ET200M的接口模块IM153-1在使用后面必须接有I/O模块,否则IM153-1不能正常使用。
另外,在硬件组态中所配置的模块信息必须和实际IM153-1后接的I/O模块一致,不然IM153-1上的SF灯会亮,无法正常使用。
项目六利用CP342-5进行PROFIBUSDP通信
一、项目介绍
CP342-5是将SIMATICS7-300和S7系列PLC连接到PROFIBUSDP总线系统的低成本的DP主/从站接口模块。
它减轻了CPU的通信负担,可以提供PROFIBUS、S7通信、S5兼容通信功能和PG/OP(编程器/操作员面板)通信,通过PROFIBUS进行配置和编程。
CP342-5实物图
二、项目设备
1、PS3072A1只
2、CPU313C-2DP1只
3、CP342-51只
4、ET200M接口模块IM153-11只
5、电脑1台
6、PROFIBUS电缆1根
7、配套软件STEP7V5.2
三、项目内容
(一)CP342-5作为DP主站进行PROFIBUS通信
1、新建一个项目,加入一个300Station。
对CPU进行硬件组态,把CPU的MPI地址和DP地址都设为2,在“SIMATIC300”→“PROFIBUS”→“CP-300”下选择与实际硬件相一致的CP342-5模块(见图6.1),拖入机架。
图6.1
当CP342-5拖入机架后会弹出属性对话框,设定CP342-5的地址为4,选择