PLC编程及案例手册
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.1 基础知识

4.1.1 数据类型

(1)位(bit)

常称为BOOL(布尔型),只有两个值:0或1。

(2)字节(Byte)

一个字节等于8位,其中0位为最低位,7位为最高位。字节为无符号数,字节的取值范围用十六进制表示为0~FF,即十进制的0~255。

(3)字(Word)

相邻的两字节组成一个字,字为16位。字为无符号数,字的范围为十六进制的0~FFFF,即十进制的0~65535。

(4)双字(Double Word)

相邻的两个字组成一个双字,双字为32位。双字为无符号数,其范围为十六进制的0~FFFFFFFF,即十进制的0~4294967295。

(5)整数(INT,Integer)

整数为16位有符号数,最高位为符号位,1表示负数,0表示正数,范围为-32768~32767。

(6)双整数(DINT,Double Integer)

双整数为32位有符号数,最高位为符号位,1表示负数,0表示正数,范围为-2147483648~2147483647。

(7)浮点数(R,Real)

浮点数为32位,可以用来表示小数。其数据类型和取值范围如表4-1所示。

表4-1 数据类型和取值范围一览表

4.1.2 数据存储区的地址表示格式

(1)位地址

位地址的格式为:区域标志符+字节地址.位号,如I4.5,如图4-1(a)所示。

图4-1 数据存储区位地址的格式

在存储空间内只占其中的一位,如图4-1(b)所示。

(2)字节、字、双字地址

字节、字、双字地址的格式为:区域标志符+字节类型符+起始地址号。比如字节、字、双字的地址分别用VB100、VW100、VD100表示,则其数据存储区地址的格式如图4-2所示。

图4-2 数据存储区地址的格式

① 字节地址 一个字节包含8位,如VB100包括VB100.0~VB100.7共8位,其中VB100.0为最低位,VB100.7为最高位。其数据存储区地址的格式如图4-2(a)所示。

② 字地址 相邻的两字节组成一个字。如VW100由VB100、VB101两个字节组成,“VW100”中100是字的起始地址,VB101为低位字节,VB100为高位字节,其数据存储区地址格式如图4-2(b)所示。

③ 双字地址 相邻的两个字组成一个双字。如VD100由VW100、VW101两个字组成,即由VB100~VB103四个字节组成,“VD100”中100是双字的起始地址。VB103为最低位字节,VB100为最高位字节,其数据存储区地址的格式如图4-2(c)所示。需要注意的是,双字的起始地址必须是偶数。

4.1.3 数据存储区域

PLC内部装置虽然沿用了传统电气控制电路中的继电器、线圈及接点等名称,但PLC内部并不存在这些实际物理装置,它对应的只是PLC内部存储器的一个基本单元(一个位,bit),若该位为1表示该线圈得电,该位为0表示线圈不得电,使用常开触点(Normal Open,NO或A接点)即直接读取该对应位的值,若使用常闭触点(Normal Close,NC或B接点)则取该对应位值的反。

(1)输入映像寄存器(I)

PLC的输入端子是从外部接收输入信号的窗口。每一个输入端子与输入映像寄存器(I)的一个相应位对应。

PLC的输入映像寄存器区实际上就是外部输入设备的映像区,PLC通过输入映像区与外部物理设备建立联系。

执行程序时,对输入点的读取通常是通过输入映像寄存器区,而不是通过实际的物理输入端子。输入映像寄存器的状态只能由外部输入信号驱动,而不能由程序来改变其状态,即在程序中,只能出现输入映像寄存器的触点,而不能出现其线圈。

输入映像寄存器用I0.0,I0.1,…,I0.7,I1.0,I1.1,…,表示,其中符号以I表示。

(2)输出映像寄存器(Q)

输出映像寄存器是PLC用来向外部负载发送控制命令的窗口。每一个输出端子与输出映像寄存器(Q)的一个相应位相对应,并有无数对常开和常闭触点供编程时使用。

PLC的输出映像寄存器区实际上就是外部输出设备的映像区,PLC通过输出映像区与外部物理设备建立联系。

执行程序时,对输出点的改变通常是改变输出映像寄存器区,而不是直接改变物理输出端子。

输出映像寄存器用Q0.0,Q0.1,…,Q0.7,Q1.0,Q1.1,…,表示,其中符号以Q表示。

(3)内部辅助继电器(M)

内部辅助继电器与外部没有直接联系,它是PLC内部的一种辅助继电器,其功能与电气控制电路中的中间继电器一样,相当于其他PLC的内部标志,每个辅助继电器也对应着内存的一基本单元,它可由输入继电器接点、输出继电器接点以及其他内部装置的接点驱动,它自己的接点也可以无限制地多次使用。内部辅助继电器在PLC中没有物理的输入/输出端子与之对应,其线圈的通断状态只能在程序内部用指令驱动。

内部辅助继电器用M0.0,M0.1,…,M0.7,M1.0,M1.1,…,表示,其中符号以M表示。

(4)定时器(Timer)

定时器用来完成定时的控制。定时器含有线圈、接点及定时器当前值寄存器,线圈得电后,等到达预定时间,它的接点便动作(常开触点闭合,常闭触点断开),定时器的定时值由设定值给定。每种定时器都有规定的时钟周期(定时单位:1ms/10ms/100ms)。一旦线圈断电,则接点不动作,原定时值归零。

定时器用T0,T64,T1~T4,T65~T68,T5~T31,…,表示,其中符号以T表示。不同的编号范围,对应不同的时钟周期。

