找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5333|回复: 12

西门子PLC高级语言SCL编程中指针的使用方法

 火.. [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:27
  • 打卡月天数:6
  • 打卡总奖励:7736
  • 最近打卡:2025-12-20 00:35:11

3317

主题

285

回帖

2万

积分

管理员

积分
23881
发表于 2020-4-22 20:27:23 | 显示全部楼层 |阅读模式
来源:PLC布道师
翻了一下手头 1200 PLC的指针内容,发现没多少可讲,但是300,400 ,ET200里面的指针功能还是蛮强大的,但是手头只有1200,所以决定这次抛开PLC ,用高级语言写一段指针代码,让我们深入了解指针。
无论是在PC环境还是PLC环境,指针的含义基本上一样。指针就是代表变量在内存中的位置,就如同你出差住宾馆,门牌房间号代表你在宾馆的位置,警察叔叔可以通过房间号找到你。
何谓内存?普通人大概的印象就是电脑上面的内存条吧,比如有4GB,8GB,16GB,内存越大,电脑速度越快。那内存和硬盘的区别到底是什么呢?从WIKI上面抄了一段话,大家凑合看看。
计算机存储器(英语:Computer memory)是一种利用半导体技术制成的存储数据的电子设备。其电子电路中的数据以二进制方式存储,存储器的每一个存储单元称做记忆元。
计算机存储器可分为内部存储器(简称内存或主存)和外部存储器,其中内存是CPU能直接寻址的存储空间,由半导体器件制成。内存的特点是访问速率快。内存是计算机中的主要部件,它是相对于外存而言的。我们平常使用的程序,如Windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。就好比在一个书房里,存放书籍的书架和书柜相当于计算机的外存,而我们工作的办公桌就是内存。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响计算机的运行速度。
指针程序讲解:
图1 定义一个整型数组
图2 指针定义代码
图3 运行内存
数组里面存储一系列同类型的连续变量,所以获取这些变量的地址,发现地址之间的差值为4 。为什么为4 呢?是因为我们声明的数组类型为Integer ,我们可以看到Integer类型占用的内存字节大小为4 。如果数组类型为Byte ,那么内存地址之间的差值是多少?请读者自行思考。
程序中,我们可以通过APInt这个Integer指针类型,来逐一获取数组中每个索引的内容。可以直接获取数组名来获取地址,也可以通过对指针地址手动偏移进行获取。这就是指针的方便之处,可以在内存里面进行数据操作,可以对任何数据类型进行操作。
在西门子的高级指令里面,很多功能块的输入参数是要求指针类型。为什么是这种类型要求呢?比如一个变量,你只要告诉他是指针就行,然后PLC内部会根据这个变量类型来解析这个内存地址代表的数据。
结束语
这一节主要讲解了指针概念,理解了上面的程序,基本上就理解了指针,透过指针可以很方便的操作数据。若有错误和不懂的地方欢迎留言。下一节主要讲解PLC通信概念。

本帖子中包含更多资源

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

×
工控课堂 www.gkket.com

0

主题

87

回帖

486

积分

注册会员

积分
486
发表于 2020-4-22 20:27:23 | 显示全部楼层
淡定,淡定,淡定……
工控课堂 www.gkket.com

0

主题

106

回帖

327

积分

注册会员

积分
327
发表于 2020-11-15 01:57:05 | 显示全部楼层
无私奉献,好工控人,32个赞送给你!!
工控课堂 www.gkket.com

0

主题

97

回帖

147

积分

新手上路

积分
147
发表于 2025-11-15 05:12:50 | 显示全部楼层
这波分析到位,逻辑满分!
工控课堂 www.gkket.com

0

主题

87

回帖

131

积分

新手上路

积分
131
发表于 2025-11-15 05:18:39 | 显示全部楼层
学到干货了,感谢分享,已火速收藏
工控课堂 www.gkket.com

0

主题

109

回帖

165

积分

新手上路

积分
165
发表于 2025-11-15 05:19:23 | 显示全部楼层
不请自来,就想夸一句:太顶了!
工控课堂 www.gkket.com

0

主题

85

回帖

144

积分

新手上路

积分
144
发表于 2025-11-15 05:21:29 | 显示全部楼层
水个经验,楼主加油,支持你~
工控课堂 www.gkket.com

0

主题

100

回帖

154

积分

新手上路

积分
154
发表于 2025-11-15 05:25:55 | 显示全部楼层
谁懂啊!这内容我能循环看十遍
工控课堂 www.gkket.com

0

主题

404

回帖

1266

积分

中级会员

积分
1266
QQ
发表于 2025-11-15 10:56:59 | 显示全部楼层
蹲一波同款,有没有小伙伴推荐?
工控课堂 www.gkket.com

0

主题

95

回帖

134

积分

新手上路

积分
134
发表于 2025-11-15 11:17:56 | 显示全部楼层
画面感太强了,仿佛身临其境!
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 15:55 , Processed in 0.084101 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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