S7200指令详解参考模板

上传人:沈*** 文档编号:90874796 上传时间:2022-05-16 格式:DOC 页数:60 大小:290KB
收藏 版权申诉 举报 下载
S7200指令详解参考模板_第1页
第1页 / 共60页
S7200指令详解参考模板_第2页
第2页 / 共60页
S7200指令详解参考模板_第3页
第3页 / 共60页
资源描述:

《S7200指令详解参考模板》由会员分享,可在线阅读,更多相关《S7200指令详解参考模板(60页珍藏版)》请在装配图网上搜索。

1、S7-200指令详解PLC在运行时需要处理的数据一般都根据数据的类型不同、数据的功能不同而把数据分成几类。这些不同类型的数据被存放在不同的存储空间,从而形成不同的数据区。S7-200的数据区可以分为数字量输入和输出映像区、模拟量输入和输出映像区、变量存储器区、顺序控制继电器区、位存储器区、特殊存储器区、定时器存储器区、计数器存储器区、局部存储器区、高速计数器区和累加器区。3.1 S7-200的数据区1. 数字量输入和输出映象区(1) 数字量输入映像区(I区) 数字量输入映像区是S7-200 CPU为输入端信号状态开辟的一个存贮区,用I表示。在每次扫描周期的开始,CPU对输入点进行采样,并将采样

2、值存于输入映像区寄存器中。该区的数据可以是位(1bit)、字节(8bit)、字(16bit)或者双字(32bit)。其表示形式如下。用位表示I0.0、I0.1、I0.7 I1.0、I1.1、I1.7 I15.0、I15.1、I15.7 共l28点。输入映像区每个位地址包括存储器标识符、字节地址及位号三部分。存储器标识符为“I”,字节地址为整数部分,位号为小数部分。比如Il.0表明这个输入点是第1个字节的第0位。用字节表示IB0、IB1、IB15 共l6个字节。输入映像区每个字节地址包括存储器字节标识符、字节地址两部分。字节标识符为“IB”,字节地址为整数部分。比如IB1表明这个输入字节是第1个

3、字节,共8位,其中第0位是最低位,第7位是最高位。用字表示IW0、IW2、IW14 共8个字。输入映像区每个字地址包括存储器字标识符、字地址两部分。字标识符为“IW”,字地址为整数部分。一个字含两个字节,一个字中的两个字节的地址必须连续,且低位字节在一个字中应该是高8位,高位字节在一个字中应该是低8位。比如,IW0中的IB0应该是高8位,IB1应该是低8位。用双字表示ID0、ID4、ID12 共4个双字。输入映像区每个双字地址包括存储器双字标识符、双字地址两部分。双字标识符为“ID”,双字地址为整数部分。一个双字含四个字节,四个字节的地址必须连续。最低位字节在一个双字中应该是最高8位。比如,I

4、D0中的IB0应该是最高8位,IB1应该是高8位,IB2应该是低8位,IB3应该是最低8位。(2) 数字量输出映像区(Q区) 数字量输出映像区是S7-200 CPU为输出端信号状态开辟的一个存贮区,用Q表示。在扫描周期的结尾,CPU将输出映像寄存器的数值复制到物理输出点上。该区的数据可以是位(1bit)、字节(8bit)、字(16bit)或者双字(32bit)。其表示形式如下。用位表示Q0.0、Q0.1、Q0.7 Q1.0、Q1.1、Q1.71 / 60 Q15.0、Q15.1、Q15.7 共l28点。输出映像区每个位地址包括存储器标识符、字节地址及位号三部分。存储器标识符为“Q”,字节地址为

5、整数部分,位号为小数部分。比如Q0.l表明这个输出点是第0个字节的第1位。用字节表示QB0、QB1、QB15 共l6个字节。输出映像区每个字节地址包括存储器字节标识符、字节地址两部分。字节标识符为“QB”,字节地址为整数部分。比如QBl表明这个输出字节是第1个字节,共8位,其中第0位是最低位,第7位是最高位。用字表示QW0、QW2、QW14 共8个字。输出映像区每个字地址包括存储器字标识符、字地址两部分。字标识符为“QW”,字地址为整数部分。一个字含两个字节,一个字中的两个字节的地址必须连续,且低位字节在一个字中应该是高8位,高位字节在一个字中应该是低8位。比如,QW0中的QB0应该是高8位,

6、QBl应该是低8位。用双字表示 QD0、QD4、QD12 共4个双字。输出映像区每个双字地址包括存储器双字标识符、双字地址两部分。双字标识符为“QD”,双字地址为整数部分。一个双字含四个字节,四个字节的地址必须连续。最低位字节在一个双字中应该是最高8位。比如,QD0中的QB0应该是最高8位,QBl应该是高8位,QB2应该是低8位,QB3应该是最低8位。应当指出,实际没有使用的输入端和输出端的映像区的存储单元可以作中间继电器用。2. 模拟量输入和输出映象区(1) 模拟量输入映像区(AI区) 模拟量输入映像区是S7-200 CPU为模拟量输入端信号开辟的一个存贮区。S7-200将测得的模拟值(如温

7、度、压力)转换成1个字长的(16bit)的数字量,模拟量输入用区域标识符(AI)、数据长度(W)及字节的起始地址表示。该区的数据为字(l6bit)。其表示形式如下。 AIW0、AIW2、AIW30 共16个字,总共允许有16路模拟量输入。应当指出,模拟量输入值为只读数据。(2) 模拟量输出映像区(AQ区) 模拟量输出映像区是S7-200 CPU为模拟量输出端信号开辟的一个存贮区。S7-200把l个字长(16bit)数字值按比例转换为电流或电压。模拟量输出用区域标识符(AQ)、数据长度(W)及起始字节地址表示。该区的数据为字(l6bit)。其表示形式如下。AQW0、AQW2、AQW30 共16个

