定义
系统常量是唯一贯穿 CPU 的全局常量,它们是必需常量且由系统自动创建。例如,系统常量可用于寻址和标识硬件对象。
规则
在设备或者网络视图中插入组件时将自动分配系统常量,并将其输入至默认变量表(“系统常量”(System constants)选项卡)。系统会为每个模块及子模块创建一个系统常量。例如,一个集成计数器也会接收到一个系统常量。系统常量由一个符号名称和一个数字 HW标识符组成并且不可更改。
系统常量的名称
系统常量的名称采用分层结构。它们多包含四个层次级别,级别之间用波浪符“~”分开。基于名称,还可以识别相关硬件模块的“路径”。
示例
名称为“Local~PROFINET_interface_1~Port_1”的系统常量指定本地 CPU 中PROFINET 接口 1 的端口 1。
使用硬件标识符的示例可以使用硬件标识符寻址硬件对象,如模块、子模块或设备。根据具体指令,硬件标识符具有不同的硬件数据类型。默认变量表的“系统常量”(Systemconstants) 选项卡中列出了所有组态的组件所允许的硬件数据类型。 下面说明了选定的指令必须使用的硬件标识符。
说明 有关各个硬件标识符的信息 对于寻址硬件对象的每个扩展指令,帮助中说明了必须使用的硬件对象。可以使用键访问所选指令的帮助。
建议
可以在程序编辑器中输入硬件对象的名称或硬件对象的数字型硬件标识符。
建议:为硬件对象分配具描述性的名称,例如,用于模块。从设备视图中的“系统常量”(System constants)选项卡读出名称和硬件标识符,并在程序编辑器中将其输入到相应的指令。如果已经分配了描述性名称,则更容易在下拉列表中找到该名称,在块参数“ID”处选择硬件标识符。
硬件标识符的其它输入选项
也可从变量表中将一个硬件标识符拖放到块参数“ID”处。
优点:硬件数据类型由程序编辑器检查,如果选择了无效的硬件对象,可能会被拒绝。
数字输入不可进行检查。
如果允许的硬件对象为 IO 设备,例如,选择网络视图中的整个 IO设备并读出巡视窗口中“属性”(Properties)(“常规”(General) 选项卡)下的硬件标识符。在这种情况下如果不选择 IO设备而是选择 IO设备的接口模块,那么该指令在巡视窗口中显示的硬件标识符将无效。在编程过程中对硬件标识符进行数字输入时您将不会注意到此错误。
输入硬件标识符的示例
模块的下列名称列示在默认变量表的“系统常量”(System constants) 选项卡中,例如:
myModule[AI]
打开程序编辑器
打开默认变量表(“PLC tags”文件夹)
将程序编辑器的编辑器窗口放置在默认变量表的旁边。
为此可单击工具栏中的“垂直分割编辑器空间”(Split editor space vertically) 按钮。
从“系统常量”(Systems constants)选项卡将“myModule[AI]”拖放到各个指令的“ID”或“LADDR”框,如下图所示。
使用硬件标识符进行寻址的示例
扩展指令 D_ACT_DP:激活/禁用 DP 从站或 PROFINET IO 设备。
硬件数据类型为 Hw_DpSlave 或 Hw_Device。DP 从站或 IO设备是输入参数“LADDR”允许的硬件对象。
扩展指令 DPSYC_FR:同步/冻结 DP 从站。
硬件数据类型为 Hw_Interface。DP 主站接口是输入参数“LADDR”允许的硬件对象。
扩展指令 RDREC:读取数据记录。
硬件数据类型为 Hw_SubModule。从中读取数据记录的模块或子模块是输入参数“ID”允许的硬件对象。
还可以对扩展指令 DPRD_DAT 使用该硬件数据类型。
扩展指令 WRREC:写入数据记录。该指令用于向模块或子模块写入数据记录。
硬件数据类型也是 Hw_SubModule。传送数据记录的模块或子模块是输入参数“ID”允许的硬件对象。
还可以对扩展指令 DPWR_DAT 使用该硬件数据类型。
注意:
将一个 I/O 模块分成多个子模块时(例如 1 x 8 AI => 8 x1AI),使用子模块的硬件标识符。这种情况下不可使用模块的硬件标识符。
对组态控制(选项处理),使用将传送数据记录的分布式 I/O 系统中接口模块头的硬件标识符,见图。
扩展指令 Station_Info:读取 IO 设备的信息。
硬件数据类型为 Hw_Device。IO 设备是输入参数“ID”允许的硬件对象。