SIEMENS 长沙豪乾智能科技有限公司
公司带来销售的产品全部由西门子直接提供,所有产品保证绝对原装,每个产品都可以到西门子长沙办事处去查验。
我们出售的产品按照西门子质保进行保修,(保修期为一年)《选择长沙豪乾,是您最明智的决定》。想了解更多内容,请来电,我将为您一一解答。
工作( Q Q ):254598303 136 8731 7079(微信同步)
联系人 :张 柏 / )
公司理念:
是专业从事工业自动化产品销售和系统集成的高新技术企业。在西门子工控领域,公司以精益求精的经营理念,从产品、方案到服务,致力于塑造一个“行业专家”品牌,以实现可持续的发展。
西门子总线电缆分为6XV1830-0EH10通讯屏蔽网线 / 6XV1830-3EH10可拖拽软线
以上2种电缆均为德国进口电缆,全新原装正品,假一罚十。质量保证一年!
型号:6XV1830-0EH10
SIMATIC NET, PROFIBUS 快速标准电缆 GP, 2 芯, 屏蔽, 为快速安装而特殊设计,最大长度: 1000m, 最小订购数量: 20m, 按米销售
型号:6XV1830-3EH10
SIMATIC NET, PROFIBUS FC 拖缆, PROFIBUS 拖缆, 最大加速度:4 m/s2, 至少 3 百万次 弯曲次数,弯曲半径: 约 120mm,双芯屏蔽线,按米销售,最大长度: 1000m, 最小订购量: 20 m
【西门子电线电缆简介】
Overview
-
用于不同应用区域的不同类型(例如,地下电缆、拖曳电缆、危险区域(Zone 1 和 Zone 2))
-
双层屏蔽,抗干扰性能好
-
阻燃总线连接电缆(不含卤素)。
-
由于电缆上印有以米表示的长度标记,因此易于确定长度
-
UL 认证
-
由于特殊的总线电缆,有很广的应用范围。
-
由于使用了双层屏蔽电缆和集成式接地技术,网络具有抗干扰功能。
-
采用 FastConnect (快速连接) 电缆,连接器连接简单又快速,从而节省了时间。
-
产品中不含硅硐,因此特别适用于汽车工业 (如上釉流水线)。
-

