您现在所在的是:

西门子SIEMENS

回帖:3个,阅读:4645 [上一页] [1] [下一页]
2289
非烟
文章数:558
年度积分:53
历史总积分:2289
注册时间:2018/3/28
发站内信
发表于:2020/4/13 9:26:47
#0楼
翻了一下手头1200 PLC的指针内容,发现没多少可讲,但是300,400 ,ET200里面的指针功能还是蛮强大的,但是手头只有1200,所以决定这次抛开PLC ,用高级语言写一段指针代码,让我们深入了解指针。

无论是在PC环境还是PLC环境,指针的含义基本上一样。指针就是代表变量在内存中的位置,就如同你出差住宾馆,门牌房间号代表你在宾馆的位置,警察叔叔可以通过房间号找到你。

何谓内存?普通人大概的印象就是电脑上面的内存条吧,比如有4GB,8GB,16GB,内存越大,电脑速度越快。那内存和硬盘的区别到底是什么呢?从WIKI上面抄了一段话,大家凑合看看。

计算机存储器(英语:Computer memory)是一种利用半导体技术制成的存储数据的电子设备。其电子电路中的数据以二进制方式存储,存储器的每一个存储单元称做记忆元。

计算机存储器可分为内部存储器(简称内存或主存)和外部存储器,其中内存是CPU能直接寻址的存储空间,由半导体器件制成。内存的特点是访问速率快。内存是计算机中的主要部件,它是相对于外存而言的。我们平常使用的程序,如Windows操作系统、打字软件、游戏软件等,一般都是安装在硬盘等外存上的,但仅此是不能使用其功能的,必须把它们调入内存中运行,才能真正使用其功能,我们平时输入一段文字,或玩一个游戏,其实都是在内存中进行的。就好比在一个书房里,存放书籍的书架和书柜相当于计算机的外存,而我们工作的办公桌就是内存。通常我们把要永久保存的、大量的数据存储在外存上,而把一些临时的或少量的数据和程序放在内存上,当然内存的好坏会直接影响计算机的运行速度。
指针程序讲解:

附件 image.jpg
图1 定义一个整型数组

附件 image.jpg
图2 指针定义代码

附件 image.jpg
图3 运行内存

数组里面存储一系列同类型的连续变量,所以获取这些变量的地址,发现地址之间的差值为4 。为什么为4 呢?是因为我们声明的数组类型为Integer ,我们可以看到Integer类型占用的内存字节大小为4 。如果数组类型为Byte ,那么内存地址之间的差值是多少?请读者自行思考。

程序中,我们可以通过APInt这个Integer指针类型,来逐一获取数组中每个索引的内容。可以直接获取数组名来获取地址,也可以通过对指针地址手动偏移进行获取。这就是指针的方便之处,可以在内存里面进行数据操作,可以对任何数据类型进行操作。

在西门子的高级指令里面,很多功能块的输入参数是要求指针类型。为什么是这种类型要求呢?比如一个变量,你只要告诉他是指针就行,然后PLC内部会根据这个变量类型来解析这个内存地址代表的数据。

结束语
这一节主要讲解了指针概念,理解了上面的程序,基本上就理解了指针,透过指针可以很方便的操作数据。若有错误和不懂的地方欢迎留言。下一节主要讲解PLC通信概念。


来源:PLC布道师
See you。
4066
dffeifei110
文章数:1011
年度积分:180
历史总积分:4066
注册时间:2016/7/23
发站内信
发表于:2020/4/15 12:28:32
#1楼
指针什么不要紧,关键是通讯来一发
工控大白兔,感谢各位指点!多谢!
2289
非烟
文章数:558
年度积分:53
历史总积分:2289
注册时间:2018/3/28
发站内信
发表于:2020/4/15 16:23:03
#2楼
回复 #1楼 dffeifei110
可以先看看我以前发过的通讯,有一篇很经典
See you。
4066
dffeifei110
文章数:1011
年度积分:180
历史总积分:4066
注册时间:2016/7/23
发站内信
发表于:2020/4/16 10:11:30
#3楼
回复 #2楼 非烟
可以给个链接麽?没找到
工控大白兔,感谢各位指点!多谢!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003