请教用16进制与ASCII怎么转换

西门子plc 发布于 1年前 分类:S7-1500

请教各位老师我想用自由口写MODBUS ASCII通信。
现在遇到的问题是。我用串口助手以ASCII方式向PLC发“010321000001”,PLC收到的是“303130333231303030303031”,请问我如何将PLC收到的16进制消息,转换成串口助手所发的“010321000001”?

1个回复

  • plc电工爱好者
    plc电工爱好者

    1、如果自己编写转换程序非常简单:将“303130333231303030303031”串中的每两位十六进制数(表示一个字符)与十六进制数30做减法,结果就是“010321000001”。
    2、也采用系统功能块FC38 :
    FC38 STRNG_I:  将字符串转换为整数。