8、字,总共允许有16路模拟量输出。3. 变量存储器区(V区) PLC执行程序过程中,会存在一些控制过程的中间结果,这些中间数据也需要用存储器来保存。变量存储器就是根据这个实际的要求设计的。变量存储器区是S7-200 CPU为保存中间变量数据而建立的一个存贮区,用V表示。该区的数据可以是位(1bit)、字节(8bit)、字(l6bit)或者双字(32bit)。其表示形式如下。用位表示V0.0、V0.1、V0.7 V1.0、V1.1、V1.7 V5119.0、V5119.1、V5119.7 共40969点。CPU221、CPU222变量存储器只有2048个字节,其变量存储区只能到V2047.7位。变

9、量存储器区每个位地址包括存储器标识符、字节地址及位号三部分。存储器标识符为“V”,字节地址为整数部分,位号为小数部分。比如Vl.l表明这是变量存储器区第1个字节的第1位。用字节表示VB0、VB1、VB5119 共5120个字节。变量存储器区每个字节地址的表示应该包括存储器字节标识符、字节地址两部分。字节标识符为“VB”,字节地址为整数部分。比如VBl表明这个变量存储器字节是第1个字节,共8位,其中第0位是最低位,第7位是最高位。用字表示VW0、VW2、VW5118 共2560个字。变量存储器区每个字地址的表示应该包括存储器字标识符、字地址两部分。字标识符为“VW”,字地址为整数部分。一个字含两

10、个字节,一个字中的两个字节的地址必须连续,且低位字节在一个字中应该是高8位,高位字节在一个字中应该是低8位。比如,VW0中的VB0应该是高8位,VBl应该是低8位。用双字表示 VD0、VD4、VD5116 共1280个双字。变量存储器区每个双字地址的表示应该包括存储器双字标识符、双字地址两部分。双字标识符为“VD”,双字地址为整数部分。一个双字含四个字节,四个字节的地址必须连续。最低位字节在一个双字中应该是最高8位。比如,VD0中的VB0应该是最高8位,VBl应该是高8位,VB2应该是低8位,VB3应该是最低8位。应当指出,变量存储器区的数据可以是输入,也可以是输出。4. 位存储器区(M区)

11、PLC执行程序过程中,可能会用到一些标志位,这些标志位也需要用存储器来寄存。位存储器就是根据这个要求设计的。位存储器区是S7-200 CPU为保存标志位数据而建立的一个存贮区,用M表示。该区虽然叫位存储器,但是其中的数据不仅可以是位,也可以是字节(8bit)、字(l6bit)或者双字(32bit)。其表示形式如下。用位表示M0.0、M0.1、M0.7 M1.0、M1.1、M1.7 M31.0、M31.1、M31.7 共256点。位存储器区每个位地址的表示应该包括存储器标识符、字节地址及位号三部分。存储器标识符为“M”,字节地址为整数部分,位号为小数部分。比如Ml.l表明位存储器区第1个字节的第

12、1位。用字节表示MB0、MB1、MB31 共32个字节。位存储器区每个字节地址的表示应该包括存储器字节标识符、字节地址两部分。字节标识符为“MB”,字节地址为整数部分。比如MBl表明位存储器第1个字节,共8位,其中第0位是最低位,第7位是最高位。用字表示MW0、MW2、MW30 共16个字。位存储器区每个字地址的表示应该包括存储器字标识符、字地址两部分。字标识符为“MW”,字地址为整数部分。一个字含两个字节,一个字中的两个字节的地址必须连续,且低位字节在一个字中应该是高8位,高位字节在一个字中应该是低8位。比如,MW0中的MB0应该是高8位,MBl应该是低8位。用双字表示 MD0、MD4、MD

13、28 共8个双字。位存储器区每个双字地址的表示应该包括存储器双字标识符、双字地址两部分。双字标识符为“MD”,双字地址为整数部分。一个双字含四个字节,四个字节的地址必须连续。最低位字节在一个双字中应该是最高8位。比如,MD0中的MB0应该是最高8位,MBl应该是高8位,MB2应该是低8位,MB3应该是最低8位。5. 顺序控制继电器区(S区) PLC执行程序过程中,可能会用到顺序控制。顺序控制继电器就是根据顺序控制的特点和要求设计的。顺序控制继电器区是S7-200 CPU为顺序控制继电器的数据而建立的一个存贮区,用S表示,在顺序控制过程中用于组织步进过程的控制。顺序控制继电器区的数据可以是位,也

14、可以是字节(8bit)、字(l6bit)或者双字(32bit)。其表示形式如下。用位表示S0.0、S0.1、SM0.7 S1.0、S1.1、S1.7 S31.0、S31.1、S31.7 共256点。顺序控制继电器区每个位地址的表示应该包括存储器标识符、字节地址及位号三部分。存储器标识符为“S”,字节地址为整数部分,位号为小数部分。比如S0.l表明位存储器区第0个字节的第1位。用字节表示SB0、SB1、SB31 共32个字节。顺序控制继电器区每个字节地址的表示应该包括存储器字节标识符、字节地址两部分。字节标识符为“SB”,字节地址为整数部分。比如SBl表明位存储器第1个字节,共8位,其中第0位是

15、最低位,第7位是最高位。用字表示SW0、SW2、SW30 共16个字。顺序控制继电器区每个字地址的表示应该包括存储器字标识符、字地址两部分。字标识符为“SW”,字地址为整数部分。一个字含两个字节,一个字中的两个字节的地址必须连续,且低位字节在一个字中应该是高8位,高位字节在一个字中应该是低8位。比如,SW0中的SB0应该是高8位,SBl应该是低8位。用双字表示 SD0、SD4、SD28 共8个双字。顺序控制继电器区每个双字地址的表示应该包括存储器双字标识符、双字地址二部分。双字标识符为“SD”,双字地址为整数部分。一个双字含四个字节,四个字节的地址必须连续。最低位字节在一个双字中应该是最高8位

