首页 百科知识 编码和译码指令

编码和译码指令

时间:2022-10-21 百科知识 版权反馈
【摘要】:即对半个字节的编码进行译码来选择一个字型数据16位中的1位。如果在PLC输出端上接数码钟,可应用七段显示码指令,将输入字节的低4位有效数字所对应的数据,直接显示在数码管上。字符串转换指令是将用标准字符编码表示的0~9,A~F的字符串,与十六进制、整数、双整数及实数之间进行转换。在梯形图中,整数到ASCII码指令以功能框的形式编程,指令名称为ITA。

4.3.9 编码和译码指令

1)编码指令ENCO(Encode)

编码指令的功能是对字型输入数据的最低有效位的位号进行编码后,送到输出字节的低位。

梯形图中,编码指令以功能框的形式编程,指令名称为ENCO。当使能输入端EN有效时,将输入端(IN)的字型数据的最低有效位(值为1的位)的位号(00~15)进行编码,编码结果送到由OUT所指定字节单元的低4位。即用半个字节来对一个字型数据16位中的1位有效位进行编码。在语句表中,编码指令格式为:ENCO IN OUT。

例:   ENCO AC0,VB0

指令的执行结果见表4-36所示。

表4-36 编码指令ENCO的执行结果

img322

影响使能输出ENO正常工作的出错条件为:SM4.3(运行时间),0006(间接寻址)。

2)译码指令DECO(Decode)

译码指令的功能是将字节型输入数据的低4位内容译成位号,并将输出字的该位置1,其余位置0。

在梯形图中,译码指令以功能框的形式编程,指令的名称为DECO。当使能输入端EN有效时,将输入端(IN)的字节型数据低4位(半个字)的内容译成位号(00~15),且将表示的位号置输出字(OUT)的相应位置1,其余的位置0。即对半个字节的编码进行译码来选择一个字型数据16位中的1位。在语句表中,译码指令功能框的形式编程,指令的名称为:DECO IN,OUT。

例:   DECO VB0, AC0

指令的执行结果见表4-37所示。

表4-37 译码指令DECO的执行结果

img323

影响使能输出ENO正常工作的出错条件为:SM4.3(运行时间),00006(间接寻址)。

3)七段显示码指令SEG

如果在PLC输出端上接数码钟,可应用七段显示码指令,将输入字节的低4位有效数字所对应的数据,直接显示在数码管上。

在梯形图中,七段显示码指令以功能框的形式编程,当使能输入端EN有效时,将输入端(IN)的字节型数据的低4位对应的七段显示码(0~F),输出到OUT指定的字节单元。如果该字节单元是输出继电器字节QB,则可直接驱动数码管。

影响允许输出ENO正常工作的出错条件为:SM4.3(运行时间),0006(间接寻址)。在语句表中,七段显示码指令的指令格式为:SEG IN,OUT。

4)字符串转换指令

字符串转换指令是将用标准字符编码(即ASCII码)表示的0~9,A~F的字符串,与十六进制、整数、双整数及实数之间进行转换。

(1)ASCII码到十六进制数指令ATH(ASCII To Hex)

在梯形图中,ATH指令以功能框的形式编程,指令名称为ATH。它有2个数据输入端及2个输出端。

IN:开始字符的字节首地址

LEN:字符串长度,字节型,最大长度225。

OUT:输出字节的首地址。

当使能输入端EN有效时,把从输入数据IN开始的长度LEN的ASCII码,转换为十六进制数,并将结果送到首地址OUT的字节存储单元。

如果输入数据中有非法的ASCII字符,将终止转换操作,特殊继电器SM 1.7置1,在语句表中,ATH的指令格式为:ATH IN,LEN,OUT。

例:   ATH VB100,VB200,3

指令的执行结果见表4-38所示。程序如图4-32所示。

表4-38 字符串转换指令ATH执行结果

img324

(2)十六进制数到ASCII码指令HTA(Hex To ASCII)

在梯形图中,HTA指令以功能框的形式编程,指令名称为HTA。

IN:十六进制数开始位的字节首地址。

LEN:转换位数,字节型,最大长度255。

OUT:输出字节的首地址。

当使能输入端EN有效时,把从输入数据IN开始的长度为LEN位的十六制数,转换成ASCII码,并将结果送到首地址为OUT的字节存储单元。

如果输入数据中有非法的ASCII字符,则终止转换操作,特殊继电器SM1.7置1。

img325

图4-32 字符串转换

在语句表中,HTA的指令格式为:HTA IN,LEN,OUT

(3)整数到ASCII码指令ITA。在梯形图中,整数到ASCII码指令以功能框的形式编程,指令名称为ITA。IN:整数数据输入。

FMT:转换精度或转换格式(小数位的表示方式)。OUT:连续8个输出字节的首地址。

当使能输入端EN有效时,把整数输入数据IN,根据FMT指定的转换精度转换成始终是8个字符的ASCII码,并将结果送到首地址为OUT的8个连续字节存储单元。FMT的字义如下:

MSB                  LSB

img326

在FMT中,高4位必须是0,C为小数点的表示方式:C=0时,用小数点来分割整数和小数;C=1时,用逗号来分割整数和小数。nnn表示在首地址为OUT的8个连续字节中小数的位数,nnn=000~101,分别对应0~5个小数位,小数部分的对位方式为右对齐。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