本文介绍了在Logix/Studio 5000中,如何处理数据类型与Anybus输入/输出数组中数据类型不同的数据。例如,默认是SINT类型数组数据,但您可以转换为REAL, DINT, BOOL或这些数据类型的组合。
适用产品
带有EtherNet/IP适配器接口的任意模块
问题
如何在 Logix 中获得与 Anybus 模块匹配的正确数据类型?
回答
将Anybus模块添加到Logix/Studio 5000时,它会添加一个输入数组和一个输出数组。这些数组的数据类型是SINT。传输的数据通常包含不同的数据类型,这种情况下,您可以对数组中的数据类型进行转换。
虽然在 Anybus 配置中有不同的数据类型,但在内部,Anybus 与 PLC 之间传输的是比特(bit)数据,而不考虑数据类型。因此,在PLC中需要进行数据类型转换,可以使用 COP 指令将输入/输出数组数据和所需数据类型标签变量进行转换。
举例:REAL类型
如:一个REAL类型数据(32位),它在数组中占用4个SINT(8位 x 4)。如果这个REAL变量是输入数组中的第一个,那么它将对应数组中索引0到索引3的数据。
要正确转换这些数据,使用COP (Copy)指令。与MOV (Move)指令不同,COP不考虑数据类型,它像Anybus一样简单地复制数据位。如果您创建了一个REAL类型的标签,那么通过COP指令就可以将数组中的4个SINT转换为1个REAL类型的数据。
同理用同样的方式将数据发送回Anybus,您可以使用COP指令将1个REAL类型数据转换为对应索引的数组类型数据,REAL类型数据占用4个SINT数组索引。