1. 数据存储类型及寻址方式
1) 数据存储类型
计算机使用的都是二进制数, 在PLC 中, 通常使用位、 字节、 字、 双字来表示数据,它们占用的连续位数称为数据长度。 数据类型及范围见表3 -3 -2。
表3-3-2 数据类型及范围
在编程中经常会使用常数。 常数的表示方法如表3 -3 -3 所示。
表3-3-3 常数表示方法
2) 数据的编址方式
数据存储器的编址方式主要是对位、 字节、 字、 双字进行编址。
(1) 位编址。 位编址的方式为: (区域标识符) 字节地址. 位地址, 如I3.4、 Q1.0、V3.3、 I3.4, 其中I3.4 的区域标识符“I” 表示输入继电器, 字节地址是3, 位地址为4。
(2) 字节编址。 字节编址的方式为: (区域标识符) B 字节地址, 如IB1 表示输入映像寄存器由I1.0 ~I1.7 这8 位组成。
(3) 字编址。 字编址的方式为: (区域标识符) W 起始字节地址, 最高有效字节为起始字节, 如VW100 包括VB100 和VB101, 即表示由VB100 和VB101 这两个字节组成的字。
(4) 双字编址。 双字编址的方式为: (区域标识符) D 起始字节地址, 最高有效字节为起始字节, 如VD100 表示由VB100 ~VB103 这4 个字节组成的双字。
3) 寻址方式
寻址方式具体有以下几种。
(1) CPU 存储区域的立即数寻址。 数据在指令中以常数形式出现, 取出指令的同时也就取出了操作数, 这种寻址方式称为立即数寻址。 CPU 以二进制方式存储常数, 常数可分为字节、 字、 双字数据, 指令中还可用十进制、 十六进制、 ASCII 码或浮点数来表示。
(2) CPU 存储区域的直接寻址。 在指令中直接使用存储器或寄存器的元件名称、 地址编号来查找数据, 这种寻址方式称为直接寻址。 表3-3-4 给出了PLC 内部元件的寻址格式。
表3-3-4 PLC 内部元件的寻址格式
续表
①位寻址。 位寻址是指明存储器或寄存器的元件名称、 字节地址和位地址(位号) 的一种直接寻址方式。 CPU 存储区域的位数据表示方法与位寻址方式如图3 -3 -5 所示。
图3-3-5 CPU 存储区域的位数据表示方法和位寻址方式
(a) 位数据表示方法; (b) 位寻址方式
②字节、 字和双字的寻址方式。 CPU 直接访问字节、 字、 双字数据时, 必须指明数据存储区域、 数据长度和存储区域的起始地址, 图3-3-6 给出了字节、 字和双字的寻址方式。
图3-3-6 字节、 字、 双字的寻址方式
③特殊元件的寻址方式。 CPU 存储区域内另有一些元件自身具有一定功能, 由于元件数量很少, 所以不用指出它们的字节, 而是直接写出其编号。 这类元件包括: 定时器(T)、计数器(C)、 高速计数器(HC) 和累加器(AC)。 其中T、 C 和HC 的地址编号中各包含两个相关变量信息, 如T1, 既表示T1 定时器位状态, 又表示此定时器的当前值。
(3) CPU 存储器区域的间接寻址。 间接寻址的过程包含3 步: 建立指针, 用指针来存取数据, 修改指针。 其具体操作过程如图3 -3 -7 所示。
图3-3-7 间接寻址的具体操作过程
2. PLC 内部元件及编址
在S7 -200 PLC 的内部元件包括输入映像寄存器(I)、 输出映像寄存器(Q)、 位存储器(M)、 变量存储器(V)、 顺序控制继电器(S)、 特殊存储器(SM)、 局部变量存储器(L)、 定时器(T)、 计数器(C)、 模拟量输入映像寄存器(AI)、 模拟量输出映像寄存器(AQ)、 累加器(AC)、 高速计数器(HC)。 其中输入映像寄存器(I)、 输出映像寄存器(Q)、 位存储器(M) 均已经在前述内容中做了介绍。
1) 变量存储器(V)(www.xing528.com)
变量存储器用以存储运算的中间结果和其他数据。 CPU224 有VB0.0 ~VB5119.7 的存储字节, 可按位、 字节、 字或双字使用。
2) 顺序控制继电器(S)
顺序控制继电器又称状态元件, 用于实现顺序控制和步进控制。 在S7 -200 PLC 中的编址范围为S0.0 ~S31.7, 可以按位、 字节、 字或双字来存取数据。
3) 特殊存储器(SM)
特殊存储器在CPU224 中的编址范围为SM0.0 ~SM179.7, 共180 个字节。 其中,SM0.0 ~SM29.7 的30 个字节为只读型区域。
(1) SMB0 为状态位字节, 在每次扫描循环结尾由S7 -200 PLC CPU 更新, 定义如下。
①SM0.0: RUN 模式监控, PLC 在运行RUN 模式时, 该位始终为1。
②SM0.1: 该位当首次扫描到时为“1”, 主要用于程序的初始化。
③SM0.2: 当RAM 中数据丢失时, 开启一个扫描周期, 用于出错处理。
④SM0.3: 开机后进入RUN 模式, 该位将开启一个扫描周期, 可用于启动操作之前给设备提供一个预热时间。
⑤SM0.4: 分脉冲, 该位输出一个占空比为50%的分时钟脉冲, 用做时间基准或简易延时。
⑥SM0.5: 秒脉冲, 该位输出一个占空比为50%的秒时钟脉冲, 可用做时间基准。
⑦SM0.6: 扫描时钟, 一个扫描周期为ON (高电平), 另一为OFF (低电平), 两者循环交替。
⑧SM0.7: 工作方式开关位置指示, “0” 为TERM 位置, “1” 为RUN 位置。 其值为“1” 时, 使自由端口通信模式有效。
(2) SMB1 为指令状态位字节, 常用于表及数学操作, 部分位定义如下:
①SM1.0: 零标志, 运算结果为“0” 时, 该位置“1”。
②SM1.1: 溢出标志, 运算结果溢出或查出非法数值时, 该位置“1”。
③SM1.2: 负数标志, 数学运算结果为负时, 该位置“1”。
4) 局部变量存储器(L)
局部变量存储器与变量存储器相似, 但是只能局部使用, 即主程序、 子程序、 中断程序有各自独立的局部变量存储器, 可按位、 字节、 字、 双字的形式存取。 S7 -200 PLC 有64个字节的局部变量存储器, 编址范围为LB0.0 ~LB63.7, 其中60 个字节可以用作暂时存储器或者给子程序传递参数, 最后4 个字节为系统保留字节。
5) 定时器(T) (相当于时间继电器)
S7 -200 PLC CPU 中的定时器是对内部时钟累计时间增量的设备, 用于时间控制; 编址范围为T0 ~T255 (22X), T0 ~T127 (21X)。
6) 计数器(C)
计数器主要用来累计输入脉冲个数, 有16 位预置值和当前值寄存器各一个, 以及1 位状态位, 当前值寄存器用以累计脉冲个数, 计数器当前值大于或等于预置值时, 状态位置“1”。 S7 -200 PLC CPU 提供有三种类型的计数器: 增计数、 减计数、 增/减计数; 编址范围为C0 ~C255 (22X), C0 ~C127 (21X)。
7) 模拟量输入映像寄存器(AI)
S7 -200 PLC 的模拟量输入电路将外部输入的模拟量(如温度、 电压) 等转换成1 个字长(16 位) 的数字量, 存入模拟量输入映像寄存器。 模拟量输入映像寄存器编址范围为AIW0、 AIW2、 …、 AIW62, 起始地址定义为偶数字节地址, 共有32 个模拟量输入点。
8) 模拟量输出映像寄存器(AQ)
S7 -200 PLC 模拟量输出电路用来将模拟量输出映像寄存器的1 个字长(16 位) 数字值转换为模拟电流或电压输出。 模拟量输出映像寄存器编址范围为AQW0、 AQW2、 …、AQW62, 起始地址也采用偶数字节地址, 共有32 个模拟量输出点。
9) 累加器(AC)
累加器是用来暂存数据, S7 -200 PLC 提供了4 个32 位累加器AC0 ~AC3。 累加器支持以字节(B)、 字(W) 和双字(D) 的存取。
10) 高速计数器(HC)
CPU224 提供了6 个高速计数器HC0、 HC1、 …、 HC5 (每个高速计数器最高频率为30 kHz) 用来累计比CPU 扫描速率更快的事件。 高速计数器的当前值为双字长的符号整数。
思考与练习
1. S7 -200 PLC 有哪几种寻址方式?
2. S7 -200 PLC 有哪些内部元件? 各元件地址分配和操作数范围怎么确定?
3. 试用边沿触发指令来实现两台电动机顺序启动、 同时停止的控制电路。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。