16、。比如,SD0中的SB0应该是最高8位,SBl应该是高8位,SB2应该是低8位,SB3应该是最低8位。6. 局部存储器区(L区)S7200 PLC有64个字节的局部存储器,其中60个可以用作暂时存储器或者给子程序传递参数。如果用梯形图或功能块图编程,STEP 7MicroWIN 32保留这些局部存储器的最后四个字节。如果用语句表编程,可以寻址所有的64个字节,但是不要使用局部存储器的最后4个字节。局部存储器和变量存储器很相似,主要区别是变量存储器是全局有效的,而局部存储器是局部有效的。全局是指同一个存储器可以被任何程序存取(例如,主程序、子程序或中断程序)。局部是指存储器区和特定的程序相关联。

17、S7200 PLC可以给主程序分配64个局部存储器,给每一级子程序嵌套分配64个字节局部存储器,给中断程序分配64个字节局部存储器。子程序或中断子程序不能访问分配给主程序的局部存储器。子程序不能访问分配给主程序、中断程序或其它子程序的局部存储器。同样,中断程序也不能访问给主程序或子程序的局部存储器。S7200 PLC根据需要分配局部存储器。也就是说,当主程序执行时,分配给子程序或中断程序的局部存储器是不存在的。当出现中断或调用一个子程序时,需要分配局部存储器。新的局部存储器在分配时可以重新使用分配给不同子程序或中断程序的相向局部存储器。局部存储器在分配时PLC不进行初始化,初值可能是任意的。当

18、在子程序调用中传递参数时,在被调用子程序的局部存储器中,由CPU代替被传递的参数的值。局部存储器在参数传递过程中不接收值,在分配时不被初始化,也没有任何值。可以把局部存储器作为间接寻址的指针,但是不能作为间接寻址的存储器区。局部存储器区是S7-200 CPU为局部变量数据建立的一个存贮区,用L表示。该区的数据可以是位、字节(8bit)、字(l6bit)或者双字(32bit)。其表示形式如下。用位表示L0.0、L0.1、L0.7 L1.0、L1.1、L1.7 L63.0、L63.1、L63.7 共512点。局部存储器区每个位地址的表示应该包括存储器标识符、字节地址及位号三部分。存储器标识符为“L

19、”,字节地址为整数部分,位号为小数部分。比如Ll.l表明这个输入点是第1个字节的第1位。用字节表示LB0、LB1、LB63 共64个字节。局部存储器区每个字节地址的表示应该包括存储器字节标识符、字节地址两部分。字节标识符为“LB”,字节地址为整数部分。比如LBl表明这个局部存储器字节是第1个字节,共8位,其中第0位是最低位,第7位是最高位。用字表示LW0、LW2、LW62 共32个字。局部存储器区每个字地址的表示应该包括存储器字标识符、字地址两部分。字标识符为“LW”,字地址为整数部分。一个字含两个字节,一个字中的两个字节的地址必须连续,且低位字节在一个字中应该是高8位,高位字节在一个字中应该

20、是低8位。比如,LW0中的LB0应该是高8位,LBl应该是低8位。用双字表示 LD0、LD4、LD60 共16个双字。局部存储器区每个双字地址的表示应该包括存储器双字标识符、双字地址两部分。双字标识符为“LD”,双字地址为整数部分。一个双字含四个字节,四个字节的地址必须连续。最低位字节在一个双字中应该是最高8位。比如,LD0中的LB0应该是最高8位,LBl应该是高8位,LB2应该是低8位,LB3应该是最低8位。7. 定时器存储器区(T区) PLC在工作中少不了需要计时,定时器就是实现PLC具有计时功能的计时设备。S7-200定时器的精度(时基或时基增量)分为1ms,10ms、100ms三种。S

21、7-200定时器有三种类型接通延时定时器的功能是定时器计时到的时候,定时器常开触点由OFF转为ON。断开延时定时器的功能是定时器计时到的时候,定时器常开触点由ON转为OFF。有记忆接通延时定时器的功能是定时器累积计时到的时候,定时器常开触点由OFF转为ON。定时器有三种相关变量定时器的时间设定值(PT),定时器的设定时间等于PT值乘于时基增量。定时器的当前时间值(SV),定时器的计时时间等于SV值乘于时基增量。定时器的输出状态(0或者1)。定时器的编号T0、T1、T255。S7-200有256个定时器。定时器存储器区每个定时器地址的表示应该包括存储器标识符、定时器号两部分。存储器标识符为“T”

22、,定时器号为整数。比如T1表明定时器1。实际上T1即可以表示定时器1的输出状态(0或者1),也可以表示定时器1的当前计时值。这就是定时器的数据具有两种数据结构的原因所在。8. 计数器存储器区(C区) PLC在工作中有时不仅需要计时,还可能需要计数功能。计数器就是PLC具有计数功能的计数设备。S7-200计数器有三种类型增计数器的功能是每收到一个计数脉冲,计数器的计数值加。当计数值等于或大于设定值时,计数器由OFF转变为ON状态。减计数器的功能是每收到一个计数脉冲,计数器的计数值减。当计数值等于0时,计数器由OFF转变为ON状态。增减计数器的功能是可以增计数也可以减计数。当增计数时,每收到一个计

23、数脉冲,计数器的计数值加。当计数值等于或大于设定值时,计数器由OFF转变为ON状态。当减计数时,每收到一个计数脉冲,计数器的计数值减。当计数值小于设定值时,计数器由ON转变为OFF状态。计数器有三种相关变量计数器的设定值(PV)。计数器的当前值(SV)。计数器的输出状态(0或者1)。计数器的编号C0、C1、C255。S7-200有256个计数器。计数器存储器区每个计数器地址的表示应该包括存储器标识符、计数器号两部分。存储器标识符为“C”,计数器号为整数。比如C1表明计数器1。实际上C1即可以表示计数器1的输出状态(0或者1),C1也可以表示计数器1的当前计数值。这就是说计数器的数据和定时器一样

