浔之漫智控技术(上海)有限公司总部
主营西门子模块 , PLC模块 , 变频器模块 , 触摸屏模块
SIMATIC模块S7-200CN CPU226代理商

SIMATIC模块S7-200CN CPU226代理商西门子PLC模块代理商

S7-200CN CPU226,DC/DC/DC,24输入/16输出

S7-200CN CPU226,DC/DC/DC,24输入/16输出

S7-200模块系列    

CPU模块CN代理商

Classic数字量模块代理商

Classic模拟量模块代理商

运动控制模块代理商

CN 数字量模块代理商

CN模拟量模块代理商

存储卡及扩展电缆代理商

PC/PPI电缆代理商

转换指令也包括有很多种,有字节、整数、双整数和浮点数之间的转换,BCD码与整数之间的转换,ASCII码与十六进制数之间的转换,整数、双整数和浮点数与ASCII码之间的转换,整数,双整数和浮点数与字符串之间的转换,除此之外,还有编码译码和七段数字显示译码等。以上这么多转换指令,常用的还是字节、整数、双整数和浮点数之间的转换,这是我们必须要掌握的东西。


    下面,我们就先看一下字节、整数、双整数和浮点数之间的转换。对于转换,我们可以看到下面的程序里面的中间运算结果是用LW0或LD2进行存储的,所以,中间运算结果用局部存储区的话,这样就不会占用到数据存储区的空间。或者我们也可以用累加器AC进行存储中间运算结果。


    对于浮点数转换为双整数的指令,也就是取整指令ROUND和TRUNC,我们要注意的是ROUND指令是将小数部分四舍五入的,而TRUNC指令是将小数部分舍弃的。微信截图_20230218170033.png

    对于BCD码与整数之间的转换,这在我们后面要学的的时钟读写指令应用时会用到,这个也是需要掌握一下的。

    而至于ASCII码与十六进制之间的转换,整数、双整数和浮点数与ASCII码之间的转换,整数,双整数和浮点数与字符串之间的转换和七段数字显示译码的话相对来说用的少些,可以了解一下。

    有一个要注意的是,我们在整数、双整数和浮点数与ASCII码之间的转换指令里面会看到“FMT”,那么这个FMT它是指定小数点右侧的转换jingque度的,以及是否将小数点表示为逗号或点号及输出缓冲区的大小。ITA的输出缓冲区是8个字节的,DTA是12个字节,RTA则是由FMT定义的。同样的,在整数,双整数和浮点数与字符串之间的转换指令也有“FMT”,I_S的输出字符串长度是8个字节,DI_S是12个字节,而R_S则是由FMT定义的。因为这几个指令用的较少些,就不举例子了。

    而对于编码译码DECO和ENCO指令,DECO指令是将输入字节的低4位所表示的数值置输出字中相应的位为1,其余位都为0;ENCO指令是将输入字低有效位的位号写入到输出字节中的低4位中。


    那么针对以上程序,假如我们在输入字节VB0里面写入一个16#7,那么执行DECO指令后会使得输出字VW2中的第7位置为1,则VW2为16#0010或者2#0000 0000 1000 0000。假如我们在输入字VW4里面写入2#0000 0001 0000 0000,也就是第8位为1,那么执行ENCO指令后会使得输出字节VB6中输出的数值就是8。src=http___img.mcooks.com_file_newupload_202105_05_1551523311667.jpg.thumb.jpg&refer=http___img.mcooks.webp.jpg

SIMATIC模块S7-200CN CPU226代理商西门子PLC模块代理商西门子电源模块代理商西门子变频器代理商西门子CPU模块代理商西门子电缆代理商西门子触摸屏代理商西门子电缆代理商西门子通信模块代理商

展开全文