1.3 S7-200 SMART PLC的数据类型、数据区划分与地址格式

1.3.1 数据类型

(1)数据类型

S7-200 SMART PLC的指令系统所用的数据类型有:1位布尔型(BOOL)、8位字节型(BYTE)、16位无符号整数型(WORD)、16位有符号整数型(INT)、32位符号双字整数型(DWORD)、32位有符号双字整数型(DINT)和32位实数型(REAL)。

(2)数据长度与数据范围

在S7-200 SMART PLC中,不同的数据类型有不同的数据长度和数据范围。通常情况下,用位、字节、字和双字所占的连续位数表示不同数据类型的数据长度,其中布尔型的数据长度为1位,字节的数据长度为8位、字的数据长度为16位,双字的数据长度为32位。数据类型、数据长度和数据范围,如表1-6所示。

表1-6 数据类型、数据长度和数据范围

1.3.2 存储器数据区划分

S7-200 SMART PLC存储器有程序区、系统区和数据区3个存储区,如图1-5所示。

图1-5 S7-200 SAMRT PLC存储区的划分

程序区用来存储用户程序,存储器为EEPROM;系统区用来存储PLC配置结构的参数如PLC主机和扩展模块I/O配置和编制、PLC站地址等,存储器为EEPROM。

数据区是用户程序执行过程中的内部工作区域。该区域用来存储工作数据和作为寄存器使用,存储器为EEPROM和RAM。数据区是S7-200 SMART PLC存储器特定区域,具体如图1-6所示。

图1-6 数据区划分示意图

(1)输入映像寄存器(I)与输出映像寄存器(Q)

①输入映像寄存器(I) 输入映像寄存器是PLC用来接收外部输入信号的窗口,工程上经常将其称为输入继电器。在每个扫描周期的开始,CPU都对各个输入点进行集中采样,并将相应的采样值写入输入映像寄存器中,这一过程可以形象地将输入映像寄存器比作输入继电器来理解,如图1-7所示。在图1-7中,每个PLC的输入端子与相应的输入继电器线圈相连,当有外部信号输入时,对应的输入继电器线圈得电即输入映像寄存器相应位写入“1”,程序中对应的常开触点闭合,常闭触点断开;当无外部输入信号时,对应的输入继电器线圈失电即输入映像寄存器相应位写入“0”,程序中对应的常开触点和常闭触点保持原来状态不变。

图1-7 输入继电器等效电路

需要说明的是,输入映像寄存器中的数值只能由外部信号驱动,不能由内部指令改写;输入映像寄存器有无数个常开和常闭触点供编程时使用,且在编写程序时,只能出现输入继电器触点,不能出现线圈。

输入映像寄存器可采用位、字节、字和双字来存取。S7-200 SMART PLC地址范围如表1-7所示。

表1-7 S7-200 SMART PLC操作数地址范围

名称解析

输入映像寄存器(I);     特殊标志位存储器(SM);

顺序控制继电器存储器(S);  定时器存储器(T);

计数器存储器(C);       变量存储器(V);

局部存储器(L);

模拟量输入映像寄存器(AI); 模拟量输出映像寄存器(AQ);

累加器(AC);

高速计数器(HC);      输出映像寄存器(Q)

内部标志位存储器(M);

输入继电器等效电路解析

按下启动按钮SB,外部输入信号经输入端子驱动输入继电器I0.0线圈,其常开触点闭合,常闭触点断开

②输出映像寄存器(Q) 输出映像寄存器是PLC向外部负载发出控制命令的窗口,工程上经常将其称为输出继电器。在每个扫描周期的结尾,CPU都会根据输出映像寄存器的数值来驱动负载,这一过程可以形象地将输出映像寄存器比作输出继电器,如图1-8所示。在图1-8中,每个输出继电器线圈都与相应输出端子相连,当有驱动信号输出时,输出继电器线圈得电,对应的常开触点闭合,从而驱动了负载。反之,则不能驱动负载。

图1-8 输出继电器等效电路

