首页 理论教育 创建用户自定义数据类型以优化传送带设计

创建用户自定义数据类型以优化传送带设计

时间:2023-06-28 理论教育 版权反馈
【摘要】:已再次决定充分利用Logix,使用用户自定义数据类型。参考信息用户自定义数据类型用户自定义数据类型也称为UDT或结构,借此按逻辑方式对数据进行组织或分组,以便所有与设备关联的数据都可组合在一起。通过UDT能够实现的是将不同的数据类型组合到一起,共同作为用户自定义数据类型。这些区域分别对应3个传送带,是传统的PLC数据表布局。这样做的目的是在标签数据库中查找传送带数据更加容易。但是为传送带使用了4个数据表,浪费了内存。

创建用户自定义数据类型以优化传送带设计

已重新组织了程序规划以更好地利用Logix,现在已准备好,并开始对数据规划进行重新组织。可注意到,工程师规划数据的方式仍像传统PLC使用带有整数、实数定时器数据表一样。问题是,当与设备关联的数据分布到控制器内存各处时便很难进行跟踪。已再次决定充分利用Logix,使用用户自定义数据类型。

参考信息

用户自定义数据类型

用户自定义数据类型也称为UDT或结构,借此按逻辑方式对数据进行组织或分组,以便所有与设备关联的数据都可组合在一起

例如,每个传送带都有8个整数值、3个实数值、2个定时器和11个与其关联的布尔值。在传统的PLC中,可能需要4个不同的数据表。然后,当具有多条传送带时,可能需要详细地将传送带映射到各个数据表中。这样就会变得很难管理。

通过UDT能够实现的是将不同的数据类型(整数、实数、定时器、布尔等)组合到一起,共同作为用户自定义数据类型。然后便可创建该UDT类型的数组。这可使得编程工作、代码的记录和数据的跟踪都更加轻松。

1.在控制器项目管理器中,双击“控制器标签”(Controller Tags),如图9-1所示。

将出现标签编辑器。可注意到,标签数据库的外观与传统PLC非常类似,如图9-2所示。

978-7-111-47798-3-Chapter01-124.jpg

图9-1 选中“控制器标签”

978-7-111-47798-3-Chapter01-125.jpg

图9-2 标签编辑器界面

参考信息

Logix标签数据库

在传统PLC中,用物理地址标识各个数据项,例如N7:0或B3:0/0。不使用地址注释或符号,就很难阅读逻辑。

在Logix控制器中没有固定的内存N7:0或B3:0/0。Logix内存是基于标签的系统。标签名称本身就可以标识数据。借此便能够组织数据以模拟机器。可在实际中使用分配的标签名称记录代码,例如Nozzle_1_Temperature。

参考信息

创建Logix项目标签的指导原则见表9-1。

表9-1 指导原则

978-7-111-47798-3-Chapter01-126.jpg

(续)

978-7-111-47798-3-Chapter01-127.jpg

2.在标签编辑器中单击N7旁边的+,如图9-3所示。

这将展开N7数组,显示其中的所有元素。可注意到从N7[0]到N7[7]的数据已定义。然后是从N7[20]到N7[27]和从N7[40]到N7[47]。这些区域分别对应3个传送带,是传统的PLC数据表布局。

978-7-111-47798-3-Chapter01-128.jpg

图9-3 展开后的N数组

3.仔细查看B3、F8和T4。

它们都将采用相同的格式:传送带1从[0]开始,传送带2从[20]开始,传送带3从[40]开始。这样做的目的是在标签数据库中查找传送带数据更加容易。但是为传送带使用了4个数据表,浪费了内存。

通过创建UDT可更好地实现上述需求。现在就来创建UDT。

4.在控制器项目管理器中的“数据类型”(Data Types)文件夹下,单击“用户自定义”(User-Defined)旁边的+,如图9-4所示。

将注意到这里有一个名为Conveyor的UDT(已为启动UDT的创建),如图9-5所示。

978-7-111-47798-3-Chapter01-129.jpg

图9-4 数据类型列表

978-7-111-47798-3-Chapter01-130.jpg(www.xing528.com)

图9-5 选择“Conveyor”用户自定义数据

5.双击Conveyor,如图9-6所示。

这将为Conveyor数据类型打开UDT编辑器。可以看到,UDT混合不同的数据类型。在编程时这是非常有用的工具。

978-7-111-47798-3-Chapter01-131.jpg

图9-6 打开的UDT编辑器界面

参考信息

用户自定义数据类型的指导原则

创建用户自定义数据类型时,请记住以下指导原则:

如果包括表示I/O设备的数据,则必须使用逻辑将数据复制到UDT中。UDT中不可为I/O指定别名。

如果要在UDT中包括数组,应将数组限制为一维。UDT不支持多维数组。

创建UDT时,将类似的数据类型组合到一起。这将创建更为紧凑的UDT。

978-7-111-47798-3-Chapter01-132.jpg

查看UDT后,会注意到类似的数据类型并未组合到一起。BOOL和REAL数据类型混在一起。UDT的当前大小是52个字节。将BOOL组合在一起可降低这一数字。

6.要进行此操作,单击Motor_Overload的左侧,如图9-7所示。这样将选中整行。

7.单击“向上移动”(Move Up)按钮,如图9-8所示。这会在UDT中将Motor_Overload标签向上移动。

8.对其他BOOL标签重复此操作,直到它们均组合到一起。

9.单击“应用”(Apply)。请注意UDT的大小。已节省了12个字节。

978-7-111-47798-3-Chapter01-133.jpg

图9-7 选中“Motor_Overload”标签

978-7-111-47798-3-Chapter01-134.jpg

图9-8 向上移动后的“Motor_Overload”标签

10.完成对BOOL标签的移动后,验证UDT的显示如图9-9所示。

978-7-111-47798-3-Chapter01-135.jpg

图9-9 完成BOOL标签的移动后数据大小

11.回到“控制器标签”(Controller Tags),展开N7标签并注意N7[0]到N7[7]及其描述。

12.使用标签的描述将这些标签添加到UDT。手动执行行此操作(并要记住参考前文中的指导原则4)。

13.完成后,单击“应用”(Apply)接受所做的更改,并验证UDT应类似图9-10所示。

978-7-111-47798-3-Chapter01-136.jpg

图9-10 程序中定义传送的完整UDT

现在已拥有一个在程序中定义传送带的完整UDT。

14.单击“确定”(OK),关闭UDT编辑窗口。

15.在“文件”(File)菜单中,选择“关闭”(Close)。软件将询问是否要保存对文件所做的更改,选择“否”(No)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