欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第十章 西门子S7300系列基本指令系统.ppt

    • 资源ID:2210231       资源大小:2.83MB        全文页数:241页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第十章 西门子S7300系列基本指令系统.ppt

    第4章西门子S7-300系列PLC基本指令系统,4.1 指令及其结构4.2 位逻辑指令4.3 定时器与计数器指令4.4 数据处理功能指令4.5 数据运算指令4.6 控制指令思考与练习题,4.1 指令及其结构,4.1.1 指令的组成 1.语句指令 一条指令由一个操作码和一个操作数组成,操作数由标识符和参数组成。操作码定义要执行的功能,它告诉CPU该做什么;操作数为执行该操作所需要的信息,它告诉CPU用什么去做。例如:A I 1.0该指令是一条位逻辑操作指令,其中:“A”是操作码,它表示执行“与”操作;“I 1.0”是操作数,它指出这是对输入继电器I 1.0进行的操作。,有些语句指令不带操作数。它们操作的对象是惟一的,故为简便起见,不再特别说明。例如:NOT是对逻辑操作结果(RLO)取反。,2.梯形逻辑指令 梯形逻辑指令用图形元素表示PLC要完成操作。在梯形逻辑指令中,其操作码是用图素表示的,该图素形象表明CPU做什么,其操作数的表示方法与语句指令相同。如:Q 4.0()该指令中:()可认为是操作码,表示一个二进制赋值操作。Q 4.0是操作数,表示赋值的对象。梯形逻辑指令也可不带操作数。如:|NOT|是对逻辑操作结果取反的操作。,4.1.2 操作数 1.标识符及表示参数 一般情况下,指令的操作数在PLC的存储器中,此时操作数由操作数标识符和参数组成。操作数标识符告诉处理器操作数放在存储器的哪个区域及操作数位数;标识参数则进一步说明操作数在该存储区域内的具体位置。操作数标识符由主标识符和辅助标识符组成。主标识符表示操作数所在的存储区,辅助标识符进一步说明操作数的位数长度。若没有辅助标识符指操作数的位数是一位。,主标识符有:I(输入过程映像存储区),Q(输出过程映象存储区),M(位存储区),PI(外部输入),PQ(外部输入),T(定时器),C(计数器),DB(数据块),L(本地数据);辅助标识符有:X(位),B(字节),W(字2字节),D(双字4字节)。PLC物理存储器是以字节为单位的,所以存储单元规定为字节单元。位地址参数用一个点与字节地址分开。如:M 10.1 当操作数长度是字或双字时,标识符后给出的标识参数是字或双字内的最低字节单元号。图4.1给出了字节、字、双字的相互关系及表示方法。当使用宽度为字或双字的地址时,应保证没有生成任何重叠的字节分配,以免造成数据读写错误。,图4.1 以字节单元为基准标记存储器存储单元,位存储区M,表4.1 存储区及其功能,表4.1 存储区及其功能,2.操作数的表示法 在STEP7中,操作数有两种表示方法:一是物理地址(绝对地址)表示法;二是符号地址表示法。为一个物理地址定义有意义的符号名,可使程序的可读性增强,降低编程时由于笔误而造成的程序错误。用物理地址表示操作数时,要明确指出操作数的所在存储区,该操作数的位数具体位置。例如:Q 4.0是用物理地址表示的操作数,其中Q表示这是一个在输出过程映像区中的输出位,具体位置是第四个字节的第0位。STEP7 允许用符号地址表示操作数,如Q 4.0可用符号名MOTOR_ON替代表示,符号名必须先定义后使用,而且符号名必须是惟一的,不能重名。定义符号时,需要指明操作数所在的存储区,操作数的位数、具体位置及数据类型。,4.1.3 寻址方式 操作数是指令的操作或运算对象。所谓寻址方式是指令得到操作数的方式,可以直接给出或间接给出。可用作STEP7指令操作对象的有:常数;S7状态字中的状态位;S7的各种寄存器、数据块;功能块FB,FC和系统功能块SFB,SFC;S7的各存储区中的单元。S7有四种寻址方式,它们分别是:立即寻址、存储器直接寻址、存储器间接寻址和寄存器间接寻址。,1.立即寻址 这是对常数或常量的寻址方式。操作数本身直接包含在指令中。有些指令中的操作数是惟一的,为方便起见不再在指令中特别写出。下面是立即寻址的例子:SET/把RLO置1OW W#16#A320/将常量W#16#A320与累加器1“或”运算L 27/把整数27装入累加器1L ABCD/把ASCII码字符ABCD装入累加器1L C#0100/把BCD码常数0100装入累加器1,2.直接寻址 包括对寄存器和存储器的直接寻址。在直接寻址的指令中,直接给出操作数的存储单元地址。例如:A I 0.0/对输入位I 0.0进行“与”逻辑操作S L 20.0/把本地数据位L 20.0置1=M 115.4/使存储区位M 115.4的内容等于RLO的内容L IB 10/把输入字节IB 10的内容装入累加器1T DBD 12/把累加器1中的内容传送给数据双字DBD 12中,3.存储器间接寻址 在存储器间接寻址的指令中,给出一个存储器(必须是表4.1中的存储器),该存储器的内容是操作数所在存储单元的地址,该地址又被称为地址指针。存储器间接寻址方式的优点是,当程序执行时,能改变操作数的存储器地址,这对程序中的循环尤为重要。以下是使用存储器双字指针间接寻址的例子:A IMD 2/对由MD 2指出的输入位进行“与”逻辑操作。如:MD 2的值为/2#0000 0000 0000 0000 0000 0000 0101 0110,则是对I 10.6进行“与”操作。=DIXDBD 2/将RLO赋值给数据位,具体数据由数据双字DBD 2指出。,L IBDID 4/将由数据双字DID 4指出的输入字节装入累加器1。如:DID 4的值为2#0000 0000 0000 0000 0000 0000/0101 0000,则是对IB 10进行装入操作。O QLD 3/对由本地数据双字指出的输出位进行“或”逻辑操作。,依据要描述的地址复杂程度,地址指针可以是字或双字的,存储指针的存储器大小也应是字的或双字的,由于定时器(T)、计数器(C)、数据块(DB)、功能块(FB或FC)的编号范围在0到65 535之内,所以用字指针就足够了,相应的也只需字存储器存储指针。其它的地址,如:输入位、输出位,则要用到双字指针,并用双字存储器存储指针。指针的两种格式如图4.2所示。如果要用双字格式的指针访问一个字、字节或双字存储器,必须保证指针中的位编号为0。,图4.2 存储器间接寻址的指针格式,位3至18(范围0至65535):被寻址字节的字节编号 位0至2(范围0至7):被寻址位的位编号,下面的例子显示如何产生字或双字指针并用其寻址:L+5/将整数+5装入累加器1T MW 2/将累加器1的内容传送给存储字MW 2,此时MW 2的内容为5OPN DBMW 2/打开由MW 2指出的数据块,即,打开数据块5L P#8.7/将2#0000 0000 0000 0000 0000 0000 0100 0111(二进制数)装入累加器1T MD 2/将累加器1的内容传送给存储字MD 2,此时MD 2的内容为/2#0000 0000 0000 0000 0000 0000 0100 0111L P#4.0/将2#0000 0000 0000 0000 0000 0000 0010 0000装入累加器1,累/加器1原内容被装入累加器2,+I/将累加器1和累加器2内容相加,在累加器1中得到的“和”为/2#0000 0000 0000 0000 0000 0000 0110 0111T MD 4/将累加器1的当前内容传送给存储字MD 4A IMD 2/对输入位I 8.7进行“与”逻辑操作=QMD 4/将RLO赋值给输出位Q 12.7,4.寄存器间接寻址 在S7中有两个地址寄存器,它们是AR1和AR2。通过地址寄存器,可以对各存储区的存储器内容实现寄存器间接寻址。地址寄存器的内容加上偏移量形成地址指针,该指针指向数值所在的存储单元。,地址寄存器存储的地址指针有两种格式,其长度均为双字。图4.3给出了这两种格式的细节及其差别。其中,第一种地址指针格式包括被寻址数值所在存储单元地址的字节编号和位编号,至于对哪个存储区寻址,则必须在指令中明确直接给出。这种指针格式适用于在确定的存储区内寻址,即区内寄存器间接寻址。而第二种地址指针格式中还包含了数值所在存储区的说明位(存储区域标志位),这样,就可通过改变这些位,实现跨区寻址,这种指针格式用于区域间寄存器间接寻址。区域标识位的组合状态见表4.2。,图4.3 寄存器间接寻址的指针格式,表4.2 地址指针区域标识位含义,如果要用到寄存器指针格式访问一个字节、字或双字,则必须保证指针中位地址编号为0。下面的例子分别说明如何使用这两种指针格式实现间接寻址:L P#8.6/将2#0000 0000 0000 0000 0000 0000 0100 0110装入累加器1LAR1/将累加器1的内容传送至地址寄存器1A IAR1,P#0.0/地址寄存器1加偏移量结果为2#0000 0000 0000 0000/0000 0000 0100 0110,指明是对输入位I 8.6进行“与”操作=QAR1,P#4.1/地址寄存器1加偏移量结果为2#0000 0000 0000 0000/0000 0000 01100111,指明对输出位Q12.7进行赋值操作L P#8.0/将2#0000 0000 0000 0000 0000 0000 0100 0000装入累加器1,LAR2/将累加器1的内容传送至地址寄存器2L IBAR2,P#2.0/将输入字节IB 10的内容装入累加器1T MWAR2,P#200.0/将累加器1的内容传送至存储字MW 208L P#I8.7/将2#1000 0001 0000 0000 0000 0000 0100 0111装入累加器1LAR1/将累加器1的内容传送至地址寄存器1L P#Q8.7/将2#1000 0010 0000 0000 0000 0000 0100 0111装入累加器1LAR2/将累加器1的内容传送至地址寄存器2A AR1,P#0.0/对输入位I 8.7进行“与”逻辑操作=AR2,P#1.1/赋值给输出位Q10.0 L P#I8.0/将输入位I 8.0的双字指针装入累加器1,LAR2/将累加器1的内容传送至地址寄存器2L P#M8.0/将存储位M 8.0的双字指针装入累加器1LAR1/将累加器1的内容传送至地址寄存器1L BAR2,P#2.0/把输入字节IB 10装入累加器1,输入字节10为8(AR2)加2(偏移量)T DAR1,P#56.0/把存储双字MD 64装入累加器1,存储双字64为8(AR1)/加56(偏移量),4.1.4 状态字 状态字用于表示CPU执行指令时所具有的状态。一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位;你也能在位逻辑指令或字逻辑指令中访问并检测它们。图4.4显示了状态字的结构。,图4.4 状态字的结构,15 9 8 7 6 5 4 3 2 1 0,(2)逻辑操作结果(RLO)状态字的位1称为逻辑操作结果RLO(Result of Logic Operation)。该位存储位逻辑指令或算术比较指令的结果。在逻辑串中,RLO位的状态能够表示有关信号流的信息。RLO的状态为1,表示有信号流(通);为0,表示无信号流(断)。可用RLO触发跳转指令。,(3)状态位(STA)状态字的位2称为状态位。状态位不能用指令检测,它只是在程序测试中被CPU解释并使用。如果一条指令是对存储区操作的位逻辑指令,则无论是对该位的读与写操作,STA总是与该位的值取得一致;对不访问存储区的位逻辑指令来说,STA没有意义,此时它总被置为1。(4)或位(OR)状态字的位3称为或位(OR)。在先逻辑“与”后逻辑“或”的逻辑串中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。其它指令将OR位清0。,(5)溢出位(OV)状态字的位4称为溢出位,溢出位被置1,表明一个算术运算或浮点数比较指令执行时出现错误(错误:溢出、非法操作、不规范格式)。后面的算术运算或浮点数比较指令执行结果正常的话OV位就被清0。(6)溢出状态保持位(OS)状态字的位5称为溢出状态保持位(或称为存储溢出位)。OV被置1时OS也被置1;OV被清0时OS仍保持。所以它保存了OV位,可用于指明在先前的一些指令执行中是否产生过错误。只有下面的指令才能复位OS位:JOS(OS=1时跳转);块调用指令和块结束指令。,(7)条件码1(CC1)和条件码0(CC0)状态字的位7和位6称为条件码1和条件码0。这两位结合起来用于表示在累加器1中产生的算术运算或逻辑运算结果与0的大小关系;比较指令的执行结果或移位指令的移出位状态。详见表4.3和表4.4。,表4.3 算术运算后的CC1和CC0,表4.4 比较、移位和循环移位、字逻辑指令后的CC1和CC0,(8)二进制结果位(BR)状态字的位8称为二进制结果位。它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字操作结果是否正确(异常)。将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。在LAD的方块指令中,BR位与ENO有对应关系,用于表明方块指令是否被正确执行:如果执行出现了错误,BR位为0,ENO也为0;如果功能被正确执行,BR位为1,ENO也为1。在用户编写的FB和FC程序中,必须对BR位进行管理,当功能块正确运行后使BR位为1,否则使其为0。使用STL指令SAVE或LAD指令(SAVE),可将RLO存入BR中,从而达到管理BR位的目的。当FB或FC执行无错误时,使RLO为1并存入BR,否则,在BR中存入0。,4.2 位逻辑指令,位逻辑指令主要包括位逻辑运算指令、位操作指令和位测试指令,它们可以对布尔操作数(BOOL)的信号映态扫描并完成逻辑操作。逻辑操作结果(RLO)用以赋值、置位、复位布尔操作数,也控制定时器和计数器的运行。,4.2.1 位逻辑运算指令 位逻辑运算指令是“与”(AND)、“或”(OR)、“异或”(XOR)指令及其组合。它对“0”或“1”这些布尔操作数扫描,经逻辑运算后将逻辑操作结果送入状态字的RLO位。,1.“与”和“与非”(A,AN)指令 逻辑“与”在梯形图里是用串联的触点回路表示的,被扫描的操作数则表示为触点符 号,操作数标在触点上方。如果触点是常开触点(动合触点),则对“1”扫描相应操作数。在PLC中规定:若操作数是“1”,则常开触点“动作”,即认为是“闭合”的;若操作数是“0”,则常开触点“不动作”,即触点仍然打开。如果触点是常闭触点(动断触点),则对“0”扫描相应操作数。在PLC中规定:若操作数是“1”,则常闭触点“动作”,即触点“断开”;若操作数是“0”,则常闭触点“不动作”,即触点仍保持闭合。,如果串联回路里的所有触点皆闭合,该回路就通“电”了。在图4.5的回路中,如果所有触点闭合,即当输入I 0.0和输出Q 7.3的信号状态都是“1”(触点闭合)、且位存储器M 10.6为“0”(该触点仍保持原闭合位置)时,输出Q 4.0才为“1”;如果有一个或多个触点是打开的,则输出Q 4.0的信号状态就为“0”(继电器触点打开)。上述梯形逻辑图,可用语句表指令完全表示。对应的语句表为:,A I0.0 A Q 4.1AN M10.1 Q4.0,图4.5“与”逻辑梯形图,在上面的语句表中,操作数是被依次扫描的,其扫描的结果再逻辑“与”。对信号状态进行“1”扫描,并做逻辑”与”运算,则用助记符“A”来标识,相关的操作数指定了要扫描对象。当操作数的信号状态是“1”时,其扫描结果也是“1”。如果操作数的信号状态是“0”,则扫描结果也是“0”。对信号状态进行“0”扫描,并做逻辑“与”运算,则用助记符“AN”来标识取反的“与”逻辑操作当操作数的信号状态是“0”时,其扫描结果就是“1”。如果操作数的信号状态是“1”,则扫描结果就是“0”。,在第一条语句里,CPU扫描的是输入I0.0本次扫描也被称为首次扫描。首次扫描的结果被直接保存在RLO(逻辑操作结果)中,在下一条语句中,扫描操作数输出Q 4.1;这次扫描的结果和RLO中保存的上一次结果相“与”,产生的新结果再存入RLO。如此逐一进行,在逻辑序列结束处的RLO可用作进一步处理。例如,用来激励一个输出信号。在上面的语句表中,把RLO的值赋给输出Q 4.0(Q 4.0)。,2.“或”和“或非”(O,ON)指令 逻辑“或”在梯形图里是用并联的触点回路表示的,被扫描的操作数标在触点上方。在 触点并联的情况下,若有一个或一个以上的触点闭合,则该回路就“通电”。在图4.6中,驱动信号通过并联触点回路加到输出Q 4.1。只要有一个触点闭合,输出4.1的信号状态就为“l”。如果所有的触点都是打开的,则输出Q 4.1就为“0”。在图4.6中,仅当输入I1.1和输出Q 4.0两者都为“0”,且M2.0为“1”时,输出Q 4.1才为“0”。,图4.6“或”逻辑梯形图,上述梯形逻辑图,也可用语句表指令表示。对应的语句表为:,O I1.1 ON M2.0 O Q4.0 Q4.1,在上面的语句表中,操作数是依次被扫描的,其扫描的结果再逻辑“或”。对信号状态进行“1扫描,并做逻辑“或”运算,用助记符“O”来标识。当操作数的信号状态是“1”时,其扫描结果也是“1”。对信号状态进行“0”扫描,并做逻辑“或”运算,则用助记符“ON”来标识取反的“或”逻辑操作当操作数的信号状态是“0”时,其扫描结果就是“1”。如果操作数的信号状态是“1”,则扫描结果就是“0”。,在第一条语句里,处理器扫描的是输入I1.1首次扫描的结果被直接保存在RLO中,并和下一条语句的扫描结果相“或”,产生的新结果再存入RLO。如此逐一进行,在逻辑序列结束处的RLO可用作进一步处理。例如,用来激励一个输出信号。在上面的语句表中,把RLO的值赋给输出Q 4.1。,3.“异或”和“异或非”(X,XN)指令 图4.7是“异或”逻辑梯形图,下面是与梯形图对应的语句表。在的语句表中,使用了“异或”和“异或非”指令,分别用助记符“X”和“XN”来标识。它类似“或”和“或非”指令,用于扫描并联回路能否“通电”。,X I 1.0 XN I 1.1 Q 4.0,当执行语句表中的第一条指令时,首次扫描的结果被直接保存在RLO中,然后RLO中的值和第二条指令的扫描结果进行“异或”操作,得到的新结果再存入RLO。如此扫描、“异或”并刷新RLO,直到赋值指令将RLO的值赋给输出Q 4.0。图中,仅当两个触点(输入I1.0和输入I1.1)的扫描结果不同,即只有一个为“1”时,RLO才为“1”,并赋值给输出使Q 4.0为“1”。若两个信号的扫描结果相同(均为“1”或“0”),则Q 4.0为“0”。与O和ON比较,X和XN排除了两个信号扫描结果为“1”时,使输出为“1”的可能。,图4.7“异或”逻辑梯形图,4.2.2 位操作指令 1.输出指令 逻辑串输出指令又称为赋值操作指令,该操作把状态字中RLO的值赋给指定的操作数(位地址)。若RLO为“1”,则操作数被置位,否则操作数被复位。表4.5列出了操作数的数据类型和所在的存储区。逻辑串输出指令通过把首次检测位(FC位)置0,来结束一个逻辑串。当FC位为0时,表明程序中的下一条指令是一个新逻辑串的第一条指令,CPU对其进行首次扫描操作。这一点在梯形图中显示得很清楚。,表4.5 输出指令,LAD输出指令像继电器逻辑图中的线圈一样工作。如果电流能够流经电路到达线圈(即RLO为1)的话,则继电器线圈通电,其常开触点闭合,否则线圈不通电,常开触点断开。在LAD中,只能将输出指令放在逻辑符号串的最右端,但其前面必须有链路,不能将输出指令单独放在一个空网络中。一个RLO可被用来驱动几个输出元件。在LAD中,输出线圈是上下依次排列的。在STL中,与输出信号有关的指令被一个接一个地连续编程,这些输出具有相同的优先级。图4.8是多重输出梯形图,与之对应的语句表如下:,A I0.0A I0.1ON I0.2 Q4.0 A I0.3 Q4.1,图4.8是多重输出梯形图,中间输出指令在存储逻辑中,用于存储RLO的中间值,该值是中间输出指令前的位前的逻辑操作结果。在与其它触点串联的情况下,中间输出与一般触点的功能一样。中间输出指令不能用于结束一个逻辑串,因此,中间输出指令不能放在逻辑串的结尾或分支的结尾处,图4.9是中间输出梯形图。从图4.9中可以看出,中间输出指令能够在位操作逻辑串中驱动等效继电器,并影响继电器的触点状态。这使得梯形图可以多级输出,从而提高了编程效率。,图4.9 中间输出,2.置位复位指令 置位复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。若RLO的值为1,被寻址位的信号状态被置1或清0;若RLO是0,则被寻址位的信号保持原状态不变。置位复位指令有关内容见表4.6。对于置位操作,一旦RLO为1,则被寻址信号(输出信号)状态置1,即使RLO又变为0,输出仍保持为1;对于复位操作,一旦RLO为1,则被寻址信号(输出信号)状态置 0,即使RLO又变为0,输出仍保持为0;这一特性又被称为静态的置位复位,相应地,赋值输出被称为动态赋值输出。置位复位指令也用于结束一个逻辑串,因此,在LAD中置位复位指令要放在逻辑串的最右端,而不能放在逻辑串中间。复位指令还可用于复位定时器和计数器。,表4.6 置位复位指令,(S),图4.10 置位复位指令(a)复位指令操作,3.RS触发器 RS触发器梯形图方块指令表示见表4.7。方块中标有一个置位输入(S)端,一个复位输入(R)端,输出端标为Q。触发器可以用在逻辑串最右端,结束一个逻辑串,也可用在 逻辑串中,影响右边的逻辑操作结果。,表4.7 RS触发器,如果置位输入为1,即有电加到S端,则触发器置位。此时,即使置位输入为0,触发器也保持置位不变。如果复位输入为1,即有电加到R端,则触发器复位。此时,即使复位输入为0,触发器也保持复位不变。RS触发器分为置位优先和复位优先型两种。置位优先型RS触发器的R端在S端之上,当两个输入端都为1时,下面的置位输入最终有效。既置位输入优先,触发器或被复位或保持复位不变。,复位优先型RS触发器的S端在R端之上,当两个输入端都为1时,下面的复位输入最终有效既复位输入优先,触发器或被置位或保持置位不变。图4.11给出了使用置位优先型RS触发器的梯形图例子,图中也给出了与梯形图对应的语句表程序。,A I0.0 R M0.0A I0.1S M0.0A M0.0=Q4.0,图4.11 置位优先型RS触发器,4.对RLO的直接操作指令 这一类指令直接对逻辑操作结果RLO进行操作,改变状态字中RLO位的状态。有关内容见表4.8。,表4.8 对RLO的直接操作指令,4.2.3 位测试指令 当信号状态变化时就产生跳变沿。当从0变到1时,产生一个上升沿(或正跳沿);若从1变到0,则产生一个下降沿(或负跳沿)。跳变沿检测的原理是:在每个扫描周期中把信号状态和它在前一个扫描周期的状态进行比较,若不同则表明有一个跳变沿。因此,前一个周期里的信号状态必须被存储,以便能和新的信号状态相比较。S7中有两类跳变沿检测指令,一种是对RLO的跳变沿检测的指令,另一种是对触点跳变沿直接检测的梯形图方块指令。具体内容见表4.9。,表4.9 跳变沿检测指令,图4.12是使用RLO正跳沿检测指令的例子。这个例子中,若CPU检测到输入I 1.0有一个正跳沿,将使得输出Q 4.0的线圈在一个扫描周期内通电。对输入I 1.0常开触点扫描的RLO值(在本例中,此RLO正好与输入I 1.0的信号状态相同)存放在存储位M 1.0中。,图4.12 RLO正跳沿检测,在扫描周期中,CPU对I 1.0信号状态扫描并形成RLO值,若该RLO值是1而存放在M 1.0中的上次RLO值是0,这说明FP指令检测到一个RLO的正跳沿,那么FP指令把RLO位置1。如果RLO在相邻的两个扫描周期中相同(全为1或0),那么FP语句把RLO位清0。同样,如果FN指令检测到一个RLO的负跳沿,那么FN指令把RLO位置1。如果RLO在相邻的两个扫描周期中相同(全为1或0),那么FN语句把RLO位清0。,需要注意的是,在编程时必须考虑到,FP和FN检测到的是在RLO中表现出的变化,而不是触点的状态变化(前面的图中是特例)。因为,一般情况下,RLO可能由一个逻辑串形成,并不单独与某触点的状态直接相关。若需要在逻辑串中单独检测某触点的跳变沿,可使用对触点跳变沿直接检测的梯形图方块指令。图4.13是使用触点负跳沿检测指令的例子。图中,由给出需要检测的触点编号(I 0.3),(M 0.0)用于存放该触点在前一个扫描周期的状态。,图4.13 触点负跳沿检测,执行触点正跳沿检测指令时,CPU将的当前触点状态与存在中的上次触点状态相比较,若当前为1上次为0,表明有正跳沿产生,则输出Q置1;其它情况下,输出Q被清0。对于触点负跳沿指令,若当前为0上次为1,则输出Q置1,其余情况Q被清0。由于不可能在相邻的两个扫描周期中连续检测到正跳沿(或负跳沿),因此,输出Q只可能在一个扫描周期中保持为1(单稳输出)。在梯形图中,触点跳变沿检测方块和RS触发器方块可被看做一个特殊常开触点。该常开触点的特性是:若方块的Q为1,则触点闭合;若Q为0,则触点断开。,4.2.4 位逻辑指令编程举例 1.传送带控制 图4.14表示一个能够电气启动的传送带。在传送带的起点有两个按钮开关:用于START的S1和用于STOP的S2。在传送带的尾部也有两个按钮开关:S3用于START,S4用于STOP。可以从任一端启动或停止传送带。另外,当传送带上的物件到达末端时,传感器S5使传送带停机。,图4.14 传送带示意图,表4.10 用于传送带系统符号编程的元素,图4.15 控制传送带的梯形图与相应的语句表,2.串并联组合表示法 当逻辑串是复杂组合时,CPU的扫描顺序是先“与”后“或”。图4.16(a)给出的梯形逻辑是触点先并后串的例子,与其对应的语句表为:A(O I0.0 O I0.2)A(O M10.0 O M0.3)A M10.1 Q4.0,图4.16(b)是先串后并的例子,与其对应的语句表如下:A(A I0.0 A M10.0 O A I0.2 A M0.3)A M10.1 Q4.0,图4.16 串并联组合逻辑梯形图(a)先并后串逻辑梯形图;(b)先串后并逻辑梯形图,3.风机监控程序 某设备有三台风机,当设备处于运行状态时,如果风机至少有两台以上转动,则指示灯常亮;如果仅有一台风机转动,则指示灯以0.5 Hz的频率闪烁;如果没有任何风机转动,则指示灯以2 Hz的频率闪烁。当设备不运行时,指示灯不亮。实现上述功能的梯形图程序见图4.17。,图4.17 风机监控程序,图中,输入位I0.0,I0.1,I0.2分别表示风机1,2,3。当风机转动时,信号状态为1。使用CPU中的时钟存储器功能,并将其存储在字节MB 9中,则存储位M9.3为2 Hz频率信号,M9.7为0.5 Hz频率信号。存储位M10.0为1时用于表示至少有两台风机转动,M10.1为1表示没有风机转动。设备运行状态用输出位Q4.0表示,为1时设备运行。风机转动状态指示灯由Q4.1控制。,下面给出实现风机状态检测的语句表程序,从中可看出中间输出指令的用法:A(A(A I0.0 A I0.1 O A I0.0 A I0.2 O A I0.1 A I0.2)M10.0,A M10.0 O(AN I0.0 AN I0.1 AN I0.2 M10.1 A M10.1 A M9.3)O AN M10.0 AN M10.1 A M9.7)A Q4.0 Q4.1,4.3 定时器与计数器指令,4.3.1 定时器指令 定时器是PLC中的重要部件,它用于实现或监控时间序列。定时器是一种由位和字组成的复合单元,定时器的触点由位表示,其定时时间值存储在字存储器中。S7-300/400提供了多种形式的定时器:脉冲定时器(SP)、扩展定时器(SE)、接通延时定时器(SD)、带保持的接通延时定时器(SS)和断电延时定时器(SF)。,1.定时器的组成 在CPU的存储器中留出了定时器区域,该区域用于存储定时器的定时时间值。每个定时器为2 B,称为定时字。在S7-300中,定时器区为512 B,因此最多允许使用256个定时器。因为定时器区域的编址(以T打头后跟定时器号,只能按字访问)以及存储格式的特殊性,所以只有通过使用有关的定时器指令才能对该区域进行访问。S7中定时时间由时基和定时值两部分组成,定时时间等于时基与定时值的乘积。当定时器运行时,定时值不断减1,直至减到0,减到0表示定时时间到。定时时间到后会引起定时器触点的动作。,定时器的第0位到第11位存放二进制格式的定时值,第12、13位存放二进制格式的时基(如图4.18所示)。这12位二进制代码表示的数值范围是04096,实际使用范围是0999。时基和时间值可以任意组合,以得到不同的定时分辨率和定时时间。表4.11中给出了可能的组合情况。从表4.11中可以看出,时基小,则定时分辨率高,但定时时间范围窄;时基大,则定时分辨率低,但定时时间范围宽。,图4.18 累加器1低字的内容(定时值127,时基l s),表4.11 时基与定时范围,当定时器启动时,累加器1低字的内容被当作定时时间装入定时字中。这一过程是由 操作系统控制自动完成的,用户只需给累加器1装入不同的数值,即可设置需要的定时时 间。为累加器1装入数值的指令很多,但在累加器1低字中的数据应符合图4.18所示的格式。为避免格式错误,推荐采用下述直观的句法:L W#16#wxyz其中,w,x,y,z均为十进制数。w为时基,取值为0,1,2或3,分别表示时基为10 ms,l00 ms,1 s或10 s;xyz为定时值,取值范围为1999。,也可直接使用S5中的时间表示法装入定时数值,例如:L S5T#aH_bbM_ccS_dddMS其中,a:小时,bb:分钟,cc:秒,ddd:毫秒,范围:1MS到2H_46M_308;此时,时基是自动选择的,原则是根据定时时间选择能满足定时范围要求的最小时基。,2.定时器的启动与运行 PLC中的定时器相当于时间继电器。在使用时间继电器时,要为其设置定时时间,当时间继电器的线圈通电后,时间继电器被启动。若定时时间到,继电器的触点动作。当时间继电器的线圈断电时,也将引起其触点的动作。该触点可以在控制线路中控制其它继电器。,S7中的定时器与时间继电器的工作特点相似,对定时器同样要设置定时时间,也要启动定时器(使定时器线圈通电)。除此之外,定时器还增加了一些功能,如随时复位定时器、随时重置定时时间(定时器再启动)、查看当前剩余定时时间等。S7中的定时器不仅功能强,而且类型多。图4.19给出了为定时作业如何正确选择定时器的示意图。以下将以LAD方块图为主详细介绍定时器的运行原理及使用方法。,图4.19 五种类型定时器总览,3.定时器梯形图方块指令1)脉冲定时器(见表4.12),表4.12 脉 冲 定 时 器,如果RLO有正跳沿,则脉冲定时器启动指令,以给出的时间值启动指定的定时器。只要RLO为1,定时器就保持运行。在定时器运行时,其常开触点闭合,即对该定时器按1扫描的结果为1。当定时时间到,常开触点断开,对1信号的扫描结果为0。若在给定的时间(即定时时间)过去之前RLO由1变为0,则定时器被复位至启动前的状态,在这种情况下定时器的常开触点断开。,图4.20是使用脉冲定时器的梯形图编程例子,图4.21是脉冲定时器的时序。以下是与梯形图对应的语句表:A I0.0 L S5T#2S SP T5/以脉冲定时器方式启动T5 A I0.1 R T5/复位定时器T5 A T5 Q4.0/使用定时器T5的触点,图4.20 脉冲定时器指令,图4.21 脉冲定时器时序,2)扩展脉冲定时器(见表4.13),表4.13 扩展脉冲定时器,如果RLO有正跳沿,则扩展(输入)脉冲定时器启动指令,以给出的时间值启动指定的定时器。即使RLO变为0,定时器仍保持运行,直到定时时间到后才停止(定时器被复位)。在定时器运行时,其常开触点闭合,即对该定时器按1扫描的结果为1。当定时时间到后,则常开触点断开,对1信号的扫描结果为0。,图4.22是使用扩展脉冲定时器的梯形图编程例子,图4.23是扩展脉冲定时器的时序。以下是与梯形图对应的语句表:A I0.0 L S5T#2S SE T5/以扩展脉冲定时器方式启动T5 A I0.1 R T5/复位定时器T5 A T5 Q4.0/使用定时器T5的触点,图4.22 扩展脉冲定时器指令,图4.23 扩展脉冲定时器时序,3)接通延时定时器(见表4.14),表4.14 接通延时定时器,如果RLO有正跳沿,则接通延时定时器启动指令,以给出的时间值启动指定的定时器。当定时时间到后,则常开触点闭合并保持(对1信号的扫描结果为1)。直到RLO变为0,定时器才被复位至启动前的状态,此时定时器的常开触点断开。若在给定的时间(即定时时间)过去之前RLO由1变为0,则定时器也被复位。,图4.24是使用接通延时定时器的梯形图编程例子,图4.25是接通延时定时器的时序。以下是与梯形图对应的语句表:A I0.0 L S5T#2S SD T5/以接通延时定时器方式启动T5 A I0.1 R T5/复位定时器T5 A T5 Q4.0/使用定时器T5的触点,图4.24 接通延时定时器指令,图4.25 接通延时定时器时序,4)保持型接通延时定时器(见表4.15),表4.15 保持型接通延时定时器,如果RLO有正跳沿,则保持型接通延时定时器启动指令,以给出的时间值启动指定的定时器,即使RLO变为0,定时器仍保持运行。此时,定时器常开触点断开(即对该定时器按1扫描的结果为0),当定时时间到后,常开触点闭合并保持。若RLO再有一个正跳沿,定时器重新启动,只有用复位指令才能复位该定时器。图4.26是使用保持型接通延时定时器的梯形图编程例子,图4.27是保持型接通延时定时器的时序。,图4.26 保持型接通延时定时器指令,图4.27 保持型接通延时定时器时序,以下是与梯形图对应的语句表:A I0.0L S5T#2SSS T5/以保持型接通延时定时器方式启动T5A I0.1R T5/复位定时器T5A T5 Q4.0/使用定时器T5的触点,5)关断延时定时器(见表4.16),表4.16 关断延时定时器,如果RLO有负跳沿,则关断延时定时器启动指令,以给出的时间值启动指定的定时 器。当RLO为1或在定时器运行时,其常开触点闭合,即对该定时器按1扫描的结果为1。当定时时间到后,则常开触点断开。若在给定的时间(即定时时间)过去之前RLO由0变为1,则定时器被复位至启动前的状态。一直到RLO从1变为0之前,定时器不再启动(使用FR指令除外)。,图4.28是使用关断延时定时器的梯形图编程例子,图4.29是关断延时定时器的时序。以下是与梯形图对应的语句表:A I0.0 L S5T#2S SF T5/以关断延时定时器方式启动T5 A I0.1 R T5/复位定时器T5 A T5 Q4.0/使用定时器T5的触点,图4.28 关断延时定时器指令,图4.29 关断延时定时器时序,4.定时器线圈指令,表4.17 定时器线圈指令,图4.30以扩展脉冲定时器为例说明定时器线圈指令的用法。与梯形图功能对应的语句表程序如下:A I0.0 L S5T#2S SE T5/以扩展脉冲定时器方式启动T5 A I0.1 R T5/复位定时器T5 A T5 Q4.0/使用定时器T5的触点,图4.30 扩展脉冲定时器线圈指令,4.3.2 计数器指令 S7中的计数器用于对RLO正跳沿计数。计数器是一种复合单元,它由表示当前计数值的字和表示其状态的位组成。S7中有三种计数器,它们分别是加计数器、减计数器和可逆计数器。1.计数器组成 在CPU中保留一块存储区作为计数器计数值存储区,每个计数器占用两个字节,称为计数器字。计数器字中的第011位表示计数值(二进制格式),计数范围是0999。当计数值达到上限999时,累加停止。计数值到达下限0时,将不再减小。对计数器进行置数(设置初始值)操作时,累加器1低字中的内容被装入计数器字。计数器的计数

    注意事项

    本文(第十章 西门子S7300系列基本指令系统.ppt)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开