欧姆龙NJ/NX控制器传送指令与转换指令 前面文章介绍了传送指令,它属于函数(功能),是一个经常用到的指令。在某些情况下传送指令也会失效,是什么情况呢? 1、整数变实数的传送。 如上图所示,“输入”中的数据“125”,能传送到“输出”中,输出等于“125”。 仔细看“输入”变量的数据类型为“INT(整数)”,“输出”变量的数据类型为“REAL(实数)”,这表明整形数据类型的变量可以传送数据到实数数据类型的变量。 2、实数变整数的传送。 如上图所示,实数变整数的传送不能通过编译。因此,传送指令“MOVE”不能传送不同数据类型的数据,除“整数”传送到“实数”外。 3、任意数据类型转换传送“TO_□”指定数据类型指令。 如上图所示“TO_□”类指令有14个,“□”分别对应以下14种数据类型: BYTE:8位(1字节)位列,16#两位数表示。 DINT:32位整数 DWORD:32位(4字节)位列,16#8位数表示。 INT:16位整数 LINT:64位整数 LREAL:64位实数 LWORD:64位(8字节)位列,16#16位数表示。 REAL:32位实数 SINT:8位整数 UDINT:32位正整数 UINT:16位正整数 ULINT:64位正整数 USINT:8位正整数 WORD:16位(2字节)位列,16#4位数表示。 4、数据类型转换指令“□_TO_□”,把“□”替换成以上14种数据类型,就得到196种转换指令的组合,确实挺多的,但是不难记。 5、时间数据类型的整数转换指令。 时间数据类型有持续时间型(TIME#或T#)、日期型(DATE#或D#)、时刻型(TOD#)、日期时刻型(DT#),可以转换成整数秒。 因为位列数据类型的数据不可进行大小比较,而整数数据类型的数据不可进行逻辑运算,在需要比较大小的时,位列数据类型转换成整数数据类型,在需要逻辑运算时,整数数据类型转换成位列数据类型。所以,数据类型转换在数据运算时比较常见,虽然有时没用数据类型转换指令,但是有时是变量数据类型通过代入到指令中实现自动转换了。 感谢阅读指正,关注了解更多! |
|