大数跨境

欧姆龙Sysmac Studio PLC编程平台字与位数据如何相互转换

欧姆龙Sysmac Studio PLC编程平台字与位数据如何相互转换 上海隐图智能科技
2025-07-02
338
导读:欧姆龙Sysmac Studio PLC编程平台字与位数据相互转换的方法

 一、前序

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 系列的对应地址 可以通过建立两个地址相同 ,类型不同的变 关联起来,地址范围如下:

2.程序介绍

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.联合体介绍

3.程序介绍

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只需要提供相对时间,不需要保持时间的准确性。
 后期我们会不定期奉献更多PLC工程小技巧。加关注,不迷路。

【声明】内容源于网络
0
0
上海隐图智能科技
1234
内容 250
粉丝 0
上海隐图智能科技 1234
总阅读2.3k
粉丝0
内容250