S7-200指令详解资料介绍.doc

上传人:一*** 文档编号:809469 上传时间:2019-07-16 格式:DOC 页数:60 大小:121.91KB
返回 下载 相关 举报
S7-200指令详解资料介绍.doc_第1页
第1页 / 共60页
S7-200指令详解资料介绍.doc_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《S7-200指令详解资料介绍.doc》由会员分享,可在线阅读,更多相关《S7-200指令详解资料介绍.doc(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”,字节地址为整数 部分

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

4、续。最低位字节在一个双字中应该是最高8位。比如, ID0中的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.7 Q15.0、Q15.1、Q15.7 共l28点。 输出映像区每个位地址包括存储器标识符、字节

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

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

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

8、示。 该区的数据为字(l6bit)。其表示形式如下。 AQW0、AQW2、AQW30 共16个字,总共允许有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 共4096

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

10、。 变量存储器区每个字地址的表示应该包括存储器字标识符、字地址两部分。字标识符为“VW”,字地址为 整数部分。一个字含两个字节,一个字中的两个字节的地址必须连续,且低位字节在一个字中应该是高8 位,高位字节在一个字中应该是低8位。比如,VW0中的VB0应该是高8位,VBl应该是低8位。 用双字表示 VD0、VD4、VD5116 共1280个双字。 变量存储器区每个双字地址的表示应该包括存储器双字标识符、双字地址两部分。双字标识符为“VD”, 双字地址为整数部分。一个双字含四个字节,四个字节的地址必须连续。最低位字节在一个双字中应该是 最高8位。比如,VD0中的VB0应该是最高8位,VBl应该是

11、高8位,VB2应该是低8位,VB3应该是最低8位。应当指出,变量存储器区的数据可以是输入,也可以是输出。 4. 位存储器区(M区) 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点。 位存储器区每个位地址的表示

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

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

14、。顺 序控制继电器区是S7-200 CPU为顺序控制继电器的数据而建立的一个存贮区,用S表示,在顺序控制过程 中用于组织步进过程的控制。顺序控制继电器区的数据可以是位,也可以是字节(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

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

16、序控制继电器区每个双字地址的表示应该包括存储器双字标识符、双字地址二部分。双字标识符为“SD”, 双字地址为整数部分。一个双字含四个字节,四个字节的地址必须连续。最低位字节在一个双字中应该是 最高8位。比如,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根据需要分配局部存储器。也就是说,当主程序执行时,分配给子程序

18、或中断程序的局部存 储器是不存在的。当出现中断或调用一个子程序时,需要分配局部存储器。新的局部存储器在分配时可以 重新使用分配给不同子程序或中断程序的相向局部存储器。 局部存储器在分配时PLC不进行初始化,初值可能是任意的。当在子程序调用中传递参数时,在被调用子 程序的局部存储器中,由CPU代替被传递的参数的值。局部存储器在参数传递过程中不接收值,在分配时 不被初始化,也没有任何值。可以把局部存储器作为间接寻址的指针,但是不能作为间接寻址的存储器区。局部存储器区是S7-200 CPU为局部变量数据建立的一个存贮区,用L表示。该区的数据可以是位、字节 (8bit)、字(l6bit)或者双字(32

19、bit)。其表示形式如下。 用位表示L0.0、L0.1、L0.7 L1.0、L1.1、L1.7 L63.0、L63.1、L63.7 共512点。 局部存储器区每个位地址的表示应该包括存储器标识符、字节地址及位号三部分。存储器标识符为“L”, 字节地址为整数部分,位号为小数部分。比如Ll.l表明这个输入点是第1个字节的第1位。 用字节表示LB0、LB1、LB63 共64个字节。 局部存储器区每个字节地址的表示应该包括存储器字节标识符、字节地址两部分。字节标识符为“LB”,字 节地址为整数部分。比如LBl表明这个局部存储器字节是第1个字节,共8位,其中第0位是最低位,第7位 是最高位。 用字表示L

20、W0、LW2、LW62 共32个字。 局部存储器区每个字地址的表示应该包括存储器字标识符、字地址两部分。字标识符为“LW”,字地址为 整数部分。一个字含两个字节,一个字中的两个字节的地址必须连续,且低位字节在一个字中应该是高8 位,高位字节在一个字中应该是低8位。比如,LW0中的LB0应该是高8位,LBl应该是低8位。 用双字表示 LD0、LD4、LD60 共16个双字。 局部存储器区每个双字地址的表示应该包括存储器双字标识符、双字地址两部分。双字标识符为“LD”,双 字地址为整数部分。一个双字含四个字节,四个字节的地址必须连续。最低位字节在一个双字中应该是最高8位。比如,LD0中的LB0应该

21、是最高8位,LBl应该是高8位,LB2应 该是低8位,LB3应该是最低8位。 7. 定时器存储器区(T区) PLC在工作中少不了需要计时,定时器就是实现PLC具有计时功能的计时设备。S7-200定时器的精度(时 基或时基增量)分为1ms,10ms、100ms三种。 S7-200定时器有三种类型 接通延时定时器的功能是定时器计时到的时候,定时器常开触点由OFF转为ON。 断开延时定时器的功能是定时器计时到的时候,定时器常开触点由ON转为OFF。 有记忆接通延时定时器的功能是定时器累积计时到的时候,定时器常开触点由OFF转为ON。 定时器有三种相关变量 定时器的时间设定值(PT),定时器的设定时间

22、等于PT值乘于时基增量。 定时器的当前时间值(SV),定时器的计时时间等于SV值乘于时基增量。 定时器的输出状态(0或者1)。 定时器的编号 T0、T1、T255。 S7-200有256个定时器。 定时器存储器区每个定时器地址的表示应该包括存储器标识符、定时器号两部分。存储器标识符为“T”, 定时器号为整数。比如T1表明定时器1。 实际上T1即可以表示定时器1的输出状态(0或者1),也可以表示定时器1的当前计时值。这就是定时器的 数据具有两种数据结构的原因所在。 8. 计数器存储器区(C区) PLC在工作中有时不仅需要计时,还可能需要计数功能。计数器就是PLC具有计数功能的计数设备。 S7-2

23、00计数器有三种类型 增计数器的功能是每收到一个计数脉冲,计数器的计数值加。当计数值等于或大于设定值时,计数器由 OFF转变为ON状态。 减计数器的功能是每收到一个计数脉冲,计数器的计数值减。当计数值等于0时,计数器由OFF转变为 ON状态。 增减计数器的功能是可以增计数也可以减计数。当增计数时,每收到一个计数脉冲,计数器的计数值加 。当计数值等于或大于设定值时,计数器由OFF转变为ON状态。当减计数时,每收到一个计数脉冲, 计数器的计数值减。当计数值小于设定值时,计数器由ON转变为OFF状态。 计数器有三种相关变量 计数器的设定值(PV)。 计数器的当前值(SV)。 计数器的输出状态(0或者

24、1)。 计数器的编号 C0、C1、C255。 S7-200有256个计数器。 计数器存储器区每个计数器地址的表示应该包括存储器标识符、计数器号两部分。存储器标识符为“C”, 计数器号为整数。比如C1表明计数器1。 实际上C1即可以表示计数器1的输出状态(0或者1),C1也可以表示计数器1的当前计数值。这就是说计 数器的数据和定时器一样具有两种数据结构。9. 高速计数器区(HSC区) 高速计数器用来累计比CPU扫描速率更快的事件。S7-200各个高速计数器不仅计数频率高达30kHz,而且 有12种工作模式。 S7-200各个高速计数器有32位带符号整数计数器的当前值。若要存取高速计数器的值,则必

25、须给出高数计 数器的地址,即高数计数器的编号。 高速计数器的编号HSC0、HSC1、HSC2、HSC3、HSC4、HSC5。 S7-200有6个高速计数器。其中,CPU221和CPO222仅有4个高速计数器(HSC0、HSC3、HSC4、HSC5)。高速计数器区每个高速计数器地址的表示应该包括存储器标识符、计数器号两部分。存储器标识符为 “HSC”,计数器号为整数。比如HSC1表明高速计数器1。 10. 累加器区(AC区) 累加器是可以像存储器那样进行读写的设备。例如,可以用累加器向子程序传递参数,或从子程序返回 参数,以及用来存储计算的中间数据。 S7-200 CPU提供了4个32位累加器(

26、AC0,AC1,AC2, AC3)。 可以按字节、字或双字来存取累加器数据中的数据。但是,以字节形式读/写累加器中的数据时,只能读/ 写累加器32位数据中的最低8位数据。如果是以字的形式读/写累加器中的数据,只能读/写累加器32位数据 中的低16位数据。只有采取双字的形式读/写累加器中的数据才能一次读写其中的32位数据。 因为PLC的运算功能是离不开累加器的。因此不能像占用其它存储器那样占用累加器。 11. 特殊存储器区(SM区) 特殊存储器是S7-200 PLC为CPU和用户程序之间传递信息的媒介。它们可以反映CPU在运行中的各种状态 信息,用户可以根据这些信息来判断机器工作状态,从而确定用

27、户程序该做什么,不该做什么。这些特殊 信息也需要用存储器来寄存。特殊存储器就是根据这个要求设计的。 (1) 特殊存储器区 S7-200 CPU的特殊存储器区用SM表示。特殊存储器区的数据有些是可读可写的,有一些是只读的。特殊 存储器区的数据可以是位,也可以是字节(8bit)、字(l6bit)或者双字(32bit)。其表示形式如下。 用位表示SM0.0、SM0.1、SM0.7 SM1.0、SM1.1、SM1.7 SM29.0、SM29.1、SM29.7 SM179.0、SM179.1、SM194.7 特殊存储器区每个位地址的表示应该包括存储器标识符、字节地址及位号三部分。存储器标识符为“SM”,

28、 字节地址为整数部分,位号为小数部分。比如SM0.l表明特殊存储器第0个字节的第1位。 用字节表示SMB0、SMB1、SMB29、SMB194 特殊存储器区每个字节地址的表示应该包括存储器字节标识符、字节地址两部分。字节标识符为“SMB”, 字节地址为整数部分。比如SMBl表明位存储器第1个字节,共8位,其中第0位是最低位,第7位是最高位。用字表示SMW0、SMW2、SMW28、SMW194特殊存储器区每个字地址的表示应该包括存储器字标识符、字地址两部分。字标识符为“SMW”,字地址 为整数部分。一个字含两个字节,一个字中的两个字节的地址必须连续,且低位字节在一个字中应该是高 8位,高位字节在

29、一个字中应该是低8位。比如,SMW0中的SMB0应该是高8位,SMBl应该是低8位。 用双字表示SMD0、SMD4、SMD24、SMD192 位存储器区每个双字地址的表示应该包括存储器双字标识符、双字地址两部分。双字标识符为“SMD”,双 字地址为整数部分。一个双字含四个字节,四个字节的地址必须连续。最低位字节在一个双字中应该是最 高8位。比如,SMD0中的SMB0应该是最高8位,SMBl应该是高8位,SMB2应该是低8位,SMB3应该是最 低8位。 应当指出S7-200 PLC的特殊存储器区头30个字节为只读区。 (2)常用的特殊继电器及其功能 1)SMB0字节(系统状态位) SM0.0 P

30、LC运行时这一位始终为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 当执行某些命令时,其结果溢出或出现非法数值时,该位置1。 SM1.2 当执行数学运算时,其结果为负数时,该位置1。 SM1.6 当把一个非BCD数转换为二进制数时,该位置1。 SM1.7 当ASCll不能

31、转换成有效的十六进制数时,该位置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 在运行时刻,发现编程问题时,该位置1。 SM4.4 当全局中断允许时,该位置1。 SM4.5 当(口0)发送空闲时,该位置1。 SM4.6 当(口l)发送空闲时,该位置1。 6)

