热门搜索:
西门子广西省代理商
上海西邑电气技术有限公司工业业务领域致力于为客户提供高品质的服务,追求客户的满意是我们始终如一的目标。在中国,工业业务领域拥有一支**、经验丰富的工程师队伍,为客户提供7x24小时全天候服务。专业的服务人员和遍布全国的服务及备件网络将对客户的服务需求迅速作出响应,将由设备故障引起的损失降低到较小的程度。
描述
下图给出了在 F CPU 之间通过以太网进行 S7 通信的基本组态。通过一个 S7 连接建立双边通信。
另一种方式,双边数据通信通过两个独立的 S7 通信。采用这种方式, 可以在结构上区分发送和接收通道。
S7 通信的系统限制由下列参数决定:
CPU 所支持的较大连接数
能够组态的较大的 S7 连接数
较大背景数
例子
CPU 程序中调用故障安全通信块“F_SENDS7”和“F_RCVS7”用于双边的 S7 数据通信,这些程序块内部分别调用了系统功能块 SFB8 "USEND" 和 SFB9 "URCV"。这样,用户数据和相关的应答被发送和接收。每一个系统功能块 SFB8 "USEND" 和 SFB9 "URCV" 都被分配一个背景数据块。结果,背景数据块的个数(=背景)与通信任务数是相同的。
这意味着在双边数据安全通信的情况下,至少需要执行 4 个通讯任务和需要 4 个背景。这样,CPU 319F-3 PN/DP 剩余 28 个背景。
在 CPU 319F-3 PN/DP 用户程序中,由于较大的背景数限制为 32,那么较多调用 16 个故障安全通信块 "F_SENDS7" 或 F_RCVS7",因为较大的背景数量是不能多于 32。
CPU 319F-3 PN/DP 的安全双边数据通信计算公式
注意
问题:如何计算当前程序所需的Local Data大小并合理设置S7 400 CPU属性中的Memory选项卡中的Local Data,S7 400 CPU中的Local data设置不当会导致什么问题?
西门子广西省代理商
在PCS7组态的项目中,在编译CFC程序后,系统将会自动计算各OB块所需的Local Data大小,可以通过交叉索引(Chart reference data ? Local data,如下图所示)查询到。
而普通的由用户采用Step7编程方式编写的程序,程序功能块及OB块各自的调用结构由用户自行控制,需要在编写完整个程序之后自行计算。
注:嵌套调用时,上一级功能块将不会计算其嵌套调用的FB/FC所需的Local data大小;在上图中将不会累加嵌套功能块所需的Local data大小;
获得所有上述信息后,即可计算当前程序所需的Local data大小。假设当前项目下使用的功能块及OB块上述相关信息如下表所示:
OB的调用关系如上图Pic4所示。根据调用结构计算,单独运行各OB块时所需的Local data如下:
描述
要求
注意
以下步骤列出了如何使用PLCSIM仿真通讯。下载附件中的STEP 7(TIA Portal)项目包含了两个S7-400站通过工业以太网通信 。
Station_1中的OB1包含计数器的程序,将其输出值传送到Station_2。
此条目给出了S7 通信的系统限制概览。
图. 01
图. 02
下表给出了F CPU 所支持的较大连接数。
F CPU
较大连 接数
IM151-8F PN/DP CPU
12
IM154-8F PN/DP CPU
16
IM154-8FX PN/DP CPU
16
CPU 315F-2 PN/DP
16
CPU 317F-2 PN/DP
32
CPU 319F-3 PN/DP
32
CPU 414F-3 PN/DP V6
64
CPU 416F-2 DP
64
CPU 416F-3 PN/DP V5
64
CPU 416F-3 PN/DP V6
96
WinAC RTX F 2009
64
WinAC RTX F 2010
96
下表给出了 F CPU 所支持较大组态的 S7 连接数。
F CPU
能够组 态的较大 S7 连接数
IM151-8F PN/DP CPU
10
IM154-8F PN/DP CPU
14
IM154-8FX PN/DP CPU
14
CPU 315F-2 PN/DP
14
CPU 317F-2 PN/DP
16
CPU 319F-3 PN/DP
16
CPU 414F-3 PN/DP V6
62
CPU 416F-2 DP with CP443-1 Adv.
62
CPU 416F-3 PN/DP V5
62
CPU 416F-3 PN/DP V6
94
WinAC RTX F 2009
通过 CP5611: 6
通过 CP5613: 48
通过 CP1616: 30
通过 IE general: 14
WinAC RTX F 2010
通过 CP5611: 6
通过 CP5613: 48
通过 CP1616: 30
通过 IE general: 14
下表给出了 F CPU 支持的较大背景数。
F CPU
较大背景数
IM151-8F PN/DP CPU
32
IM154-8F PN/DP CPU
32
IM154-8FX PN/DP CPU
32
CPU 315F-2 PN/DP
32
CPU 317F-2 PN/DP
32
CPU 319F-3 PN/DP
32
CPU 414F-3 PN/DP
300 (内部接口)
CPU 414F-3 PN/DP with CP443-1 Adv.
能够配置 1200 个 (预设 300)
CPU 416F-2 DP with CP443-1 Adv.
固件版本 < V5.2:能够组态 1800 (预设 600)
固件版本 V5.2 之后:能够组态 4000 (预设 600)
CPU 416F-3 PN/DP
600 (内部接口)
CPU 416F-3 PN/DP with CP443-1 Adv.
固件版本 < V5.2:能够组态 1800 (预设 600)
固件版本 V5.2 之后:能够组态 4000 (预设 600 )
WinAC RTX F 2009
能够组态 600 (预设 300)
WinAC RTX F 2010
能够组态 4000 (预设 600 )
一个319F-3 PN/DP CPU,通过 TCP/IP 建立双边的 S7 安全数据通信。根据数据通信是通过一个或者两个组态的 S7 连接,可以组态另外15个或者14个 S7 连接。
对于安全双边通信,CPU 319F-3 PN/DP 能够与较多 8 个 F CPU 通信。
8 "F_SENDS7" + 8 "F_RCVS7" = 16 故障安全通信块
8*("USEND" + "URCV") + 8*("USEND" + "URCV")
= 16 "USEND" + 16 "URCV" = 32 通信任务或背景
对于 F CPU 而言,安全功能是较重要的。因此,S7 通信的系统限制不仅由通信连接的数量决定,还与要达到的响应时间有关。如果由于连接数量过多而导致无法满足所需要的响应时间,补救措施如下:
回答:Local data顾名思义为本地数据,在西门子控制器中有一部分内存空间被设置为L区间,它被用于控制器在运行程序时存储临时数据。由于编写FB/FC程序的需要和OB中调用功能块结构的不同,不同的OB由于调用不同的FB/FC,因此所需的Local data的大小各不相同(被调用的FB/FC将占用当前调用他的OB块的Local Data资源)。在控制器硬件组态中的CPU属性设置中,Memory选项卡用于设置Local data的分配。如果相应OB块实际运行所需的Local data大于硬件组态中所设置的Local Data大小,那么相应的程序将无法运行,CPU将报告INTF错误,甚至更为严重的情况下CPU可能会停止运行。但如果盲目将Local Data的分配设置过大,将会浪费一部分宝贵的CPU内存空间。
S7 300CPU中的Local data不可修改,每个**级固定设置为256 bytes,S7 400的Local data则可以人为修改。由此可以看出正确设置S7400 CPU的Local Data的大小非常重要。在控制器硬件组态中CPU属性? Memory选项卡的Local Data区域用于设置基于**级的Local Data(如下图所示):
Pic1: Local Data的分配
Pic2: Chart reference data ? Local data
在手动计算Local Data时,需要获取如下信息:
1. 各OB块、FB块、FC块各自独立运行时所需的Local Data大小
可以通过如下方式查询到:在Block文件夹中选择相应功能块,右键 属性? General - Part2中即可查看到,如下图所示:
Pic3: 功能块所需的Local Data
2. 整个程序的调用结构(Call structure)
由于功能块不会计算其嵌套调用的功能块所需到Local data大小,因此为了最后计算整个OB所需到Local Data,必须了解整个程序的调用结构。打开任何一个功能块,点击左侧的Call Structure即可查询到,如下图所示;
Pic4: 程序调用结构
3. 当前程序下所使用的所有OB的**级
由于CPU属性设置中的Local Data分配基于**级进行设置,因此需要查看所有当前程序使用的OB块的中断**级,打开硬件组态中CPU属性查看,如下图所示;
Pic5: 查看OB的**级
OB/FB/FC
Priority **级
所需Local Data(Bytes)
FB1
X
100
FC1
X
400
OB1
1
26
OB35
12
26
OB121
X
20
OB122
X
20
OB1: OB1 + Max(Sum(FB1,FC1), FC1) =26+Max(Sum(100,400), 400)=526
OB35: OB35 + Sum(FB1,FC1) =26+Sum(100,400)=526
OB121: OB121=20
OB122: OB122=20
较终CPU属性中Local data的设置如下:
**级 1 所需Local Data大小至少为526 + 20 + 20 = 566 bytes;
**级12所需的Local Data大小至少为526 + 20 + 20 = 566 bytes;
注:为什么上述**级1和12中需要加入 两个20呢,因为程序运行的任何位置都有可能会执行OB121、OB122,所以需要加上OB121和OB122所需的本地数据。PCS7中(Pic2所示)进行各**级所需Local data大小计算时已经自动加入了这部分的大小。
具体的计算法则可以归纳为一下几点:
S7-PLCSIM 支持以下通讯块来实现两个S7-400 CPU模块间的通信:
本条目提供的项目包含两个S7-400 CPU的组态和连接组态以及用户程序。
图. 1
图. 2
图. 3
西门子广西省代理商