需要指出的是,输出继电器线圈的通断状态只能由内部指令驱动,即输出映像寄存器的数值只能由内部指令写入;输出映像寄存器由无数个常开和常闭触点供编程时使用,且在编写程序时,输出继电器触点、线圈都能出现,且线圈的通断状态表示程序最终的运算结果,这与下面要讲的辅助继电器有着明显的区别。

输出映像寄存器可采用位、字节、字和双字来存取。S7-200 SMART PLC操作数地址范围如表1-7所示。

③PLC工作原理的理解 下面将就PLC工作原理的理解加以说明,输入输出继电器等效电路如图1-9所示。

输入继电器等效电路解析

当输出继电器Q0.0线圈得电,经过PLC内部电路的一系列转换,使得其硬件触点闭合,输出电路构成通路,从而驱动了外部负载

图1-9 输入输出继电器等效电路

等效电路解析

按下启动按钮SB1时,输入继电器I0.1线圈得电,常开触点I0.1闭合,输出继电器Q0.1线圈得电并自锁,输出接口模块硬件常开,触点Q0.1闭合,输出电路构成通路,外部负载得电;当按下停止按钮SB2时,输入继电器I0.2线圈得电,其常闭触点I0.2断开,输出继电器Q0.1线圈失电,输出接口模块常开触点Q0.1复位断开,输出电路形成断路,外部负载断电

(2)内部标志位存储器(M)

内部标志位存储器在实际工程中常称作辅助继电器,其作用相当于继电器控制电路中的中间继电器,它用于存放中间操作状态或存储其他相关数据,如图1-10(b)所示。内部标志位存储器在PLC中无相应的输入输出端子对应,辅助继电器线圈的通断只能由内部指令驱动,且每个辅助继电器都有无数对常开常闭触点供编程使用。辅助继电器不能直接驱动负载,它只能通过本身的触点与输出继电器线圈相连,由输出继电器实现最终的输出,从而达到驱动负载的目的。

图1-10 顺序控制继电器存储器与辅助继电器顺序功能图

内部标志位存储器可采用位、字节、字和双字来存取。S7-200 SMART PLC地址范围如表1-7所示。

(3)特殊标志位存储器(SM)

有些内部标志位存储器具有特殊功能或用来存储系统的状态变量和有关控制参数和信息,这样的内部标志位存储器被称为特殊标志位存储器。它用于CPU与用户之间的信息交换。

常用的特殊标志位存储器有如下几个,具体如图1-11所示。

图1-11 常用的特殊标志位存储器

常用的特殊标志位存储器时序图及举例,如图1-12所示。

图1-12 常用的特殊标志位存储器时序图及举例

其他特殊标志位存储器的用途这里不做过多说明,若有需要读者可参考附录,或者查阅PLC软件手册。

(4)顺序控制继电器存储器(S)

顺序控制继电器用于顺序控制(也称步进控制),与辅助继电器一样,也是顺序控制编程中的重要编程元件之一,它通常与顺序控制继电器指令(也称步进指令)联用以实现顺序控制编程。

顺序控制继电器存储器可采用位、字节、字和双字来存取,S7-200 SMART PLC操作数地址范围如表1-7所示。需要说明的是,顺序控制继电器存储器的顺序功能图与辅助继电器的顺序功能图基本一致,具体如图1-10(a)所示。

(5)定时器存储器(T)

定时器相当于继电器控制电路中的时间继电器,它是PLC中的定时编程元件。按其工作方式的不同可以将其通电分为延时型定时器、断电延时型定时器和保持型通电延时定时器3种。定时时间=预置值×时基,其中预置值在编程时设定,时基有1ms、10ms和100ms3种。定时器的位存取有效地址范围为T0~T255,因此定时器共计256个。在编程时定时器可以有无数个常开触点和常闭触点供用户使用。

(6)计数器存储器(C)

计数器是PLC中常用的计数元件,它用来累计输入端的脉冲个数。按其工作方式的不同可以将其分为加计数器、减计数器和加减计数器3种。计数器的位存取有效地址范围为C0~C255,因此计数器共计256个,但其常开触点和常闭触点有无数对供编程使用。

(7)高速计数器(HC)

