程序示例
在以下示例中,可以使用下标访问来自不同存储区的三个变量。
分别分配给相应下标的三个变量总览:
下标 | 访问变量 | 存储区 |
---|---|---|
1 | Input_WORD_0 | IW 0 |
2 | "Processdata".Temperature | DB 1 |
3 | Output_WORD_4 | QW 4 |
在“默认变量表”(Default tag table) 中声明以下两个变量:
创建全局数据块:
双击“添加新块”(Add new block) 命令。 这样会打开“添加新块”(Add new block) 对话框。 单击“数据块 (DB)”(Data block (DB)) 按钮。 指定名称“DB_Processdata”。 选择“Global DB”作为数据块的类型。 单击“确定”(OK)。 声明数据块元素“Temperature”: |
在函数中使用下标声明间接访问。
创建一个 SCL 函数并将其命名为“FB_AccessGroupInt”。 按如下方式声明块接口: 编写以下程序代码: 调用 OB1 中的函数“FC_AccessGroupInt”: 根据在 Index 参数中指定的编号(1、2 或 3),执行“FC_AccessGroupInt”指令的第一、第二或第三种情况。 |
2.程序示例
在以下示例中,可以使用下标访问三个不同的优化数据块。
由于所有数据块应包含相同的变量,所以在这种情况下可以使用 PLC 数据类型 (UDT)。
要创建 PLC 数据类型,请在项目树中双击“PLC 数据类型”(PLC data types) 文件夹中的命令“新增数据类型”(Add new data type)。 这样,将创建并打开一个用于创建 PLC 数据类型的新声明表。 将 PLC 数据类型重命名为“UDT_SiloContents”。 在 PLC 数据类型中声明以下行: MyBool > 数据类型:BOOL MyInt > 数据类型:INT MyWord > 数据类型:WORD |
创建三个全局数据块。
双击“添加新块”(Add new block) 命令。 这样会打开“添加新块”(Add new block) 对话框。 单击“数据块 (DB)”(Data block (DB)) 按钮。 指定名称“DB_SiloWater”、“DB_SiloSugar”和“DB_SiloMilk”。 选择数据块“UDT_SiloContents”作为数据块的类型。 单击“确定”(OK)。 |
创建一个函数来读取数据块变量的值并将这些值写入 PLC 数据类型。
创建一个 SCL 函数并将其命名为“FC_AccessGroupSiloRead”。 按如下方式声明块接口: 编写以下程序代码: 调用 OB1 中的函数“FC_AccessGroupSiloRead”: 根据 Index 参数中指定的编号(1、2 或 3),执行“FC_AccessGroupSiloRead”指令的第一、第二或第三种情况。 |
文章来源于:电子工程世界 原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。