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

    西门子S7-300系列PLC基本指令系统.ppt

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

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

    西门子S7-300系列PLC基本指令系统.ppt

    第4章 S7-300系列PLC基本指令系统,4.1 指令及其结构4.2 位逻辑指令4.3 定时器与计数器指令4.4 数据处理功能指令4.5 数据运算指令4.6 控制指令 思考与练习题,4.1 指令及其结构,4.1.1 指令的组成 1.语句指令 一条指令由一个操作码和一个操作数组成,操作数由标识符和参数组成。操作码定义要执行的功能;操作数为执行该操作所需要的信息,例如: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。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进行“与”操作。,图4.2 存储器间接寻址的指针格式,位3至18(范围0至65535):被寻址字节的字节编号位0至2(范围0至7):被寻址位的位编号,4.寄存器间接寻址 在S7中有两个地址寄存器,它们是AR1和AR2。通过地址寄存器,可以对各存储区的存储器内容实现寄存器间接寻址。地址寄存器的内容加上偏移量形成地址指针,该指针指向数值所在的存储单元。地址寄存器存储的地址指针有两种格式:区内寄存器间接寻址区域间寄存器间接寻址。其长度均为双字。图4.3给出了这两种格式的细节及其差别,区域标识位的组合状态见表4.2。,图4.3 寄存器间接寻址的指针格式,31 24 23 16 15 8 7 0,位31=0表明是区域内寄存器间接寻址;=1表明是区域间寄存器间接寻址。位24、25和26(r r r):区域标识(见表3.2)位3至18(bbbb bbbb bbbb bbbb):被寻址位的字节编号(范围0至65535)位0至2():被寻址的位编号(范围0至7),表4.2 地址指针区域标识位含义,4.1.4 状态字 状态字用于表示CPU执行指令时所具有的状态。一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位;你也能在位逻辑指令或字逻辑指令中访问并检测它们。图4.4显示了状态字的结构。,图4.4 状态字的结构,15 9 8 7 6 5 4 3 2 1 0,(1)首次检测位(FC)状态字的位0称为首次检测位。若FC位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串第一条指令。(2)逻辑操作结果(RLO)逻辑操作结果RLO(Result of Logic Operation)。该位存储位逻辑指令或算术比较指令的结果。(3)状态位(STA)状态位不能用指令检测,它只是在程序测试中被CPU解释并使用。,(4)或位(OR)状态字的位3称为或位(OR)。在先逻辑“与”后逻辑“或”的逻辑串中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。其它指令将OR位清0。,(5)溢出位(OV)溢出位被置1,表明一个算术运算或浮点数比较指令执行时出现错误(错误:溢出、非法操作、不规范格式)。,(6)溢出状态保持位(OS)OV被置1时OS也被置1;OV被清0时OS仍保持。只有下面的指令才能复位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)它将字处理程序与位处理联系起来,用于表示字操作结果是否正确(异常)。将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 位逻辑指令,位逻辑指令主要包括:位逻辑运算指令、位操作指令和位测试指令,逻辑操作结果(RLO)用以赋值、置位、复位布尔操作数,也控制定时器和计数器的运行。,4.2.1 位逻辑运算指令 位逻辑运算指令是“与”(AND)、“或”(OR)、“异或”(XOR)指令及其组合。它对“0”或“1”这些布尔操作数扫描,经逻辑运算后将逻辑操作结果送入状态字的RLO位。,1.“与”和“与非”(A,AN)指令 逻辑“与”在梯形图里是用串联的触点回路表示的,如果串联回路里的所有触点皆闭合,该回路就通“电”了。在图4.5的回路所示:,图4.5“与”逻辑梯形图,上述梯形逻辑图,可用语句表指令完全表示,对应的语句表为:,A I0.0 A Q 4.1AN M10.1 Q4.0,(),I0.0 Q4.1 M10.1 Q4.0,2.“或”和“或非”(O,ON)指令 逻辑“或”在梯形图里是用并联的触点回路表示的,被扫描的操作数标在触点上方。在图4.6中,只要有一个触点闭合,输出4.1的信号状态就为“l”。,I1.1,M2.0,Q4.0,图4.6“或”逻辑梯形图及语句表,O I1.1 ON M2.0 O Q4.0 Q4.1,(),Q4.1,3.“异或”和“异或非”(X,XN)指令 图4.7是“异或”逻辑梯形图,下面是与梯形图对应的语句表。在的语句表中,使用了“异或”和“异或非”指令,分别用助记符“X”和“XN”来标识。它类似“或”和“或非”指令,用于扫描并联回路能否“通电”。,X I 0.0 X I 0.1 Q 4.0,图4.7“异或”逻辑梯形图,4.2.2 位操作指令 1.输出指令 逻辑串输出指令又称为赋值操作指令,该操作把状态字中RLO的值赋给指定的操作数(位地址)。表4.5列出了操作数的数据类型和所在的存储区。,表4.5 输出指令,A I0.0A I0.1ON I0.2 Q4.0 A I0.3 Q4.1,图4.8 多重输出梯形图,一个RLO可被用来驱动几个输出元件。在LAD中,输出线圈是上下依次排列的。在STL中,与输出信号有关的指令被一个接一个地连续编程,这些输出具有相同的优先级。图4.8是多重输出梯形图,与之对应的语句表如下:,2.置位复位指令 置位复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。若RLO的值为1,被寻址位的信号状态被置1或清0;若RLO是0,则被寻址位的信号保持原状态不变。置位复位指令有关内容见表4.6。,表4.6 置位复位指令,图4.10 置位复位指令(a)复位指令操作(b)置位指令操作,3.RS触发器 RS触发器梯形图方块指令表示见表4.7。方块中标有一个置位输入(S)端,一个复位输入(R)端,输出端标为Q。触发器可以用在逻辑串最右端,结束一个逻辑串,也可用在 逻辑串中,影响右边的逻辑操作结果。,表4.7 RS触发器,RS触发器分为置位优先和复位优先型两种,置位优先型RS触发器的R端在S端之上,当两个输入端都为1时,下面的置位输入最终有效。既置位输入优先,触发器或被复位或保持复位不变,如图4.11。,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.12是使用RLO正跳沿检测指令的例子。这个例子中,若CPU检测到输入I 1.0有一个正跳沿,将使得输出Q 4.0的线圈在一个扫描周期内通电。对输入I 1.0常开触点扫描的RLO值存放在存储位M 1.0中。,表4.9 跳变沿检测指令,图4.12 RLO正跳沿检测,图4.13 触点负跳沿检测,图4.13是使用触点负跳沿检测指令的例子。图中,由给出需要检测的触点编号(I 0.3),(M 0.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 串并联组合逻辑梯形图,图4.16(b)是先串后并的例子,与其对应的语句表如下:A(A I0.0 A M10.0 O A I0.2 A M0.3)A M10.1 Q4.0,3.风机监控程序 某设备有三台风机,当设备处于运行状态时,如果风机至少有两台以上转动,则指示灯常亮;如果仅有一台风机转动,则指示灯以0.5 Hz的频率闪烁;如果没有任何风机转动,则指示灯以2 Hz的频率闪烁。当设备不运行时,指示灯不亮。实现上述功能的梯形图程序见图4.17。,图4.17 风机监控程序,注:输入位I0.0,I0.1,I0.2分别为风机1,2,3的反馈输入端。,M9.3 为2 Hz频率CPU中的时钟信号;M9.7为0.5 Hz频率信号。,下面给出实现风机状态检测的语句表程序,从中可看出中间输出指令的用法: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中,最多允许使用256个定时器。S7中定时时间由时基和定时值两部分组成,定时时间等于时基与定时值的乘积。采用减计时。定时时间到后会引起定时器触点的动作。定时器的第0位到第11位存放二进制格式的定时值,第12、13位存放二进制格式的时基(如图4.18所示)。表4.11给出了可能出现的组合情况。,图4.18 累加器1低字的内容(定时值127,时基l s),表4.11 时基与定时范围,设置定时时间,用户需给累加器1装入需要的数值,避免格式错误,推荐采用下述直观的句法:L W#16#wxyz其中,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:毫秒,时基是自动选择的,原则是能满足定时范围要求的最小时基。,2.定时器的启动与运行,S7中的定时器与时间继电器的工作特点相似,对定时器同样要设置定时时间,也要启动定时器(使定时器线圈通电)。除此之外,定时器还增加了一些功能,如随时复位定时器、随时重置定时时间(定时器再启动)、查看当前剩余定时时间等。S7中的定时器不仅功能强,而且类型多。图4.19给出了为定时作业如何正确选择定时器的示意图。以下将以LAD方块图为主详细介绍定时器的运行原理及使用方法。,图4.19 五种类型定时器总览,图4.20 脉冲定时器指令,3.定时器梯形图方块指令1)脉冲定时器,A I0.0 L S5T#2S SP T5 A I0.1 R T5 A T5 Q4.0,图4.21 脉冲定时器时序,图4.22接通延时定时器指令,A I0.0 L S5T#2S SD T5 A I0.1 R T5 A T5 Q4.0,3)延时接通定时器,图4.23 延时接通定时器时序,4.定时器线圈指令,表4.12 定时器线圈指令,图4.24 扩展脉冲定时器线圈指令,A I0.0 L S5T#2S SE T5 A I0.1 R T5 A T5 Q4.0,4.3.2 计数器指令*S7中的计数器用于:对RLO正跳沿计数。*计数器是由表示当前计数值的字及状态的位组成。*S7中有三种计数器,加计数器(S_CU)减计数器(S_CD)可逆计数器(S_CUD),图4.25 累加器1低字的内容计数值127,计数器组成 在CPU中保留一块存储区作为计数器计数值存储区,每个计数器占用两个字节,计数器字中的第011位表示计数值(二进制格式),计数范围是0999。,2.计数器梯形图方块指令,表4.13 计数器梯形图方块指令,图4.26 可逆计数器梯形图方块应用,A I0.0CU C10 A I0.1 CD C10 A I0.2L MW10S C10A I0.3R C10 A C10=Q4.0,3.计数器线圈指令,表4.14 计数器线圈指令,4.3.3 应用举例 1.脉冲发生器 用定时器构成一个脉冲发生器,使其产生如图4.27所示的脉冲时序,脉冲信号的周期为3 s,脉冲宽度为1 s,图4.35为梯形图及语句表程序。,图4.27 脉冲发生器时序,网络1 A I0.0 AN T1 L S5T#2S SD T2 网络2 A T2 L SST#1S SD T1 A T2 Q4.0,图4.28 脉冲发生器梯形图,2.频率监测器 频率监测器用于监测脉冲信号的频率,若其低于下限,则指示灯亮,“确认”按键能使指示灯复位。为此,使用了一个扩展脉冲定时器,即每当频率信号有一个上升沿就启动一次定时器。如果超过了定时时间没有启动定时器,则表明两个脉冲之间的时间间隔太长,即频率太低了。图4.29为频率监测器时序。,图4.29 频率监测器时序,图4.30 频率监测梯形图程序,在频率监测程序中,输入I0.0用于关闭监测器,I0.1用于确认频率低;输出Q4.0用以控制指示灯。定时器T1的定时时间为2 s,即设置脉冲信号M10.0的频率监测下限为0.5 Hz。,A M10.0 AN I0.0 L S5T#2S SE T1 AN T1 S Q4.0 O I0.1 O I0.0 R Q4.0,4.4 数据处理功能指令,4.4.1 装入和传送指令 装入(L)和传送(T)指令可以在存储区之间或存储区与过程输入、输出之间交换数据。CPU执行这些指令不受逻辑操作结果RLO的影响。L指令将源操作数装入累加器1中,而累加器原有的数据移入累加器2中,累加器2中原有的内容被覆盖。T指令将累加器1中的内容写入目的存储区中,累加器的内容保持不变。,对累加器1的装入和传送指令L 5/将立即数5装入累加器1中L MW 10/将MW10中的值装入累加器1中L IBDID 8/将由数据双字DID8指出的输入字节装入累加器1中T MW 20/将累加器1中的内容传送给存储字MW20 T MWAR1,P#10.0/将累加器1中的内容传送给由地址寄存器1加偏移/量确定的存储字中,2.读取或传送状态字 L STW/将状态字中08位装入累加器1中,累 加器93l位被清0 T STW/将累加器1中的内容传送到状态字中,3.装入时间值或计数值L T1/将定时器T1中二进制格式的时间值直接装入累加器1的低字中 LC T1/将定时器T1的时间值和时基以BCD码装入累加器1的低字中L C1/将计数器C1中二进制格式的计数值直接装入累加器1的低字中LC C1/将计数器C l中的计数值以BCD码格式装入累加器1的低字中,4.地址寄存器装入和传送 对于地址寄存器,可以不经过累加器l而直接将操作数装入或传送,或将两个地址寄 存器的内容直接交换。下面的例子说明了指令的用法:LAR1 P#I 0.0/将输入位I0.0的地址指针装入AR1 LAR2 P#0.0/将二进制数2#0000 0000 0000 0000 0000 0000 0000 0000装入AR2 LAR1 P#Start/将符号名为Start的存储器的地址指针装入AR1 LAR1 AR2/将AR2的内容装入AR1 LAR1 DBD 20/将数据双字DBD 20的内容装入AR1 TAR1 AR2/将ARl的内容传送至AR2 TAR2/将AR2的内容传送至累加器1 TAR1 MD 20/将ARl的内容传送至存储器双字MD 20 CAR/交换AR1和AR2的内容,5.梯形图方块传送指令,表4.15 梯形图方块传送指令,图4.31 使用MOVE方块指令,A I0.0 JNB _0001 L MW10 T DBW12 SET/使RLO为1 SAVE/使BR为1 CLR_0001:A BR Q4.0,4.4.2 转换指令 转换指令首先将源数据按照规定的格式读入累加器,然后在累加器中对数据进行类型转换,最后再将转换的结果传送到目的地址。能够实现的转换操作有:*BCD码和整数及长整数间的转换(BTI,ITB,ITD,BTD,DTB,DTR)*实数和长整数间的转换(RND,TRUNC,RND+,RND-)*数的取反、取负等(INVI,INVD,NEGI,NEGD,NEGR),1.BCD和整数间的转换,表4.16 BCD和整数间的转换,表4.16 BCD和整数间的转换,2.实数和长整数间的转换 实数和长整数间的转换见表4.17。因为实数的数值范围远大于32位整数,所以有的实数不能成功地转换为32位整数。如果被转换的实数格式非法或超出了32位整数的表示范围,则得不到有效结果,而且状态字中的OV和OS被置1。,表4.17 实数和长整数间的转换,3.数的取反、取负,表4.18 数的取反、取负,4.4.3 比较指令 1.比较指令,表4.19 比 较 指 令,表4.19 比 较 指 令,表4.19 比 较 指 令,图4.32 整数比较,A I0.0 A I0.1 A(L MW0 L MW2=I)S Q4.0,2.比较指令应用实例 图4.33示出包括两台传送带的系统,在两台传送带之间有一个仓库区。传送带1将包裹运送至临时仓库区。传送带1靠近仓库区一端安装的光电传感器确定已有多少包裹运送至仓库区。传送带2将临时库区中的包裹运送至装货场,在这里货物由卡车运送至顾客。传送带2靠近库区一端安装的光电传感器确定已有多少包裹从库区运送至装货场。含5个指示灯的显示盘表示临时仓库区的占用程度。图4.34给出了启动显示盘上指示灯的梯形逻辑程序。,图4.33 装有计数器和比较器的仓库区,图4.34 启动显示盘上指示灯的梯形逻辑,图4.34 启动显示盘上指示灯的梯形逻辑,与图4.34对应的语句表程序如下:A I12.0CU C1A I12.1CD C1AN C1=Q12.0A C1=Q12.1L+50L C1,=I=Q15.3L C1L+100=I=Q15.4,4.4.4 移位和循环移位指令 移位指令将输入IN中的内容向左或向右逐位移动。移动次数由输入值N提供的数值确定。移位后空出的位填以0或符号位(0代表正,1代表负),被移动的最后一位保存在状态字中的CCl里,CC0和OV被复位为0。可使用条件跳转指令对CCl进行判断。循环移位指令与一般移位指令的差别是:循环移位指令的空位填以从IN中移出的位。,1无符号数移位指令,表4.20 无符号数移位指令,图4.35 输入IN左移5位,2.有符号数移位指令,表4.21 有符号数移位指令,图4.36 输入IN带符号右移4位,3.循环移位指令,表4.22 循环移位指令,图4.37 输入IN循环左移3位,图4.38 输入IN循环右移3位,4.4.5 累加器操作和地址寄存器指令 1.累加器操作指令,表4.23 累加器操作指令,图4.39 CAW、CAD指令执行时累加器1的变化,下面的例子说明了在有条件触发的程序中INC指令是如何工作的。本例以存储字节MB10作为循环次数计数暂存器,用INC指令修正循环次数,循环体中的程序连续执行5次。LOOP:L MB10/循环体开始,装载存储字节至累加器1 INC 1/循环计数器加1 T MB10/保存循环次数 L B#16#5 I JC LOOP/如果循环次数小于等于5次,则继续循环 L 1/循环体外的操作,为下次循环做准备 T MB10,2地址寄存器指令,表4.24 地址寄存器指令,在使用地址寄存器加指令时,应保证累加器l或指针常数的正确格式。下面的例子说 明了把累加器1的内容加至地址寄存器指令的用法。在加之前应先为累加器1装入一个指针常数。L P#250.7/装载指针常数(250.7)至累加器1+ARl/把250.7加至地址寄存器1+AR2/把250.7加至地址寄存器2,3.数据块指令,表4.25 数 据 块 指 令,使用以上指令必须先打开一个数据块,才能使用其他的数据块指令。下面的例子说明如何使用共享数据块装入指令。当数据块的长度大于50 B时,程序跳转到ERR标号处。ERR标号调用功能块FC 10做适当的处理。OPEN DB40/打开共享数据块DB 40 L DBLG/将共享数据块的长度装入累加器1 L+50/将整数50装入累加器1,累加器1原内容移入累加器2 I/比较 JC ERR/如果数据块长度大于50,则跳转至ERR标号处 A I0.0 BEU/无条件结束当前块ERR:CALL FC10/对于块长度大于50的情况,调用FC10做相应的处理,4.显示和空操作指令,表4.26 显示和空操作指令,4.5 数据运算指令,4.5.1 算术运算指令 在STEP 7中可以对整数、长整数和实数进行加、减、乘、除算术运算。算术运算指令在累加器l和2中进行,累加器2中的值作为被减数或被除数。算术运算的结果保存在累加器l中,累加器1中原有的值被运算结果覆盖,累加器2中的值保持不变。算术运算指令对状态字的某些位将产生影响,这些位是CCl和CC0,OV,OS。可以用位操作指令或条件跳转指令对状态字中的标志位进行判断操作。,1.整数算术运算,表4.27 整数算术运算,图4.40 使用整数加法方块指令,下面是与图4.40所示梯形图完全对应的语句表程序:A(A I0.0 JNB _0001 L MW0 L MW2+I T MW10 AN OV/若OV为1,则RLO为0,否则RLO为1 SAVE/使BRRLO CLR _0001:A BR)NOT S Q4.0,2.实数算术运算,表4.28 实数算术运算,4.5.2 字逻辑运算指令,表4.29 字逻辑运算指令,4.5.3 数据运算指令应用举例 1.运用算术运算指令完成方程式运算 运用算术运算指令完成下面的方程式运算,其梯形逻辑图如图4.41所示。MW4(IW 0DBW 3)15)/MW 0,图4.41 算术运算指令梯形逻辑,实现相同运算的语句表程序如下:L IW0/将输入字IW0的内容装入累加器1 L DBW3/将DBW3的内容装入累加器1,累加器1原内容装入累加器2+I/累加器2与累加器1相加,结果存在累加器1中 L+15/将常数15装入累加器1,累加器l原内容(和)装入累加器2*I/累加器2与累加器1相乘,结果为长整数放在累加器1中 L MW0/将存储双字MD0的内容装入累加器1,累加器1原内容装入累加器2/I/累加器2除累加器1,结果的整数部分存在累加器1中 T MW4/将运算结果传送至存储双字MD4完成相同运算功能的梯形图程序和语句表程序各有优缺点:梯形图程序直观易读;语句表程序简洁,而且使用中间结果存储器较少。,2.用位逻辑运算指令实现对信号的跳变沿检测 对输入位I12.0I13.7进行跳变沿检测,并将正跳沿的检测结果存入存储位M14.0M15.7的对应位中(1表示有跳变,0表示无跳变),负跳沿的结果存入M16.0M17.7中。为此,在检测正跳沿时,使用存储位M10.0M11.7存储对应输入位在前一个扫描周期时的状态;在检测负跳沿时用M12.0M13.7。相应的语句表程序如下:,网络10:正跳沿检测 L MW10/将输入位的上一个周期状态装入累加器1低字中 L IW12/将输入位的当前状态装入累加器1低字中,上一个周期状态被移入累加器 2 T MW10/保存当前状态,供下一个扫描周期使用 XOW/异或运算后,当前状态与以前不同的位在累加器1低字中被置为1 L IW12/重新装入当前状态,累加器 1原内容移入累加器2 AW/与运算后,当前状态为0的位被清0(负跳变被屏蔽)T MW14/将正跳变检测结果送入MW 14,网络11:负跳沿检测 L MW12/将输入位的上一个周期状态写入累加器1低字中 L IW12/将输入位的当前状态装入累加器l低字中,上一个周期状 态被移入累加器2 T MW12/保存当前状态,供下一个扫描周期使用 XOW/异或运算后,当前状态与以前不同的位在累加器1低字中 被置为1 L IW12/重新装入当前状态,累加器1原内容移入累加器2 INVI/将当前状态取反 AW/与运算后,当前状态为1的位(上条指令中已被取反)被清 0(正跳变被屏蔽)T MW16/将负跳变检测结果送入MW 16,4.6 控 制 指 令,4.6.1 逻辑控制指令 逻辑控制指令是指逻辑块内的跳转和循环指令,这些指令中止程序原有的线性逻辑流,跳到另一处执行程序。跳转或循环指令的操作数是地址标号,该地址标号指出程序要跳往何处,标号最多为4个字符,第一个字符必须是字母,其余字符可为字母或数字。,1.无条件跳转指令(JU)无条件跳转指令(JU)将无条件中断正常的程序逻辑流,使程序跳转到目标处继续执行,见图4.42。,图4.42 使用跳转指令控制程序流,2.条件跳转指令,表4.30 条件转移指令,表4.31 条件跳转指令与CC0、CC1的关系,图4.43 条件跳转指令控制程序流程,3.循环指令 使用循环指令(LOOP)可以多次重复执行特定的程序段,重复执行的次数存在累加器1中,即以累加器1为循环计数器。LOOP指令执行时,将累加器1低字中的值减1,如果不为0,则回到循环体开始处继续循环过程,否则执行LOOP指令后面的指令。循环体是指循环标号和LOOP指令间的程序段。由于循环次数不能是负数,因此程序应保证循环计数器中的数为正整数(数值范围:032 767)或字型数据(数值范围:W#16#0000W#16#FFFF)。图4.44是使用LOOP指令的例子。在本例中,考虑到循环体(程序段A)中可能用到累加器1,特设置了循环计数暂存器MB10。,图4.44 使用LOOP指令,4.梯形图逻辑控制指令 梯形逻辑控制指令只有两条,可用于无条件跳转或条件跳转控制。由于无条件跳转时 对应STL指令JU,因此不影响状态字;由于在梯形图中目的标号只能在梯形网络的开始处,因此条件跳转指令会影响到状态字。在图4.45和图4.46中给出了梯形跳转指令的用法及其对应的语句表。,图4.45 无条件跳转,图4.46 条件跳转,表4.32 状态位常开/常闭触点,表4.32 状态位常开/常闭触点,这些LAD单元可以用在梯形图程序中,影响逻辑运算结果RLO,最终形成以状态位为条件的跳转操作。图4.47给出了使用状态位的一个例子。,图4.47 使用状态位指令,相应的语句表程序如下:A(A I0.0 JNB _0001 L IW0 L IW2-I T MW10 AN OV/若OV为1,则RLO为0,否则RLO为1 SAVE/使BRRLO CLR _0001:A BR)A 0 S Q4.0,4.6.2 程序控制指令 程序控制指令是指功能块(FB、FC、SFB、SFC)调用指令和逻辑块(OB、FB、FC)结束指令。调用块或结束块可以是有条件的或是无条件的。STEP 7中的功能块实质上就是子程序。1.STL程序控制指令,表4.33 STL程序控制指令,2.梯形图程序控制指令,表4.34 梯形图程序控制指令,4.6.3 主控继电器指令 主控继电器(MCR)是一种美国梯形图逻辑主控开关,用来控制信号流(电流路径)的通断。如图4.48所示:,图4.48 主控继电器,MCRAAI2.0MCR(OI1.0OI1.1Q4.0AI1.2AI1.3Q4.1)MCRMCRD,表4.35 STEP 7中与主控继电器相关的指令,思考与练习题,S7-300系列PLC如何直接寻址?什么是间接寻址?如何使用?采用间接寻址方式设计一段程序,将10个字节的数据从100 MB开始的存储单元转移到从200 MB开始的存储单元。试设计一个3 h 40 min的长延时电路程序。编写一段程序计算sin 120cos 10的值。4.试设计一个照明灯的控制程序。当按下接在I0.0上的按钮后,接在Q4.0上的照明灯可发光30 s,如果在这段时间内又有人按下按钮,则时间间隔从头开始。这样可确保在最后一次按完按钮后,灯光可维持30 s照明。,5.试设计一个抢答器电路程序。出题人提出问题,3个答题人按动按钮,仅仅是最早按的人面前的信号灯亮。然后出题人按动复位按钮后,引出下一个问题。6.设计一个对锅炉鼓风机和引风机控制的梯形图程序。控制要求:(1)开机时首先启动引风机,10 s后自动启动鼓风机;(2)停止时立即关断鼓风机,20 s后自动关断引风机。,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开