32、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 SM6.76.4=1000为CPU215 SM6.76.4=1001为CPU216/CPU226 8)SMB8到SMB21字节(I/O模块识别和错误寄存器) S

33、MB8 模块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 上次扫描时间 SMW24 进入RUN方式后,所记录的最短扫描时间 SMW26 进入RUN方式后,所记录的最长扫描时间 10)SMB

34、28和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字节(高速计数器HSC0、HSCl和HSC2寄存器) SMB36 HSC0当前状态寄存器 SMB37 HSC0控制寄存器

35、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为通讯口0的接收信息控制 SMB186到SMB179为通讯口1的接收信息控制 接收信息状态寄存器S

36、MB86和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编程语言的基本单位是语句,而语句的构成是指令。每条指令有两部分组成,一部分是操作码, 另一部分是操作数。操作码是指出这条指令的功能是什么,操作数则指明了操作码所需要的数据所在。所 谓寻址,就是寻找操作数的过程。S7-200

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

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

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

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

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

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

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

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

45、存取的数据的长度。当存取字节时,指针值加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 /地

46、址指针VD10指向VB6。 MOVB *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-1 3.3

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

48、的顺序去执行控制工作。如图3-3-1所示。 图3-3-2 显然,线性程序结构简单,一目了然。但是,当控制工程大到一定程度之后,仅仅采用线性程序就会使整 个程序变得庞大而难于编制、难于调试了。 分块程序是指一个工程的全部控制任务被分成多个小的任务块,每个任务块的控制任务根据具体情况分别 放到子程序中或者放到中断程序中。程序执行过程CPU不断地调用这些子程序或者披中断程序中断。如图 3-3-2所示。 分块程序虽然结构复杂一些。但是,它可以把一个复杂的过程分解成多个简单的过程。对于具体的程序块 容易编写,容易调试。从总体上看分块程序的优势是十分明显的。 3.4 S7-200的位逻辑指令 S7-200的指令有三种表达形式。这三种形式为语句表、梯形图和功能块图。实际应用中采用梯形图编写程 序较为普遍。这是因为梯形图是种通用的图形编程语言,不同类型的PLC的梯形图的图形表达相差无几。 语句表编写的程序是最接近机器代码的文本程序。在S7-200的三种编程语言中,语句表适用最广,保存、 注释最方便。本书中介绍的指令和编程都是以梯形图和语句表为主。读者想了解功能块图的相关内容请查 阅书后的参考文献。 1. 标准触点 标准触点的梯形图表示:标准常开触点由标准常开触点和触点位地址bit构成。标准常闭触点由标准常 闭触点和触点位地址bit构成。 图3-4-1 标准触点的语句表表示:标准常开触点由

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com