您的位置 首页 > 德语词汇

pointer是什么意思?用法、例句?博图学习---间接寻址Pointer&Any

各位老铁们,大家好,今天由我来为大家分享pointer是什么意思?用法、例句,以及博图学习---间接寻址Pointer&Any的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

在编写PLC程序过程中需要对PLC中的数据进行访问,这就是寻址。根据寻址方式的不同,可以分为两种寻址方式,分别是直接寻址和间接寻址。

pointer是什么意思?用法、例句?博图学习---间接寻址Pointer&Any

最常用的是直接寻址,特别是符号寻址。

直接寻址就是直接对数据的存储单元进行访问,根据表达方式的不同,可以分为绝对寻址和符号寻址,对PLC中的标准数据存储区包括I,Q,M,T,C,L以及标准数据块进行操作。使用绝对寻址时,可以寻址的宽度包括位,字节,字,以及双字宽度。

在寻址标识符中,根据IEC61131国际标准的规定进行了如下要求:

间接寻址就是利用各种类型的指针,间接对数据的存储单元进行访问。间接寻址运行用户寻址在程序运行之前不计算地址的操作数。间接寻址过程中所使用的指针,通常存储在相应类型的变量当中。在编程过程中,通过对指针进行适当变动,可以实现更加灵活的寻址过程。

S71200/1500常用的指针类型包括:

Any参数指针---仅S71500,且仅适用于可标准访问的块,即非优化的数据块;

每种类型的指针都有特定的结构,功能以及适用场景。其中Variant指针是博图特有的指针类型,而其他的Pointer,Any以及数组指针既可以在博图平台上使用,也可以在Classic平台中使用。在适用的寻址数据区方面,上面的指针都可以完成对标准数据区的间接寻址,但只有数组指针,Variant指针以及引用可以完成对优化数据区的间接寻址。

Pointer指针用于寻址标准数据存储区,其主要作用是为子程序传递复杂数据类型的实参。通常,Pointer指针由程序编辑器自动使用。

Pointer指针的长度为6个字节,其中前2个字节用于存储所传递实参的数据块编号,剩余4个字节用于存储所传递实参的32位交叉区域指针,也就是即包括寻址数据的区域标识,也包括寻址数据的起始存储地址。

Pointer指针的常数表达式为:"P#"+"区域标识"+"."+"位地址"

由于必须在指针中指定数据存储的起始位地址,因此Pointer指针只能用于寻址标准数据存储区。其本质上是指向数据区中的变量起始存储位置,也就是一个点,即开始点,因此被命名为Pointer。

根据相关信息,可以使用POINTER参数类型声明以下四种类型的指针:

Any指针也用于为子程序传递复杂数据类型的实参,结构比Pointer更复杂,是在Pointer指针的基础上,可以为子程序传递更多的实参信息,因此更适合用户使用。

"P#"+"区域标识"+"寻址宽度标识"+"字节地址"+"."+"位地址"+"数据类型标识"+"复制因子"

由于同样需要在指针中指定数据存储的起始位地址,因此ANy指针也只能用于寻址标准数据存储区。

Any指针本质上是指向了数据区中的一个连续的存储区域,也就是整个变量,而且它可以指向任意数据类型,任意宽度的数据区,也就意味着其可以适用于任意的实参类型,也因此命名为Any。

Any指针只能使用非优化的数据块,其调用可以是符号方式也可以是绝对方式。

针对ANY指针类型参数需要按照需要进行解析,在SCL中,引入了ATView变量重构功能。在子程序的接口区中通过变量声明的方式,按照需要对复杂类型参数的结构进行重新构造,这样在代码区中进行访问时,就不需要编写拆解复杂数据类型变量的程序代码。(这个功能没学会)。

文章到此结束,如果本次分享的pointer是什么意思?用法、例句和博图学习---间接寻址Pointer&Any的问题解决了您的问题,那么我们由衷的感到高兴!

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

Copyright © 2023