一、前序
1.介绍
分别用三种方法,将 NJ 中的 WORD 变量 与 BOOL 变量互相转换 。
2.测试设备
NJ301-1100 PLC
3.软件
Sysmac Studio V1.30
二、方法 1 指令转换
1.说明
使用AryBYTETo 和 ToAryBYTE 指令进行数据类型的转换 ,将 WORD 转换成 BOOL 。
2.指令介绍
1)ToAryByte可以把任意数据类型的变量转换为 BYTE 类型 的数组变量。
2)AryByteTo可以把字 BYTE 的数组变量,转换成任意数据类型的变量, 配合ToAryByte 可以实现任意类型数据转换。
3.转换介绍
WORD 变量通过 ToAryByte 转换成 BYTE 型的数组变量,再通过AryByteTo 将 BYTE 型的数组变量,转换成 BOOL 型的数组变量
4.程序介绍
1)原数据为一个WORD 变量 DEF 要与 GHI 的 BOOL 数组对应
2)DEF 里的值是 4321,对应二进制的值是 0100 0011 0010 0001
3)用监视表监视GHI 这个数组变量,结果也是 0100 0011 0010 0001
4)如果需要将BOOL 变量转成 WORD 变量,那么先用 ToAryByte 将 BOOL转成 BY TE 再用AryByteTo 转成 WORD 变量。
三、方法 2 CJ 地址映射
1.说明
NJ也有 CJ 系列的对应地址 可以通过建立两个地址相同 ,类型不同的变 关联起来,地址范围如下:
1)分别建立一个BBB 的 INT 变量,和一个 AAA 的 16位的 BOOL 数组变量,在分配到里都分配地址为 D100 ,那么这两个变量也互相关联了
2)对BBB 赋值, 10 进制的7834 ,2 进制是 0001 1110 1001 1010 ,对应 AAA 里的BOOL 量也是 0001 1110 1001 1010 。
3)反过来也是一样的,关掉move 指令 ,对 AAA 里的 BOOL 量,重新置位,变成: 0101 1100 1001 1000 ,对应 BBB 里的值变成 23704
四、方法 3 建立联合体变量
1.说明
NJ的联合体可以把不同类型的成员联合到一起,代表同一个值。本案例中 把一个 WORD 变量 和 一个 BOOL 型的数组变量 相互关联。
2.联合体介绍
1)在数据类型里建立一个联合体的数据类型名字叫 “联合体 1 ”,里面有“位组和“字”两个成员,数据类型分别为 BOOL 数组和 WORD
2)在程序里建立数据类型为“联合体1 ”的变量 ZZZ ,对 ZZZ. 字”赋值 1234
3)联合体的成员地址是共享的,ZZZ. 位组 对应 位 置 ON ,变成 0001 0010 0011 0100
4)反过来也是一样的:关掉MOVE 指令 ,对 ZZZ. 位组里的 BOOL 量,重新置位,变成: 0001 0010 0011 0111 ,对应 ZZZ. 字 里的值变成 1237 。
怎么样以上3个使用技巧,你都学会了吗?
延伸小知识:PLC-Recorder专业数据采集软件以计算机上的时钟为基准。在带时间戳的高速采集时,PLC只需要提供相对时间,不需要保持时间的准确性。



