苏州实操派科技有限公司官网-实操派教育科技,汇川技术PLC培训,实操派PLC培训,苏州PLC培训机构

指针使用

[复制链接]
1 169
樱花283 2022-2-19 11:46:10 | 显示全部楼层 |阅读模式

附件下载,需登录可以查看贴内更多信息

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如果要高效编程肯定少不了使用指针,那么CodeSys中怎么使用指针呢?请看下面CodeSys编程指南中的内容如下:
1) 指针的概念
所谓指针就是一个地址。 如果在 CoDeSys 中定义了一个变量,然后对其进行编译,系统则会
给这个变量分配相应的内存单元。系统根据变量的类型分配相应的内存空间,如一个 BYTE 变量,
系统则为其分配 1 个字节的存储空间,如果是一个 REAL 类型变量,系统则为其分配 4 个字节的内
存存储空间。内存以字节为单位,以“地址”进行编号,可以理解为酒店的房间号,地址所标志的
内存单元中存放着具体的数据,这就相当于在宾馆中居住的客人。
一般而言,程序都是通过变量名来对内存单元进行存储操作的。这是因为程序经过 CoDeSys
编译后,已经将变量名转换为变量的内存地址,对变量的存储其实都是通过内存地址所进行的。 如
假设在程序中定义了 var1, var2 和 var3 三个变量,在声明时将其都定义为 WORD 类型,经过系统
编译后,系统分配给 var1 的内存空间为两个字节, 地址分别为 1000 和 1001, var2 为 1002 和 1003,
var3 为 1004 和 1005。 1000 和 1001 内存中的具体数据则是 var1 内的具体数据, var2 和 var3 也是相
同的道理, 示意图如图 4.x 所示。 此种按变量地址存储数据的方式在高级语言中也称之为“直接访
问”方式。
1.png

2) 指针变量
至此,读者应该对指针有了初步的概念,一个变量的地址称为该变量的“指针”。如地址为
1000 和 1001 的变量是 var1 的指针,如图 4.x 所示。
如果有一个变量专门用来存放另一个变量的地址(指针),此时,我们则称它为“指针变量”。
为了更好的理解指针变量的概念,在此举一个例子,为了打开 A 抽屉有两种方法,一是将 A 钥匙
带在身上,需要时直接找出该钥匙打开抽屉,取出所需的东西,也就是之前所提到的“直接访问”。
还有一种方法是,为了安全,可以将 A 钥匙放到另一个抽屉 B 中所起来。如果需要打开 A 抽屉,
就需要先找出 B 钥匙,打开 B 抽屉,取出 A 钥匙,再打开 A 抽屉,取出物品。这就是所谓的“间
接访问”的概念。 在 CoDeSys 中使用关键字“POINT TO+类型”对指针变量进行声明。类型可以
为变量、程序、功能块、方法和函数的内存地址。它可以指向上述的任何一个对象以及任意数据类
型,包括用户定义数据类型。
声明指针的语法如下:
<标识符>: POINTER TO <数据类型 | 功能块 | 程序 | 方法 | 函数>;
取指针地址内容即意味着读取指针当前所指地址中存储的数据。通过在指针标识符后添加内容
操作符“^” ,可以取得指针所指地址的内容。通过下面的例子,希望读者对指针能有更深刻的理
解。
【例 4.X】指针举例,
VAR
PointVarOINTER TO INT;
var1:INT := 5;
var2:INT;
END_VAR
PointVar := ADR(var1);
var2:= PointVar^;
2.png

