admin 发表于 2018-8-17 08:51:21

CODESYS指针型使用

什么是指针呢?指针就是地址,什么是地址呢?地址就是内存的编号。
如果把PLC 的内存空间比喻成一栋大厦,那么房间大厦的房间号是0,1,2,3,而在PLC中就是%MW0,%MW1,%MW2,%MW3。数据是存储在内存中的,取数据的指针就是取他的地址。
%MW100:=1234;看上面这个例子,数据1234存储在%MW10号就是地址。比如一栋0里,如果我们让一个指针指向1234,那么就可以简单粗暴的理解这个指针的值是100.指针和数组一样,在PLC 中是一种变量,对于变量,要先定义后使用,在CODESYS中,指针是如下定义的
指针的定义
如图,变量P1 就是定义了一个指向 DINT型数据类型的指针。POINTER TO 是定义指针的关键字 DINT 是指向的数据类型。我们再看一个例子,加深对指针的理解
指针的应用
我们先定义一个指向DINT 的指针P1 ,然后定义两个DINT型变量D1,D2。首先把指针指向D1,就是取了变量D1的地址。然后我们把指针指向的地址的数据取出来,赋给变量D1。^ 是取指针内容的意思,也就是把指针指向的地址的数据取出来。
是不是很难理解,对的,确实是很难理解,没关系,我再举个更形象的例子先给%MD0赋值为10%MD0:=10;比如有指针 P 指向%MD0,那么 P 的值就是%MD0。然后我们取指针P的值赋给%MD1,就是把指针P 指向的%MD0的值取出来 ,赋给%MD1,此时%MD1的值也为10.               

chenzl1223 发表于 2018-9-12 09:21:56

大师!这个技术贴要一天发一个:handshake

nihongdengxia 发表于 2018-9-14 09:56:41

学习消化

jjat5201 发表于 2018-9-16 15:06:54

我是初学者,我不怕学习

reiszb 发表于 2019-4-22 17:16:56

干货!多谢楼主分享,谢谢!

kopl52100 发表于 2019-7-28 20:27:47

干货啊,谢谢大师分享。

lingfeng.zhang1 发表于 2019-10-12 11:19:38

赞!!!!!

螺丝管理学 发表于 2019-11-5 11:01:05

深入浅出的干货,顶!
页: [1]
查看完整版本: CODESYS指针型使用