PLC应用与实训:西门子
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

任务二 彩灯亮灭的PLC开关控制

【任务目标】

1.学习并掌握指令表的表示方法。

2.学习并掌握梯形图的表示方法。

3.掌握 STEP7-Micro/WIN V4.0 SP6编程软件的一般应用,学会编辑简单的应用程序并正确下载至PLC。

【任务分析】

启-保-停电路是电气控制系统中使用最多的基本环节,也是编制PLC控制系统应用程序的常用方法。本学习任务控制要求为:分别用两只常开按钮SB1及SB2控制彩灯HL的点亮与熄灭。彩灯亮灭的PLC开关控制硬件布局参见图1-18。

图1-18 彩灯亮灭的PLC开关控制硬件布局

【相关知识】

一、PLC的编程语言及程序写入方式

1. PLC的编程语言

不同厂家、不同型号的可编程控制器产品采用的编程语言不尽相同,归纳起来有5种(见图1-19),即:顺序功能图、梯形图、功能块图、指令表及结构文本。

图1-19 PLC的编程语言

(1)梯形图(Ladder Diagram,简称LAD)。梯形图是使用得最多的PLC图形编程语言。实际编程时,总是先写出梯形图程序,如果需要,再根据梯形图写出指令表程序。

梯形图有以下几个主要特点。

① 梯形图按自上而下、从左到右的顺序排列。每个继电器线圈为一个逻辑行,即一层阶梯。每一个逻辑行起于左母线,然后是接点的各种连接,最后终于继电器线圈(有时还加上一条右母线)。整个图形呈阶梯形。

② 梯形图中的各种继电器不是实际中的物理继电器,它实质上是存储器中的一个二进制位。相应位的触发器为“1”的状态时,表示其线圈通电,常开触点闭合,常闭触点断开。梯形图中的继电器线圈除了输出继电器、辅助继电器线圈外,还包括计时器、计数器、移位寄存器以及各种算术运算的结果等。

③ 梯形图中,一般情况下(除有跳转指令和步进指令等的程序段以外),某个编号的继电器线圈只能出现一次,而继电器接点则可无限次引用,既可以是常开接点,也可以是常闭接点。

④ 输入继电器供PLC接收外部输入信号,而不能由内部其他继电器的接点驱动。因此,梯形图中只出现输入继电器的接点,而不出现输入继电器的线圈。

⑤ 输出继电器供PLC控制输出用。它通过开关量输出模块对应的输出开关(晶体管、双向晶闸管或继电器触点)去驱动外部负载。因此,当梯形图中输出继电器线圈满足接通条件时,就表示在对应的输出点有输出信号。

⑥ PLC的内部继电器不作输出控制用,接点只能供PLC内部使用。

⑦ 程序结束时要有结束标志END。S7-200系列PLC编程软件在编译时自动生成。

⑧ 当PLC处于运行状态时,PLC就开始按照梯形图符号排列的先后顺序(从上到下,从左到右)逐一处理。

(2)指令表(Instruction List,简称IL)亦称语句表,类似于计算机汇编语言的形式,它是采用指令的助记符来编程的。PLC的指令表比汇编语言的语句表通俗易懂,也是一种比较常用的编程语言。

不同的PLC,指令表使用的助记符不相同,以表1-4中所示电机启-保-停控制程序为例,由于采用S7-200系列产品,可写出与表中梯形图程序完全对应的指令表格式程序:

LD  I0.0  //表示逻辑操作开始,常开接点与母线连接

O   Q0.0  //表示常开接点并联

AN  I0.1  //表示常闭接点串联

AN  I0.2  //表示常闭接点串联

=   Q0.0  //表示输出

可见,指令表是由若干条指令组成的程序。指令是程序的最小独立单元。每个操作功能由一条或几条指令组成。PLC的指令表达形式与微机的指令表达形式类似,它是由操作码和操作数两部分组成,其格式为:

  操作码 操作数

  (指令)(数据)

操作码用助记符表示,它表明CPU要完成的操作功能;操作数表明操作码所操作的对象。操作数一般由标识符和参数组成,但也可以不写。由于PLC功能不同,其指令的类型各不相同,因此具体指令的内容在以后各项目中详细介绍。

2.程序写入方式

以三相异步电动机典型启-保-停控制电路为例,如果只是完成了PLC的输入输出配线及电机主回路连接,没有对PLC写入相应的控制程序,系统是不能正常工作的。表1-4通过工程实际中较为常见的控制系统,展示了PLC最小控制系统的组成方案。

表1-4 PLC最小系统的软硬件组成方案

二、S7-200系列PLC的编程软元件

PLC的编程软元件实质上为存储器单元,每个单元都有唯一的地址。为了方便不同的编程功能需要,存储器单元作了分区,因此也就有了不同类型的编程软元件。

