请双击输入文字

  • 1
  • 2
  • 3
  • 4
  • 5

南京汇翔自动化系统工程有限公司


S7-300和S7-400储存区域及寻址方式介绍
2018-3-22
来源:技术应用
点击数:  1161        作者:技术
  •  S7-300  S7-400储存区域及寻址方式介绍

     

      本文就S7300/400的储存区域及寻址方式作一简单介绍,以求帮助大家尽快掌握西门子STEP7编程软件的正确使用。

      S7-300/400系统存储区域

    S7 CPU的系统存储区域分为下表中列出的地址区域。在程序中可以根据相应的地址直接读取数据。 

    地址区域 

    可以访问的地址单位 

    S7符号 

    (IEC)

    描述

    过程映像输入表

    输入(位)

    I

    循环扫描周期开始时,CPU从输入模板读输入值并记录到该区域

    输入(字节)

    IB

    输入(字)

    IW

    输入(双字)

    ID

    过程映像输出表

    输出(位)

    Q

    在循环扫描周期中,程序计算输出值并记录到该区域。循环扫描周期结束时,CPU将计算结果写入相应的输出模板

    输出(字节)

    QB

    输出(字)

    QW

    输出(双字)

    QD

    位存储器

    存储器(位)

    M

    该区域用于存储程序的中间计算结果

    存储器(字节)

    MB

    存储器(字)

    MW

    存储器(双字)

    MD

    定时器

    定时器 (T) 

    T

    该区域提供定时器的存储

    计数器

    计数器 (C) 

    C

    该区域提供计数器的存储

    数据块

    数据块,用"OPN DB"打开 

    DB

    数据块中包含了程序的信息。可以定义为所有逻辑块共享 (shared DBs) 或指定给一个特定的 FBSFB 做背景数据块(instance DB)

    数据位

    DBX

    数据字节

    DBB

    数据字

    DBW

    数据双字

    DBD

    数据块,用"OPN DI"打开 

    DI

    数据位

    DIX

    数据字节

    DIB

    数据字

    DIW

    数据双字

    DID

    局部数据

    局部数据位

    L

    该区域包含块执行时该块的临时数据。L堆栈还提供用于传递块参数及记录梯形逻辑网络中间结果的存储器

    局部数据字节

    LB

    局部数据字

    LW

    局部数据双字

    LD

    外设地址 (I/O) 

    外设输入字节

    PIB

    主站及分布式从站(DP)外设输入输出区域允许直接存取

    输入

    外设输入字

    PIW

    外设输入双字

    PID

    外设地址 (I/O) 

    外设输出字节 

    PQB

    输出

    外设输出字

    PQW

    外设输出双字

    PQD

     

    S7-300/400 PLC寻址方式

    Ø 直接寻址

    1. 直接地址:例如I0.0Q1.7PIW256PQW512MD20T15C16DB1.DBB10L10.0

    2. 符号寻址:例如qqww.aa

    Ø 二者的详细描述参见下文:绝对地址和符号寻址 

    在STEP 7程序中要用到I/O信号、位寄存器、计数器、定时器、数据块及功能块。在程序中可以采用直接地址,或者更便于读程序的符号寻址,例如Motor_A_On 或采用你的公司或行业常用的代码。这样在你的用户程序中就可以通过符号来寻址。

    绝对地址

    绝对地址由地址标识符和存储器的位置组成,例如 Q1.0,I1.1, M2.0, FB21等。 

    符号地址 

    如果为绝对地址指定一个符号名,程序会更便于阅读和查错。 

    STEP 7 可以自动将符号名翻译成所需的绝对地址。如果要用符号名存取ARRAY、STRUCT、数据块、局部数据、逻辑块、以及用户自定义数据类型, 必须首先为绝对地址指定一个符号名。 

    例如,可以为Q0.0 指定一个符号名MOTOR_ON,然后在程序中将MOTOR_ON作为一个地址使用。使用符号地址更容易将您的过程控制项目中的元件与程序中的元件相对应。 

    注意:

    在符号名中不允许使用两个连续的下划线,例如MOTOR__ON。

    编程支持 

    LADFBDSTL中地址、参数、块名可用绝对地址或符号表示。 

    用菜单命令View > Display > Symbolic Representation可以切换绝对地址和符号地址 

    为了使用符号地址编程更加容易,可以同时显示绝对地址和符号名。使用菜单命令 View > Display > Symbol Information来激活。这就意味着STL语句的注释包含了更多的信息。不能在该界面下进行修改,只能在符号表(symbol table)或变量声明表(variable declaration table)中进行修改。

    Ø 间接寻址

    1. 存储器间接寻址:16位指针,例如OPN DB[MW2]

    32位指针,例如A I[MD0]

    2. 寄存器间接寻址:32位指针,例如A I[AR1,P#0.0]A [AR1,P#0.0]

    Ø S7-300/400寻址方式图解


    Ø 如何使用指针

    指针用来指向一个地址。使用这种寻址方式的优点在于可以在程序运行过程中实现变址。 

    指针用于存储器间接寻址 

    程序中用于存储器间接寻址的语句包含一个指令、一个地址标识符、以及一个偏移量(偏移量必须在方括号内给出)。 

    下面给出一个双字格式的指针的例子:

    L P#8.7                把指针值装载到累加器1

    T I[MD2]               把指针值传送到MD2

    A I[MD2]               查询I8.7的信号状态

    = Q[MD2]             给输出位Q8.7赋值

    存储区域内部寻址及交叉寻址 

    程序中采用这些寻址方式的语句包含一个指令以及下列内容:地址标识符、地址寄存器标识符、偏移量。地址寄存器(AR1AR2)及偏移量必须写在方括号内。 

    存储区域内部寻址例程 

    指针不包含指示存储区域的信息:

    L P#8.7                   把指针值装载到累加器1

    LAR1                       把指针从累加器1装载到AR1

    A I[AR1,P#0.0]        查询I8.7的信号状态

    = Q[AR1,P#1.1]       给输出位Q10.0赋值

    偏移量0.0不起作用。输出Q10.0 等于8.7 (AR1) 加偏移量1.1。结果是10.0 ,而不是9.8,参见指针格式。

    存储区域交叉寻址例程 

    在存储区域交叉寻址中,指针中包含指示存储区域的信息(例子中为 I 和 Q)。

    L P#I8.7                   把指针值及存储区域标识装载到累加器1

    LAR1                       把存储区域I 和地址8.7装载到AR1

    L P#Q8.7                 把指针值和地址标识符装载到累加器1

    LAR2                       把存储区域Q和地址8.7装载到AR2

    A [AR1,P#0.0]        查询输入位I8.7的信号状态

    = [AR2,P#1.1]         给输出位Q10.0赋值

    偏移量0.0不起作用。输出Q10.0 等于8.7 (AR2) 加偏移量1.1。结果是10.0 ,而不是9.8,参见指针格式。




支持与服务

SUPPORT SERVICE

   站内搜索

地   址:南京市江宁区上元大街420号万达中心C座1502~1522室

电  话:025-52783600   52783601   52783602   52783603

传   真:025-52783600-801

邮   编:211100

E-mail: hx@jojotips.com


友情链接


Copyright © 2009-2016 南京汇翔自动化系统工程有限公司 All rights reserved 版权所有