西门子6ES72221HH320XB0
1 FM352-5高速布尔处理器简介
通过编程,这些逻辑单元被分配一些如与、或、非、置位/复位等功能,系统设计师可以根据需要通过连接FPGA内部的逻辑单元和逻辑功能,就好像连接一个电路试验板,完成所需要的特定功能。最终程序将成为通过连接逻辑单元形式的硬件结构的一部分,这些硬件结构的程序组件好像通过连接的继电器控制回路一样并行执行,响应快速并且响应时间基于常数,FM352-5的扫描周期固定为1цs。
独立安装时通过模块集成的输入、输出信号对受控设备进行操作并读出反馈状态,由于没有额外的通信接口而不能通过人机界面进行操作。安装于S7-300 中央机架中,CPU与FM352-5数据交换过程如图3所示:
FM352-5模块通过集成的输入接口接收编码器信号和数字量输入信号,通过背板通信总线接收CPU发送的命令信号(图中为输出缓存,如果FM352-5独立安装,只能通过集成的接口接收输入信号),经过FPGA(现场可编程门阵列)处理后直接通过模块集成的输出点输出,运算数据也可以通过输入缓存作为状态信号反馈到CPU。CPU与FM352-5间的通信数据经过接口函数块的处理后进入CPU的用户数据区,FM352-5与CPU之间的数据交换也可以通过FM352-5的逻辑地址区直接通信。
连接器使用的方式相当于中间变量,使用梯形图编写的FM352-5程序存储于一个FB块中,所有的变量使用在FB块中定义的形参,连接器变量使用固定的形参格式
在程序段1中,连接器#Conn.arrXcon[2] 的触点信号在它的输出线圈前引用,它的值将取自线圈上个扫描结果,所以RS触发器#FF.ThirdFF被看作相序1,在程序段2中,RS触发器#FF.MoreFFs[0] 相序为1,#FF.MoreFFs[1] 相序为2,连接器线圈
从图4中可以看到,#FF.MoreFFs[0]为相序1最先执行,#FF.MoreFFs[2]和#FF.MoreFFs[1] 同为相序2被同时执行。每一个程序段中最多可以串连11个(相序)具有保持功能的指令块,第十二个相序作为输出,如果利用连接器扩展,如图5中程序段2和程序段3中最多只能连接11个指令块,否则编译时报错。利用12相序的处理方式也保证FM352-5并行处理的稳定性——程序的执行周期固定为1цs。
3 输入输出端子接线
注1:
编码器的端子定义参考表2所示:
表2 编码器的端子定义
FM352-5模块可以连接下列类型的编码器:
1. S7通信简介
表1
要通过 S7-PN CPU 的 集成PROFINET 接口实现S7 通信,需要在硬件组态中建立连接。
新建以太网,打开“NetPro”设置网络参数,选中CPU,在连接列表中建立新的连接。如图4所示。
然后双击该连接,设置连接属性。在“General”属性中块参数ID = 1,这个参数即是下面程序中的参数“ID”。在SIMATIC 315PN-1中激活“Establish an active connection”,作为Client端,SIMATIC 315PN-2作为Server 端。
3.1. 无确认数据交换
程序中的参数说明见表2
表2 FB8参数说明
程序中的参数说明见表3
表3 FB9参数说明
同理,将SIMATIC 315PN-2 的MB100-MB109赋值为B#16#03,SIMATIC 315PN-1的MB110-MB119接收到B#16#03。如图8所示。
3.2. 确认数据交换
程序中的参数说明见表4
表4 FB12参数说明
程序中的参数说明见表5
表5 FB13参数说明
同样,在SIMATIC 315PN-2的OB1中,调用FB12/FB13。通信双方的R_ID设为0,LEN设为10,将SIMATIC 315PN-1的MB120-MB129赋值B#16#04,在SIMATIC 315PN-2中,将FB13的“EN_R”置1,然后在SIMATIC 315PN-1中,将FB12中“REQ”设置上升沿信号,此时SIMATIC 315PN-2的MB130-MB139接收到B#16#04。如图11所示。
FM352-5是一种现场可编程门阵列FPGA,FPGA包括输入、输出以及逻辑单元等可编辑元件用来实现一些基本的逻辑门电路, 如图1所示:
图1 FPGA 内部架构
FM352-5模块高速处理数字量输入、输出信号以及编码器信号,从读入数字量输入信号、CPU程序处理到信号的输出最小周期不到10цs,适合逻辑简单、要求快速响应的应用如速度测量、脉宽调制(最小20цs可调)输出等。由于FM352-5是布尔处理器,所以只能对布尔、字节、字、双字等信号进行处理,而不能处理浮点信号。
2 FM352-5工作方式
FM352-5具有独立的处理能力,安装方式灵活,可以安装于S7-300 PLC中央机架、分布式I/O ET200M中(可以是非西门子主站)、也可以独立安装。如图2所示:
图2 FM352-5的安装形式
图3 CPU与FM352-5数据交换示意图
普通CPU程序执行是以串行扫描的,FM352-5程序执行则是以并行扫描的,保证程序执行的快速性,由于程序从左到右并行执行,在不同程序行中对由同一信号产生的逻辑结果处理时,可能导致逻辑的先后次序错误,FM352-5使用连接器和多相时钟的技术使具有竞争条件的时序延迟,保证信号的正确性。连接器的使用规则如下:
? 如果连接器的触点在它的输出线圈以前引用,那么触点的值将取决于上个扫描结果。
? 如果连接器的触点在它的输出线圈以后引用,那么触点的值将取决于当前扫描结果。
连接的使用如图4所示:
图4 FM352-5连接的使用
#Conn.arrXcon,在图2程序段1的程序中,连接器#Conn.arrXcon[8]和#Conn.arrXcon[9] 的触点信号在输出线圈#Conn.arrXcon[8]以前引用,所以它们的值将取自线圈上个扫描结果。在程序段4的程序中,连接器#Conn.arrXcon[8]和#Conn.arrXcon[9]的触点信号在它的输出线圈#Conn.arrXcon[8]以后引用,所以它们的值将取自线圈当前扫描结果。如果在不同程序段相对于连接器使用具有保持功能的指令块如计数器、定时器、RS触发器、沿检测、位移寄存器等时(参考表8),模块通过多相时钟管理这些指令块正确的时序,例子程序如图5所示:
图5 保持功能块的多相定时
#Conn.arrXcon[2]在相序1后输出。在程序段3中,通过连接器触点#Conn.arrXcon[2]将RS触发器#FF.MoreFFs[2]连接到程序段2的相序1后,同样被看作为相序2,程序段3相当于程序段2的扩展部分,这样程序执行相序图(顺序)如图6所示:
图6 12相序定时和I/O时序图
FM352-5集成最多15个数字输入,8个数字输出和一路编码器输入信号。输入输出端子的定义参考表1所示:
表1 FM352-5输入输出端子定义
端子号
输入/输出
名称
功能
指示灯
1
2M
2区电源公共端-输入输出电路
-
2
输入
I 0
输入
绿灯
3
输入
I 1
输入
绿灯
4
输入
I 2
输入
绿灯
5
输入
I 3
输入
绿灯
6
输入
I 4
输入
绿灯
7
输入
I 5
输入
绿灯
8
输入
I 6
输入
绿灯
9
输入
I 7
输入
绿灯
10
见注1
2区电源端-输入输出电路
-
11
输出
Q0
源输出/源输入型输出(见注2)
绿灯
12
输出
Q1
源输出/源输入型输出(见注2)
绿灯
13
输出
Q2
源输出/源输入型输出(见注2)
绿灯
14
输出
Q3
源输出/源输入型输出(见注2)
绿灯
15
输出
Q4
源输出/源输入型输出(见注2)
绿灯
16
输出
Q5
源输出/源输入型输出(见注2)
绿灯
17
输出
Q6
源输出/源输入型输出(见注2)
绿灯
18
输出
Q7
源输出/源输入型输出(见注2)
绿灯
19
2L+
2区电源端输出-输入输出电路
-
20
2M
2区电源公共端-输入输出电路
-
订货号为FM352-5AH00-0AE0模块,管脚10为2M,作为2区输入输出电路公共端。
订货号为FM352-5AH10-0AE0模块,管脚10为2L+,作为2区输入输出电路电源端。
注2:
订货号为FM352-5AH00-0AE0模块带有漏型(NPN)输出。西门子6ES72221HH320XB0
订货号为FM352-5AH10-0AE0模块带有源型(PNP)输出。
根据现场信号和工艺的要求选择漏型或者源型输出的FM352-5模块,漏型比源型输出的响应频率高。
端子号
输入/输出
名称
功能
指示灯
5V编码器
SSI Master
SSI Listen
24V编码器
21
3L+
3区电源端-编码器电路
-
22
3M
3区电源公共端-编码器电路
23
3M
3区电源公共端-编码器电路
24
输出
5V输出
5.2V 编码器电源
红灯
25
输出
24V输出
24V 编码器电源
红灯
26
输入
编码器
A
DATE
DATE
I 12+
27
输入
编码器
/A
/DATE
/DATE
I 12 -
28
输入
编码器
B
I 13+
CLOCK
I 13+
29
输入
编码器
/B
I13 -
/CLOCK
I 13 -
30
输入
编码器
N
I 14+
I 14+
I 14+
31
输入
编码器
/N
I 14-
I 14-
I 14-
32
输入
编码器
-
CLOCK
-
-
33
输入
编码器
-
/CLOCK
-
-
34
-
-
-
-
35
-
-
-
-
36
输入
I 8
I 8
I 8
I 8
I 8
绿灯
37
输入
I 9
I 9
I 9
I 9
A
绿灯
38
输入
I 10
I 10
I 10
I 10
B
绿灯
39
输入
I 11
I 11
I 11
I 11
N
绿灯
40
3M
3区电源公共端-编码器电路
-
? 5V RS422对称脉冲串增量型编码器
? 24V非对称脉冲增量型编码器
? 具有同步串行接口SSI的型绝对值编码器,模块具有Master或Listen接口
通过模块的硬件配置选择连接编码器的类型,同时只能连接一个编码器。编码器的使用将占用对应的输入信号,例如,连接24V增量型编码器时I9、I10、I11被占用。如果没有连接编码器,接收编码器信号的端子可以作为数字量输入信号,最多15个数字输入,其中包括3个差分输入信号I12、I13和I14。
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET网络的一种优化的通信协议,主要用于S7300/400PLC之间的通信。SIMATIC S7- PN CPU包含一个集成的 PROFINET 接口,该接口除了具有 PROFINET I/O功能,还可以进行基于以太网的S7通信。SIMATIC S7- PN CPU支持无确认数据交换、确认数据交换和单边访问功能。功能块的调用如图1、图2所示。
块
S7-400
块
S7-300
描述
简要描述
SFB 8
FB 8
用于发送
无确认的快速数据交换,发送数据后无对方接收确认。
SFB 9
FB 9
用于接收
SFB 12
FB 12
用于发送
确认数据交换,发送数据后有对方接收确认。
SFB 13
FB 13
用于接收
SFB 14
FB 14
读数据
单边编程读访问。
SFB 15
FB 15
写数据
单边编程写访问。
图1
图2
2. 硬件及网络组态
CPU采用两个315-2PN/DP,使用以太网进行通信。
在STEP7中创建一个新项目,项目名称为PN S7。插入两个S7-300站,在硬件组态中,分别插入CPU 315-2 PN/DP。如图3所示。
图3
图4
3. 软件编程
SFB/FB 8 "USEND" 向类型为“URCV”的远程伙伴SFB/FB发送数据。执行发送过程而不需要和SFB/FB伙伴进行协调。也就是说,在进行数据传送时不需要伙伴SFB/FB进行确认。
S7-300:在REQ的上升沿处发送数据。在REQ的每个上升沿处传送参数R_ID、
ID和SD_1。在每个作业结束之后,可以给R_ID、ID和SD_1参数分配新数值。
S7-400:在控制输入REQ的上升沿处发送数据。通过参数SD_1到SD_4来指向要
发送的数据,但并非都需要用到所有四个发送参数。
然而,必须确保参数SD_1到SD_4/SD_1和RD_1到RD_4/RD_1 (在相应通讯伙
伴SFB/FB "URCV" 上)所定义的区域在以下几个方面保持一致:
? ?编号
? ?长度
? ?数据类型
参数R_ID必须在两个SFB中完全相同。如果传送成功完成,则通过状态参数DONE来表示,此时其逻辑数值为1。
SFB/FB 9 "URCV" 从类型为“USEND”的远程伙伴SFB/FB中异步接收数据,并
把接收到的数据复制到组态的接收区域内。
当程序块准备好接收数据时,EN_R输入处的逻辑值为1。可以通过EN_R=0来取
消一个已激活的作业。
S7-300:在EN_R的每个上升沿处应用参数R_ID、ID和RD_1。在每个作业结束
之后,可以给R_ID、ID和RD_1参数分配新数值。
S7-400:通过参数RD_1到RD_4来指向接收数据区。
必须确保参数RD_i/RD_1和SD_i/SD_1 (在相应通讯伙伴SFB/FB "USEND"
上)所定义的区域在以下几个方面保持一致:
?? 编号
? ?长度
? ?数据类型。
通过NDR状态参数逻辑数值为1来指示已经成功完成复制处理过程。参数R_ID必须在两个SFB/FB上完全相同。
打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB8,FB9如图5、图6所示:
图5
参数
描述
数据类型
存储区
描述
REQ
INPUT
BOOL
I、Q、M、D、L
上升沿触发工作
ID
INPUT
WORD
M、D、常数
连接ID
R_ID
INPUT
DWORD
I、Q、M、D、L、常数
连接号,相同连接号的功能块互相对应发送/接收数据
DONE
OUTPUT
BOOL
I、Q、M、D、L
为1时,发送完成
ERROR
OUTPUT
BOOL
I、Q、M、D、L
为1时,有故障发生
STATUS
OUTPUT
WORD
I、Q、M、D、L
状态代码
S7-300:
SD_1
S7-400:
SD_i
(1 ≤ i ≤ 4)
IN_OUT
ANY
M、D、T、Z I、Q、M、D、T、C
发送数据区
图6
参数
参数
数据类型
存储区
描述
EN_R
INPUT
BOOL
I、Q、M、D、L、常数
为1时,准备接收
ID
INPUT
WORD
M、D、常数
连接ID
R_ID
INPUT
DWORD
I、Q、M、D、L、常数
连接号,相同连接号的功能块互相对应发送/接收数据
NDR
OUTPUT
BOOL
I、Q、M、D、L
为1时,接收完成
ERROR
OUTPUT
BOOL
I、Q、M、D、L
为1时,有故障发生
STATUS
OUTPUT
WORD
I、Q、M、D、L
状态代码
S7-300:
RD_1
S7-400:
RD_i
(1 ≤ i ≤ 4)
IN_OUT
ANY
M、D、T、Z I、Q、M、D、T、Z
接收数据区
同样,在SIMATIC 315PN-2的OB1中,调用FB8/FB9。通信双方的“R_ID”均设为0。将SIMATIC 315PN-1的MB100-MB109赋值B#16#02,在SIMATIC 315PN-2中,将FB9的“EN_R”置1,然后在SIMATIC 315PN-1中,将FB8中“REQ”设置上升沿信号,此时SIMATIC 315PN-2的MB110-MB119接收到B#16#02。如图7所示。
图7
图8
SFB/FB 12 "BSEND" 向类型为“BRCV”的远程伙伴SFB/FB发送数据。通过这种
类型的数据传送,更多的数据可以在通讯伙伴之间传输,超过任何其它用于组态的
S7连接的通讯SFB/FB所能传输的数据量,通过集成PN口的S7-400和S7-300是65534字节。
要发送的数据区是分段的。各个分段单独发送给通讯伙伴。通讯伙伴在接收到最后
一个分段时对此分段进行确认,该过程与相应SFB/FB "BRCV" 的调用无关。在调用块之后,当在控制输入REQ上有上升沿时,发送作业被激活。发送用户存储区中的数据与处理用户程序是异步执行的。
由SD_1指定起始地址和要发送数据的最大长度。可以通过LEN来确定数据域的作业指定长度。在这种情况下,LEN替换SD_1的长度区域。参数R_ID必须在相应的两个SFB/FB上完全相同。如果在控制输入R处有上升沿,则当前数据传送将被取消。如果传送成功完成,则通过将状态参数DONE的数值设置为1来进行指示。如果状态参数DONE或ERROR的数值为1,则在前一个发送处理结束之前,不能处理新的发送作业。
SFB/FB 13 "BRCV" 接收来自类型为“BSEND”的远程伙伴SFB/FB的数据。在收
到每个数据段后,向伙伴SFB/FB发送一个确认帧,同时更新LEN参数。在块调用完毕,并且在控制输入EN_R数值为1之后,块准备接收数据。可以通过EN_R=0来取消一个已激活的作业。
由RD_1指定起始地址和接收区的最大长度。由LEN指示已接收数据域的长度。
从用户存储区中接收数据与处理用户程序是异步执行的。参数R_ID必须在相应的两个SFB/FB上完全相同。通过状态参数NDR的数值为1来指示所有数据段的无错接收。接收到的数据保持不变,直到通过EN_R=1来重新调用SFB/FB 13为止。如果在数据的异步接收期间调用块,则将引发一个警告,该警告通过STATUS参数输出;如果当控制输入EN_R数值为0时进行调用,则接收将被终止,并且SFB/FB将返回到它的初始状态。
打开SIMATIC 315PN-1的OB1,在OB1中依次调用FB12,FB13如图9、图10所示:
图9
参数
描述
数据类型
存储区
描述
REQ
INPUT
BOOL
I、Q、M、D、L
上升沿触发工作
R
INPUT
BOOL
I、Q、M、D、L、常数
复位,终止数据交换
ID
INPUT
WORD
M、D、常数
连接ID
R_ID
INPUT
DWORD
I、Q、M、D、L、常数
连接号,相同连接号的功能块互相对应发送/接收数据
DONE
OUTPUT
BOOL
I、Q、M、D、L
为1时,发送完成
ERROR
OUTPUT
BOOL
I、Q、M、D、L
为1时,有故障发生
STATUS
OUTPUT
WORD
I、Q、M、D、L
状态代码
SD_1
IN_OUT
ANY
S7-300:M、DS7-400:I、Q、M、D、T、Z
发送数据区
LEN
IN_OUT
WORD
I、Q、M、D、L
发送数据的长度
图10
参数
描述
数据类型
存储区
描述
EN_R
INPUT
BOOL
I、Q、M、D、L、常数
为1时,准备接收
ID
INPUT
WORD
M、D、常数
连接ID
R_ID
INPUT
DWORD
I、Q、M、D、L、常数
连接号,相同连接号的功能块互相对应发送/接收数据
NDR
OUTPUT
BOOL
I、Q、M、D、L
为1时,接收完成
ERROR
OUTPUT
BOOL
I、Q、M、D、L
为1时,有故障发生
STATUS
OUTPUT
WORD
I、Q、M、D、L
状态代码
RD_1
IN_OUT
ANY
S7-300:M、DS7-400:I、 Q、M、D、T、C
接收数据区
LEN
IN_OUT
WORD
I、Q、M、D、L
接收到的数据长度
西门子6ES72221HH320XB0