在系统软件的安排下,不同的软元件具有不同的功能。以下介绍S7-200系列PLC常用编程软元件的功能及使用方法(软元件名称后括号中的字母为软元件分区的标识)。

1.输入继电器(I)

输入继电器和PLC的输入端子相连,是专设的输入过程映像寄存器,用来接收外部传感或开关元件发来的信号,机器读取这些信号时并不影响这些信号的状态。输入继电器一般采取八进制编号,一个端子占用一个点。图1-20表示编号为I0.0的输入继电器的等效电路图,当外部按钮驱动,其线圈接通,常开、常闭触点的状态发生相应变化。编程时注意输入继电器不能由程序驱动,其触点也不能直接输出带动负载。

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

2.输出继电器(Q)

输出继电器是PLC向外部负载发出控制命令的窗口,是专设的输出过程映像寄存器。以“RLY”输出方式为例,输出继电器提供一个常开型外部输出触点,并接到输出端子上,以控制外部负载。输出继电器的外部输出执行器件有三种:继电器、晶体管和晶闸管。图1-21表示编号为Q0.0的输出继电器的等效电路,当程序驱动输出继电器Q0.0接通时,它所连接的外部电器被接通.同时输出继电器的常开、常闭触点动作,可在程序中使用。

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

3.内部标志位(M)

内部标志位也称位存储区。在逻辑运算中经常需要一些存储中间操作信息的元件,它们并不直接驱动外部负载,只起中间状态的暂存作用,类似于继电接触器系统中的中间继电器,在S7-200系列PLC中称为内部标志位(Marker),多以位(bit)为单位使用。

4.特殊标志位(SM)

特殊标志位是用户与系统程序之间的界面,为用户提供一些特殊的控制功能及系统信息,用户对操作的一些特殊要求也通过SM通知系统。特殊标志位可分为只读区及可读/可写区两大部分,只读区特殊标志位用户只能利用其触点。例如:

SM0.0:RUN监控,PLC在RUN状态时,SM0.0总为 ON;

SM0.1:初始化脉冲,PLC由STOP转为RUN时,SM0.1 ON一个扫描周期;

SM0.2:当RAM中保存的数据丢失时,SM0.2 ON一个扫描周期;

SM0.3:PLC上电进入RUN时,SM0.3 ON一个扫描周期;

SM0.4:分脉冲,占空比为50%,周期为1min的脉冲串;

SM0.5:秒脉冲,占空比为50%,周期为1s的脉冲串;

SM0.6:扫描时钟,一个扫描周期为ON,下一个扫描周期为OFF,交替循环;

SM0.7:指示CPU上MODE开关的位置,0=TERM,1=RUN,通常用来在RUN状态下启动自由口通信方式。

又如SMB28和SMB29分别存储CPU自带的模拟电位器0和1的当前值,数值范围为0~255。用户旋动模拟电位器也就改变了SMB28/SMB29的值。在程序中恰当地安排SMB28/SMB29可以方便地修改某些设定值。

可读/可写特殊标志位用于特殊控制功能。例如,用于自由口设置的SMB30,用于定时中断时间设置的SMB34/SMB35,用于高速计数器设置的SMB36~SMB65,用于脉冲串输出控制的SMB66~SMB85,…,其使用详情在各对应功能指令解释时加以说明。

5.定时器(T)

PLC中定时器的作用相当于时间继电器。定时器的设定值由程序赋予。每个定时器有一个16bit的当前值寄存器及一个状态位,称为T-bit。定时器的计时过程采用时间脉冲计数的方式,其时基增量(分辨率)分为1ms、10ms、100ms三种。

6.计数器(C)

计数器的结构与定时器基本一样,其设定值在程序中赋予。它有一个16bit的当前值寄存器及一个状态位,称为C-bit。计数器用来对输入端子或内部元件送来的脉冲进行计数,具有加计数器、减计数器及加减计数器三种类型。一般计数器的计数频率受扫描周期的影响,不可以太高。高频信号的计数可以用指定的高速计数器(HSC)。

7.高速计数器(HSC)

高速计数器用于对频率高于扫描频率的机外高速信号计数,高速计数器使用主机上的专用端子接收这些信号。

8.变量寄存器(V)

变量存储区具有较大容量的变量寄存器,用于存储程序执行过程中控制逻辑的中间结果,或用来保存与工序或任务相关的其他数据。

9.累加器(AC)

S7-200 CPU中提供4个32bit累加器(ACC0~ACC3)。累加器常用作数据处理的执行器件。

10.局部存储器(L)

局部存储器和变量存储器很相似,主要区别是变量存储器是全局有效的,而局部存储器是局部有效的。全局是指同一个存储器可以被任何程序存取(包括主程序、子程序及中断子程序);局部是指存储区和特定的程序相关联。局部存储器可分配给主程序、子程序或中断子程序,但程序段不能访问其他程序段中的局部存储器。局部存储器常用来作为临时数据的存储器或者为子程序传递参数。

