西门子plc转换指令有哪些,西门子plc转换指令实例教程

作者:老电工时间:2015-10-26 11:37:19

西门子plc转换指令实例教程

转换指令是指对操作数的类型进行转换,包括数据的类型转换、码的类型转换以及数据和码之间的类型转换。
 
一、数据类型转换

(一)字节与整数

1、字节到整数
BTI,字节转换为整数指令。使能输入有效时,将字节输入数据IN转换成整数类型,并将结果送到OUT输出。字节型是无符号的,所以没有符号扩展。
使能流输出ENO断开的出错条件:SM4.3 (运行时间);0006 (间接寻址)。
指令格式: BTI IN, OUT

例: BTI VB0, AC0      

2、整数到字节
ITB,整数转换字节指令。使能输入有效时,将整数输入数据IN转换成字节类型,并将结果送到OUT输出。输入数据超出字节范围(0~255)则产生溢出。
移位指令影响的特殊存储器位:SM1.1(溢出)。
使能流输出ENO断开的出错条件:SM1.1(溢出);SM4.3(运行时间);0006(间接寻址)。

指令格式: ITB IN, OUT

例: ITB AC0, VB10

(二)整数与双整数

1、双整数到整数
DTI,双整数转换为整数指令。使能输入有效时,将双整数输入数据IN转换成整数类型,并将结果送到OUT输出。输入数据超出整数范围则产生溢出。
移位指令影响的特殊存储器位:SM1.1(溢出)。
使能流输出ENO断开的出错条件:SM1.1(溢出);SM4.3(运行时间);0006(间接寻址)。
指令格式: DTI IN, OUT
例: DTI AC0, VW20

2、整数到双整数
ITD,整数转换为双整数指令。使能输入有效时,将整数输入数据IN转换成双整数类型(符号进行扩展),并将结果送到OUT输出。
使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址)。
指令格式:ITD IN, OUT
例:ITD VW0, AC0

(三)双整数与实数

1、实数到双整数
     
西门子<a href=/plc/ target=_blank class=infotextkey>plc</a>转换指令1

图1 实数到双整数

2、双整数到实数
DTR,双整数转换实数指令。使能输入有效时,将双整数输入数据IN转换成实型,并将结果送到OUT输出。
使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址)。

指令格式: DTR IN, OUT
例: DTR AC0, VD100

西门子plc转换指令2

图2 双整数到实数

西门子plc转换指令3
图3 双整数到实数

(四)整数与BCD码

1、BCD码到整数
BCDI,BCD码转换为整数指令。使能输入有效时,将BCD码输入数据IN转换成整数类型,并将结果送到OUT输出。输入数据IN的范围为0~9999。
指令格式:BCDI OUT
例:BCDI AC0

西门子plc转换指令4

图4 BCD码到整数

2、整数到BCD码
IBCD,整数转换为BCD码指令。使能输入有效时,将整数输入数据IN转换成BCD码类型,并将结果送到OUT输出。输入数据IN的范围为0~9999。
指令格式:IBCD OUT
例:IBCD AC0

西门子plc转换指令5

图5 整数到BCD码

(五)程序实例
模拟量控制程序中的数据类型转换。将模拟量输入端采样值由整数转换为双整数,然后由双整数转换为实数,再除以一个比例因子得到plc可以处理的范围内的值。

西门子plc转换指令6

图6 程序实例

二、编码和译码

1、编码
ENCO,编码指令。使能输入有效时,将字型输入数据IN的最低有效位(值为1的位)的位号输出到OUT所指定的字节单元的低4位。即用半个字节来对一个字型数据16位中的1位有效位进行编码。
使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址)。
指令格式: ENCO IN, OUT
例: ENCO AC0, VB0
以本指令为例,指令执行情况如表所示。

西门子plc转换指令7

图7 编码指令执行结果

2、译码
DECO,译码指令。使能输入有效时,将字节型输入数据IN的低4位所表示的位号对OUT所指定的字单元的对应位置1,其他位置0。即对半个字节的编码进行译码来选择一个字型数据16位中的1位。
使能流输出ENO断开的出错条件:SM4.3(运行时间);0006(间接寻址)。
指令格式: DECO IN, OUT
例: DECO VB0, AC0

西门子plc转换指令8

图8 译码指令执行结果

三、七段码

SEG,七段码指令 
使能输入有效时,将字节型输入数据IN的低4位有效数字产生相应的七段码,并将其输出到OUT所指定的字节单元。

四、字符串转换

1、指令种类

◆ ASCII码转换16进制指令
◆ 16进制到ASCII码
◆ 整数到ASCII码
◆ 双整数到ASCII码
◆ 实数到ASCII码

2、指令介绍

仅以ASCII码转换16进制指令为例说明字符串与其他数据类型之间的转换。
ATH,ASCII码转换16进制指令:
指令盒中有3个操作数:IN,开始字符的字节地址,字节类型;LEN,字符串的长度,字节类型,最大长度为255;OUT,输出目的开始字节地址,字节类型。使能输入有效 时,把从IN开始的长度为LEN的ASCII码转换为16进制数,并将结果送到OUT开始的字节进行输出。

3、程序实例
以上面的指令为例,条指令的执行结果如表所示,程序如图。

西门子plc转换指令9

图9 指令ATH执行结果

西门子plc转换指令10
图10 程序实例

本站仅提供信息发布平台,文章仅代表作者个人观点。

猜你喜欢

首页 > plc > 西门子plc