24、具有两种数据结构。9. 高速计数器区(HSC区) 高速计数器用来累计比CPU扫描速率更快的事件。S7-200各个高速计数器不仅计数频率高达30kHz,而且有12种工作模式。S7-200各个高速计数器有32位带符号整数计数器的当前值。若要存取高速计数器的值,则必须给出高数计数器的地址,即高数计数器的编号。高速计数器的编号HSC0、HSC1、HSC2、HSC3、HSC4、HSC5。S7-200有6个高速计数器。其中,CPU221和CPO222仅有4个高速计数器(HSC0、HSC3、HSC4、HSC5)。高速计数器区每个高速计数器地址的表示应该包括存储器标识符、计数器号两部分。存储器标识符为“HSC

25、”,计数器号为整数。比如HSC1表明高速计数器1。10. 累加器区(AC区) 累加器是可以像存储器那样进行读写的设备。例如,可以用累加器向子程序传递参数,或从子程序返回参数,以及用来存储计算的中间数据。S7-200 CPU提供了4个32位累加器(AC0,AC1,AC2, AC3)。可以按字节、字或双字来存取累加器数据中的数据。但是,以字节形式读/写累加器中的数据时,只能读/写累加器32位数据中的最低8位数据。如果是以字的形式读/写累加器中的数据,只能读/写累加器32位数据中的低16位数据。只有采取双字的形式读/写累加器中的数据才能一次读写其中的32位数据。因为PLC的运算功能是离不开累加器的。

26、因此不能像占用其它存储器那样占用累加器。11. 特殊存储器区(SM区) 特殊存储器是S7-200 PLC为CPU和用户程序之间传递信息的媒介。它们可以反映CPU在运行中的各种状态信息,用户可以根据这些信息来判断机器工作状态,从而确定用户程序该做什么,不该做什么。这些特殊信息也需要用存储器来寄存。特殊存储器就是根据这个要求设计的。(1) 特殊存储器区 S7-200 CPU的特殊存储器区用SM表示。特殊存储器区的数据有些是可读可写的,有一些是只读的。特殊存储器区的数据可以是位,也可以是字节(8bit)、字(l6bit)或者双字(32bit)。其表示形式如下。用位表示SM0.0、SM0.1、SM0.

27、7 SM1.0、SM1.1、SM1.7 SM29.0、SM29.1、SM29.7 SM179.0、SM179.1、SM194.7 特殊存储器区每个位地址的表示应该包括存储器标识符、字节地址及位号三部分。存储器标识符为“SM”,字节地址为整数部分,位号为小数部分。比如SM0.l表明特殊存储器第0个字节的第1位。用字节表示SMB0、SMB1、SMB29、SMB194 特殊存储器区每个字节地址的表示应该包括存储器字节标识符、字节地址两部分。字节标识符为“SMB”,字节地址为整数部分。比如SMBl表明位存储器第1个字节,共8位,其中第0位是最低位,第7位是最高位。用字表示SMW0、SMW2、SMW28

28、、SMW194特殊存储器区每个字地址的表示应该包括存储器字标识符、字地址两部分。字标识符为“SMW”,字地址为整数部分。一个字含两个字节,一个字中的两个字节的地址必须连续,且低位字节在一个字中应该是高8位,高位字节在一个字中应该是低8位。比如,SMW0中的SMB0应该是高8位,SMBl应该是低8位。用双字表示SMD0、SMD4、SMD24、SMD192 位存储器区每个双字地址的表示应该包括存储器双字标识符、双字地址两部分。双字标识符为“SMD”,双字地址为整数部分。一个双字含四个字节,四个字节的地址必须连续。最低位字节在一个双字中应该是最高8位。比如,SMD0中的SMB0应该是最高8位,SMB

29、l应该是高8位,SMB2应该是低8位,SMB3应该是最低8位。应当指出S7-200 PLC的特殊存储器区头30个字节为只读区。(2)常用的特殊继电器及其功能1)SMB0字节(系统状态位) SM0.0 PLC运行时这一位始终为l,是常0N继电器。SM0.l PLC首次扫描时为一个扫描周期。用途之一是调用初始化使用。SM0.3 开机进入RUN方式将0N一个扫描周期。SM0.4 该位提供了一个周期为一分钟,占空比为0.5的时钟。SM0.5 该位提供了一个周期为一秒钟,占空比为0.5的时钟。2)SMB1字节(系统状态位) SM1.0 当执行某些命令时,其结果为0时,该位置1。SM1.1 当执行某些命令

30、时,其结果溢出或出现非法数值时,该位置1。SM1.2 当执行数学运算时,其结果为负数时,该位置1。SM1.6 当把一个非BCD数转换为二进制数时,该位置1。SM1.7 当ASCll不能转换成有效的十六进制数时,该位置1。3)SMB2字节(自由口接收字符) SMB2 为自由口通讯方式下,从PLC端口0或端口1接收到的每一个字符。4)SMB3字节(自由口奇偶校验) SM3.0 为端口0或端口1的奇偶校验出错时,该位置1。5)SMB4字节(队列溢出) SM4.0 当通讯中断队列溢出时,该位置1。SM4.1 当输入中断队列溢出时,该位置1。SM4.2 当定时中断队列溢出时,该位置1。SM4.3 在运行

31、时刻,发现编程问题时,该位置1。SM4.4 当全局中断允许时,该位置1。SM4.5 当(口0)发送空闲时,该位置1。SM4.6 当(口l)发送空闲时,该位置1。6)SMB5字节(I/O状态) SM5.0 有I/O错误时,该位置1。SM5.1 当I/O总线上接了过多的数字量I/O点时,该位置1。SM5.2 当I/O总线上接了过多的模拟量I/O点时,该位置1。SM5.7 当DP标准总线出现错误时,该位置1。7)SMB6字节(CPU识别寄存器) SM6.76.4=0000为CPU212/CPU222 SM6.76.4=0010为CPU214/CPU224SM6.76.4=0110为CPU221 SM

