
S7-300 PLC基础与应用-第3章 基本指令.ppt
49页指令基本,触点与线圈,基本逻辑指令,边沿检测指令,技能训练,1,2,3,4,5,基本逻辑指令的应用,3,指令的基本知识,寻址方式与状态字,3.1,1,2,指令基础,1.指令的组成 指令是程序的最小独立单位,用户程序是由若干条顺序排列的指令构成指令一般由操作码和操作数组成,其中的操作码代表指令所要完成的具体操作(功能),操作数则是该指令操作或运算的对象 例如,对于STL指令“A I0.0”,其中“A”是操作码,表示该指令的功能是逻辑“与”操作;“I0.0”是操作数,也就是数字量输入模块的第0字节的第0位;该指令的功能就是对I0.0进行“与”操作,指令的基本知识,2.变量 指令操作数既可以是变量,也可以是常量或常数如果指令的操作数是变量,则该变量既可以用绝对地址表示,也可以用符号地址表示 绝对地址是数字地址 数字量信号地址用位、字节、字和双字表示; 模拟量信号地址用通道表示,一个通道为16位,可以用字节、字表示,指令的基本知识,1位(Bit) 通过一个变量标识符、一个字节数字、一个间隔符(小数点)和一个位数字引用一个绝对地址位数字范围是07例如: I1.0表示数字量输入区域的第1字节的第0位; Q16.4表示数字量输出区域的第16字节的第4位。
8位 (字节,BYTE)通过一个地址标识符B和一个字节数字编号来引用一个绝对地址,例如: IB2表示数字量输入区域的第2个字节; QB18表示数字量输出区域的第18个字节,指令的基本知识变量,16位(字,WORD) 通过一个地址标识符W和一个字数字编号来引用一个绝对地址一个字由2个字节组成,其中的高地址字节位于字的低位、低地址字节位于字的高位,为了避免两个字变量出现字节重叠,一般规定字的地址用偶数表示例如: IW4表示数字量输入区域地址是4的字,它包含IB4(高字节)和IB5(低字节) QW20表示数字量输出区域地址是20的字,它包含QB20(高字节)和QB21(低字节,指令的基本知识变量,32位 双字(DWORD) 通过一个地址标识符D和一个双字数字编号来引用一个绝对地址一个双字由4个字节组成,其中的最高地址字节位于双字的最低位、最低地址字节位于双字的最高位,为了避免两个双字变量出现字节重叠,一般规定双字的地址用4的倍数表示例如: ID8表示数字量输入地址是8的双字,它包含IB8(高字节)、IB9(次高字节)、IB10(次低字节)和IB11(低字节); QD24表示数字量输出地址是24的双字,它包含QB24(高字节)、QB25(次高字节)、QB26(次低字节)和QB27(低字节,指令的基本知识变量,字节、字及双字的关系,3.常数及其数据类型 常数是预先给定的数据,在STEP 7中,每个常数都有一个前缀以表示其数据类型。
数据类型决定数据的属性,在STEP 7中,数据类型分为:基本数据类型、复杂数据类型和参数类型 基本数据类型定义不超过32位的数据,可以装入S7处理器的累加器中,可利用STEP7基本指令处理基本数据类型共有12种,指令的基本知识,指令的基本知识,复杂数据类型定义超过32位或由其它数据类型组成的数据复杂数据类型要预定义,其变量只能在全局数据块中声明,可以作为参数或逻辑块的局部变量 STEP 7的指令不能一次处理一个复杂的数据类型(大于32位),但是一次可以处理一个元素 参数类型是一种用于逻辑块(FB、FC)之间传递参数的数据类型,主要有定时器(TIMER)、计数器(COUNTER)、块(BLOCK)、指针(POINTER)和ANY等类型,指令的基本知识,4.S7-300/400系列PLC用户存储区的分类及功能(1/3,指令的基本知识,4.S7-300/400系列PLC用户存储区的分类及功能(2/3,指令的基本知识,4.S7-300/400系列PLC用户存储区的分类及功能(3/3,指令的基本知识,1.操作数的寻址方式,所谓寻址方式就是指令执行时获取操作数的方式,可以直接或间接方式给出操作数。
STEP7系统支持4种寻址方式: 立即寻址 存储器直接寻址 存储器间接寻址 寄存器间接寻址,寻址方式和状态字,1)立即寻址方式,立即寻址是对常数或常量的寻址方式,其特点是操作数直接表示在指令中,或以惟一形式隐含在指令中 例如: L 66 /把常数66装入累加器1中 AW W#16#168 /将十六进制数168与累加器1的低字 /进行“与”运算 SET /默认操作数为RLO,该指令实现对 /RLO置1操作,寻址方式和状态字,2)存储器直接寻址方式,存储器直接寻址,简称直接寻址该寻址方式在指令中直接给出操作数的存储单元地址存储单元地址可用符号地址(如SB1、KM等)或绝对地址(如I0.0、Q4.1等) 例如: A I0.0 /对输入位I0.0执行逻辑“与”运算 = Q4.1 /将逻辑运算结果送给输出继电器Q4.1 L MW2 /将存储字MW2的内容装入累加器1 T DBW4 /将累加器1低字中的内容传送给数据字DBW4,寻址方式和状态字,3)存储器间接寻址方式(1/4,存储器间接寻址,简称间接寻址该寻址方式在指令中以存储器的形式给出操作数所在存储器单元的地址,也就是说该存储器的内容是操作数所在存储器单元的地址。
该存储器一般称为地址指针,在指令中需写在方括号“”内 地址指针可以是字或双字,对于地址范围小于65535的存储器(如T、C、DB、FB、FC等)可以用字指针;对于其他存储器(如I、Q、M等)则要使用双字指针,寻址方式和状态字,3)存储器间接寻址方式(2/4,存储器间接寻址的双字指针的格式如下, 其中: 位02(xxx)为被寻址地址中位的编号(07) 位318为被寻址地址的字节的编号(065535,指令的基本知识,3)存储器间接寻址方式(3/4,例2-1】 存储器间接寻址的单字格式的指针寻址 L 2 /将数字2#0000_0000_0000_0010装 /入累加器1 T MW50 /将累加器1低字中的内容传给MW50 /作为指针值 OPN DB35 /打开共享数据块DB35 L DBWMW50 /将共享数据块DBW2的内容装入累 /加器1,寻址方式和状态字,3)存储器间接寻址方式(4/4,例2-2】 存储器间接寻址的双字格式的指针寻址 L P#8.7 /把指针值装载到累加器1 /P#8.7的指针值为: /2#0000_0000_0000_0000_0000_0000_0100_0111 T MD2/把指针值传送到MD2 A IMD2/查询I8.7的信号状态 = QMD2 /给输出位Q8.7赋值,寻址方式和状态字,4)寄存器间接寻址方式(1/3,寄存器间接寻址,简称寄存器寻址。
该寻址方式在指令中通过地址寄存器和偏移量间接获取操作数,其中的地址寄存器及偏移量必须写在方括号“ ”内在S7-300/400中有两个地址寄存器AR1和AR2,用地址寄存器的内容加上偏移量形成地址指针,并指向操作数所在的存储器单元 地址寄存器的地址指针有两种格式 : 区内寄存器间接寻址 区域间寄存器间接寻址,寻址方式和状态字,4)寄存器间接寻址方式(2/3,寻址方式和状态字,4)寄存器间接寻址方式(3/3,寻址方式和状态字,6.状态字,状态字用于表示CPU执行指令时所具有的状态信息一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位,在位逻辑指令或字逻辑指令中可访问并检测这些位 状态字的格式如下,寻址方式和状态字,1)首位检测位(FC,状态字的位0称为首位检测位若FC位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的第1条指令 CPU对逻辑串第1条指令的检测(称为首位检测)产生的结果直接保存在状态字的RLO位中,经过首次检测存放在RLO中的0或1被称为首位检测结果FC位在逻辑串的开始时总是0,在逻辑串指令执行过程中位为1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将清0,寻址方式和状态字,2)逻辑操作结果(RLO,状态字的位1称为逻辑操作结果RLO(Result of Logic Operation)。
该位存储逻辑指令或比较指令的结果 在逻辑串中,RLO位的状态能够表示有关信号流的信息,RLO的状态为1,表示有信号流(通);RLO的状态为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位,可用于指明在先前的一些指令执行中是否产生过错误。
只有JOS(OS=1时跳转)、块调用指令和块结束指令才能复位OS位 (7)条件码1(CC1)和条件码0(CC0) 状态字的位7和位6称为条件码1和条件码0这两位结合起来用于表示在累加器1中产生的算术运算或逻辑运算结果与0的大小关系,寻址方式和状态字,8)二进制结果位(BR,状态字的位8称为二进制结果位它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字操作结果是否正确(异常)将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断 在LAD的方块指令中,BR位与ENO有对应关系,用于表明方块指令是否被正确执行:如果执行出现了错误,BR位为0,ENO也为0;如果功能被正确执行,BR位为1,ENO也为1,寻址方式和状态字,指令的基本知识,寻址方式与状态字,3.2,1,2,触点与线圈,触点与线圈,1.常开触点,与继电器的常开触点相似,对应的元件被操作时,其常开触点闭合;否则,对应常开触点“复位”,即触点仍处于打开的状态,2.常闭触点,与继电器的常闭触点相似,对应的元件被操作时,其常闭触点断开;否则,对应常闭触点“复位”,即触点仍保持闭合的状态,触点与线圈,3.输出线圈(赋值指令,输出线圈与继电器控制电路中继电器的线圈一样,如果有电流(信号流)流过线圈(RLO=1),则元件被驱动,与其对应的常开触点闭合、常闭触点断开;如果没有电流流过线圈(RLO=0),则元件被复位,与其对应的常开触点断开、常闭触点闭合。
输出线圈等同于STL程序中的赋值指令(用等于号“=”表示,触点与线圈,4.中间输出,在梯形图设计时,如果一个逻辑串很长不便于编辑时,可以将逻辑串分成几个段,前一段的逻辑运算结果(RLO)可作为中间输出存储在位存储器M中,该存储位可以当作一个触点出现在其他逻辑串中 中间输出只能放在梯形图逻辑串的中间,而不能出现在最左端或最右端,触点与线圈,两个等效的程序示例,触点与线圈,逻辑“与”指令,逻辑“或”指令,逻辑“异或”指令,逻辑块的操作,信号流取反指令,3.3,1,2,3,4,5,基本逻辑指令,1.逻辑“与”指令,基本逻辑指令,2.逻辑“或”指令,基本逻辑指令,3.逻辑“异或”指令,基本逻辑指令,4.逻辑块操作,基本逻辑指令,5.信号流取反指令,基本逻辑指令,RLO的上升沿检测指令,RLO的下降沿检测指令,触点信号的上升沿检测指令,触点信号的下降沿检测指令,3.4,1,2,3,4,边沿检测指令,1.RLO的上升沿检测指令,边沿检测指令,2.RLO的下降沿检测指令,边沿检测指令。












