- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ANY 指针讲解
??STEP 7以10个字节存储参数类型ANY。当构造类型为ANY的参数时,必须确保所有10个字节都被占用,因为调用块估计参数整个内容的值。例如,如果以字节4指定DB编号,也必须以字节6明确地指定存储器区。
?????STEP 7管理基本和复杂数据类型的数据与参数类型的数据不同。
?????数据类型的ANY格式
?????对于基本和复杂数据类型,STEP 7存储下列数据:
数据类型
重复因子
DB编号
信息存储的存储区域
数据的起始地址
?
?重复因子识别由参数类型ANY传送的指示数据类型的数量。这意味着可以指定数据区,也可以和参数类型ANY结合使用数组和结构。STEP 7将数组和结构识别为数据类型的编号(借助重复因数)。例如,如果要传送10个字,必须为重复因子输入数值10,并且必须为数据类型输入数值04。
?????地址以格式Byte.Bit存储,此处字节寻址存储在字节7的位0 - 2,节字8的位0 - 7,节字9的位3 - 7。位地址存储在字节9的位0 - 2。
?????对于类型NIL的空指针,所有来自字节1的字节设置为0。
????下表给出参数类型ANY的数据类型或存储区域的编码。
?
数据类型的编码
?
十六进制代码
数据类型
描述
b#16#00
NIL
空指针
b#16#01
BOOL
位
b#16#02
BYTE
字节(8位)
b#16#03
CHAR
字符(8位)
b#16#04
WORD
字(16位)
b#16#05
INT
整数(16位)
B#16#06
DWORD
字(32位)
b#16#07
DINT
双整数(32位)
b#16#08
REAL
浮点数(32位)
b#16#09
DATE
日期
b#16#0A
TIME_OF_DAY (TOD)
时间
b#16#0B
TIME
时间
b#16#0C
S5TIME
数据类型S5TIME
b#16#0E
DATE_AND_TIME (DT)
日期和时间(64位)
b#16#13
STRING
字符串
?
存储器区的编码
?
十六进制代码
区域
描述
b#16#80
P
I/O区域
b#16#81
I
输入区域
b#16#82
Q
输出区域
b#16#83
M
位存储区域
b#16#84
DB
数据块
b#16#85
DI
背景数据块
b#16#86
L
本地的数据(L堆栈)
b#16#87
V
先前的本地数据
参数类型的ANY格式
????对于参数类型,STEP 7存储数据类型和参数的地址。重复因子始终是1。字节4、5和7始终是0。字节8和9指示定时器、计数器或块的编号。
?
下表为参数类型显示参数类型ANY的数据类型编码。
十六进制代码
数据类型
描述
b#16#17
BLOCK_FB
FB编号
b#16#18
BLOCK_FC
FC编号
b#16#19
BLOCK_DB
DB编号
b#16#1A
BLOCK_SDB
SDB编号
b#16#1C
COUNTER
计数器编号
b#16#1D
TIMER
定时器编号
?
使用参数类型ANY
????可以为适合于任何数据类型的实际参数的块定义形式参数。当调用块是未知或可以改变时(和当允许任何数据类型时),已提供了实际参数的数据类型时,这尤其有用。在块的变量声明中,可以声明参数为数据类型ANY。然后可以在STEP 7中分配任何数据类型的实际参数。
????????STEP 7为ANY数据类型的变量分配存储器的80个位。如果分配实际参数给此形式参数,STEP 7在80个位中编码起始地址、数据类型和实际参数的长度。调用块为ANY参数分析保存数据的80个位,并获取进一步处理所需的信息。
分配实际参数给ANY参数
?????如果为参数声明数据类型ANY,可以分配任何数据类型的实际参数给形式参数。在STEP 7中,可以指定下列数据类型为实际参数:
基本数据类型:指定实际参数的绝对地址或符号名称。
复杂数据类型:指定复杂数据类型的数据符号名称(例如,数组和结构)。
定时器、计数器和块:指定编号(例如,T1、C20或FB6)。
下图说明数据如何传送到具有ANY数据类型参数的FC。
?????在此实例中,FC100具有三个参数(in_par1、in_par2和in_par3),声明为ANY数据类型。
当FB10调用FC100时,FB10传送一个整数(静态变量speed)、一个字(MW100)和一个双字到DB10 (DB10.DBD40)。
当FB11调用FC100时,FB11传送一个实数数组(临时变量Thermo)、一个布尔值(M 1.3)和一个定时器(T2)。
为ANY参数指定数据区
????不仅可以分配各个地址(例如,MW100)给ANY参数,而且可以指定数据区。如果希望指定数据区为实际参数,使用下列常数
文档评论(0)