32、6.76.4=1000为CPU215 SM6.76.4=1001为CPU216/CPU226 8)SMB8到SMB21字节(I/O模块识别和错误寄存器) SMB8 模块0识别寄存器SMB9 模块0错误寄存器SMB10 模块1识别寄存器SMB11 模块1错误寄存器SMB12 模块2识别寄存器SMB13 模块2错误寄存器SMB14 模块3识别寄存器SMB15 模块3错误寄存器SMB16 模块4识别寄存器SMB17 模块4错误寄存器SMB18 模块5识别寄存器SMB19 模块5错误寄存器SMB20 模块6识别寄存器SMB21 模块6错误寄存器9)SMW22到SMW26字节(扫描时间) SMW22 上

33、次扫描时间SMW24 进入RUN方式后,所记录的最短扫描时间SMW26 进入RUN方式后,所记录的最长扫描时间10)SMB28和SMB29字节(模拟电位器) SMB28 存储模拟电位0的输入值SMB29 存储模拟电位l的输入值11)SMB30和SMB130字节(自由口控制寄存器) SMB30 控制自由口0的通讯方式SMB130 控制自由口1的通讯方式12)SMB34和SMB35字节(定时中断时间间隔寄存器) SMB34 定义定时中断0的时间间隔(从5ms255ms,以1ms为增量) SMB35 定义定时中断l的时间间隔(从5ms255ms,以1ms为增量) 13)SMB36到SMB65字节(高

34、速计数器HSC0、HSCl和HSC2寄存器) SMB36 HSC0当前状态寄存器SMB37 HSC0控制寄存器SMD38 HSC0新的当前值SMD42 HSC0新的予置值SMB46 HSC1当前状态寄存器SMB47 HSC1控制寄存器SMD48 HSC1新的当前值SMD52 HSC1新的予置值SMB56 HSC2当前状态寄存器SMB57 HSC2控制寄存器SMD58 HSC2新的当前值SMD62 HSC2新的予置值14)SMB66到SMB85字节(监控脉冲输出PTO和脉宽调制PWM功能) 15)SMB86到SMB94,SMB186到SMB179字节(接收信息控制) SMB86到SMB94为通讯

35、口0的接收信息控制SMB186到SMB179为通讯口1的接收信息控制接收信息状态寄存器SMB86和SMB186: 接收信息控制寄存器SMB87和SMB187: 16)SMB98和SMB99字节(有关扩展总线的错误号) 17)SMB131到SMB165字节(高速计数器HSC3、HSC4和HSC5寄存器) 18)SMB166到SMB179字节(PTO0、PTO1的包络步的数量、包络表的地址和V存储器中表的地址) 3. 2 S7-200的寻址方式S7-200 PLC编程语言的基本单位是语句,而语句的构成是指令。每条指令有两部分组成,一部分是操作码,另一部分是操作数。操作码是指出这条指令的功能是什么,

36、操作数则指明了操作码所需要的数据所在。所谓寻址,就是寻找操作数的过程。S7-200 CPU的寻址方式可以分为三种。即立即寻址、直接寻址和间接寻址。1. 立即寻址(1) 关于立即寻址 在一条指令中,如果操作码后面的操作数就是操作码所需要的具体数据,这种指令的寻址方式就叫做立即寻址。例如:传送指令“MOV IN OUT” 中,操作码“MOV”指出该指令的功能把IN中的数据传送给OUT中。其中IN是被传送的源操作数,OUT表示要传送到的目标操作数。如果该指令为:“MOVD 2505 VD500”,该指令的功能是将十进制数2505传送给VD500中。这里2505就是指令码中的源操作数,因为这个操作数的

37、数值已经在指令中了,不用再去寻找了,这个操作数即立即数,这个寻址方式就是立即寻址方式。而目标操作数的数值在指令中并未给出,只给出了要传送到的地址VD500,这个操作数的寻址方式就不是立即寻址,而是直接寻址了。(2) 关于立即数S7-200指令中的立即数(常数)可以为字节、字或双字。CPU可以以二进制方式、十进制方式、十六进制方式、ASCII方式、浮点数方式来存储。十进制格式 十进制数, 取值范围为 字节0255、字065535、双字04294967295。 例如 255 十六进制格式 16#十六进制数, 取值范围为 字节0FF、字0FFFF、双字0FFFF FFFF。 例如 16#100F 实

38、数或浮点格式 浮点数, 例如: 2.05 +1.175495E-3 ASCII码格式 “ASCII码文本”。 例如 “ABCDEF” 二进制格式 2#二进制数。 例如 2#1010-0101-1010-0101 。 应当指出,S7-200 CPU不支持“数据类型”或数据的检查(例如指定常数作为整数、带符号整数或双整数来存储),且不检查某个数据的类型。举例来说,ADD指令可以VW100的值作为一个带符号整数来使用,而一条异或指令也可以把VW100中的值当作为一个带符号二进制数来使用。2. 直接寻址(1) 关于直接寻址方式 在一条指令中,如果操作码后面的操作数是以操作数所在地址的形式出现的,这种指

39、令的寻址方式就叫做直接寻址。例如:传送指令“MOV IN OUT” 中,操作码“MOV”指出该指令的功能把IN中的数据传送给OUT中。其中IN是被传送的源操作数,OUT表示要传送到的目标操作数。如果该指令为:“MOVD VD400 VD500”,该指令的功能是将VD400中的双字数据传送给VD500。指令中的源操作数的数值在指令中并未给出,只给出了贮存操作数的地址VD400,寻址时要到该地址VD400中寻找操作数,这种以给出操作数地址的形式的寻址方式是直接寻址。(2) 关于直接地址 在直接寻址中,指令中给出的是操作数的存放地址。在S7-200中,可以存放操作数的存储区有输入映像寄存器(I)存储

