您当前的位置:五五电子网电子知识电器控制PLC工业控制显示ASCII码的问题 正文
显示ASCII码的问题

显示ASCII码的问题

点击数:7722 次   录入时间:03-04 11:56:46   整理:http://www.55dianzi.com   PLC工业控制

用通信得到的ASCII码温度数据如下:30H 31H 31H 32H 2E 35H , 怎么也弄不出来在上位机显示112.5度。最多只能显示12.5度,就是说百位丢失了,用FC94以后不知怎么转换,希望老师能给个思路。

    下面是我的回答:用FC 94转换的确有问题,可能是因为处理不了小数点。
    如果用IEC的FC39转换,它要求ASCII码的格式必须是±v.nnnnnnnE±xx ,±为符号位,v是1位整数,nnnnnnn是7位小数,xx是两位指数。
    我想了两个方案:
    1.用原始的ASCII码组建满足FC 39的字符串,然后转换。
    2.如果ASCII码的小数点位置是固定的,可编一个程序来转换。例如假设温度以0.1度为单位,用字的“与”运算将各位(不包括小数点)ASCII码的低4位数字取出来,乘以该位的权值(如果以0.1度为单位,例如百位为1000)后相加,得到以0.1度为单位的整数值。
    数字0~9的ASCII码是16#30~16#39,下面的程序将MB0中数字的ASCII码转换为原数字:
      L     MB     0
      L     B#16#F
      AW   
      T     MB     1
    我在网上征集方案,qzcq提出用人机界面直接显示字符串的方案就很好,已用仿真验证。需要补充一下,标准字符串有两个字节的头部,分别是最大字符数和实际的字符数。


本文关键字:暂无联系方式PLC工业控制电器控制 - PLC工业控制

《显示ASCII码的问题》相关文章>>>