(5)计数器(Counter)

计数器用于累计计数输入端接收到的脉冲电平由低到高的脉冲个数,计数器可提供无数对常开和常闭触点供编程使用。使用计数器要事先给定计数的设定值(即要计数的脉冲数)。有16位、32位及高速用计数器可供使用。

一般计数器其计数频率受扫描周期的影响,频率不能太高。而高速计数器可用来累计比CPU的扫描速度更快的事件。

一般计数器有3种类型:增计数器(CTU)、减计数器(CTD)、增减计数器(CTUD)共256个,用C0~C255表示。高速计数器的当前值是一个双字长(32位)的整数,且为只读值。

(6)全局变量存储器(V)

全局变量存储器主要用于存储全局变量,或者存放数据运算的中间结果或设置参数,具有保持功能,且长度完全够用。它可以设置停机保持。如果不设置的话也可当做继电器用,应用较为方便。它可以储存程序执行过程中控制逻辑操作的中间结果,并且可以按位、字节、字或双字来存取V存储区中的数据。

(7)局部变量存储器(L)

用来存放局部变量,即变量只能在特定的程序中使用。

(8)累加器(AC)

累加器的数据是按先进先出或者后进先出的方式轮流储存和取出的。同一个累加寄存器地址可以在一个程序段的不同地方存储和取出不同的数据而不混乱。它可以用来存放运算数据、中间数据和结果。

CPU提供了4个32位的累加器,其地址编号为AC0,AC1,AC2,AC3。累加器的可用长度为32位,可采用字节、字、双字的存取方式,按字节、字只能存取累加器的低8位或低16位,双字可以存取累加器全部的32位。

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

特殊标志位存储器是用户程序和系统程序之间的界面,为用户提供特殊的控制功能及系统信息。其中比较常用的有:

SM0.0:RUN监控,PLC在RUN方式时,SM0.0总为1,又称常ON继电器;

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

SM0.3:PLC开机后进入RUN方式时,SM0.3接通一个扫描周期;

SM0.5:周期为1s、占空比为50%的时钟脉冲。

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

顺序控制继电器是使用步进顺序控制指令编程时的重要状态元件,通常与步进指令一起使用以实现顺序功能流程图的编程。

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

模拟量输入电路是将外部输入的模拟量信号转换成1个字长的数字量,存入模拟量输入映像寄存器区域。

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

CPU将运算的结果存放在模拟量输出映像寄存器中,D/A转换器将1个字长的数字量转换为模拟量,以驱动外部模拟量控制设备。

4.1.4 S7-200 SMART PLC的寻址方式

在执行程序过程中,处理器根据指令中所给的地址信息来寻找操作数的存放地址的方式叫寻址方式。S7-200 SMART PLC的寻址方式有立即寻址、直接寻址和间接寻址。

① 立即寻址 立即寻址是指指令直接给出操作数,操作数紧跟着操作码。

② 直接寻址 直接寻址是指指令直接使用存储器或寄存器的元件名称和地址编号。在指令中,数据类型应与指令标识符相匹配。

③ 间接寻址 间接寻址是指指令给出了存放操作数地址的存储单元的地址(也称地址指针)。可作为地址指针的存储器有:V、L、AC(1~3),可间接寻址的存储器区域有:I、Q、V、M、S、T(仅当前值)、C(仅当前值)。对独立的位(bit)值或模拟量值不能进行间接寻址。

4.1.5 PLC编程语言

PLC主要有5种编程语言:梯形图语言、指令表、顺序功能图、功能块图和结构文本。其中,梯形图(LAD)和功能块图(FBD)为图形语言;指令表(IL)和结构文本(ST)为文字语言;顺序功能图(SFC)是一种结构块控制程序流程图。其中,梯形图编程是一种简单直观并易学的编程语言,本书主要以梯形图编程为主。

(1)梯形图常用术语

① 区块 所谓的区块是指两个以上的装置做串接或并接的运算组合而形成的梯形图图形,其运算性质可产生并联区块及串联区块。

② 分支线及合并线 往下的垂直线一般来说是对装置来区分,对于左边的装置来说是合并线(表示左边至少有两行以上的回路与此垂直线相连接),对于右边的装置及区块来说是分支线(表示此垂直线的右边至少有两行以上的回路相连接)。有时,往下的垂直线既可作为分支线又可作为合并线,如图4-3所示。

图4-3 区块分支线与合并线示意图

③ 网络 由装置、各种区块所组成的完整区块网络,其垂直线或是连续线所能连接到的区块或是装置均属于同一个网络。图4-4中,网络1和网络2除左边的母线外,并没有其他线的联系,所以是独立的两个网络。而图4-5中没有输出线圈,属于不完整的网络。

图4-4 独立的网络

图4-5 不完整的网络

(2)PLC梯形图的运行方式

梯形图程序的运行方式是由左上到右下的扫描。线圈及应用指令运算框等按照输出处理,在梯形图形中置于最右边。如图4-6所示,旁边的编号为其扫描顺序。

图4-6 梯形图的流程顺序

常见的梯形图错误图形 在编辑梯形图时,可以利用各种梯形图符号组合成各种图形,由于PLC处理图形程序的原则是由上而下,由左至右,因此在绘制时,要以左母线为起点,右母线为终点,从左向右逐个横向写入,一行写完,自上而下依次再写下一行。表4-2给出了常见的各种错误图形及原因。

表4-2 梯形图的错误图形及原因