NJ的字与位数据如何相互转换
制作时间: 2017.12
硬件设备: NJ301 -1100
软件: Sysmac Studio
案例简介:分别用三种方法,将NJ中的WORD变量与BOOL变量互相转换。
1. 系统概述,硬件搭建和接线
本实验使用软件模拟
2. 操作步骤
(1)方法1:指令转换
用AryBYTETo和ToAryBYTE指令进行数据类型的转换,将WORD转换成BOOL。指令介绍:
图2-1
ToAryByte可以把任意数据类型的变量转换为BYTE类型的数组变量。
图2-2
图2-3
复杂sql 语句编写经验AryByteTo可以把字BYTE的数组变量,转换成任意数据类型的变量,配合ToAryByte可以实现任意类型数据转换。
本案例中先将WORD变量通过ToAryByte转换成BYTE型的数组变量,再通过AryByteTo将BYTE型的数组变量,转换成BOOL型的数组变量。
(2)方法2:CJ地址映射
NJ也有CJ系列的对应地址,可以通过建立两个地址相同,类型不同的变量关联起来,地址范围如下:
图2-4
(3)方法3:建立联合体变量
NJ的联合体可以把不同类型的成员联合到一起,代表同一个值。本案例中把一个WORD变量和一个BOOL型的数组变量相互关联。
regqueryvalueex图2-5
3.现象和结论
(1)方法1 :
原数据为一个WORD变量DEF 要与GHI的BOOL数组对应:文件格式转换app
图3-1c语言怎么初始化数组为零
DEF里的值是4321,对应二进制的值是0100 0011 0010 0001;
用监视表监视GHI这个数组变量,结果也是0100 0011 0010 0001
图3-2
如果需要将BOOL变量转成WORD变量,那么先用ToAryByte将BOOL转成BYTE,再用AryByteTo转成WORD变量。
js判断输入框输入的是数字(2)方法2:
分别建立一个BBB的INT变量,和一个AAA的16位的BOOL数组变量,在分配到里都分配地址为%D100,那么这两个变量也互相关联了:
图3-3
对BBB赋值,10进制的7834,2进制是0001 1110 1001 1010,对应AAA里的BOOL量也是0001 1110 1001 1010。
图3-4fetched的中文意思
反过来也是一样的:关掉move指令,对AAA里的BOOL量,重新置位,变成:0101 1100 1001 1000,对应BBB里的值变成23704。
图3-5
图3-6
(3)方法3:
在数据类型里建立一个联合体的数据类型,名字叫“联合体1”,里面有“位组”和“字”两个成员,数据类型分别为BOOL数组和WORD
图3-7
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论