STEP7ANY指针详解.doc

上传人:peixunshi0 文档编号:30758 上传时间:2025-07-08 格式:DOC 页数:5 大小:161KB
下载 相关 举报
STEP7ANY指针详解.doc_第1页
第1页 / 共5页
STEP7ANY指针详解.doc_第2页
第2页 / 共5页
STEP7ANY指针详解.doc_第3页
第3页 / 共5页
STEP7ANY指针详解.doc_第4页
第4页 / 共5页
STEP7ANY指针详解.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、参数类型ANY的格式STEP 7以10个字节存储参数类型 ANY。当构造类型为ANY的参数时,必须 确保所有10个字节都被占用,因为调用块估计参数整个内容的值。例如,如果 以字节4指定DB编号,也必须以字节6明确地指定存储器区。STEP 7管理基本和复杂数据类型的数据与参数类型的数据不同。数据类型的ANY格式对于基本和复杂数据类型,STEP 7存储下列数据:* 数据类型* 重复因子 DB编号* 信息存储的存储区域* 数据的起始地址Data frc m deonentary and complex data types重复因子识别由参数类型 ANY传送的指示数据类型的数量。这意味着可以指定 数据

2、区,也可以和参数类型ANY结合使用数组和结构。STEP 7将数组和结构 识别为数据类型的编号(借助重复因数)。例如,如果要传送10个字,必须为重 复因子输入数值10,并且必须为数据类型输入数值 04。地址以格式Byte.Bit存储,此处字节寻址存储在字节7的位0 - 2,节字8的位0 -7 ,节字9的位3 - 7。位地址存储在字节9的位0 - 2。对于类型NIL的空指针,所有来自字节1的字节设置为0。F表给出参数类型ANY的数据类型或存储区域的编码数据类型的编码十六进制代码数据类型描述b#16#00NIL空指针b#16#01BOOL位b#16#02BYTE字节(8位)b#16#03CHAR字符

3、8位)b#16#04WORD字(16位)b#16#05NT整数(16位)B#16#06DWORD字(32位)b#16#07DINT双整数(32位)b#16#08REAL浮点数(32位)b#16#09DATE日期b#16#0ATIME_OF_DAY (TOD)时间b#16#0BTIME时间b#16#0CS5TIME数据类型S5TIMEb#16#0E|DATE_AND_TIME (DT)日期和时间(64位)b#16#13STRING字符串存储器区的编码|十六进制代码|区域描述b#16#80PI/O区域b#16#81I输入区域b#16#82Q输出区域b#16#83M位存储区域b#16#84DB数据

4、块b#16#85DI背景数据块b#16#86L本地的数据(L堆栈)b#16#87V先前的本地数据参数类型的ANY格式1。字节对于参数类型,STEP 7存储数据类型和参数的地址。重复因子始终是4、5和7始终是0。字节8和9指示定时器、计数器或块的编号。Jata fronn paramEter types (time rs counters, bkicksj15.0 7.0Byte 010hforS7Cists typeBytelByte 2FsEpetitior1 fector - 1Byte 3Byte 4DB number (or DByte 5Data type0 0 | o o| o o

5、o | oByte 7Byte Number of timer, counter or blockByteDF表为参数类型显示参数类型 ANY的数据类型编码十六进制代码数据类型描述b#16#17BLOCK_FBFB编号b#16#18BLOCK_FCFC编号b#16#19BLOCK_DBDB编号b#16#1ABLOCK_SDBSDB编号b#16#1CCOUNTER计数器编号b#16#1DTIMER疋时器编号使用参数类型ANY可以为适合于任何数据类型的实际参数的块定义形式参数。当调用块是未知或可以改变时(和当允许任何数据类型时),已提供了实际参数的数据类型时,这尤其 有用。在块的变量声明中,可以

6、声明参数为数据类型 ANY。然后可以在STEP 7 中分配任何数据类型的实际参数。STEP 7为ANY数据类型的变量分配存储器的80个位。如果分配实际参数给此 形式参数,STEP 7在80个位中编码起始地址、数据类型和实际参数的长度。调用块为ANY参数分析保存数据的80个位,并获取进一步处理所需的信息。分配实际参数给ANY参数如果为参数声明数据类型 ANY,可以分配任何数据类型的实际参数给形式参数。在STEP 7中,可以指定下列数据类型为实际参数:* 基本数据类型:指定实际参数的绝对地址或符号名称。*复杂数据类型:指定复杂数据类型的数据符号名称(例如,数组和结构)。* 定时器、计数器和块:指定

7、编号 (例如,T1、C20或FB6)。下图说明数据如何传送到具有 ANY数据类型参数的 FC。FB10前 th DB10Variable declarstHZinSTAT:! Speed INT11 1 . II.CALL FC100jn_psr1 :=甘Speed in psr2 := MW100 inZpsrB := DB10.DBD40FB11mitDB20Variable dEdsrstionTEMPThermoARRAY1FC100REALINLin par1时INin_par2ANYINin_par3ANYVariable dedarationThermoT2FC100 in_pa

8、r1 in_par2 in_par3在此实例中,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参数,而且可以指定数据区。如 果希望指定数据区为实际参数,使用下列常数格式指定要传送的数据总量:p#区域标

9、识符Byte.Bit数据类型 重复因数对于数据类型元素,可以为常数指定所有基本数据类型和数据类型DATE_AND_TIME的格式。如果数据类型不是BOOL,必须指定位地址0 (x.0)。 下表为指旨定要传送的存储区域给 ANY参数的格式的实例。实际参数描述p# M 50.0 BYTE 10指定字节存储区域中的10个字节:MB50 到 MB59。p# DB10.DBX5.0指定数据类型S5TIME的数据的3个单元,它S5TIME 3们位于DB10 :DB字节5到DB字节10。p# Q 10.0 BOOL 4在输出区指定4个位Q 10.0 到 Q 10.3.使用参数类型ANY的实例下列实例给出了如何使用参数类型 ANY和系统功能SFC20 BLKMOV复制10 个字节的存储区域。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > C/C++资料

宁ICP备18001539号-1