CODESYS 指针使用-CODESYS资源下载区-酷德网 - CoDeSys软件教程下载,CoDeSys工控资讯门户 

酷德网

HSC6490-cn中国制造,中国芯~
查看: 2547|回复: 1

CODESYS 指针使用

[复制链接]
  • TA的每日心情
    擦汗
    2019-8-13 14:13
  • 签到天数: 32 天

    [LV.5]常住居民I

    发表于 2023-4-12 16:30:04 | 显示全部楼层 |阅读模式

    codesys指针一般有两种方式使用,pointer和reference两种方式,最后还介绍一个如何避免指针出错导致程序不运行的方法

    1、第一种方式 Pointer to
    声明指针的语法如下:
    <标识符>: POINTER TO <数据类型 | 功能块 | 程序 | 方法 | 函数>;
    取指针地址内容即意味着读取指针当前所指地址中存储的数据。通过在指针标识符后添加内容
    操作符“ ^” ,可以取得指针所指地址的内容。
    算术索引访问指针:如果你用一个 POINTER TO 类型的变量进行索引访问, CODESYS 通过 pint = (pint + i * SIZEOF(base type))^ 计算偏移量。索引访问也会导致隐式的指针解引用。产生的数据类型是指针基本数据类型。请注意 pint[7] != (pint + 7)^!


    getimg.php?url=https%3A%2F%2Fimg-blog.csdnimg.cn%2Fb4c8d018f62a4eccbab8dda5cfd2e661.png
    getimg.php?url=https%3A%2F%2Fimg-blog.csdnimg.cn%2F0d83ef58cf2f4cf391f52aa96e0fdb0b.png
    指针数组使用,可以将轴号通过数组变化
    [AppleScript] 纯文本查看 复制代码
    ********************************************************************
    VAR
    Mc_power1:SM3_Basic.MC_Power;
    bRegulatorOn:BOOL;
    axisp:ARRAY [1..2] OF POINTER TO SM3_Basic.AXIS_REF_SM3;
    n:INT;
    iStep:INT:=1;
    END_VAR
    ********************************************************************
    CASE iStep OF
    1:n:=1;
    2:n:=2;
    END_CASE
    
    axisp[1]:=ADR(axis1);
    axisp[2]:=ADR(axis2);
    
    Mc_power1(
    Axis:= axisp[n]^,
    Enable:=TRUE ,
    bRegulatorOn:=bRegulatorOn1 ,
    bDriveStart:= TRUE,
    );
    


    =========================================================================

    2、第二类方式 Reference to


    getimg.php?url=https%3A%2F%2Fimg-blog.csdnimg.cn%2Fcd51d01b34e14c75a18b70b747130135.png
    3、指针校验方式


    getimg.php?url=https%3A%2F%2Fimg-blog.csdnimg.cn%2F99065e752c0a4bf3991997c47ff3937f.png


    +10
    不赞一个?
    打赏鼓励一下!
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-4-14 10:26
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    发表于 2023-4-14 12:16:03 | 显示全部楼层
    讲解的很好,学习中,谢谢楼主!
    方法1中用到了轴的库,我没有装,就用CTU来做的,也是可以的。
    方法2中,好像是倒过来的,iResult给值之后,iVal值才会变54.
    +10
    不赞一个?
    打赏鼓励一下!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

    本版积分规则

    
    顶部qrcode底部
    关注酷德网订阅号,获取更多资讯!

    QQ|Archiver|手机版|小黑屋|酷德论坛 ( 苏ICP备16065247号-1 )|网站地图

    GMT+8, 2026-11-9 03:46 , Processed in 0.274570 second(s), 53 queries .

    酷德网

    © 2001-2013 Hicodesys. 技术支持 by 酷德网

    快速回复 返回顶部 返回列表