为了构建 PROFIBUS DP 网络,提供有不同类型的电缆,可满足不同类型应用的要求。一般地,应该使用所列出的电缆。有关网络组态的详细信息,请参见 PROFIBUS 网络手册。
UL 认证
用于网络电缆的 UL 列表(安全标准)对于美国和加拿大市场尤为必需。根据电缆敷设在建筑物中位置来决定适当的认证要求。这适用所有电缆,这些电缆从一个机器敷设到一远程控制柜,位于电缆架上并保护着建筑物。通过 UL 认证的电缆在其名称后面附加字母“GP”(通用)。
Ex认证
用于本质安全 PROFIBUS DP 应用的电缆在其名称后面附加字母“IS”(本质安全)
屏蔽的双绞电缆,圆形截面
S7-1200作为智能IO设备和CP343-1的 Profinet 通信(S7-300做控制器)
S7-1200 V4.0 支持智能 IO 设备功能,故可使用 S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信。本例中将 S7-300 做为控制器,连接作为智能 IO 设备的S7-1200 CPU 实现 Profinet 通信;下面详细介绍使用方法。
硬件:
-
CPU 1217C DC/DC/DC,V4.0
-
CPU 314C-2ptp,V2.6 + CP343-1,V3.0
软件:
-
Step7 V13
-
Step7 V5.5 SP3
CP343-1 的 PN 接口连接 S7-1200 的 PN 接口,这种方式可以分2种情况来操作,具体如下:
-
第一种情况:CPU 1217C 和 CPU 314C 使用 Step7 V13 编程,在一个项目中操作。
-
第二种情况:CPU 1217C 使用 Step7 V13,而 CPU 314C 使用 Step7 V5.5。
1. 第一种情况(同一项目中操作)
CPU 314C 作为 controller,1217C 作为 IO device,使用 Step7 V13 在一个项目中操作,详细步骤如下。
1-1 使用 Step7 V13 创建 S7-300 站
使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-300 站 PLC_1,选择 CPU 314C-2 ptp, 添加 CP343-1 ,设置 IP 地址。如图 1 所示。
图 1 在新项目中插入 S7-300 站
在“操作模式”选项中确认 CP343-1 的操作模式。 如图 2 所示。
图 2 选择 CP343-1 操作模式
1-2 使用 Step7 V13 创建 S7-1200 站
使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-1200 站 PLC_2,选择 CPU1217C DC/DC/DC V4.0;设置 IP 地址,并确认设备名称,本示例中设备名称是plc_2。如图 3 所示。
图 3 在新项目中插入 S7-1200 站
S7-1200 作为 IO 设备,需要将其操作模式设置为 IO 设备,并将 IO 设备分配给控制器 PLC_1 。如图 4 所示。
图 4 S7-1200 设置为 IO 设备
接着,在“智能设备通信”的“传输区”创建 IO 通信区,控制器的 QB2~6 共计5个字节传送到 IO 设备的 IB2~6 ;控制器的 IB2~6 共计5个字节读取来自 IO 设备的 QB2~6 。如图 5 所示。
图 5 创建 IO 通信区
1-2 硬件组态下载,检查设备名称和 IP 地址是否正确
分别将 PLC_1 站和 PLC_2 站下载到各自的 PLC 中。
将软件切换到“网络视图”,找到 PN/IE 总线,查看设备名称是否正确。如图 6、7 所示。
图 6 网络视图
图 7 确认设备名称和 IP 地址
1-3 S7-300 编程
本例中,CP343-1 作为 IO 控制器,需要在 OB1 中编程调用 PNIO_SEND 和 PNIO_RECV 进行数据读写。如图 8 所示。
图 8 CPU314C 中编程
CALL “PNIO_SEND”
|
|
|
CPLADDR
|
:=256
|
// CP 模板起始地址
|
MODE
|
:=0
|
// 工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1
|
LEN
|
:=7
|
// 要发送的数据区长度;该长度始终是从数据区地址0开始计算
|
SEND
|
:=P#M100.0 BYTE 7
|
// 发送数据区
|
IOCS
|
:=P#M150.0 BYTE 10
|
// 每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。
以程序段1为例,共发送7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
|
DONE
|
:=%M0.0
|
// 为1时,无错误完成该作业
|
ERROR
|
:=%M0.1
|
// 为1时,有故障发生
|
STATUS
|
:=%MW2
|
// 状态代码
|
CHECK_IOCS
|
:=%M0.3
|
// 0: 所有IOCS均设置为GOOD
// 1: 至少一个IOCS设置为BAD
|
CALL “PNIO_RECV”
|
|
|
CPLADDR
|
:=256
|
// CP 模板起始地址
|
MODE
|
:=0
|
// 工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1
|
LEN
|
:=7
|
// 要接收的数据区长度;该长度始终是从数据区地址0开始计算
|
RECV
|
:=P#M200.0 BYTE 7
|
// 发送数据区
|
IOPS
|
:=P#M250.0 BYTE 10
|
// 每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。
以程序段2为例,共接收7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
|
NDR
|
:=%M1.0
|
// 为1时,无错误完成该作业
|
ERROR
|
:=%M1.1
|
// 为1时,有故障发生
|
STATUS
|
:=%MW4
|
// 状态代码
|
CHECK_IOPS
|
:=%M1.2
|
// 0: 所有IOPS均设置为GOOD
// 1: 至少一个IOPS设置为BAD
|
ADD_INFO
|
:=%MW6
|
// 附加诊断信息;具体请查看指令帮助信息
|
1-4 通讯测试
检查无错误后,下载 S7-300 的程序,分别给两个站点新建监控表,添加通信数据区,监控。如图 9 所示。
图 9 通信测试
1-5 地址对应关系的说明
图 10 地址对应关系
从图中可以看到,当 CP343-1 作为控制器时,其传送的地址需从0开始的。地址对应排列关系以逻辑地址大小为序。地址如果出现间隔时,如例子中,没有组态的地址区 IB0~2(QB0~1) 及其对应的 MB100~101(MB200~201) 也将被传送。
2. 第二种情况(不在同一项目中操作)
不在一个项目中的操作,即:CPU314C 作为 controller 使用 Step7 V5.5 编程;1217C 作为 IO device,使用 Step7 V13 编程,详细步骤如下。
2-1 使用 Step7 V13 创建 S7-1200 站
使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-1200 站 IO-device ,选择 1217C;设置 IP 地址,并确认设备名称,本示例中设备名称是io_device。如图 11 所示。
图 11 在新项目中插入 S7-1200 站
S7-1200 作为 IO 设备,需要将其操作模式设置为 IO 设备。如图 12 所示。
图 12 S7-1200 设置为 IO 设备,并创建 IO 通信区
接着,在“智能设备通信”的“传输区”创建 IO 通信区,控制器将传输5个字节到 IO 设备的 IB2~6 ;IO 设备将 QB2~6 共计5个字节传送给控制器。
2-2 导出 IO 设备的 GSD 文件
编译该项目,在“智能设备通信”属性的下方,找到并点击“导出”按钮,根据提示将 GSD 文件导出(注意不要修改设备名称)。如图 13 所示。
图 13 导出 IO 设备的 GSD 文件
2-3 使用 Step7 V5.5 创建 S7-300 站
使用 STEP7 V5.5 创建一个新项目,并组态 CPU 314C-2 ptp, 添加 CP343-1 ,设置 IP 地址,并确认设备名称,本示例中设备名称是PN-IO。如图 14 所示。
图 14 在新项目中插入 S7-300 站
在 Step7 V5.5 的硬件组态界面,通过“选项”进入“安装 GSD 文件...”界面, 在源路径选择 IO-device 的 GSD 文件存放路径。如图 15 所示。
图 15 Step7 V5.5 安装 IO-device 的 GSD 文件
2-4 在 Step7 V5.5 中组态 IO-device
首先,需要给 CP343-1 插入 Profinet IO 总线,在 CP343-1 的“PN-IO”上鼠标右键,选择“插入 Profinet IO 系统”。如图 16 所示。
图 16 插入 Profinet IO 系统
然后,从硬件目录路径:PROFINET IO --> Preconfigured Stations --> CPU 1217C DC/DC/DC --> IO-device 拖拽到 PN 总线上。如图 17 所示。
图 17 组态 IO-device
2-5 硬件组态下载,检查设备名称和 IP 地址是否正确
分别将 S7-300 站和 S7-1200 站下载到各自的 PLC 中。
将 STEP7 V13 软件切换到“网络视图”,找到 PN/IE 总线,查看设备名称是否正确。如图 18、19 所示。
图 18 网络视图
图 19 确认设备名称和 IP 地址
2-6 S7-300 编程
本例中,CP343-1 作为 IO 控制器,需要在 OB1 中编程调用 PNIO_SEND 和 PNIO_RECV 进行数据读写。如图 20 所示。
图 20 CPU314C 中编程
CALL “PNIO_SEND”
|
|
|
CPLADDR
|
:=W#16#100
|
// CP 模板起始地址
|
MODE
|
:=B#16#0
|
// 工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1
|
LEN
|
:=7
|
// 要发送的数据区长度;该长度始终是从数据区地址0开始计算
|
SEND
|
:=P#M100.0 BYTE 7
|
// 发送数据区
|
IOCS
|
:=P#M150.0 BYTE 10
|
// 每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。
以程序段1为例,共发送7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
|
DONE
|
:=%M0.0
|
// 为1时,无错误完成该作业
|
ERROR
|
:=%M0.1
|
// 为1时,有故障发生
|
STATUS
|
:=%MW2
|
// 状态代码
|
CHECK_IOCS
|
:=%M0.3
|
// 0: 所有IOCS均设置为GOOD
// 1: 至少一个IOCS设置为BAD
|
CALL “PNIO_RECV”
|
|
|
CPLADDR
|
:=W#16#100
|
// CP 模板起始地址
|
MODE
|
:=B#16#0
|
// 工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1
|
LEN
|
:=7
|
// 要接收的数据区长度;该长度始终是从数据区地址0开始计算
|
RECV
|
:=P#M200.0 BYTE 7
|
// 发送数据区
|
IOPS
|
:=P#M250.0 BYTE 10
|
// 每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。
以程序段2为例,共接收7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
|
NDR
|
:=%M1.0
|
// 为1时,无错误完成该作业
|
ERROR
|
:=%M1.1
|
// 为1时,有故障发生
|
STATUS
|
:=%MW4
|
// 状态代码
|
CHECK_IOPS
|
:=%M1.2
|
// 0: 所有IOPS均设置为GOOD
// 1: 至少一个IOPS设置为BAD
|
ADD_INFO
|
:=%MW6
|
// 附加诊断信息;具体请查看指令帮助信息
|
2-7 通讯测试
检查无错误后,分别给两个站点新建监控表,添加通信数据区,监控。如图 21 所示。
图 21 通信测试
2-8 地址对应关系的说明
图 22 地址对应关系
从图中可以看到,当 CP343-1 作为控制器时,其传送的地址需从0开始的。地址对应排列关系以逻辑地址大小为序。地址如果出现间隔时,如例子中,没有组态的地址区 IB0~2(QB0~1) 及其对应的 MB100~101(MB200
-1200作为智能IO设备和CP343-1的 Profinet 通信(S7-300做控制器)
S7-1200 V4.0 支持智能 IO 设备功能,故可使用 S7-1200 作为智能 IO 设备和 CP343-1 的 Profinet 通信。本例中将 S7-300 做为控制器,连接作为智能 IO 设备的S7-1200 CPU 实现 Profinet 通信;下面详细介绍使用方法。
硬件:
-
CPU 1217C DC/DC/DC,V4.0
-
CPU 314C-2ptp,V2.6 + CP343-1,V3.0
软件:
-
Step7 V13
-
Step7 V5.5 SP3
CP343-1 的 PN 接口连接 S7-1200 的 PN 接口,这种方式可以分2种情况来操作,具体如下:
-
第一种情况:CPU 1217C 和 CPU 314C 使用 Step7 V13 编程,在一个项目中操作。
-
第二种情况:CPU 1217C 使用 Step7 V13,而 CPU 314C 使用 Step7 V5.5。
1. 第一种情况(同一项目中操作)
CPU 314C 作为 controller,1217C 作为 IO device,使用 Step7 V13 在一个项目中操作,详细步骤如下。
1-1 使用 Step7 V13 创建 S7-300 站
使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-300 站 PLC_1,选择 CPU 314C-2 ptp, 添加 CP343-1 ,设置 IP 地址。如图 1 所示。
图 1 在新项目中插入 S7-300 站
在“操作模式”选项中确认 CP343-1 的操作模式。 如图 2 所示。
图 2 选择 CP343-1 操作模式
1-2 使用 Step7 V13 创建 S7-1200 站
使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-1200 站 PLC_2,选择 CPU1217C DC/DC/DC V4.0;设置 IP 地址,并确认设备名称,本示例中设备名称是plc_2。如图 3 所示。
图 3 在新项目中插入 S7-1200 站
S7-1200 作为 IO 设备,需要将其操作模式设置为 IO 设备,并将 IO 设备分配给控制器 PLC_1 。如图 4 所示。
图 4 S7-1200 设置为 IO 设备
接着,在“智能设备通信”的“传输区”创建 IO 通信区,控制器的 QB2~6 共计5个字节传送到 IO 设备的 IB2~6 ;控制器的 IB2~6 共计5个字节读取来自 IO 设备的 QB2~6 。如图 5 所示。
图 5 创建 IO 通信区
1-2 硬件组态下载,检查设备名称和 IP 地址是否正确
分别将 PLC_1 站和 PLC_2 站下载到各自的 PLC 中。
将软件切换到“网络视图”,找到 PN/IE 总线,查看设备名称是否正确。如图 6、7 所示。
图 6 网络视图
图 7 确认设备名称和 IP 地址
1-3 S7-300 编程
本例中,CP343-1 作为 IO 控制器,需要在 OB1 中编程调用 PNIO_SEND 和 PNIO_RECV 进行数据读写。如图 8 所示。
图 8 CPU314C 中编程
CALL “PNIO_SEND”
|
|
|
CPLADDR
|
:=256
|
// CP 模板起始地址
|
MODE
|
:=0
|
// 工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1
|
LEN
|
:=7
|
// 要发送的数据区长度;该长度始终是从数据区地址0开始计算
|
SEND
|
:=P#M100.0 BYTE 7
|
// 发送数据区
|
IOCS
|
:=P#M150.0 BYTE 10
|
// 每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。
以程序段1为例,共发送7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
|
DONE
|
:=%M0.0
|
// 为1时,无错误完成该作业
|
ERROR
|
:=%M0.1
|
// 为1时,有故障发生
|
STATUS
|
:=%MW2
|
// 状态代码
|
CHECK_IOCS
|
:=%M0.3
|
// 0: 所有IOCS均设置为GOOD
// 1: 至少一个IOCS设置为BAD
|
CALL “PNIO_RECV”
|
|
|
CPLADDR
|
:=256
|
// CP 模板起始地址
|
MODE
|
:=0
|
// 工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1
|
LEN
|
:=7
|
// 要接收的数据区长度;该长度始终是从数据区地址0开始计算
|
RECV
|
:=P#M200.0 BYTE 7
|
// 发送数据区
|
IOPS
|
:=P#M250.0 BYTE 10
|
// 每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。
以程序段2为例,共接收7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
|
NDR
|
:=%M1.0
|
// 为1时,无错误完成该作业
|
ERROR
|
:=%M1.1
|
// 为1时,有故障发生
|
STATUS
|
:=%MW4
|
// 状态代码
|
CHECK_IOPS
|
:=%M1.2
|
// 0: 所有IOPS均设置为GOOD
// 1: 至少一个IOPS设置为BAD
|
ADD_INFO
|
:=%MW6
|
// 附加诊断信息;具体请查看指令帮助信息
|
1-4 通讯测试
检查无错误后,下载 S7-300 的程序,分别给两个站点新建监控表,添加通信数据区,监控。如图 9 所示。
图 9 通信测试
1-5 地址对应关系的说明
图 10 地址对应关系
从图中可以看到,当 CP343-1 作为控制器时,其传送的地址需从0开始的。地址对应排列关系以逻辑地址大小为序。地址如果出现间隔时,如例子中,没有组态的地址区 IB0~2(QB0~1) 及其对应的 MB100~101(MB200~201) 也将被传送。
2. 第二种情况(不在同一项目中操作)
不在一个项目中的操作,即:CPU314C 作为 controller 使用 Step7 V5.5 编程;1217C 作为 IO device,使用 Step7 V13 编程,详细步骤如下。
2-1 使用 Step7 V13 创建 S7-1200 站
使用 STEP7 V13 创建一个新项目,并通过“添加新设备”组态 S7-1200 站 IO-device ,选择 1217C;设置 IP 地址,并确认设备名称,本示例中设备名称是io_device。如图 11 所示。
图 11 在新项目中插入 S7-1200 站
S7-1200 作为 IO 设备,需要将其操作模式设置为 IO 设备。如图 12 所示。
图 12 S7-1200 设置为 IO 设备,并创建 IO 通信区
接着,在“智能设备通信”的“传输区”创建 IO 通信区,控制器将传输5个字节到 IO 设备的 IB2~6 ;IO 设备将 QB2~6 共计5个字节传送给控制器。
2-2 导出 IO 设备的 GSD 文件
编译该项目,在“智能设备通信”属性的下方,找到并点击“导出”按钮,根据提示将 GSD 文件导出(注意不要修改设备名称)。如图 13 所示。
图 13 导出 IO 设备的 GSD 文件
2-3 使用 Step7 V5.5 创建 S7-300 站
使用 STEP7 V5.5 创建一个新项目,并组态 CPU 314C-2 ptp, 添加 CP343-1 ,设置 IP 地址,并确认设备名称,本示例中设备名称是PN-IO。如图 14 所示。
图 14 在新项目中插入 S7-300 站
在 Step7 V5.5 的硬件组态界面,通过“选项”进入“安装 GSD 文件...”界面, 在源路径选择 IO-device 的 GSD 文件存放路径。如图 15 所示。
图 15 Step7 V5.5 安装 IO-device 的 GSD 文件
2-4 在 Step7 V5.5 中组态 IO-device
首先,需要给 CP343-1 插入 Profinet IO 总线,在 CP343-1 的“PN-IO”上鼠标右键,选择“插入 Profinet IO 系统”。如图 16 所示。
图 16 插入 Profinet IO 系统
然后,从硬件目录路径:PROFINET IO --> Preconfigured Stations --> CPU 1217C DC/DC/DC --> IO-device 拖拽到 PN 总线上。如图 17 所示。
图 17 组态 IO-device
2-5 硬件组态下载,检查设备名称和 IP 地址是否正确
分别将 S7-300 站和 S7-1200 站下载到各自的 PLC 中。
将 STEP7 V13 软件切换到“网络视图”,找到 PN/IE 总线,查看设备名称是否正确。如图 18、19 所示。
图 18 网络视图
图 19 确认设备名称和 IP 地址
2-6 S7-300 编程
本例中,CP343-1 作为 IO 控制器,需要在 OB1 中编程调用 PNIO_SEND 和 PNIO_RECV 进行数据读写。如图 20 所示。
图 20 CPU314C 中编程
CALL “PNIO_SEND”
|
|
|
CPLADDR
|
:=W#16#100
|
// CP 模板起始地址
|
MODE
|
:=B#16#0
|
// 工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1
|
LEN
|
:=7
|
// 要发送的数据区长度;该长度始终是从数据区地址0开始计算
|
SEND
|
:=P#M100.0 BYTE 7
|
// 发送数据区
|
IOCS
|
:=P#M150.0 BYTE 10
|
// 每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。
以程序段1为例,共发送7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
|
DONE
|
:=%M0.0
|
// 为1时,无错误完成该作业
|
ERROR
|
:=%M0.1
|
// 为1时,有故障发生
|
STATUS
|
:=%MW2
|
// 状态代码
|
CHECK_IOCS
|
:=%M0.3
|
// 0: 所有IOCS均设置为GOOD
// 1: 至少一个IOCS设置为BAD
|
CALL “PNIO_RECV”
|
|
|
CPLADDR
|
:=W#16#100
|
// CP 模板起始地址
|
MODE
|
:=B#16#0
|
// 工作模式:当CP343-1仅作为IO控制器或IO设备时,设为0;当CP343-1同时作为IO控制器和IO设备时,设为1
|
LEN
|
:=7
|
// 要接收的数据区长度;该长度始终是从数据区地址0开始计算
|
RECV
|
:=P#M200.0 BYTE 7
|
// 发送数据区
|
IOPS
|
:=P#M250.0 BYTE 10
|
// 每一用户数据字节传送一个状态位。长度信息取决于LEN参数中的长度。
以程序段2为例,共接收7个字节,每个字节需要1个比特位,所以共需要7位,即至少需要1字节。
|
NDR
|
:=%M1.0
|
// 为1时,无错误完成该作业
|
ERROR
|
:=%M1.1
|
// 为1时,有故障发生
|
STATUS
|
:=%MW4
|
// 状态代码
|
CHECK_IOPS
|
:=%M1.2
|
// 0: 所有IOPS均设置为GOOD
// 1: 至少一个IOPS设置为BAD
|
ADD_INFO
|
:=%MW6
|
// 附加诊断信息;具体请查看指令帮助信息
|
2-7 通讯测试
检查无错误后,分别给两个站点新建监控表,添加通信数据区,监控。如图 21 所示。
图 21 通信测试
2-8 地址对应关系的说明
图 22 地址对应关系
从图中可以看到,当 CP343-1 作为控制器时,其传送的地址需从0开始的。地址对应排列关系以逻辑地址大小
0 CPU V2.1 开始支持分布式 IO 设备的诊断功能,可使用 DeviceStates 和 ModuleStates 指令对分布式 IO 设备的站状态和子模块进行诊断。本文使用 1214C V4.0 CPU 和 ET200SP 的 PN 通信为例进行说明(DP通信同样适用)。
硬件:
-
CPU 1214C DC/DC/DC,V4.0,一台
-
ET200SP 分布式 IO 站,PN 接口,两套
软件:
-
TIA Portal V13 SP1 UPD2
使用 TIA Portal 创建项目
使用 TIA Portal 创建一个新项目,正确配置,下载后,进入网络视图,所有站点状态正常。如图 1 所示。
图 1 网络视图
注意:分布式 IO 为 PN 子站时,可在“网络概览”中可以查看分布式 IO 的设备编号。
1 使用 DeviceStates 指令对分布式 IO 子站进行诊断
1-1 创建全局数据块,用于存储状态数据
在全局数据块中创建数据类型为 Array of BOOL 数组,共计1024个元素。 如图 2 所示。
图 2 创建全局数据块
1-2 编程
在 OB1 中调用 DeviceStates 指令,双击 LADDR 引脚,选择需要诊断的 IO 系统。如图 3 所示。
图 3 调用 DeviceStates 指令
本例中将 MODE 设置为2,STATE 填写上述定义的全局数据块数组。如图 4 所示。
图 4 填写相应的引脚
指令引脚说明:
参数 LADDR
|
使用 LADDR 参数通过硬件标识符选择 PROFINET IO 或 DP 主站系统。
硬件标识符位于:
-
PROFINET IO 或 DP 主站系统属性的网络视图中。
-
或数据类型为 HW_IOSYSTEM 的所列系统常量的 PLC 变量表中。
|
参数 MODE
|
使用 MODE 参数可读取状态信息。 可读取整个 PROFINET IO 或 DP 主站系统的下列一条状态信息:
-
1: IO 设备/DP 从站已组态
-
2: IO 设备/DP 从站故障
-
3: IO 设备/DP 从站已禁用
-
4: IO 设备/DP 从站存在
-
5: 出现问题的 IO 设备/DP 从站。
|
参数 STATE
|
通过 STATE 参数,输出由 MODE 参数选择的 IO 设备/DP 从站的状态。
如果使用 MODE 选择的状态适用于 IO 设备/DP 从站,则在 STATE 参数中将下列位设置为“1”:
|
1-3 测试
将程序下载到 PLC 中。
监控全局数据块 devicestate。如图 5 所示。
图 5 IO 系统正常
当 IO device_2 故障时(掉电或网线拔除导致丢站),state[2]=1。如图 6 所示。
图 6 IO device_2 故障
当 IO device_1 和 IO device_2 故障时(掉电或网线拔除导致丢站),state[1]=1 和 state[2]=1。如图 7 所示。
图 7 IO device_1 和 IO device_2 故障
2 使用 ModuleStates 指令对分布式 IO 子模块进行诊断
2-1 创建全局数据块,用于存储状态数据
在全局数据块中创建数据类型为 Array of BOOL 数组,共计128个元素。 如图 8 所示。
图 8 创建全局数据块
2-2 编程
在 OB1 中调用 ModuleStates 指令,双击 LADDR 引脚,选择需要诊断的分布式 IO 站。如图 9 所示。
图 9 调用 ModuleStates 指令
本例中将 MODE 设置为2,STATE 填写上述定义的全局数据块数组。如图 10 所示。
图 10 填写相应的引脚
指令引脚说明:
参数 LADDR
|
使用 LADDR 参数通过站硬件标识符选择 IO 设备或 DP 从站。
硬件标识符位于:
-
IO 设备站或 DP 从站属性的网络视图中。
-
或数据类型为 HW_DEVICE(对于 IO 设备)或 HW_DPSLAVE(对于 DP 从站)的所列系统常量的 PLC 变量表中。
|
参数 MODE
|
使用 MODE 参数可读取状态信息。 可读取模块的下列一条状态信息:
-
1: 模块已组态
-
2: 模块故障
-
3: 模块禁用
-
4: 模块存在
-
5: 模块中存在故障。
|
参数 STATE
|
STATE 参数输出使用 MODE 参数选择的模块状态。
如果使用 MODE 选择的状态适用于某个模块,那么下列位将设置为“1”:
-
位 0 = 1: 组显示。 至少一个模块的第 n 位设置为“1”。
-
位 n = 1:使用 MODE 选择的状态将应用到插槽 n-1(例如:位 3 对应插槽 2)中的模块。
使用“BOOL”或“Array of BOOL”作为数据类型:
-
要仅输出状态信息的组显示位,可在 STATE 参数中使用 BOOL 数据类型。
-
要输出所有模块的状态信息,请使用长度为 128 位的 Array of BOOL。
|
1-3 测试
将程序下载到 PLC 中。
监控全局数据块 modulestate。如图 11 所示。
图 11 分布式 IO 站所有子模块正常
当 IO device_1 站插槽编号1的子模块故障时(损坏或被拔除),state[2]=1。如图 12 所示。
图 12 插槽编号1子模块故障