CPU的内存区域详解,cpu内存 2023-10-21 12:26:41 0 0 CPU的内存区域是全系统声明的区域。由此,这些区域不必在逻辑块中声明。每个CPU均提供以下有各自地址范围的内存区域: 在存贮映象中的输入/输出(如Q1.0) 外部输入/输出(如PQ1.0) 位内存(如M1.0) 定时器、计数器(C1) 存取的语法(Syntax for Access) 在逻辑块的代码部分,用赋值方式存取一个CPU内存区域,像简单存取,能够指定为一个绝对地址或符号或 用索引方式存取。 CPU内存区域的绝对存取 要通过绝对内存定位方式存取CPU的内存区域,使用将一个绝对标识符赋值给同类型的变量。 绝对标识符指示CPU中的内存区域。通过指定地址标识符(此处为IB)后面跟一个地址(此处为10)来指定内存区域。 绝对标识符的语法(Syntax of the Absolute Identifier) 内存前缀(Memory Prefix) 用内存前缀,指定要寻址的内存类型。 依你选择的语种,德语和英语地址标识符有所不同。 大小前缀(Size Prefix) 用大小前缀,指定要从外部I/O读取的内存区域的长度。例如能够读一个籽节或一个字。如果只要指定一个位时,则使用大小前缀是可选的。 地址(Address) 对于地址,首先指定绝对的字节地址,然后是用一个点分开的位地址。位地址是可选的。 例子(Examples) STATUSBYTE :=IB10;STATUS_3 :=I1.1;MEASVAL :=IW20; CPU内存区域的符号存取 用符号地址,代替绝对地址,能够用符号名来寻址CPU内存区域。 通过建立符号表在用户程序中将一个符号名指定给实际地址。用菜单命令选项(Options) > 符号表(Symbol Table)在S7-SCL中能够打开符号表任意次来增加符号。 对于数据类型说明,能够用使用能接受的指定数据元素大小的任何数据类型。下表说明符号表中怎么样显现的: 符号 绝对地址 数据类型 注释 Motor_contact_1 I 1.7 BOOL Contact switch 1 for Motor A Input1 IW 10 INT Status word 存取(Access) 通过将一个值指定给同类型的已经声明符号的变量存取地址。 例子(Example) MEASVAL_1 := Motor_contact_1;Status_Motor1 := Input1 ; CPU内存区域的索引存取 也能够用一外索引来存取CPU的内存区域。与绝对地址比较,此方式的优点是能够用变量索引动态寻址。例如,能够将FOR循环的控制变量用作地址。 执行索引存取内存区域与绝对方式的做法一样,仅提供了地址的长处。取代绝对地址,指定的索引能够是一个常量、一个变量或一个算术表达式。 对于索引存取,绝对标识符由地址标识符(内存前缀和大小前缀)和用于索引的基本表达式组成。 绝对标识符的语法(Syntax of the Absolute Identifier) 索引(基数表达式)必须遵循以下规则(The indexing (base expression) must adhere to the following rules) 每个索引必须是一个INT类型的算术表达式。 当存取BYTE、WORD或DWORD类型的数据时,只能使用一个索引。索引被看作字节地址。存取的长度由大小前缀指定。 当存取BOOL类型的数据,必须使用双索引。第一个索引指定字节地址,第二个索引指定字节内的位地址。 例子(Example) MEASVAL_1 :=IW[COUNTER];OUTLABEL :=I[BYTENO, BITNO]; 审核编辑:汤梓红 收藏(0)