• 如何调用数字量或模拟量信号?
  • 怎样读取数据?
  • 怎么使用输入信号?
  • 如何输出控制?
  • ……
    上述问题都是关于如何访问、使用数据的问题,也就是所谓“寻址”。

访问S7-200 SMART 中的数据

S7-200 SMART从外部接收信号输入(输入数据),在内部按照用户程序运算、处理后,再输出进行各种控制、显示。

CPU 将信息存储在不同存储单元,每个位置均具有唯一的地址。寻址时,数据地址以代表存储区类型的字母开始,随后是表示数据长度的标记,然后是存储单元编号;对于二进制位寻址,还需要在一个小数点分隔符后指定位编号。

位寻址的举例如下图所示:

位寻址举例
图1.位寻址举例

其中,存储区和字节地址(“M3”)代表 M 存储器的第 3 个字节,用句点(“.”)与位地址(位 4)分开。

字节寻址的举例如下图所示:

字节寻址举例
图2. 字节寻址举例

可以看出,VW100包括VB100和VB101;VD100包括VW100和VW102,即VB100,VB101,VB102,VB103这4个字节。这些地址是互相交叠的。

当涉及到多字节组合寻址时,遵循“高地址,低字节”的规律。

下表给出了不同数据长度可表示的整数值范围。

表1.不同数据长度表示的十进制和十六进制数范围

表示方式 字节(B) 字(w) 双字 (DW)
无符号整数 0到255

16#00到16#FF

0到65,535

16#0000到16#FFFF

0到4,294,967,295

16#00000000到16#FFFFFFFF

有符号整数 -128到+127

16#80到16#7F

-32,768到+32,767

16#8000到16#7FFF

-2,147,483,648到+2,147,483,647

16#8000 0000到16#7FFF FFFF

实数(IEEE32位浮点数) 不适用 不适用 +1.175495E-38 到 +3.402823E+38(正数)

-1.175495E-38到-3.402823E+38 (负数)

传送门:S7-200 SMART 中的数据类型

《S7-200 SMART系统手册》上关于PLC概念的第四章,其中对于S7-200 SMART中数据寻址的叙述非常好,建议初学者必读!

几乎所有的指令、功能都与各种形式的寻址有关,不弄清楚数据寻址会给工作带来极大的困难。

对本地 I/O 和扩展 I/O 进行寻址

CPU 提供的本地 I/O 具有固定的 I/O 地址。可以通过在 CPU 的右侧连接扩展 I/O 模块,或通过安装信号板来增加 I/O 点。 模块点的地址取决于 I/O 类型和模块在 I/O 链中的位置。

注意:

  • 数字量 I/O 的过程映像寄存器空间总是以八位(一个字节)递增的形式预留。 如果模块没有为每个保留字节中的每一位提供相应的物理点,那些未使用的位就无法分配给 I/O 链中的后续模块。 对于输入模块,这些未使用的位会在每个输入更新周期中被清零。
  • 模拟量 I/O 点总是以两点递增的方式分配。 如果模块没有为这些点分配相应的物理 I/O,则这些 I/O 点将丢失,并且不能够分配给 I/O 链中的后续模块。
    下表提供固定映射惯例的示例(由 STEP 7 Micro/WIN SMART 建立,并作为系统块中I/O 组态的一部分下载)。

表2. CPU 映射惯例:

CPU 信号板 信号模块 0 信号模块 1 信号模块 2 信号模块 3
起始地址 I0.0
Q0.0
I7.0
Q7.0
无 AI SB
AQ12
I8.0
Q8.0
AI16
AQ16
I12.0
Q12.0
AI32
AQ32
I16.0
Q16.0
AI48
AQ48
I20.0
Q20.0
AI64
AQ64

间接寻址

有关间接寻址的内容请参考链接:间接寻址

常问问题

  1. CPU连接若干个I/O扩展模块时,如何查看每个模块占用的I/O通道地址?

由于I/O扩展模块占用的输入和输出地址与模块位置有关,不连续且不能被用户自定义,因此建议用户到系统块上方的概览表格中查看

I/O通道地址举例
图4.I/O通道地址举例

相关日志

  • S7-200 SMART 间接寻址是什么?200SMART 间接寻址举例
    间接寻址是指用指针来访问存储区的数据。指针以双字的形式存储其它存储区的地址,只能将 V 存储单元、L 存储单元或累加器寄存器(AC1、AC2、AC3)用作指针。 注意:S7-200 SMART ...
  • S7-200 SMART Modbus轮询的应用库
    1 应用概述 1.1 通用描述 Modbus-RTU 协议是一种开放的串行通信协议,在不同的行业中都有非常广泛的应用,因为其是串行通信,所以其报文的传送需要按照串行队列来发送,而具体到S7-200 S...
  • 200SMART自由口通讯: XMT 发送指令
    XMT 发送指令 发送指令(XMT 指令)用于在自由口通信模式下将发送缓冲区(TBL)的数据通过指定的通信端口(PORT)发送出去。 XMT 指令一次最多可以发送 255个字符。XMT 指令发送缓...
  • 200Smart PLC IO点调整库
    1 应用描述 在实际的工程应用中,PLC 系统一般 IO 数量都会有一定冗余设计,这样当其中某一个或者几个 IO 点发生损坏时,可以及时使用备用点,但是这样就需要同时更改程 序,对现场维修人员的要求...
  • S7-200 SMART CPU V2.8 版本升级及新功能
    S7-200 SMART CPU V2.8 版本升级及增加的新功能: 新增程序指令 HSC 增强功能 PID 增强功能 运动控制增强功能 PLS 以及 PWM 指令增强功能 存储器范围增强 安全性增...
  • 200SMART带参数的子例程及自定义库参数数量可以超过16个
    在所有的S7-200及S7-200 SMART帮助手册了都有下面一句话: 子例程可选择使用传递参数。这些参数在子例程的变量表中定义。必须为每个参数分配局部符号名称(最多 23 个字符)、变量类型和数...

Related Post

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注