您的位置 首页 > 德语词汇

pointer是什么意思 参数类型Pointer

大家好,关于pointer是什么意思很多朋友都还不太明白,今天小编就来为大家分享关于参数类型Pointer的知识,希望对各位有所帮助!

使用参数类型Pointer(指针),可以在调用逻辑块时,将变量的地址作为实参传动给声明的形参,Pointer可以直接指向一个数据块中的变量,例如P#DB2.DBX4.0,Pointer只能用于形参的IN、OUT(不能用于FB)、IN_OUT变量。

pointer是什么意思 参数类型Pointer

Pointer占6个字节(如下图),字节0和字节1的数值用来存放数据块的编号。如果指针不是用于数据块,DB编号为0,字节2~5与寄存器间接寻址的双字指针的格式相同(如下图)

Pointer的实参采用指针形式,例如P#M50.0和P#DB2.DBX4.0,也可以采用地址形式,例如将P#M50.0写成M50.0,编译时STEP7会将它自动转换为指针格式。

将同一地址区中相邻的若干个字累加,地址区的起始地址由参数类型为Pointer的输入参数start_addr提供,如下图

生成共享数据块DB2,在DB2中生成用于保存累加和的双整数SUM,及5个整数的数组,如下图所示

在OB1中调用FC1,分别累加DB2和M区的5个字,如下图所示:

在调用逻辑块时,参数类型ANY用于将任意的数据类型传递给声明的形参,ANY可用于实参的数据类型未知,或实参可以使用任意数据类型的情况。数据类型ANY主要用于为了系统功能SFC和系统功能块SFB分配参数。用户也可以用ANY作为作为逻辑块的接口参数来传递数据。

ANY指针可以用来表示一片连续的数据区,例如:P#DB2.DBX50.0BYTE10表示DB2中的DBB50~DBB59这10个字节。在这个例子中,DB编号为2,重复因子(数据长度)为10,数据类型编码为B#16#02(BYTE).如下图:第一个字节(数据类型编码)

ANY指针也可以用地址作实参,例如:DB2.DBW30和Q12.5,但只能指向一个地址,ANY指针只能用于形参的IN、OUT(不用用于FB)、IN_OUT和TEMP变量。

用ANY指针作为输入参数,用FC3对若干个连续存放的字做异或运算。不是字则不进行运算。

关于pointer是什么意思和参数类型Pointer的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023