对于S7- 300/400 控制器,硬件和软件组件的识别由逻辑地址或诊断地址执行。
对于S7- 1200/1500 ,识别是通过系统常量进行的。S7- 1200/1500 控制器的所有硬件和软件组件(例如,接口、模块、OB...)都有自己的系统常量。系统常量是在中央和分布式 I/O 的设备组态的设置期间自动创建的。
• 可以通过模块名称而不是硬件标识来寻址。
• 分配与函数相关的模块名称,以便在编程过程中轻松识别模块。
在以下示例中,可以看到系统常量是如何在用户程序中使用的。
图2 -36:用户程序中的“系统常量”
1. 控制器的系统常量可在“ PLC 变量 - 默认变量表” 文件夹中找到。
2. 系统常量位于“ 默认变量表”的单独列表中。
3. 在此示例中,为 DI模块分配了符号名称“ RobotArmLeft” 。
您也可以在系统常量表中找到该名称下的模块。
在用户程序中,“ RobotArmLeft” 与“GET_DIAG” 诊断块互连。
系统常数是CPU范围内唯一的全局常数,由系统自动创建。例如,系统常数可以用来寻址和识别硬件对象。
描述
与通过逻辑地址或诊断地址识别硬件和软件组件的S7-300/S7-400不同,在S7-1200/S7-1500中,通过系统常数进行识别。S7-1200/S7-1500的所有硬件和软件组件(如接口、模块、OB等)都有自己的系统常数。当为中央和远程IO创建设备配置时,系统常数会自动生成。
系统常数需要作为块上的参数,例如用于读取和写入西门子设备和第三方设备的一致用户数据。与S7-300/S7-400不同,在S7-1200/S7-1500中,模块的输入和输出区域的相关系统常数用于寻址,而不是IO区域的逻辑起始地址。
对于S7-1200/S7-1500,您必须使用参数(如“LADDR”、“HSC”、“PWM”和“PORT”)及其相关的系统常数来参数化所有指令。您可以象征性地配置这些,也可以使用硬件ID(HW ID)的值进行配置。条目ID:67396336中提供了使用系统常数进行参数化的示例。
以下示例向您展示了必须为指令“RDREC”(读取数据记录)的输入参数“ID”参数化的系统常数。
指令“RDREC”从ID寻址的模块读取编号为INDEX的数据记录。
“ID”参数用于识别PROFINET IO设备的硬件,并自动分配编号。
硬件ID取自指定IO控制器的系统常数。头模块的名称由IO设备的名称和扩展名[Head]组成。
在项目导航和S7工作站中,导航到“PLC标记”并打开对话框“显示所有标记”。
在“PLC标记”中,切换到“系统常数”选项卡。
使用垂直滚动条滚动,直到找到系统常数的名称。在本例中,标头组的硬件ID的系统常数名称为“FanControl~Head”,其值为270。
或者,您也可以在头模块的Properties中找到系统常量。在PROFINET IO设备的设备配置检查器窗口中,打开“属性”。在“System constants”(系统常数)选项卡中,您可以找到PROFINET ID设备的硬件ID(本例中为:“FanControl~Head”)。
现在,您可以使用“FanControl~Head”系统常数参数化“RDREC”指令的“ID”参数。
巡视窗口中“系统常量”(System constants) 选项卡上的硬件标识符
在设备视图中选择硬件对象并在巡视窗口中选择“系统常量”(System constants) 选项卡时,将显示硬件对象的所有硬件标识符作为具有名称和类型的系统常量。
硬件标识符的名称采用分层结构。它们多包含四个层次级别,级别之间用波浪符“~”分开。基于名称,还可以识别相关硬件模块的“路径”。
硬件标识符的显示取决于在图形视图中所选择的对象。如果在网络视图或设备视图中选择整个设备,则相应设备中所有对象的所有硬件标识符都会显示在系统常量(模块、接口、端口等)中。如果只选择单个模块或端口,则系统常量中只显示所选对象的硬件标识符。
示例
名为 "Local~DI_16x24VDC_HF_1" 的系统常量表示本地 ("Local") CPU 中名为 "DI_16x24VDC_HF_1" 的数字量输入模块的硬件标识符。数字量模块的名称与组件属性中的可编辑名称相同(巡视窗口)。如果只选择此模块,则只显示此模块的硬件标识符。
说明 为了便于硬件对象的识别,在配置硬件时请指定描述为清晰的硬件对象名称。名称中应包含硬件对象与工厂单元或设备的相关性。 |
PLC 变量表的系统常量中的硬件标识符
对于每个已组态的硬件组件,STEP 7 都会向 PLC 变量(“系统常量”(System constants) 选项卡)中添加相应的条目。这些条目为只读条目。除了整数值,还将指定名称和 HW 数据类型。
示例:
编程中的硬件标识符
如果使用带有“ID”或“LADDR”输入参数的指令寻址一个硬件组件,则可通过双击该输入参数显示所有相关硬件组件的列表,以供选择。
例如,在硬件中断 OB 的起始信息中,可通过硬件标识符识别中断触发模块。