40、区、输出映像寄存器(Q)存储区、变量(V)存储区、位存储器(M)存储区、顺序控制继电器(S)存储区、特殊存储器(SM)存储区、局部存储器(L)存储区、定时器(T)存储区、计数器(C)存储区、模拟量输入(AI)存储区、模拟量输出(AQ)存储区、累加器区和高速计数器区。3. 间接寻址 (1) 关于间接寻址方式 在一条指令中,如果操作码后面的操作数是以操作数所在地址的地址的形式出现的,这种指令的寻址方式就叫做间接寻址。例如:如果传送指令为:“MOVD 2505 *VD500”。这里*VD500中指出的不是存放2505的地址,而是存放2505的地址的地址。例如VD500中存放的是VB0,则VD0才是存

41、放2505的地址。该指令的功能是将十进制数2505传送给VD0地址中。指令中的目标操作数的数值在指令中并未给出,只给出了贮存操作数的地址的地址VD500,这种以给出操作数地址的地址形式的寻址方式是间接寻址。(2) 关于间接地址 S7-200的间接寻址方式适用的存储区为I区、Q区、V区、M区、S区、T区(限于当前值)、C区(限于当前值)。除此之外,间接寻址还需要建立间接寻址的指针和对指针的修改。关于建立指针 为了对某一存储区的某一地址进行间接访问,首先要为该地址建立指针。指针长度为双字,存放另一个存储器的地址。间接寻址的指针只能使用变量存储区(V)、局部存储区(L)、或累加器(AC1、AC2、A

42、C3)作为指针。为了生成指针,必须使用双字传送指令(M0VD),将存储器某个位置的地址移入存储器的另一个位置或累加器作为指针。指令的输入操作数必须使用“&”符号表示是某一位置的地址,而不是它的数值。把从指针处取出的数值传送到指令输出操作数标识的地址位置。例如: MOVD &VB0,VD500 MOVD &VB0,AC2 MOVD &VB0,L8 关于使用指针来存取数据 在操作数前面加“*”号表示该操作数为一个指针,指针指出的是操作数所在的地址。例如:MOVD &VB0, VD10 是确定了VD10是间接寻址的指针。如果执行指令MOVD *VD10, VD20 则是把VDl0指针指出的地址VD0

43、中的数据传送到VD20中。如果执行指令MOVW *VD10, VW30 则是把VDl0指针指出的地址VW0中的数据传送到VW30中。如果执行指令MOVB *VD10, VB40 则是把VDl0指针指出的地址VB0中的数据传送到VB40中。关于修改指针在间接寻址方式中,指针指示了当前存取数据的地址。当一个数据已经存入或取出,如果不及时修改指针会出现以后的存取仍使用用过的地址,为了使存取地址不重复,必须修改指针。因为指针为32位的值,所以使用双字指令来修改指针值。简单的数学运算指令,加法指令“ +D IN1 OUT ”或自增指令“INCD OUT”可用于修改指针值。要注意存取的数据的长度。当存取字

44、节时,指针值加1;当存取一个字、定时器或计数器的当前值时,指针值加2。当存取双字时,指针值加4。例如: LD SM0.1 /PLC首次扫描为状态。 MOVD &VB0, VD10 /把VB0的地址装入间接寻址的地址指针VD10。 LD I0.0 /输入I0.0由OFF变为ON时有效。 MOVD *VD10, VD20 /将VD0中的数据传送到VD20中。 +D +4, VD10 /地址指针VD10指向VB4。 LD I0.2 /输入I0.2由OFF变为ON时有效。 MOVW *VD10, VW24 /将VW4中的数据传送到VW24中。 +D +2, VD10 /地址指针VD10指向VB6。 M

45、OVB *VD10, VB26 /将VB6中的数据传送到VB26中。 INCD VD10 /地址指针VD10指向VB7。在这个例子中,当PLC启动后SM0.l使VD10装入的间接地址指针为VB0。当I0.0为ON时,把VD0的数据装入VD20中,利用加法指令把VD10中的间接地址指针修改为VB4。当I0.2为ON时,把VW4的数据装入VW24中,利用加法指令把VD10中的间接地址指针修改为VB6,接着把VB6的数据装入VB26中,利用加一指令把VD10中的间接地址指针修改为VB7。从这个例子中可以看到S7-200的间接寻址的全过程。图3-3-13.3 S7-200的程序结构S7-200程序有三

46、种。一种是主程序,主程序只有一个,名称为OBl。第二种是子程序,子程序可以达到64个,名称分别为SBR0SBR63。子程序可以在主程序中调用,也可以由子程序或中断程序调用。第三种是中断程序,中断程序可以达到128个,名称分别为INT0INT127。中断方式有输入中断、定时中断、高速计数器中断、通讯中断等中断事件引发,当CPU响应中断时,可以执行中断程序。由这三种程序可以组成线性程序和分块程序两种结构。线性程序是指一个工程的全部控制任务都按照工程控制的顺序写在一个程序中,比如写在OBl中。程序执行过程中,CPU不断地扫描OBl,按照事先准备好的顺序去执行控制工作。如图3-3-1所示。图3-3-2

47、 显然,线性程序结构简单,一目了然。但是,当控制工程大到一定程度之后,仅仅采用线性程序就会使整个程序变得庞大而难于编制、难于调试了。分块程序是指一个工程的全部控制任务被分成多个小的任务块,每个任务块的控制任务根据具体情况分别放到子程序中或者放到中断程序中。程序执行过程CPU不断地调用这些子程序或者披中断程序中断。如图3-3-2所示。分块程序虽然结构复杂一些。但是,它可以把一个复杂的过程分解成多个简单的过程。对于具体的程序块容易编写,容易调试。从总体上看分块程序的优势是十分明显的。3.4 S7-200的位逻辑指令S7-200的指令有三种表达形式。这三种形式为语句表、梯形图和功能块图。实际应用中采

