首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Codesys中获取字符的ASCII代码?

如何在Codesys中获取字符的ASCII代码?
EN

Stack Overflow用户
提问于 2019-11-26 20:15:57
回答 2查看 3.6K关注 0票数 0

我需要在Codesys (使用ST语言)中获取char的字节代码。有办法做到这一点吗?

例如,在c++中,它非常简单:

代码语言:javascript
运行
复制
int c = 'h';
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-27 11:45:53

有几种方法可以做到这一点,但概念是相同的。您可以将其转换为BYTE

代码语言:javascript
运行
复制
VAR
    sTest: STRING(1) := 'h';
    bChar: BYTE;
END_VAR

bChar := STRING_TO_BYTE(sTest);

但我最喜欢使用指针。下面是返回字符串中给定字符ASCII代码的函数示例。

代码语言:javascript
运行
复制
FUNCTION STRING_TO_ASCII: BYTE
    VAR_INPUT
        pbIn: POINTER TO BYTE;
        bCharNum: BYTE; (* Character number in a string start with 0 *)
    END_VAR
    pbIn := pbIn + bCharNum;
    STRING_TO_ASCII := pbIn^;
END_FUNCTION

现在你可以在程序中使用它了

代码语言:javascript
运行
复制
VAR
    sTest: STRING(250) := 'Hello Wold!';
    bChar: BYTE;
END_VAR

bChar := STRING_TO_ASCII(sTest, 0); (* Character H *)
bChar := STRING_TO_ASCII(sTest, 1); (* Character e *)
票数 1
EN

Stack Overflow用户

发布于 2021-02-02 17:11:40

使用变量创建函数CHR():

代码语言:javascript
运行
复制
FUNCTION CHR : BYTE
VAR_INPUT
    CHAR:STRING(1);
 END_VAR
VAR
    pBYTE:POINTER TO BYTE;
END_VAR

使用以下代码:

代码语言:javascript
运行
复制
pBYTE := ADR(CHAR);
CHR := pBYTE^;

这项工作做得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59050795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档