您现在的位置是:首页 > PLC技术 > PLC技术
S7-200 PLC的ASCII码与十六进制数的互转
来源:艾特贸易2017-06-04
简介鉴于信息交换的重要性及为统一文字符号的编码标准,使不同厂家、不同机型的计算机皆能使用同一套标准化的信息交换码,美国标准局制定了 ASCII 码 (America Standard Code forInformation In
鉴于信息交换的重要性及为统一文字符号的编码标准,使不同厂家、不同机型的计算机皆能使用同一套标准化的信息交换码,美国标准局制定了ASCII码(America Standard Code forInformation Interchange,美国信息交换标准码)作为数据传输的标准码。早期使用7个位来表示英文字母、数字0~9及其他符号,现在则使用8个位,共可表示256个不同的文字与符号,是目前各计算机系统中使用最普遍也最广泛的英文标准码。相对于ASCII码,中文系统中使用最广泛的内码则为Big-5码。ASCII码与十六进制数的互转指令如图3-87所示。 图3-87 ASCII码与十六进制数的互转指令 (a) ASCII码转换为十六进制数指令;(b)十六进制数转换为ASCII码指令 (1) ASCII码转换为十六进制数。ASCII码转换为十六进制(Hex)数指令的梯形图由助记符( ATH)、使能输入端(EN)、ASCII码起始字节(IN)、字符长度(Length,LEN)和十六进制数的输出端( OUT)构成;其语句表由操作符(ATH)、ASCII码起始字节地址(IN)、16进制数输出地址(OUT)和字符长度(LEN)构成,如图3-87 (a)所示。 ASCII码转换为十六进制数指令可将ASCII码转换为十六进制数。当EN=1时,把从IN开始、以LEN为长度的ASCII码转换成十六进制数,结果存放于以OUT为开始地址的单元中。 数据范围: 1) ASCII起始字节地址IN:VB、IB、QB、MB、SMB、SB、LB、*VD、*AC、*LD。 2)十六进制数OUT:VB、IB、QB、MB、SMB、SB、LB、*VD、*AC、*LD。 3)字符长度LEN:VB、IB、QB、MB、SMB、SB、AC、常数、LB、*VD、*AC、*LD。 【例3-31】图3-88是一个ASCII码转换为十六进制数指令编程的例子,当I1.2 =1时,以VB12为开始地址的连续3(LEN -3)个单元VB12、VB13、VB14中的ASCII码字符串33、45、41被转换成十六进制数(3EAx),其中x表示VB25的“半字节”,即低四位的值未改变,结果存入以VB24为开始地址的连续单元中。把ASCII码转换成十六进制数时,是从高位到低位依次存到单元中的。
图3-88 ASCII码转换为十六进制数指令的工作原理 (2)十六进制数转换为ASCH码。十六进制数转换为ASCII指令的梯形图由助记符( HTA)、使能输入端(EN)、十六进制数输入端(IN)、数据长度(LEN)和ASCII输出端( OUT)构成;其语句表由操作码(HTA)、十六进制数输入(IN)、ASCII码输出(OUT)和数据长度( LEN)构成,如图3-87 (b)所示。 十六进制数转换为ASCII码指令可将十六进制数转换为ASCII码。当EN=1时,把从IN开始、以LEN为长度的十六进制数转换成ASCII码,存于以OUT为起始地址的连续单元中。LEN的取值范围为0~255;十六进制数(0~F)对应的合法的ASCII码字符为:30~39和41~46。指令影响的特殊存储器标志位:SMl.7(非法ASCII码)。 数据范围: 1)十六进制数IN:VB、IB、QB、MB、SMB、LB、*VD、*AC、*LD。 2) ASCII码OUT: VB、IB、QB、MB、SMB、LB、*VD、*AC、*LD。 3)字符长度LEN:VB、IB、QB、MB、SMB、LB、AC、常数、*VD、*AC、*LD。 【例3-32】 图3-89给出了一个十六进制转换为ASCII指令编裎的例子,当I1.2 =1时,以VB12为开始地址的连续2(LEN =2)个单元VB12、VB13字节中的十六进制数(43、65)被转换成ASCII码(34、33、36、35),结果存入以VB24为开始地址的连续单元VB24、VB25、VB26、VB27中。
图3-89 十六进制转换为ASCII码指令的工作原理
点击排行