11.状态元件(S)

状态元件是使用顺控继电器指令的重要元件,通常与顺序控制指令LSCR、SCRT、SCRE结合使用,实现顺控流程的方法即SFC(Sequential Function Chart)编程。

12.模拟量输入(AI)

S7-200将工业现场连续变化的模拟量(例如温度、压力、电流、电压等)用A/D转换器转换为1个字长(16位)的数字量。用区域标识符AI以及表示数据长度的代号W和起始字节的地址来表示模拟量输入的地址。因为模拟量输入是一个字长,应从偶数字节地址开始存放,例如AIW2、AIW4、AIW6等,模拟量输入值为只读数据。

13.模拟量输出(AQ)

S7-200将1个字长的数字用D/A转换器转换为现场控制所需的模拟量。用区域标识符AQ以及表示数据长度的代号W和字节的起始地址来表示存储模拟量输出的地址。因为模拟量输出是一个字长,应从偶数字节地址开始存放,例如AQW2、AQW4、AQW6等,模拟量输出值是只写数据,用户不能读取模拟量输出值。

14.顺序控制继电器(S)

顺序控制继电器用于组织设备的顺序操作,提供控制程序的逻辑分段。

15.数值的表示方法

(1)数据类型及范围。S7-200系列PLC在存储单元所存放的数据类型有布尔型(BOOL)、整数型(INT)和实数型(REAL)3种。表1-5给出了不同长度数值所能表示的整数范围。

表1-5 不同长度数值及相关整数范围

布尔型数据指字节型无符号整数。常用的整数型数据包括单字长(16位)符号整数和双字长(32位)符号整数两类。实数型数据(浮点数)采用32位单精度数表示,数据范围是:

正数:+1.175495E-38~+3.402823E+38;

负数:-1.175495E-38~-3.402823E+38。

(2)常数。在S7-200的许多指令中使用常数,常数值的长度可以是字节、字或双字。CPU以二进制方式存储常数。可以采用十进制、十六进制、ASCII码或浮点数形式书写常数,例:

十进制常数:   30047

十六进制常数:   (4E5)16

ASCII码常数:   “show”

实数或浮点数格式:  +1.175495E-38(正数)

-1.175495E-38(负数)

二进制格式:    (1010 0101)2

S7-200系列PLC编程软元件的具体配置如表1-6所示。

表1-6 S7-200系列PLC编程软元件配置一览表

三、S7-200寻址方式

S7-200将信息存于不同的存储单元,每个单元都有1个唯一的地址,系统允许用户以字节、字、双字为单位存、取信息。S7-200数据寻址方式有立即数寻址、直接寻址和间接寻址三大类。立即数寻址的数据在指令中以常数形式出现,直接寻址和间接寻址方式有位、字节、宇和双字4种寻址方式,下面对直接寻址和间接寻址方式加以说明。

1.直接寻址方式

直接寻址方式是指在指令中直接使用存储器或寄存器的元件名称和地址编号,直接查找数据。直接寻址在指令中明确指出了存取数据的存储器地址,允许用户程序直接存取信息,图1-22所示为数据直接地址格式。

图1-22 数据直接地址格式

数据的直接地址包括内存区域标志符、数据大小及该字节的地址或字、双字的起始地址,以及位分隔符和位地址。

8个连续的位组成一个字节(Byte),16个连续的位组成一个字(Word),两个连续的字组成一个双字(Double Word)。作为工业控制计算机,PLC处理的数据可以是二进制数中的一位,也可以是一个字节、两个字节或多个字节的各种数制的数字,这样就有了依数据长度不同引出的寻址方式。

(1)位寻址(bit)。位寻址也叫字节.位寻址,一个字节占有8个位。图1-23所示为字节.位寻址的例子,I7.4在输入存储区中的位置由黑色区域表示,输入存储区“I”是整个存储器的一个区域。在进行字节.位寻址时.一般将该位看作是一个独立的软元件,像一个继电器一样,认为它有线圈及常开、常闭触点,且当该位置1,即线圈“得电”时,常开触点接通,常闭触点断开。由于取用这类元件的触点只不过是访问该位的“状态”,可以认为这些软元件的触点有无数多对。字节.位寻址一般用于处理“开关量”或“逻辑量”。

图1-23 字节.位寻址

(2)字节寻址(8bit)。字节寻址以存储区标识符、字节标识符、字节地址组合而成,如图1-24中的VB100。

图1-24 对同一地址进行字节、字和双字寻址的比较

(3)字寻址(16bit)。字寻址以存储区标识符、字标识符及字节地址组合而成,如图1-24中的VW100。

(4)双字寻址(32bit) 双字寻址以存储区标识符、双字标识符、字节地址组合而成,如图1-24中的VD100。

