第十章 西门子S7300系列基本指令系统.ppt
《第十章 西门子S7300系列基本指令系统.ppt》由会员分享,可在线阅读,更多相关《第十章 西门子S7300系列基本指令系统.ppt(241页珍藏版)》请在三一办公上搜索。
1、第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进行的操作。,有些语句指令不带操作数。它
2、们操作的对象是惟一的,故为简便起见,不再特别说明。例如:NOT是对逻辑操作结果(RLO)取反。,2.梯形逻辑指令 梯形逻辑指令用图形元素表示PLC要完成操作。在梯形逻辑指令中,其操作码是用图素表示的,该图素形象表明CPU做什么,其操作数的表示方法与语句指令相同。如:Q 4.0()该指令中:()可认为是操作码,表示一个二进制赋值操作。Q 4.0是操作数,表示赋值的对象。梯形逻辑指令也可不带操作数。如:|NOT|是对逻辑操作结果取反的操作。,4.1.2 操作数 1.标识符及表示参数 一般情况下,指令的操作数在PLC的存储器中,此时操作数由操作数标识符和参数组成。操作数标识符告诉处理器操作数放在存储
3、器的哪个区域及操作数位数;标识参数则进一步说明操作数在该存储区域内的具体位置。操作数标识符由主标识符和辅助标识符组成。主标识符表示操作数所在的存储区,辅助标识符进一步说明操作数的位数长度。若没有辅助标识符指操作数的位数是一位。,主标识符有:I(输入过程映像存储区),Q(输出过程映象存储区),M(位存储区),PI(外部输入),PQ(外部输入),T(定时器),C(计数器),DB(数据块),L(本地数据);辅助标识符有:X(位),B(字节),W(字2字节),D(双字4字节)。PLC物理存储器是以字节为单位的,所以存储单元规定为字节单元。位地址参数用一个点与字节地址分开。如:M 10.1 当操作数长度
4、是字或双字时,标识符后给出的标识参数是字或双字内的最低字节单元号。图4.1给出了字节、字、双字的相互关系及表示方法。当使用宽度为字或双字的地址时,应保证没有生成任何重叠的字节分配,以免造成数据读写错误。,图4.1 以字节单元为基准标记存储器存储单元,位存储区M,表4.1 存储区及其功能,表4.1 存储区及其功能,2.操作数的表示法 在STEP7中,操作数有两种表示方法:一是物理地址(绝对地址)表示法;二是符号地址表示法。为一个物理地址定义有意义的符号名,可使程序的可读性增强,降低编程时由于笔误而造成的程序错误。用物理地址表示操作数时,要明确指出操作数的所在存储区,该操作数的位数具体位置。例如:
5、Q 4.0是用物理地址表示的操作数,其中Q表示这是一个在输出过程映像区中的输出位,具体位置是第四个字节的第0位。STEP7 允许用符号地址表示操作数,如Q 4.0可用符号名MOTOR_ON替代表示,符号名必须先定义后使用,而且符号名必须是惟一的,不能重名。定义符号时,需要指明操作数所在的存储区,操作数的位数、具体位置及数据类型。,4.1.3 寻址方式 操作数是指令的操作或运算对象。所谓寻址方式是指令得到操作数的方式,可以直接给出或间接给出。可用作STEP7指令操作对象的有:常数;S7状态字中的状态位;S7的各种寄存器、数据块;功能块FB,FC和系统功能块SFB,SFC;S7的各存储区中的单元。
6、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
7、 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指出的输入位进行“与”逻辑
8、操作。如: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)
9、、计数器(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的
10、内容为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 0
11、000 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给出了这两种格式的细节及其差别。其中,第一种地址指针格式包括被寻址数值所在存储单元地址的字节编号和位编号,至于对哪个存储区寻址,则必须在指
12、令中明确直接给出。这种指针格式适用于在确定的存储区内寻址,即区内寄存器间接寻址。而第二种地址指针格式中还包含了数值所在存储区的说明位(存储区域标志位),这样,就可通过改变这些位,实现跨区寻址,这种指针格式用于区域间寄存器间接寻址。区域标识位的组合状态见表4.2。,图4.3 寄存器间接寻址的指针格式,表4.2 地址指针区域标识位含义,如果要用到寄存器指针格式访问一个字节、字或双字,则必须保证指针中位地址编号为0。下面的例子分别说明如何使用这两种指针格式实现间接寻址:L P#8.6/将2#0000 0000 0000 0000 0000 0000 0100 0110装入累加器1LAR1/将累加器1
13、的内容传送至地址寄存器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 MWAR
14、2,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.
15、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
16、0,(2)逻辑操作结果(RLO)状态字的位1称为逻辑操作结果RLO(Result of Logic Operation)。该位存储位逻辑指令或算术比较指令的结果。在逻辑串中,RLO位的状态能够表示有关信号流的信息。RLO的状态为1,表示有信号流(通);为0,表示无信号流(断)。可用RLO触发跳转指令。,(3)状态位(STA)状态字的位2称为状态位。状态位不能用指令检测,它只是在程序测试中被CPU解释并使用。如果一条指令是对存储区操作的位逻辑指令,则无论是对该位的读与写操作,STA总是与该位的值取得一致;对不访问存储区的位逻辑指令来说,STA没有意义,此时它总被置为1。(4)或位(OR)状态字的
17、位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时跳转
18、);块调用指令和块结束指令。,(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的
19、方块指令中,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)用以赋值
20、、置位、复位布尔操作数,也控制定时器和计数器的运行。,4.2.1 位逻辑运算指令 位逻辑运算指令是“与”(AND)、“或”(OR)、“异或”(XOR)指令及其组合。它对“0”或“1”这些布尔操作数扫描,经逻辑运算后将逻辑操作结果送入状态字的RLO位。,1.“与”和“与非”(A,AN)指令 逻辑“与”在梯形图里是用串联的触点回路表示的,被扫描的操作数则表示为触点符 号,操作数标在触点上方。如果触点是常开触点(动合触点),则对“1”扫描相应操作数。在PLC中规定:若操作数是“1”,则常开触点“动作”,即认为是“闭合”的;若操作数是“0”,则常开触点“不动作”,即触点仍然打开。如果触点是常闭触点(动
21、断触点),则对“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
22、Q4.0,图4.5“与”逻辑梯形图,在上面的语句表中,操作数是被依次扫描的,其扫描的结果再逻辑“与”。对信号状态进行“1”扫描,并做逻辑”与”运算,则用助记符“A”来标识,相关的操作数指定了要扫描对象。当操作数的信号状态是“1”时,其扫描结果也是“1”。如果操作数的信号状态是“0”,则扫描结果也是“0”。对信号状态进行“0”扫描,并做逻辑“与”运算,则用助记符“AN”来标识取反的“与”逻辑操作当操作数的信号状态是“0”时,其扫描结果就是“1”。如果操作数的信号状态是“1”,则扫描结果就是“0”。,在第一条语句里,CPU扫描的是输入I0.0本次扫描也被称为首次扫描。首次扫描的结果被直接保存在RL
23、O(逻辑操作结果)中,在下一条语句中,扫描操作数输出Q 4.1;这次扫描的结果和RLO中保存的上一次结果相“与”,产生的新结果再存入RLO。如此逐一进行,在逻辑序列结束处的RLO可用作进一步处理。例如,用来激励一个输出信号。在上面的语句表中,把RLO的值赋给输出Q 4.0(Q 4.0)。,2.“或”和“或非”(O,ON)指令 逻辑“或”在梯形图里是用并联的触点回路表示的,被扫描的操作数标在触点上方。在 触点并联的情况下,若有一个或一个以上的触点闭合,则该回路就“通电”。在图4.6中,驱动信号通过并联触点回路加到输出Q 4.1。只要有一个触点闭合,输出4.1的信号状态就为“l”。如果所有的触点都
24、是打开的,则输出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”时,其扫描结果
25、就是“1”。如果操作数的信号状态是“1”,则扫描结果就是“0”。,在第一条语句里,处理器扫描的是输入I1.1首次扫描的结果被直接保存在RLO中,并和下一条语句的扫描结果相“或”,产生的新结果再存入RLO。如此逐一进行,在逻辑序列结束处的RLO可用作进一步处理。例如,用来激励一个输出信号。在上面的语句表中,把RLO的值赋给输出Q 4.1。,3.“异或”和“异或非”(X,XN)指令 图4.7是“异或”逻辑梯形图,下面是与梯形图对应的语句表。在的语句表中,使用了“异或”和“异或非”指令,分别用助记符“X”和“XN”来标识。它类似“或”和“或非”指令,用于扫描并联回路能否“通电”。,X I 1.0 X
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十章 西门子S7300系列基本指令系统 第十 西门子 S7300 系列 基本 指令系统
链接地址:https://www.31ppt.com/p-2210231.html