48、用梯形图编写程序较为普遍。这是因为梯形图是种通用的图形编程语言,不同类型的PLC的梯形图的图形表达相差无几。语句表编写的程序是最接近机器代码的文本程序。在S7-200的三种编程语言中,语句表适用最广,保存、注释最方便。本书中介绍的指令和编程都是以梯形图和语句表为主。读者想了解功能块图的相关内容请查阅书后的参考文献。1. 标准触点标准触点的梯形图表示:标准常开触点由标准常开触点和触点位地址bit构成。标准常闭触点由标准常闭触点和触点位地址bit构成。图3-4-1 标准触点的语句表表示:标准常开触点由操作码“LD”和标准常开触点位地址bit构成。标准常闭触点由操作码“LDN”和标准常闭触点位地址b

49、it构成。标准触点用梯形图、语句表的表示如图3-4-1所示。标准触点的功能:常开触点是在其线圈不带电时其触点是断开的(其触点的状态为OFF或为0),而其线圈带电时其触点是闭合的(其触点的状态为ON或为1)。常闭触点是在其线圈不带电时其触点是闭合的(其触点的状态为ON或为1),当其线圈带电时其触点是断开的(其触点的状态为OFF或为0)。在程序执行过程,标准触点起开关的触点作用。操作数范围:标准触点的取值范围是I、Q、M、SM、T、C、V、S、L(位)。 2. 立即触点 立即触点的梯形图表示:立即常开触点由立即常开触点和触点位地址bit构成。立即常闭触点由立即常闭触点和触点位地址bit构成。图3-

50、4-2立即触点的语句表表示:立即常开触点操作码“LDI”和立即常开触点位地址bit构成。立即常闭触点由操作码“LDNI”和立即常闭触点位地址bit构成。立即触点用梯形图、语句表的表示如图3-4-2所示。 立即触点的功能:含有立即触点的指令叫立即指令。当立即指令执行时,CPU直接读取其物理输入的值,而不是更新映像寄存器。在程序执行过程,立即触点起开关的触点作用。操作数范围:I(位)。 3. 输出操作 输出操作的梯形图表示:输出操作由输出线圈和位地址bit构成。 图3-4-3 输出操作的语句表表示:输出操作由输出操作码“”和线圈位地址bit构成。输出操作用梯形图、语句表的表示如图3-4-3所示。

51、输出操作的功能:输出操作是把前面各逻辑运算的结果复制到输出线圈,从而使输出线圈驱动的输出常开触点闭合,常闭触点断开。输出操作时,CPU是通过输入/输出映像区来读/写输出的状态的。 输出操作的操作数范围:I、Q、M、SM、T、C、V、S、L(位)。 4.立即输出操作 立即输出操作的梯形图表示:立即输出操作由立即输出线圈位和位地址构成。 图3-4-4 立即输出操作的语句表表示:立即输出操作由操作码“”和立即输出线圈位地址bit构成。立即输出操作用梯形图和语句表的表示如图3-4-4。 立即输出操作的功能:含有立即输出的指令叫立即指令。当立即指令执行时,CPU直接读取其物理输入的值,而不是更新映像寄存

52、器。立即输出操作是把前面各逻辑运算的结果复制到标准输出线圈,从而使立即输出线圈驱动的立即输出常开触点闭合,常闭触点断开。 操作数范围:Q(位)。 5.逻辑与操作 逻辑与操作的梯形图表示:逻辑与操作由标准触点或立即触点的串联构成。 逻辑与操作的语句表表示:逻辑与操作由操作码“” 和触点的位地址构成。其梯形图和语句表表示形式和对应的逻辑关系如图3-4-5所示。 图3-4-5 逻辑与操作的功能:与逻辑是指两个元件的状态都是时才有输出,两个元件中只要有个为,就无输出。 在图3-4-5中,当操作数I0.0和操作数I0.1进行与操作时,其输入(I0.0和I0.1)与输出(Q0.0)的逻辑关系如下。 I0.

53、0=0 且 I0.1=0 则 Q0.0=0 I0.0=1 且 I0.1=0 则 Q0.0=0 I0.0=0 且 I0.1=1 则 Q0.0=0 I0.0=1 且 I0.1=1 则 Q0.0=1 其逻辑关系为只有当I0.0与I0.1都是时,.才可能为。 操作数范围:I、Q、M、SM、T、C、V、S、L(位)。 6.逻辑或操作 逻辑或操作的梯形图表示:逻辑或操作由标准触点或立即触点的并联构成。 逻辑或操作的语句表表示:逻辑或操作由操作码“O” 和触点的位地址构成。其梯形图和语句表表示形式和对应的逻辑关系如图3-4-6所示。 逻辑或操作的功能:或逻辑是指两个元件的状态只要有一个是就有输出,只有当两个

54、元件都是时才无输出。在图3-4-6中,当操作数I0.0和操作数I0.1进行或操作时,其输入(I0.0和I0.1)与输出(Q0.0)的逻辑关系如下。 图3-4-6I0.0=0 且 I0.1=0 则 Q0.0=0 I0.0=1 且 I0.1=0 则 Q0.0=1 I0.0=0 且 I0.1=1 则 Q0.0=1 I0.0=1 且 I0.1=1 则 Q0.0=1 其逻辑关系为I0.0或I0.1有一个为,.就为。 操作数范围:I、Q、M、SM、T、C、V、S、L(位)。 7.取非操作 取非操作的梯形图表示:取非操作是在一般触点上加写“N0T”字符构成。 图3-4-7 取非操作的语句表表示:取非操作是由

55、操作码“NOT”构成,它只能和其它操作联合使用,本身没有操作数。其梯形图和语句表的表示如图3-4-7所示。 取非操作的功能:取非操作就是把源操作数的状态取反作为目标操作数输出。当操作数的状态为OFF(或0)时,对操作数取非操作的结果状态应该是ON(或1);若操作数的状态是ON(或1),对操作数取非的结果状态应该是OFF(或0) 图3-4-8 8.串联电路的并联连接 串联电路的并联连接的梯形图表示:这是个由多个触点的串联构成条支路,系列这样的支路再互相并联构成的复杂电路。 串联电路的并联连接的语句表表示:串联电路的并联连接的语句表示是在两个与逻辑的语句后面用操作码“OLD”联接起来,表示上面两个