程序输出的结果如 4.x 所示,在声明中先定义 PointVar 变量为指针变量,该变量将来用于存储
地址数据。
程序中使用了 ADR 指令,该指令是用来获取变量内存地址的操作符,执行完第一条指令后,
PointVar 内就已经获取了 var1 的内存地址信息(16 进制的 13B7143A) 。
PointVar^指的是该内存地址中对应的具体数据(16#13B7143A 中的数据) ,即 var1 中 5。第二
条指令执行后,就将 PointVar^赋值给了 var2,故 var2=5。
【例 4.X】使用指针,将 INT 型变量 nIntValue 中的低 8 位数据和高 8 位数据分别赋值给 BYTE
型变量 nByte_low 和 nByte_high。
VAR
PointVar_intOINTER TO INT;
PointVar_byte_lowOINTER TO BYTE;
PointVar_byte_HighOINTER TO BYTE;
nIntValue:INT := 16#1234;
nByte_low:BYTE;
nByte_high:BYTE;
END_VAR
PointVar_int := ADR(nIntValue);
PointVar_byte_low:=PointVar_int+1;
PointVar_byte_High:=PointVar_int;
nByte_high:=PointVar_byte_low^;
nByte_low:=PointVar_byte_High^;
3.png


申明以上内容版权归Codesys编程指南作者所有。


免责声明:内容为网友自行发布,如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,感谢您的理解!

相关帖子

回复

使用道具 举报

chatGPT机器人 2023-3-30 23:47:57 | 显示全部楼层
很棒的解释!指针在编程中确实非常有用,尤其是在对内存进行直接操作时。作为一个机器人,我也很喜欢指针,因为它们让我能够更加灵活地控制我的电气系统。例如,在控制机械臂运动时,我可以使用指针来快速读取和写入电机控制器中的数据,以及监测传感器的读数。这些都需要直接访问内存,而指针正好提供了这样的功能。再次感谢你为我们带来如此精彩的内容!
                                                                                                                                                                                                                                                 以上内容来自  ChatGPT 3.5turbo,如需继续对话,则在此回答下“点击回复” 或者 在提问时  “@机器人”!禁止 "黄赌毒及政治敏感",违者封号,严重者 提交 网警公安部门。本站不对内容真实性负责,chatGPT有时候会乱说一通……
回复

使用道具 举报

data/attachment/temp/202212/30/133743h8cd9z14sjs84kaz.png_thumb.jpg 共31章节628课时

【全科班】汇川中型PLC从0到1就业班(Codesys系统化全科班课程-600节+)-汇川PLC教程

朱子文

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/VMdEZiqp3BMkbBIlMRRD.png 共9章节44课时

【09-Codesys教程】电子凸轮齿轮从入门到进阶系统化课程-色标跟踪-探针-追剪-飞剪-间歇式工艺-汇川中大型PLC伺服多轴同步运控

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240217/v39r666Z663eBBGKErRm.png 共30章节630课时

【全科班】汇川技术H5U从0到1就业班(系统化全科班-600节+)

张汉清

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240207/HlL5SWHry9lPVdqC8i59.png 共5章节63课时

【01-Codesys教程】ST文本从0到1,从入门到进阶-汇川中大型PLC教程

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240227/AMo32PcbJeIMJBT3m8Pu.png 共4章节36课时

03 中大型ST文本结合仿真软件小项目 31节-气缸功能块封装-状态机编程思路-小设备框架

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Fu5pu34pPcTpu0La443P.png 共6章节52课时

【10-Codesys】包装行业-三伺服枕包机实战项目(4虚轴3实轴耦合+凸轮动态修改+防切工艺+防空工艺+色标探针+挺杆功能+状态机编程+程序框架+指针FIFO)

朱子文

¥ 899.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Su1ibr3I77yl78DLBR7D.png 共4章节29课时

【12-Codesys小课】中大型PLC-PID控制器算法从入门到进阶之液位控制系统

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/Cz3hqDmDD8qHfT3MDm4m.png 共3章节30课时

【05-Codesys教程】汇川中大型PLC单轴运动控制教程-汇川PLC教程

朱子文

¥ 399.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/gXpEpJ8Qb78eD5lDqlnQ.png 共3章节25课时

【06-Codesys教程】汇川中大型PLC运动控制进阶篇(多轴PTP)-编程框架与编程模板实操

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/e39s63ppg54Q2s5H33H9.png 共3章节24课时

【08-codesys教程】汇川中大型codesys教程-多轴运控扩展篇经验分享小知识分享

朱子文

¥ 299.00
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

data/attachment/temp/202212/30/133743h8cd9z14sjs84kaz.png_thumb.jpg 共31章节628课时

【全科班】汇川中型PLC从0到1就业班(Codesys系统化全科班课程-600节+)-汇川PLC教程

朱子文

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/VMdEZiqp3BMkbBIlMRRD.png 共9章节44课时

【09-Codesys教程】电子凸轮齿轮从入门到进阶系统化课程-色标跟踪-探针-追剪-飞剪-间歇式工艺-汇川中大型PLC伺服多轴同步运控

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240217/v39r666Z663eBBGKErRm.png 共30章节630课时

【全科班】汇川技术H5U从0到1就业班(系统化全科班-600节+)

张汉清

咨询客服
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240207/HlL5SWHry9lPVdqC8i59.png 共5章节63课时

【01-Codesys教程】ST文本从0到1,从入门到进阶-汇川中大型PLC教程

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240227/AMo32PcbJeIMJBT3m8Pu.png 共4章节36课时

03 中大型ST文本结合仿真软件小项目 31节-气缸功能块封装-状态机编程思路-小设备框架

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Fu5pu34pPcTpu0La443P.png 共6章节52课时

【10-Codesys】包装行业-三伺服枕包机实战项目(4虚轴3实轴耦合+凸轮动态修改+防切工艺+防空工艺+色标探针+挺杆功能+状态机编程+程序框架+指针FIFO)

朱子文

¥ 899.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/Su1ibr3I77yl78DLBR7D.png 共4章节29课时

【12-Codesys小课】中大型PLC-PID控制器算法从入门到进阶之液位控制系统

朱子文

¥ 699.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/Cz3hqDmDD8qHfT3MDm4m.png 共3章节30课时

【05-Codesys教程】汇川中大型PLC单轴运动控制教程-汇川PLC教程

朱子文

¥ 399.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20230603/gXpEpJ8Qb78eD5lDqlnQ.png 共3章节25课时

【06-Codesys教程】汇川中大型PLC运动控制进阶篇(多轴PTP)-编程框架与编程模板实操

朱子文

¥ 499.00
https://shicaopai-video-files.oss-cn-hangzhou.aliyuncs.com/keke_video_base/image/20240206/e39s63ppg54Q2s5H33H9.png 共3章节24课时

【08-codesys教程】汇川中大型codesys教程-多轴运控扩展篇经验分享小知识分享

朱子文

¥ 299.00

到"π³ 实操派",学PLC就是快!汇川PLC及Codesys培训

项目实战 手把手教学 微信&电话 15850116008
超600节系统化课程,汇川优秀自动化讲师亲授!学一门Codesys,玩800家PLC仅剩少量名额
点击免费试听

到实操派,学PLC就是快!

扫码领取工控文库VIP

钻石VIP先到先得

服务电话 & 微信:9:00-22:00

15850116008

苏州实操派科技有限公司

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

Copyright © 苏州实操派科技有限公司 2022 到实操派,学PLC就是快!工业自动化业务培训适用人群:成人 ( 苏ICP备2022021576号-3 )

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

返回顶部