如何从 Codesys 中的字节 ASCII 值获取字符 替代方案:或

问题描述

早上好,

我想获取对应于 ASCII 代码的字符。例如,如果我有一个值为 16#68 的字节,我想得到一个值为 'h' 的字符。

谢谢!

解决方法

Codesys 3.5

VAR
    someByte: BYTE := 16#68;
    theChar: STRING(1);
END_VAR

theChar[0] := someByte;

enter image description here

字符串只是一个字节数组。你可以用你想要的任何值替换它们中的任何一个。

替代方案:

VAR
    someByte: BYTE := 16#68;
    theChar: STRING(1);
    bytePtr: POINTER TO BYTE := ADR(theChar);
END_VAR

bytePtr[0] := someByte;bytePtr^ := someByte;

创建一个联合:

TYPE CHAR :
UNION
    ascii: STRING(1);
    raw: BYTE;
END_UNION
END_TYPE

theChar.raw := 16#68;

enter image description here