【问题标题】:How to get char from a Byte ASCII value in Codesys如何从 Codesys 中的 Byte ASCII 值中获取字符
【发布时间】:2021-03-26 11:15:49
【问题描述】:

早上好,

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

谢谢!

【问题讨论】:

    标签: hex ascii codesys


    【解决方案1】:

    Codesys 3.5

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

    theChar[0] := someByte;

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

    替代方案:

    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;

    【讨论】:

    • 我正在使用 Codesys 2.3 并收到以下消息:ibb.co/1MgqLcK。怎么了?
    • 就我个人而言,我没有使用过 2.3,但我认为这 2 个替代方案无法正常工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 2023-03-22
    • 2017-09-08
    • 1970-01-01
    相关资源
    最近更新 更多