玉溪S7-1200PLC西门子代理商原装现货 玉溪S7-1200PLC,西门子S7-1200plc,西门子PLC代理
S7-200转换指令中的 SEG、DECO、ENCO为译码、编码指令,程序格式类似,SEG指令如图3-80所示。
G是用于7段数码管显示的译码指令,通过本指令,可以将输入IN确定的低字节时六进制数0~F转换为连接于OB0的7段数码管显示0~F。
DECO为二进制译码指令,通过本指令,可以将输入IN确定的输入低字节十六进制数0~F转换为输出字OUT的对应输出位。如当输入IN定义为MB20,输出定义为QW0时,若输入MB20=“00”,对应输出 Q0.0=“1”;其余输出Q0.1~Q1.7为“0”;若输入MB20=“0E”,对应于输出Q1.6=“1”,其余输出Q0.1~Q1.5、Q1.7为“0”。
ENCO为二进制编码指令,本指令的动作与DECO正好它可以将输入IN确定的二进制位状态,转换为输出OUT低字节十六进制数0~F输出。如当输入定义为IW0、输出为MBO时,若输入IWO=“00000000000000000000,对应输出MB0=02;IWO=“10000000 0000 0000",对应输出 MB0=0F等。
S7-200转换指令中的I_S、DI_S、R_S以及S_I、S_DI、S_R是将16位整数、32位整数以及浮点数转换为ASCII字符串与将ASCII字符串转换为16位整数、32位整数以及浮点数的指令。梯形图编程相似,如将16位整数1234转换为ASCII字符串的程序格式如图3-79所示。
程序中的FMT定义以及处理过程与上述的ASCII字符转换基本相同。但在转换为字符串时,输出(OUT)存储器所指定的第1字节用于存储字符串的长度。对于整数与双整数,字节对应的值分别为8与12;对于浮点数,此值与FMT参数的bit7~bit4相同。
S7-200转换指令中的ITA、DTA、RTA是将16位整数、32位整数及浮点数转换为ASCII的指令,梯形图编程相似,如将16位整数1234转换为ASCII码的程序格式如图3-77所示。
梯形图中的IN为需要转换的数据,OUT为转换结果存储器起始地址。
FMT为转换格式,长度1字节,bit2~bit0用于指定小数点后的数据位数;bit3用于指定小数点的表示形式;bit7~bit4用于浮点数转换时的数据长度指定,具体如下。
bit2~bitO:小数点后的数据位数指定。可以表示的范围为0~7,实际只能使用0~5;当指定6、7时,全部ASCII作为空格处理。
bit3:小数点的ASCII码显示形式指定。bit3="1",小数点以","表示;bit3=“0”,小数点以“.”表示。
bit7~bit4:浮点数转换时的ASCII字符长度指定,允许为3~15。即S7-200中规定*多只能转换成15个ASCII字符,其中数据*大13位字符、符号1位字符、小数点1位字符。
例如:定义FMT为130,因对应二进制值为10000010,规定转换后的数据长度为8字符,小数点后2位。
对于整数(16位)、双整数(32位),bit7~bit4=0000,ASCII字符长度指定办法如下。a.整数(16位)转换为ASCII(ITA指令):数据范围-32768~32767,数据占5位字符、符号占1位字符、小数点占1位字符,实际需要7位字符,由于每一ASCII字符需要占用1个字节,存储器占用连续8字节长度(实际需要7字节)。
b.双整数(32位)转换为ASCII(DTA指令):数据范围-2147483648~2147483647,数据占10位字符、符号占1位字符、小数点占1位字符,实际需要12位字符,由于每一ASCII字符需要占用1个字节,存储器占用连续12字节长度。
对于图3-77的程序,定义FMT为2,小数点后的数据为2位,小数点以“.”表示。转换后的数据应为12.34对应的ASCII码“0031 322E 333 34”(参见表3-5)。
S7-200转换指令中的ATH、HTA是十六进制数与ASCII码间的转换指令,梯形图编程相似,ATH指令的程序格式如图3-78所示。
梯形图中的 ATH为ASCII码转换成十六进制数的指令(HTA:十六进制数转换成ASCII码)。IN为需要转换的数据;OUT为转换结果存储器起始地址;LEN为转换数据的长度,单位为字节。
对于图3-78中的程序,假设VB40以后的连续8个字节存放的分别是ASCII码“3235、41、43、36、38、46、32",转换成十六制数后为"35AC68F2"(参见表3-5)。
ATH、HTA指令编程需要注意如下两点。
a.每次可以转换的ASCII代码数量不可以超过255个;
b.ASCIl码必须为十六进制数可以对应的字符0~9、A~F(即表3-5中的代码编号30~39、41~46,其余代码为非法)。