56、与逻辑之间是“或”的关系。串联电路的并联连接的梯形图和语句表表示形式如图3-4-8所示。 串联电路的并联连接的功能:所谓串联就是指触点间是与的逻辑关系,多个触点的与的联接就构成了一个串联电路。串联电路的并联连接就是指多个串联电路之间又构成了或的逻辑操作。在执行程序时,先算出各个串联支路(与逻辑)的结果,然后再把这些结果的或传送到输出。 9.并联电路的串联连接 并联电路的串联连接的梯形图表示:这是个由多个触点的并联构成一个局部电路,系列这样的一个局部电路再互相串串构成的复杂电路。 图3-4-9 并联电路的串联连接的语句表表示:并联电路的串联连接的语句表表示是在两个或逻辑的语句后面用操作码“ALD

57、”联接起来,表示上面两个或逻辑之间是“与”的关系。并联电路的串联连接的梯形图和语句表表示形式如图3-4-9所示。 并联电路的串联连接的功能:所谓并联就是指触点间是或的逻辑关系,多个触点的或的联接就构成了一个并联电路。并联电路的串联连接就是指多个并联电路之间又构成了与的逻辑操作。在执行程序时,先算出各个并联支路(或逻辑)的结果,然后再把这些结果的与传送到输出。 10置位与复位操作 图3-4-10(1)置位操作 置位操作的梯形图表示:置位操作是由置位线圈、置位线圈的位地址和置位线圈数目n构成。 置位操作的语句表表示:置位操作是由置位操作码S、置位线圈的位地址和置位线圈数目n构成。置位操作的梯形图和

58、语句表的表示如图3-4-10。 置位操作的功能:当置位信号(图中为I0.0)为1时,被置位线圈(图中为Q0.0)置1。当置位信号变为0以后,被置位位的状态可以保持,直到使其复位信号的到来。 置位操作的注意问题:在执行置位指令时,应当注意被置位的线圈数目是从指令中指定的位元件开始共有个。图3-4-10中,若,被置位的线圈为0.0、Q0.1Q0.7。 操作数范围: 置位线圈bit:I、Q、M、SM、T、C、V、S、L(位)。 图3-4-11置位线圈数目n:VB、IB、QB、MB、SB、LB、AC、常数、*VD、*AC、*LD。 (2)复位操作 复位操作的梯形图表示:复位操作是由复位线圈、复位线圈的

59、位地址和复位线圈数n构成。 复位操作的语句表表示:复位操作是由复位操作码R、复位线圈的位地址和复位线圈数n构成。复位操作的梯形图和语句表的表示如图3-4-11。 复位操作的功能:当复位信号(图中为I0.0)为1时,被复位位(图中为Q0.0)置0。当复位信号变为0以后,被复位位的状态可以保持,直到使其置位信号的到来。 复位操作的注意问题:在执行复位指令时,应当注意被复位的线圈数目是从指令中指定的位元件开始共有个。图3-4-11中,若10,被复位的线圈为0.0、Q0.1Q1.1。 操作数范围: 复位线圈bit:I、Q、M、SM、T、C、V、S、L(位)。 复位线圈数目n:VB、IB、QB、MB、S

60、B、LB、AC、常数、*VD、*AC、*LD。 11.立即置位与立即复位操作 (1) 立即置位操作 图3-4-12 立即置位操作的梯形图表示:立即置位操作是由立即置位线圈、立即置位线圈的位地址和立即置位线圈数n构成。 立即置位操作的语句表表示:立即置位操作是由立即置位操作码SI、立即置位线圈的位地址和立即置位线圈数n构成。立即置位操作的梯形图和语句表的表示如图3-4-12。 立即置位操作的功能:含有立即置位的指令叫立即指令。当立即指令执行时,CPU直接读取其物理输入的值,而不是更新映像寄存器。当置位信号(图中为I0.0)为1时,被置位位(图中为Q0.0)置1。当置位信号变为0以后,被置位位的状

61、态可以保持,直到使其复位信号的到来。 立即置位操作的注意问题:同置位操作。 操作数范围:I、Q、M、SM、T、C、V、S、L(位)。 置位线圈bit:Q。 置位线圈数目n:VB、IB、QB、MB、SB、LB、AC、常数、*VD、*AC、*LD。 (2) 立即复位操作 立即复位操作的梯形图表示:立即复位操作是由立即复位线圈、立即复位线圈的位地址和立即复位线圈数n构成。 图3-4-13 立即复位操作的语句表表示:立即复位操作是由立即复位操作码RI、立即复位线圈的位地址和立即复位线圈数n构成。立即复位操作的梯形图和语句表的表示如图3-4-13。 立即复位操作的功能:含有立即复位的指令叫立即指令。当立

62、即指令执行时,CPU直接读取其物理输入的值,而不是更新映像寄存器。当复位信号(图中为I0.0)为1时,被复位位(图中为Q0.0)置0。当复位信号变为0以后,被复位位的状态可以保持,直到使其置位信号的到来。 立即复位操作的注意问题:同复位操作。 操作数范围: 复位线圈bit:Q。 复位线圈数目n:VB、IB、QB、MB、SB、LB、AC、常数、*VD、*AC、*LD。 12.微分操作 图3-4-14 (1)上微分操作 上微分操作的梯形图表示:上微分由常开触点加上微分符“P”构成。 上微分操作的梯形图表示:上微分由上微分操作码“”构成。上微分操作的梯形图和语句表的表示如图3-4-14。 上微分操作的功能:所谓上微分是指某一位操作数的状态由0变为1的过程,即出现上升沿的过程,上微分指令在这种情况下可以形成一个ON一个扫描周期的脉冲。这个脉冲可以用来启动下一个控制程序、启动一个运算过程、结束一段控制等等。 上微分操作的注意问题:上微分脉冲只存在个扫描周期,接受这一脉冲控制的元件应

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!