Codesys—指针变量的应用示例

本文章主要介绍指针变量的简单应用,针对初学者。

通过本示例理解以下两点:

1.理解指针变量是什么。

2.指针变量的定义,取值和赋值操作。

程序编写完成后,启动仿真查看结果:

 语法:ADR(变量),如:ADR(nIntValue),nIntValue为INT类型变量,函数的作用是获取变量的指针值。

观察上图可发现,指针变量【PointVar_int】为【16#000001E53A97097C】,此值为内存地址值,指针变量【PointVar_byte_high】为【16#000001E53A97097D】,即【16#000001E53A97097C】+1,此内存地址为下一个字节的内存地址值,说明在内存地址中的最小单位为字节。因此指针的本质就是内存地址,也是一个具体的数值。

语法:指针变量+^,如:PointVar_byte_low^,PointVar_byte_low为指向INT的指针变量。

即直接访问指针变量所指向的值,使用此方法尝试直接修改指针所指向的值,并仿真运行。

 上图可以发现,两个BYTE变量的值依然时16#78和16#56,但是INT变量的值变成了16#5600,而并非16#5678,这是由于最后一条指令通过直接寻址的方式,直接修改了INT变量“【nIntValue】”的值。

  • 19
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CODESYS是一种广泛应用于工业自动化领域的编程环境和开发平台。在CODESYS中,指针是一种用于处理内存地址的数据类型,它可以指向其他变量或对象的内存地址。通过使用指针,可以实现对内存中数据的直接访问和操作,提高程序的灵活性和效率。 在CODESYS中,指针的声明和使用方式与C/C++语言类似。可以通过以下步骤来声明和使用指针: 1. 声明指针变量:使用指针类型加上变量名来声明一个指针变量。例如,可以使用"VAR_POINTER"关键字声明一个指向整数类型的指针变量: ``` VAR ptr: POINTER TO INT; END_VAR ``` 2. 初始化指针:可以将指针初始化为NULL或者其他变量的地址。例如,将指针初始化为NULL: ``` ptr := NULL; ``` 3. 获取变量地址:可以使用"ADR"函数获取变量的地址,并将其赋值给指针变量。例如,将变量"var"的地址赋值给指针: ``` ptr := ADR(var); ``` 4. 通过指针访问和修改数据:可以使用"*"运算符来访问和修改指针所指向的数据。例如,通过指针修改变量的值: ``` *ptr := 10; ``` 5. 使用指针作为函数参数:可以将指针作为函数的参数,以实现对函数外部变量的修改。例如,定义一个函数来交换两个整数变量的值: ``` FUNCTION SwapValues(p1: POINTER TO INT; p2: POINTER TO INT) VAR temp: INT; END_VAR temp := *p1; *p1 := *p2; *p2 := temp; END_FUNCTION ``` 以上是关于CODESYS指针的简要介绍和使用方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值