ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:158.29KB ,
资源ID:7339485      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7339485.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(可编程控制器的功能指令.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

可编程控制器的功能指令.docx

1、可编程控制器的功能指令PLC课程论文 题 目: 可编程控制器的功能指令 专 业: 电子信息科学与技术 院 系: 物理与电子工程学院 学生姓名: 学生学号: 年级、班: 指导教师: 2016 年 1月 10 日可编程控制器的功能指令PLC是由取代继电器控制开始产生、发展起来的,且早期的PLC绝大部分用于顺序控制,于是许多人习惯于把PLC看作是继电器、定时器、计数器的集合,把PLC的作用局限于等同继电接触器控制系统、顺控器等。其实,PLC就是工业控制计算机,PLC系统属于计算机控制系统的一个分支,大型PLC系统就是当代较先进的计算机控制系统。小型PLC由于运算速度较低及存贮容量较小,使其功能受到限

2、制,但为了使PLC在其基本逻辑功能、顺序步进功能之外具有更进一步的特殊功能,以尽可能多地满足PLC用户的特殊要求,从80年代开始,PLC制造商就逐步地在小型PLC中加入一些功能指令(Functional Instruction)或称为应用指令(Applied Instruction)。这些功能指令实际上就是一个个功能不同的子程序。随着芯片技术的进步,小型PLC的运算速度、存贮量不断增加,其指令的功能也越来越强。许多工程技术人员以前不敢想象的功能,通过功能指令就能容易实现,从而大大提高了PLC的实用价值。一般来说功能指令可以分以下几类:(1) 程序流控制。(2) 传送与比较。(3) 算术与逻辑运

3、算。(4) 移位与循环移位。(5) 数据处理。(6) 高速处理。(7) 方便命令。(8) 外部输入输出处理。(9) 外部设备通讯。4.1 功能指令通则4.1.1 功能指令的表现形式表4-1 功能指令的表现形式表MEAN FNC45(P) (16)Mean操作元件:K、HKnxKnyKnmKnsTCDV、ZN=164步数:MEAN、MEAN(P) 7步MEAN:指令助记符 FNC45:功能号(P):脉冲执行功能 (16):只能做16bit操作 (16/32):16或32bit操作功能指令按功能号(FNC00FNC99)编排,每条功能指令都有一助记符。某些功能指令只需指定功能号即可,但许多功能指令

4、在指定功能号的同时还必须指定操作数。这是取平均值的指令。图中S指取值首元件。n指定取值个数。D指定计算结果存放地址。S:(SOURSE)源操作数。若可使用变址功能时,表达为S。有时源操作数不止一个,可用S1、S2表示。D:(DESTINATION)目标操作数。若可使用变址功能时,表达为D。目标不止一个时用D1D2表示。m、n其它操作数。常常用来表示数制(十进制、十六进制等)或制作源和目标的补充注释。需注释的项目多时也可采用m1、m2等方式。功能指令的功能号助记符占一个程序步,操作数占2或4个程序步,取决于指令是16bit还是32bit的。注意,某些功能指令在整个程序中只能出现一次,即使用跳转指

5、令使其分别处于两个不可能同时执行的程序中也不允许,但可利用变址寄存器多次改变其操作数。4.1.2 数据长度及指令的执行形式116bit和32bit功能指令可处理16bit的数据和32bit数据。 功能指令中附有符号(D)表示处理32bit数据。如(D)MOV、FNC(D)12、FNC12(D)。处理32bit数据时,用元件号相邻的两元件组成元件对。元件对的首元件号用奇数偶数均可。但为避免错误,元件对的首元件建议统一用偶数编号。32bit计数器(C200C255)不能用作16bit指令的操作数。2连续执行/脉冲执行助记符后附的(P)符号表示脉冲执行。(P)和(D)可同时使用,如(D)MOV(P)

6、。上图所示功能指令仅在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位元

7、件的组合位元件每4bit为一组合单元,KnM0中的n是组数,16bit数操作时为K1K4,32bit数操作时为K1K8。当一个16bit的数据传送到K1M0、K2M0或K3M0时,只传送相应的低bit数据,较高bit的数据不传送。32bit数据传送时也一样。在进行16bit数操作时,参与操作的位元件由K1、K2、K3来指定,高位(不足部分)均作0,这就意味着只能处理正数(符号位为0)。在处理32bit数操作时也一样。由X4X13组成的2位BCD码数转换成二进制码送到D0。被组合的位元件号可以是任意的,但为避免混乱建议采用以0结尾的元件(如X0、X10、X20等)。注:字的指定与字串,以D1开始

8、的数据寄存器串即D1、D2、D3,用位元件组合的字作为字串处理,其指定格式如下:K1X0 K1X4 K1X10 K1X14,K2Y10 K2Y20 K2Y30K3M0 K3M12 K3M24 K3M36,K4S16 K4S32 K4S48即元件每4个为一组连续编号。如果“K2Y0”用在32bit操作时,高16bit作“0”处理,要获得32bit数据需要用“K8Y0”。4.1.4 变址寄存器(V、Z)变址寄存器在传送比较指令中用来修改操作对象的元件号,其操作方式与普通数据寄存器一样。表示操作对象: 对定时器及计数器指其当前值寄存器上图中表示从KnY到V、Z都可作为功能指令的目标元件。在D中的点(

9、)表示可以加入变址寄存器,对32bit指令,V作高16bit,Z为低16bit。32bit指令中用到变址寄存器时只需指定Z,这时Z就代表了V和Z。如上图所示,因为K10送到V,K20送到Z,所以(V)、(Z)的内容分别为10、20。(D5V)+(D15Z) (D40Z)就是 (D15)+(D35) (D60) V和Z可使编程简化。(D1,D0)+(D3,D2) (D25,D24)某些应用会用到各种标志,这些标志在附录中详细列表说明。例如:M8020:零标志(Z) M8021:借位标志(Br) M8022:进位标志(Cy) M8029:执行完毕标志(F)如果功能指令的语法或操作元件号有错误(出错

10、将在附录中加以解释),出错标志M8067(E)将被置1.功能指令每次执行时都会影响标志的状态(SET或RESET),而功能指令不执行或出错时标志状态不受影响。许多功能指令都会影响标志的状态,编程时要多加小心。 4.2 程序流控制指令(FNC00FNC09)4.2.1 条件跳转指令表4-2 条件跳转指令功能表CJ FNC00(P) (16)条件跳转操作元件:指针P0P63 (允许变址修改) P63即END,无需再标号。程序步数:CJ和CJ(P)步标号步和CJ(P)指令用于跳过顺序程序中的某一部分,这样可以减少扫描时间,并使“双线圈操作”成为可能。4.2.4 主程序结束指令表4-6 主程序结束指令

11、表FEND FNC06主程序结束操作元件:无程序步数:1步FEND指令表示主程序结束,执行到FEND指令时机器进行输出处理、输入处理、警戒时钟刷新,完成以后返回到第0步。例1 设计一PLC控制程序控制3盏灯A、B、C,使之具有手动和自动功能,自动时,每5秒起动一盏。4.3 传送和比较指令(FNC10FNC19)4.3.1 比较指令表4-9 比较指令表CMP FNC10(P)(16/32)比较操作元件:K、HKnxknYknmknsTCDV、ZXYMS程序步数:CMP和CMP(P)2步 (DCMP和(D)CMP(P)1步下面这段程序是将源S1和S2的数据比较,结果送到目标D中。这里源数据作代数比

12、较(如102且所有的源数据均作为二进制数值处理。程序中M0、M1、M2根据比较的结果动作。K100C20的当前值时,M0接通;K100=C20的当前值时,M1接通;K100C20的当前值时,M2接通。当执行条件X0=OFF时,CMP指令不执行,M0、M1、M2的状态保持不变。 注:(1) 一条CMP指令用到三个操作数,如果只指定了一或二个操作数,就会出错(出错码:6503),防碍PC运行。(2) 指定的操作元件超出上表范围时出错(出错码:6705).例如X、D、T或C被指定作目标时就会出错。(3) 如果被指定为操作数(元件)的元件号超出允许范围时出错(出错码:6706).用变址修改参数时可能会

13、出现这种情况。(4) 由于上述指定操作数出错时,请参阅附录。4.3.3 传送指令表4-11 传送指令表 MOV FNC12(P) (16/32)传送操作元件:K、HKnxKnyKnmKnsTCDV、Z程序步数:MOV和MOV(P)5步 (D)MOV和(D)MOV(P)9步源数据被传送到指定目标。如X0=OFF指令不执行,数据保持不变。当传送指令执行时,常数K100自动转换成二进制数。4.4 四则运算及逻辑运算指令(FNC20FNC29)4.4.1 BIN加法指令表4-19 BIN加法指令表ADD FNC20(P) (16/32)BIN加法操作元件:K、HKnxknYknMknSTCDV、Z程序

14、步数: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运算中,用到字元件时,被指定的字元件是最

15、低16bit元件,而其下一个元件即为最高16bit元件。为了避免重复使用某些元件,建议指定操作元件时用偶数元件号。源和目标可以用相同的元件号,若源和目标元件号相同而且采用连续执行的ADD/(D)ADD指令时,加法的结果在每个扫描周期都会改变。上图所示程序,每当X1从OFF变为ON时,D0的数据加1。这与INC(P)指令的执行结果相似。其不同之处在执行ADD指令时,零、借位、进位标志将按前述方法置位。4.4.2 BIN减法指令表4-20 BIN减法指令表SUD FNC20(P) (16/32)BIN减法操作元件:K、HKnxknYknMknSTCDV、Z程序步数:SUB和SUB(P)7步 (D)

16、SUB和(D)SUB(P)13步标 志:M8020(零标志),M8021(借位)M8022(进位)S1指定的元件中的数减去S1指定的元件中的数,结果送到D指定的目标中。运算是二进制代数法。例如:5(8)=13每个标志的功能、32bit运算的元件指定方法、连续执行和脉冲执行的区别等均与加法指令中的解释相同。上图所示的运算与执行(D)DEC(P)指令的运算极其相似。区别仅在于用SUB指令时可得到标志的状态。4.4.3 BIN乘法指令表4-21 BIN乘法指令表MUL FNC32(P) (16/32)BIN乘法操作元件:K、HKnxknYknMknSTCDV、Z程序步数:MUL和MUL(P)7步(D

17、)MUL和(D)MUL(P)13步116bit 运算两源的乘积以32bit形式送到指定目标。低16bit在指定目标元件,高16bit在下一个元件。若D0=8,D2=9,则上例中(D5,D4)=72最高bit是符号bit(0为正,1为负)。V不用于D之中,对bit元件,可用K1K8来指定bit数。记住结果是32bit数,所以如图K4指定bit数,则只能得到乘积的低16bit。232bit运算在32位运算中,如用bit元件作目标,则乘积只能得到低32bit,高32bit丢失,在这种情况下应先将数据移入字元件再进行运算。用字元件时,不可能监控这64bit数据的内容。在这种情况下通过监控结果的高32b

18、it和低32bit并利用下式计算:64bit结果=(高32bit)232+(低32bit)最高bit是符号bit,0为正,1为负。V和Z不能用于D。4.4.4 BIN除法指令表4-22 BIN除法指令表DIY FNC23(P) (16/32)BIN除法操作元件:K、HKnxKnyKnmKnsTCDV、Z*只有Z可用于16bit运算程序步数:DIY和DIY(P)7步 (D)DIY和(D)DIY(P)13步116bit运算用S1指令被除数,S2指定除数,商送到目标D,余数在D的下一个元件,V不可用于D中。232bit运算 S1指定的元件及其下一个元件组成被除数,S2及其下一个元件组成除数,商和余数

19、放在以D开始的4个连续元件中。V和Z不可用于D中。注:(1)若除数为“0”则出错,该指令不执行。(2)若bit元件被指定为目标D,则不能获得余数。(3)商和余数的最高bit是符号bit。例2 设计一PLC程序,计算(5352+72124577)/56的值,若余数大于28,A灯亮;若余数小于28,B灯亮;若余数等于28,C灯亮。4.4.5 加1和减1指令表4-23 加1和减1指令表INC FNC24(P)(16/32)(“!”)加1操作元件:K、HKnxknYknMknSTCDV、Z程序步数:INC、INC(P)DEC和DEC(P)3步 (D)INC、(D)INC(P)、(D)DEC和(D)DE

20、C(P)5步DEC FNC25(P)(16/32)(“!”)减1上例中,每次X0由OFF变ON时,由D指定的元件中的数增加1。如果不用脉冲指令,则每个扫描周期加1。在16bit运算中,达到+32767再加1就变为32768但标志不动作。32bit运算时,+2147483647再加1就变为2147483648时,标志也不动作。上例中,每次X1由OFF变为ON时,由D指定的元件中的数减1。16bit运算时,32768减1就变为+32767,但标志不动作。32bit运算时,2147483648再减1就变为+2147483647,但标志不动作。计数器C0C9的当前值转换成BCD码送到输出K4Y0。Z由

21、复位输入X10清0。每次X110N时,C0C9的当前值依次输出。例3 用INC指令设计一计数器,当按下按钮5次时,指示灯亮。4.5 循环移位指令4.5.3 移位(左/右)指令表4-28 移位(左/右)指令表SFTR FNC34(P)(16)(“!”)右移位操作元件:XYMS程序步数:SFTR,SFTR(P),SFTL,SFTL(P)9步SFTR FNC35(P)(16)(“!”)左移位本指令使bit元件中的状态向右/向左移位,由n1指定bit元件长度,n2指定移位bit数(n2n11024用脉冲移位指令时,在执行条件的上升沿到达时执行。用连续移位指令时,当执行条件为ON时,每个扫描周期执行一次

22、。4.6 数据处理指令(FNC40FNC49)4.6.1 区间复位指令表4-32 区间复位指令表ZRST FNC40(P) (16)区间复位操作元件:K、HKnxknYknMknSTCDV、ZXYMS程序步数:ZRST,ZRST(P)5步D1和D2指定的应为同类元件,D1指定的元件号应小于等于D2指定的元件号。如果D1号D2号,则只有D1指定的元件被复位。虽然ZRST作为16bit指令处理,但D1D2也可同时指定32bit计数器。注:(1) D1D2一个指定16bit,另一个指定32bit计数器是不允许的。其他的复位指令:(2) 可用RST指令逐个元件复位。(3) FNC16指令(FMOV)是

23、对多点写入K0。利用该指令,可将“0”写入KnY、KnM、KnS、T、C和D。例4 控制6盏灯A-F,每隔1s亮一盏,后面的亮则前面的灭,循环运行。4.6.6 平均值指令表4-37 平均值指令表MBAN FNC45(P) (16)平均值操作元件:K、HKnxknYknMknSTCDV、Z程序步数:MESN,MEAN(P)7步 n个源数据的平均值送到指定目标,平均值是指n个源数据的代数和被n除所得的商,余数略去,若元件超出范围,n的值会自动缩小允许范围内元件的平均值,若指定的“n”值超出164的范围,则出错。例5 求123,236,528,753,902五个数的平均值思考与练习1、求1103、569、432、2056、987、358、1355七个数的平均值,并将此值除以35,若余数大于17,红灯亮;若余数小于17,绿灯亮;若余数等于17,黄灯亮。2、控制8盏彩灯循环移位,每2s亮一盏,循环运行。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1