为了使用方便及使数据与存储单元长度统一,S7-200系列PLC中,一般存储单元都具有字节.位寻址、字节寻址、字寻址及双字寻址四种寻址方式,但在不同的寻址方式选用了同一字节地址作为起始地址时,其所表示的地址空间是不同的。图1-24给出了VB100、VW100、VD100三种寻址方式所对应的三个存储单元所占的实际存储空间,这里要注意的是,“VB100”是最高有效字节,而且存储单元不可重复使用。

一些存储数据专用的存储单元不支持位寻址方式,主要有模拟量输入、模拟量输出存储器、累加器、定时器、计数器的当前值存储器等。还有一些存储器的寻址方式与数据长度不方便统一,如累加器不论采用字节、字或双字寻址,都要占用全部32位存储单元。与累加器相反,模拟量输入、输出单元为字节标号,但由于模拟量规定为16位,模拟量单元寻址时均以偶数标志。

此外,定时器、计数器具有当前值存储器及位存储器二类存储器,但属于同一个器件的存储器采用同一标号寻址。

表1-7给出了S7-200各种CPU存储空间的有效寻址范围。

表1-7 S7-200各种CPU存储空间的有效寻址范围

2.间接寻址

存储单元中存放的也可以是一个地址,称为间接寻址。间接寻址指用指针来访问存储区数据。指针以双字的形式存储其他存储区的地址,只能用V存储器、L存储器或者累加器寄存器(AC1、AC2、AC3)作为指针。要建立一个指针,必须以双字的形式,将需要间接寻址的存储器地址移动到指针中。指针也可作为参数传递到子程序中。

S7-200允许指针访问以下存储区:I、Q、V、M、S、AI、AQ、SM、T(仅限于当前值)和C(仅限于当前值)。不能用间接寻址的方式访问位地址,也不能访问HC或者L存储区。

图1-25给出了一个使用指针的例子。要使用间接寻址,应该用“&”符号加上要访问的存储区地址来建立一个指针。指令“MOVD &VB200,AC1”中操作数VB200以“&”符号开头表明是将存储区的地址而不是其内容移动到指令的输出操作数AC1中。当指令的操作数是指针时,应该在操作数前面加上“􀤱”号,指令“MOVW 􀤱AC1,AC0”中“􀤱AC1”指定AC1是一个指针,MOVW指令决定了指针指向的是一个字长(16bit)的数据。在本例中,存储在VB200和VB201中的数值被移动到累加器AC0中。

图1-25 使用指针间接寻址

【操作指导】

1.画出接线图,安装电路

根据任务要求,采用S7-200 CPU224 AC/DC/RLY型PLC,彩灯的PLC开关控制I/O接线如图1-26所示。

图1-26 彩灯的PLC开关控制I/O接线图

输入输出继电器地址分配如表1-8所示。

表1-8 输入输出继电器的地址分配表

在教师指导下,按图1-26所示彩灯的PLC开关控制接线图完成输入/输出电路的硬件接线。安装要求同任务一。

2.自检

检查布线。对照图1-26检查是否掉线、错线,是否漏编、错编,接线是否牢固等。

3.编辑控制程序

在装有STEP7-Micro/WIN V4.0 SP6编程软件的个人电脑上编辑PLC控制程序,编译后保存为“*.mwp”格式文件备用。彩灯的PLC开关控制参考梯形图及指令表程序见图1-27。

图1-27 彩灯PLC开关控制参考梯形图及指令表程序

4.程序下载

① 在PLC断电状态下,用USB/PPI电缆连接电脑与S7-200 CPU224 AC/DC/RLY型PLC。

② 合上控制电源开关QS,将运行模式选择开关拨到STOP位置,通过软件将编制好的控制程序下载到PLC。

注意:一定要在断开QS的情况下插拔适配电缆,否则极易损坏PLC通信接口。

5.运行彩灯开关控制程序

① 将运行模式选择开关拨到RUN位置,使PLC进入运行方式。

② 按下开灯按钮SB1,观察彩灯是否立即点亮。

③ 按下关灯按钮SB2,观察彩灯是否立即熄灭。

④ 再次按下开灯按钮SB1,如果彩灯能够重新点亮,按下关灯按钮SB2,彩灯再次熄灭,表明程序运行正常。

【课后思考】

1.说明特殊标志位的功能并举例应用。

2. S7-200系列PLC有哪几种寻址方式?分别绘出I1.2、VB200、VW302、VD500所代表的存储区结构图。

3. S7-200系列PLC的编程元件有输入触点I、输出继电器Q、内部标志位M、特殊标志位SM、定时器T、计数器C、累加器AC、模拟量输入AI、模拟量输出AQ、顺序控制继电器S、变量存储区V和局部存储区L等,上述编程元件中有哪些不能用于位(bit)寻址方式?