第5章S7-200PLC的指令系统本章要点:编程基础基本指令及编程方法功能指令及编程方法5.1S7-200PLC编程基础5.1.1编程语言1.梯形图编程语言IO.O()I0.1Q0.0Q0.05.1.1编程语言2.功能块图(FBD)编程语言I0.0Q0.0I0.1ANDORQ0.0IO.O()I0.1Q0.0Q0.05.1.1编程语言3.语句表(STL)编程语言IO.O()I0.1Q0.0Q0.0语句表:LDI0.0OQ0.0ANI0.1=Q0.05.1.2数据类型1.数据的类型与长度在计算机中使用的都是二进制数,其最基本的存储单位是位(bit),8位二进制数组成1个字节(Byte),其中的第0位为最低位(LSB),第7位为最高位(MSB),两个字节(16位)组成1个字(Word),两个字(32位)组成1个双字(Doubleword),把位、字节、字和双字占用的连续位数称为长度。1.数据的类型与长度PLC对数据类型检查有助于避免常见的编程错误。数据类型检查分为三级:完全数据类型检查、简单数据类型检查和无数据类型检查S7-200PLC的SIMATIC指令集不支持完全数据类型检查。使用局部变量时,执行简单数据类型检查;使用全局变量时,指令操作数为地址而不是可选的数据类型时,执行无数据类型检查。1.数据的类型与长度完全数据类型检查时,用户选定的数据类型和等价的数据类型用户选定的数据类型与之等价的数据类型BOOLBOOLBYTEBYTEWORDWORDINTINTDWORDDWORDDINTDINTREALREAL1.数据的类型与长度简单数据类型检查时用户选定的数据类型和等价的数据类型用户选定的数据类型与之等价的数据类型BOOLBOOLBYTEBYTEWORDWORD,INTINTWORD,INTDWORDDWORD,DINTDINTDWORD,DINTREALREAL1.数据的类型与长度在无数据类型检查时,用户选定地址与分配的等价数据类型用户选定的数据类型与之等价的数据类型V0.0BOOLVB0BYTEVW0WORD,INTVD0DWORD,DINT,REAL2.数据长度与数值范围S7-200系列PLC的数据类型可以是字符串、布尔型(0或1)、整数型和实数型(浮点数)。布尔型数据指字节型无符号整数;整数型数包括16位符号整数(INT)和32位符号整数(DINT)。2.数据长度与数值范围3.常数S7-200的许多指令中常会使用常数。常数的数据长度可以是字节、字和双字。CPU以二进制的形式存储常数,书写常数可以用二进制、十进制、十六进制、ASCII码或实数等多种形式。书写格式如下:3.常数十进制常数:179;十六进制常数:16#B3;二进制常数:2#101100115.1.3存储器区域PLC的存储器分为程序区、系统区、数据区。数据区包括:输入映像寄存器(I)输出映像寄存器(Q)变量存储器(V)内部标志位存储器(M)特殊标志位存储器(SM)局部存储器(L)5.1.3存储器区域定时器存储器(T)计数器存储器(C)模拟量输入映像寄存器(AI)模拟量输出映像寄存器(AQ)累加器(AC)高速计数器(HC)1.数据区存储器的地址表示格式(1)位编址的指定方式为:区域标志符:字节号.位号如I0.0;Q0.0;I1.2。1.数据区存储器的地址表示格式(2)字节、字、双字地址格式用VB100、VW100、VD100分别表示字节、字、双字的地址。VW100由VB100、VB101两个字节组成;VD100由VB100—VB103四个组成。(3)其它地址表示格式定时器存储器(T)计数器存储器(C)累加器(AC)高速计数器(HC)如:T24C21.数据区存储器的地址表示格式2.数据区存储区域(1)输入/输出映像寄存器(I/Q)①输入映像寄存器(I)PLC的输入端子是从外部接收输入信号的窗口。每一个输入端子与输入映像寄存器(I)的一个相应位对应。接触器外部输入电路SB1SB2PLCI0.0I0.1I0.0I0.100Q0.0Q0.1001M输入映象寄存器输出映象寄存器I0.2I0.20Q0.0Q0.11LQ0.2外部输出电路输出接口电路Q0.20输入接口电路(1)输入/输出映像寄存器(I/Q)注意:输入映像寄存器的状态只能由外部输入信号驱动,而不能由程序来改变其状态。即在程序中,只能出现输入映像寄存器的触点,而不能出现其线圈。I0.0()I0.1Q0.0Q0.0Q0.0()I0.0(1)输入/输出映像寄存器(I/Q)输入映像寄存器(I)的地址格式:位地址:I[字节地址].[位地址]如I0.0字节、字、双字地址:I[数据长度][起始位字节地址]如IB4、IW6、ID10(1)输入/输出映像寄存器(I/Q)CPU224输入映像寄存器(I)的有效地址范围:I(0.0~15.7)IB(0~15)IW(0~14)ID(0~12)(1)输入/输出映像寄存器(I/Q)②输出映像寄存器(Q)输出映像寄存器是PLC用来向外部负载发送控制命令的窗口。每一个输出端子与输出映像寄存器(Q)的一个相应位想对应。并有无数对常开和常闭触点供编程时使用。接触器外部输入电路SB1SB2PLCI0.0I0.1I0.0I0.100Q0.0Q0.1011M输入映象寄存器输出映象寄存器I0.2I0.20Q0.0Q0.11LQ0.2外部输出电路输出接口电路Q0.20输入接口电路(1)输入/输出映像寄存器(I/Q)输出映像寄存器(Q)的地址格式:位地址:Q[字节地址].[位地址]如Q0.0字节、字、双字地址:Q[数据长度][起始位字节地址]如QB4、QW6、QD10(1)输入/输出映像寄存器(I/Q)CPU224输出映像寄存器(Q)的有效地址范围:Q(0.0~15.7)QB(0~15)QW(0~14)QD(0~12)(1)输入/输出映像寄存器(I/Q)PLC的I/O映像寄存器区实际上就是外部输入输出设备的映像区,PLC通过I/O映像区与外部物理设备建立联系。执行程序时,对输入输出点的存取通常是通过I/O映像寄存器区,而不是通过实际的(物理)输入输出端子。(2)内部标志位存储器M内部标志位存储器,用来保存控制继电器的中间操作状态,其作用相当于继电器控制中的中间继电器。内部标志位存储器在PLC中没有输入/输出端子与之对应,其线圈的通断状态只能在程序内部用指令驱动。(2)内部标志位存储器M内部标志位存储器(M)的地址格式:位地址:M[字节地址].[位地址]如M0.0字节、字、双字地址:M[数据长度][起始位字节地址]如MB4、MW11、MD26(2)内部标志位存储器MCPU224内部标志位存储器(M)的有效地址范围:M(0.0~31.7)MB(0~31)MW(0~30)MD(0~28)(3)变量存储器V变量存储器主要用于存储全局变量,或者存放数据运算的中间运算结果或设置参数。变量存储器可以是位寻址,也可按字节、字、双字为单位寻址,其位存取的编号范围根据CPU的型号有所不同,CPU221/222为V0.0~V2047.7共2KB存储容量;CPU224/226为V0.0~V5119.7共5KB存储容量(3)变量存储器V变量存储器V的地址格式:位地址:V[字节地址].[位地址]如V10.5字节、字、双字地址:V[数据长度][起始位字节地址]如VB4、VW100、VD320(3)变量存储器VCPU224变量存储器V的有效地址范围:M(0.0~5119.7)MB(0~5119)MW(0~5118)MD(0~5116)(4)局部变量存储器L局部变量存储器L用来存放局部变量,局部变量存储器L和变量存储器V十分相似,主要区别在于全局变量是全局有效,即同一个变量可以被任何程序(主程序、子程序和中断程序)访问。而局部变量只是局部有效,即变量只能在特定的程序中使用。(4)局部变量存储器L局部变量存储器L的地址格式:位地址:L[字节地址].[位地址]如L1.5字节、字、双字地址:L[数据长度][起始位字节地址]如LB21、LW44、LD55(4)局部变量存储器LCPU224局部变量存储器L的有效地址范围:L(0.0~63.7)LB(0~63)LW(0~62)LD(0~60)(5)顺序控制继电器S顺序控制继电器是使用步进顺序控制指令编程时的重要状态元件,通常与步进指令一起使用以实现顺序功能流程图的编程。(5)顺序控制继电器S顺序控制继电器S的地址格式:位地址:S[字节地址].[位地址]如S3.1字节、字、双字地址:S[数据长度][起始位字节地址]如SB4、SW10、SD21(5)顺序控制继电器SCPU224顺序控制继电器S的有效地址范围:S(0.0~31.7)SB(0~31)SW(0~30)SD(0~28)(6)特殊标志位存储器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—周期为1秒钟,占空比为50%的时钟脉冲。(7)定时器存储器TPLC所提供的定时器作用相当于继电器控制系统中的时间继电器。每个定时器可提供无数对常开和常闭触点供编程使用。其设定时间通常由程序设置。地址格式:T[定时器号]如T37有效地址范围:T(0~255)(7)定时器存储器TS7-200PLC提供了三种定时器:TON-通电延时TONR-有记忆通电延时TOF-断电延时(7)定时器存储器TS7-200PLC提供了三种定时精度:1ms10ms100ms(8)计数器C计数器用于累计计数输入端接收到的脉冲电平由低到高的脉冲个数。计数器可提供无数对常开和常闭触点供编程使用,其设定值通常由程序赋予。地址格式:C[计数器号]如C5有效地址范围:C(0~255)(8)计数器CS7-200PLC提供了三种计数器:CTU-增计数器CTD-减计数器CTUD-增减计数器(9)模拟量输入映像寄存器(AI)S7-200的模拟量输入电路是将外部输入的模拟量信号转换成1个字长的数字量,存入模拟量输入映像寄存器区域。模拟量输入映像寄存器(AI)的地址格式为:AIW[起始字节地址],如AIW4。模拟量输入映像寄存器(AI)的地址必须用偶数字节地址(如AIW0,AIW2,AIW4…)来表示。CPU226模块模拟量输入映像寄存器(AI)的有效地址的范围为:AIW(0~62)。(10)模拟量输出映像寄存器(AQ)CPU将运算的结果存放在模拟量输出映像寄存器中,供D/A转换器将1个字长的数字量转换为模拟量,以驱动外部模拟量控制设备。模拟量输出映像寄存器(AQ)的地址格式为:AQW[起始字节地址],如AQW10。模拟量输出映像寄存器(AQ)的地址必须用偶数字节地址(如AQW0,AQW2,AQW4…)来表示。CPU226模块模拟量输出映像寄存器(AQ)的有效地址的范围为:AQW(0~62)。(11)累加器AC累加器是用来暂存数据的寄存器,它可以用来存放运算数据、中间数据和结果。CPU提供了4个32位的累加器,其地址编号为AC0~AC3。累加器的可用长度为32位,可采用字节、字、双字的存取方式,按字节、字只能存取累加器的低8位或低16位,双字可以存取累加器全部的32位。(12)高速计数器HC一般计数器的计数频率受扫描周期的影响,不能太高。而高速计数器可用来累计比CPU的扫描速度更快的事件。高速计数器的当前值是一个双字长(32位)的整数,且为只读值。5.1.4寻址方式1.立即寻址S7-200PLC的寻址方式有:立即寻址、直接寻址、间接寻址。立即寻址方式是,指令直接给出操作数,操作数紧跟着操作码,在取出指令的同时也就取出了操作数,立即有操作数可用,所以称为立即操作数或立即寻址。十进制常数:30112十六进制常数:16#42FASCII常数:‘INPUT’实