高速计数器的工作原理与普通的计数器基本相同,只不过它是用来累计高速脉冲信号的。当高速脉冲信号的频率比CPU扫描速度更快时,必须用高速计时器来计数。注意高速计时器的计数过程与扫描周期无关,它是一个较为独立的过程。

(8)局部存储器(L)

局部存储器用来存放局部变量,并且只在局部有效,局部有效是指某个局部存储器只能在某一程序分区(主程序、子程序和中断程序)中被使用。它可按位、字节、字和双字来存取。S7-200 SMART PLC操作数地址范围如表1-7所示。

(9)变量存储器(V)

变量存储器与局部存储器十分相似,只不过变量存储器存放的是全局变量,它用在程序执行的控制过程中,控制操作中间结果或其他相关数据,变量存储器全局有效,全局有效是指同一个存储器可以在任意程序分区(主程序、子程序和中断程序)被访问。它和局部存储器一样可按位、字节、字和双字来存取。S7-200 SMART PLC操作数地址范围如表1-7所示。

(10)累加器(AC)

累加器用来暂时存储计算中间值的存储器,也可向子程序传递参数或返回参数。S7-200 SMART PLC的CPU提供了4个32位累加器(AC0、AC1、AC2、AC3),可按字节、字和双字存取累加器中的数值。累加器的有效地址为AC0~AC3。

(11)模拟量输入映像寄存器(AI)

模拟量输入模块将外部输入连续变化的模拟量信号通过A/D(模数转换)转换为1个字长(16位)的数字量信号,并存放在模拟量输入映像寄存器中,供CPU运算和处理。模拟量输入映像寄存器中的数值为只读值,且模拟量输入映像寄存器的地址必须使用偶数字节地址来表示,如AIW2,AIW4等。模拟量输入映像寄存器的地址编号范围因CPU模块型号的不同而不同,地址编号范围为AIW0~AIW110。

(12)模拟量输出映像寄存器(AQ)

CPU运算相关结果存放在模拟量输出映像寄存器中,将1个字长(16位)的数字量信号通过D/A(数模转换)转换为模拟量输出信号,用以驱动外部模拟量控制设备。和模拟量输入映像寄存器一样,模拟量输出映像寄存器中的数值也为只读值,且模拟量输出映像寄存器的地址也必须使用偶数字节地址来表示,如AQW2,AQW4等,地址编号范围为AQW0~AQW110。

1.3.3 数据区存储器的地址格式

存储器由许多存储单元组成,每个存储单元都有唯一的地址,在寻址时可以依据存储器的地址来存储数据。数据区存储器的地址格式有如下几种。

(1)位地址格式 位是最小的存储单位,常用0、1两个数值来描述各元件的工作状态。当某位取值为1时,表示线圈闭合,对应触点发生动作,即常开触点闭合,常闭触点断开;当某位取值为0时,表示线圈断开,对应触点发生动作,即常开触点断开,常闭触点闭合。

数据区存储器位地址格式可以表示为区域标识符+字节地址+字节与位分隔符+位号;例如:I1.5,如图1-13所示,其中第0位为最低位(LSB),第7位为最高位(MSB)。

图1-13 数据区存储器位地址格式

(2)字节地址格式 相邻的8位二进制数组成一个字节。字节地址格式可以表示为区域识别符+字节长度符B+字节号;例如:QB0表示由Q0.0~Q0.7这8位组成的字节,如图1-14所示。

图1-14 数据区存储器字节地址格式

(3)字地址格式 两个相邻的字节组成一个字。字地址格式可以表示为区域识别符+字长度符W+起始字节号,且起始字节为高有效字节;例如:VW100表示由VB100和VB101这2个字节组成的字,如图1-15所示。

图1-15 数据区存储器字地址格式

(4)双字地址格式 相邻的两个字组成一个双字。双字地址格式可以表示为区域识别符+双字长度符D+起始字节号,且起始字节为最高有效字节;例如:VD100表示由VB100~VB103这4个字节组成的双字,如图1-16所示。

图1-16 数据区存储器双字地址格式

需要说明的是,以上区域标识符与1-16图一致。