可编程控制器的功能指令

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

PLC课程论文题目:可编程控制器的功能指令专业:电子信息科学与技术院系:物理与电子工程学院学生姓名:学生学号:年级、班:指导教师:2016年1月10日可编程控制器的功能指令PLC是由取代继电器控制开始产生、发展起来的,且早期的PLC绝大部分用于顺序控制,于是许多人习惯于把PLC看作是继电器、定时器、计数器的集合,把PLC的作用局限于等同继电接触器控制系统、顺控器等。其实,PLC就是工业控制计算机,PLC系统属于计算机控制系统的一个分支,大型PLC系统就是当代较先进的计算机控制系统。小型PLC由于运算速度较低及存贮容量较小,使其功能受到限制,但为了使PLC在其基本逻辑功能、顺序步进功能之外具有更进一步的特殊功能,以尽可能多地满足PLC用户的特殊要求,从80年代开始,PLC制造商就逐步地在小型PLC中加入一些功能指令(FunctionalInstruction)或称为应用指令(AppliedInstruction)。这些功能指令实际上就是一个个功能不同的子程序。随着芯片技术的进步,小型PLC的运算速度、存贮量不断增加,其指令的功能也越来越强。许多工程技术人员以前不敢想象的功能,通过功能指令就能容易实现,从而大大提高了PLC的实用价值。一般来说功能指令可以分以下几类:(1)程序流控制。(2)传送与比较。(3)算术与逻辑运算。(4)移位与循环移位。(5)数据处理。(6)高速处理。(7)方便命令。(8)外部输入输出处理。(9)外部设备通讯。4.1功能指令通则4.1.1功能指令的表现形式表4-1功能指令的表现形式表MEANFNC45(P)(16)Mean操作元件:K、HKnxKnyKnmKnsTCDV、ZN=1~64步数:MEAN、MEAN(P)7步功能指令按功能号(FNC00~FNC99)编排,每条功能指令都有一助记符。某些功能指令只需指定功能号即可,但许多功能指令在指定功能号的同时还必须指定操作数。ZDDDD43210这是取平均值的指令。图中[S·]指取值首元件。n指定取值个数。[D·]指定计算结果存放地址。[S]:(SOURSE)源操作数。若可使用变址功能时,表达为[S·]。有时源操作数不止一个,可用[S1·]、[S2·]表示。[D]:(DESTINATION)目标操作数。若可使用变址功能时,表达为[D·]。目标不止一个时用[D1·][D2·]表示。m、n其它操作数。常常用来表示数制(十进制、十六进制等)或制作源和目标的补充注释。需注释的项目多时也可采用m1、m2等方式。功能指令的功能号助记符占一个程序步,操作数占2或4个程序步,取决于指令是16bit还是32bit的。注意,某些功能指令在整个程序中只能出现一次,即使用跳转指令使其分别处于两个不可能同时执行的程序中也不允许,但可利用变址寄存器多次改变其操作数。MEAN:指令助记符FNC45:功能号(P):脉冲执行功能(16):只能做16bit操作(16/32):16或32bit操作4.1.2数据长度及指令的执行形式1.16bit和32bit功能指令可处理16bit的数据和32bit数据。功能指令中附有符号(D)表示处理32bit数据。如(D)MOV、FNC(D)—12、FNC12(D)。处理32bit数据时,用元件号相邻的两元件组成元件对。元件对的首元件号用奇数偶数均可。但为避免错误,元件对的首元件建议统一用偶数编号。32bit计数器(C200~C255)不能用作16bit指令的操作数。2.连续执行/脉冲执行助记符后附的(P)符号表示脉冲执行。(P)和(D)可同时使用,如(D)MOV(P)。上图所示功能指令仅在X0由OFF变为ON时执行。在不需要每个扫描周期都执行时,用脉冲执行方式可缩短程序处理周期。上图程序是连续执行方式的例子。当X1为ON状态时上述指令在每个扫描周期都被重复执行。某些指令,例如XCH、INC、DEC等,用连续执行方式时要特别留意,这些指令用“!”号标示。注意:当X0和X1为OFF状态时,上述两指令不执行。目标元件的内容不变化,除非另行指定。4.1.3位元件1.位元件和字元件只处理ON/OFF状态的元件,例如X、Y、M和S,称为位元件,其它处理数字数据的元件,例如T、C和D,称为字元件。位元件组合起来也可以处理数字数据。位元件组合由Kn加首元件号来表示。2.位元件的组合位元件每4bit为一组合单元,KnM0中的n是组数,16bit数操作时为K1~K4,32bit数操作时为K1~K8。当一个16bit的数据传送到K1M0、K2M0或K3M0时,只传送相应的低bit数据,较高bit的数据不传送。32bit数据传送时也一样。在进行16bit数操作时,参与操作的位元件由K1、K2、K3来指定,高位(不足部分)均作0,这就意味着只能处理正数(符号位为0)。在处理32bit数操作时也一样。由X4~X13组成的2位BCD码数转换成二进制码送到D0。被组合的位元件号可以是任意的,但为避免混乱建议采用以0结尾的元件(如X0、X10、X20···等)。注:字的指定与字串,以D1开始的数据寄存器串即D1、D2、D3···,用位元件组合的字作为字串处理,其指定格式如下:K1X0K1X4K1X10K1X14···,K2Y10K2Y20K2Y30···K3M0K3M12K3M24K3M36···,K4S16K4S32K4S48···即元件每4个为一组连续编号。如果“K2Y0”用在32bit操作时,高16bit作“0”处理,要获得32bit数据需要用“K8Y0”。4.1.4变址寄存器(V、Z)变址寄存器在传送比较指令中用来修改操作对象的元件号,其操作方式与普通数据寄存器一样。表示操作对象:上图中表示从KnY到V、Z都可作为功能指令的目标元件。在[D·]中的点(·)表示可以加入变址寄存器,对32bit指令,V作高16bit,Z为低16bit。32bit指令中用到变址寄存器时只需指定Z,这时Z就代表了V和Z。如上图所示,因为K10送到V,K20送到Z,所以(V)、(Z)的内容分别为10、20。(D5V)+(D15Z)(D40Z)就是(D15)+(D35)(D60)K、HKnxKnyKnmKnsTCDV、Z对定时器及计数器指其当前值寄存器[D·]V和Z可使编程简化。(D1,D0)+(D3,D2)(D25,D24)某些应用会用到各种标志,这些标志在附录中详细列表说明。例如:M8020:零标志(Z)M8021:借位标志(Br)M8022:进位标志(Cy)M8029:执行完毕标志(F)如果功能指令的语法或操作元件号有错误(出错将在附录中加以解释),出错标志M8067(E)将被置1.功能指令每次执行时都会影响标志的状态(SET或RESET),而功能指令不执行或出错时标志状态不受影响。许多功能指令都会影响标志的状态,编程时要多加小心。4.2程序流控制指令(FNC00~FNC09)4.2.1条件跳转指令表4-2条件跳转指令功能表CJFNC00(P)(16)条件跳转操作元件:指针P0~P63(允许变址修改)P63即END,无需再标号。程序步数:CJ和CJ(P)······3步标号PXX···1步CJ和CJ(P)指令用于跳过顺序程序中的某一部分,这样可以减少扫描时间,并使“双线圈操作”成为可能。4.2.4主程序结束指令表4-6主程序结束指令表FENDFNC06主程序结束操作元件:无程序步数:1步FEND指令表示主程序结束,执行到FEND指令时机器进行输出处理、输入处理、警戒时钟刷新,完成以后返回到第0步。例1设计一PLC控制程序控制3盏灯A、B、C,使之具有手动和自动功能,自动时,每5秒起动一盏。4.3传送和比较指令(FNC10~FNC19)4.3.1比较指令表4-9比较指令表CMPFNC10(P)(16/32)比较操作元件:K、HKnxknYknmknsTCDV、ZXYMS程序步数:CMP和CMP(P)···2步(DCMP和(D)CMP(P)···1步下面这段程序是将源[S1·]和[S2·]的数据比较,结果送到目标[D·]中。这里源数据作代数比较(如-10<2=且所有的源数据均作为二进制数值处理。程序中M0、M1、M2根据比较的结果动作。K100>C20的当前值时,M0接通;K100=C20的当前值时,M1接通;K100<C20的当前值时,M2接通。当执行条件X0=OFF时,CMP指令不执行,M0、M1、M2的状态保持不变。注:(1)一条CMP指令用到三个操作数,如果只指定了一或二个操作数,就会出错(出错码:6503),防碍PC运行。(2)指定的操作元件超出上表范围时出错(出错码:6705).例如X、D、T或C被指定作目标时就会出错。(3)如果被指定为操作数(元件)的元件号超出允许范围时出错(出错码:6706).用变址修改参数时可能会出现这种情况。(4)由于上述指定操作数出错时,请参阅附录。4.3.3传送指令表4-11传送指令表MOVFNC12(P)(16/32)传送操作元件:K、HKnxKnyKnmKnsTCDV、Z程序步数:MOV和MOV(P)5步(D)MOV和(D)MOV(P)9步源数据被传送到指定目标。如X0=OFF指令不执行,数据保持不变。当传送指令执行时,常数K100自动转换成二进制数。4.4四则运算及逻辑运算指令(FNC20~FNC29)4.4.1BIN加法指令表4-19BIN加法指令表ADDFNC20(P)(16/32)BIN加法操作元件:K、HKnxknYknMknSTCDV、Z程序步数:ADD和ADD(P)···7步(D)ADD和(D)ADD(P)···13步标志:M8020(零标志),M8021(借位);M8022(进位)指定的源元件中的二进制数相加,结果送到指定的目标元件。每个数据的最高bit作为符号位(0为正,1为负)。运算总是代数运算,如:5+(-8)=-3。如果运算结果为0,则零标志M8020置1。如果运算结果超过32767(16bit运算)或2147483647(32bit运算),则进位标志M8022置1。如果运算结果小于-32767(16bit运算)或-2147483647(32bit运算),则借位标志M8022置1。在32bit运算中,用到字元件时,被指定的字元件是最低16bit元件,而其下一个元件即为最高16bit元件。为了避免重复使用某些元件,建议指定操作元件时用偶数元件号。源和目标可以用相同的元件号,若源和目标元件号相同而且采用连续执行的ADD/(D)ADD指令时,加法的结果在每个扫描周期都会改变。上图所示程序,每当X1从OFF变为ON时,D0的数据加1。这与INC(P)指令的执行结果相似。其不同之处在执行ADD指令时,零、借位、进位标志将按前述方法置位。4.4.2BIN减法指令表4-20BIN减法指令表SUDFNC20(P)(16/32)BIN减法操作元件:K、HKnxknYknMknSTCDV、Z程序步数:SUB和SUB(P)···7步(D)SUB和(D)SUB(P)···13步标志:M8020(零标志),M8021(借位)M8022(进位)[S1·]指定的元件中的数减去[S1·]指定的元件中的数,结果送到[D·]指定的目标中。运算是二进制代数法。例如:5-(-8)=13每个标志的功能、32bit运算的元件指定方法、连续执行和脉冲执行的区别等均与加法指令中的解释相同。上图所示的运算与执行(D)DEC(P)指令的运算极其相似。区别仅在于用SUB指令时可得到标志的状态。4.4.3BIN乘法指令表4-21BIN乘法指令表MULFNC32(P)(16/32)操作元件:K、HKnxknYknMknSTCDV、ZBIN乘法程序步数:MUL和MUL(P)···7步(D)MUL和(D)MUL(P)···13步1.16bit运算两源的乘积以32bit形式送到指定目标。低16bit在指定目标元件,高16bit在下一个元件。若D0=8,D2=9,则上例中(D5,D4)=72最高bit是符号bit(0为正,1为负)。V不用于[D·]之中,对bit元件,可

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功