下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信捷PLC培训
第六课时应用指令格式与特点基本应用指令第六章第六章基本应用指令
基本指令用于替代继电器控制线路进行顺序逻辑控制,为了适应现代工业自动控制的需要,PLC制造商开始逐步给PLC增加一些应用指令,应用指令使PLC具有很强大的数据运算和处理能力,从而扩展了PLC的使用范围。第六章基本应用指令应用指令的格式第一节应用指令的格式第一节应用指令格式通用指令的一般格式①②③④第一节应用指令格式①操作码(指令助记符):表示指令的功能。如:ADD、MOV等。数据长度应用指令可处理16位数据和32位数据。处理32位数据时在操作码前面加D(Double)。[S][D]X000[MOVD10D12]X001[DMOVD20D22](D10)→(D12)(处理16位数据)(D21D20)→(D23D22)(处理32位数据)第一节应用指令格式操作数:指明参与操作的对象②源操作数S:执行指令后数据不变的操作数,两个或两个以上时为S1、S2。③目标操作数D:执行指令后数据被刷新的操作数,两个或两个以上时为D1、D2。④其它操作数m、n:补充注释的常数,用K(十进制)和H(十六进制)表示,两个或两个以上时为m1、m2、n1、n2。第一节应用指令格式软元件位元件:只处理ON或OFF两种状态的元件称为位元件
,如X、Y、M、S、T、C字元件:处理数据的元件称为字元件。如TD、CD、数据寄存器D。位组件位元件组合表示数据:16个位元件作为一个基本单元进行组合,称为位组件,表示1位十进制数;用DN表示,N为位组件的首地址。通常的表现形式为DX□
、DM□、DS□、DY□应用指令的数据结构
第一节应用指令格式执行方式连续执行方式:每个扫描周期都重复执行一次脉冲执行方式:只在信号OFF→ON或ON→OFF时执行一次,由触发条件决定。[S][D]X000[MOVD0D1]X001[MOVD2D4]X002[MOVD10D12]OFF→ON时执行ON→OFF时执行连续执行基本应用指令第二节基本应用指令流程指令2.1基本应用指令(流程指令)指令助记符指令功能CJ条件跳转CALL子程序调用SRET子程序返回STL流程开始STLE流程结束SET打开指定流程,关闭所在流程(流程跳转)ST打开指定流程,不关闭所在流程(开新流程)FOR循环范围开始NEXT循环范围结束FEND主程序结束END程序结束程序流程指令的功能是改变程序执行的顺序,主要包括以下指令:2.1.1基本应用指令(CJ)1、条件跳转[CJ]
该指令用于某种条件下跳过CJ指令和指针标号之间的程序,从指针标号处连续执行,以减少程序执行扫描时间。使用CJ指令时需注意几点:①CJ不可以从一个STL跳转到另一个STL。②程序定时器T0~T640及高速计数C600~C640如果在驱动后执行了CJ指令,则继续工作,输出接点也动作。③使用跳转指令时注意标号一定要匹配,并且一个标号只允许出现一次,否则程序会报错。2.1.1基本应用指令(CJ应用)(一)电动机手动/自动选择控制程序1.控制要求某台设备具有手动/自动两种操作方式。SB3是操作方式选择开关,当SB3处于断开状态时,选择手动操作方式;当SB3处于接通方式时,选择自动操作方式,不同操作方式进程如下:手动操作方式:按起动按钮SB2,电动机旋转;按停止按钮SB1,电动机停止。自动操作方式:按起动按钮SB2,电动机连续运转1min后,自动停机,按停止按钮SB1,电动机立即停机。2.1.1基本应用指令(CJ应用)2.确定输入、输出并分配I/O地址
输入信号:起动按钮SB2——X2;停止按钮SB1——X1;操作方式选择开关SB3——X3;热继电器的过载保护FR——X0。输出信号:接触器线圈KM——Y0。2.1.1基本应用指令(CJ应用)3.程序设计2.1.2基本应用指令(CALL)2、子程序调用[CALL]和返回[SRET]
子程序调用用于在一定条件下调用并执行子程序,调用要共同处理的程序,可减少程序的步数。2.1.2基本应用指令(CALL)使用CALL指令时需注意几点:①主程序结束后,必须要加FEND指令,且必须在FEND指令后对标记编程。不允许出现调用子程序而未出现子程序标号的情况。②Pn作为一段子程序的开始,以SRET作为一段子程序的结束。用CALLPn调用子程序。其中n可以为0~9999中的任一值。③在子程序内可以允许有9次调用指令,整体而言可做10层嵌套。④调用子程序时,主程序所属的OUT、PLS、PLF、定时器等均保持。⑤子程序返回时,子程序所属的OUT、PLS、PLF、定时器等均保持。2.1.2基本应用指令(CALL应用)(二)水库水位自动控制系统控制程序结构如下所示:1、控制要求如下:①水库水位上升超过上限时,水位异常警报灯Y10报警,并进行泄水动作,Y0置位。②水库水位下降低于下限时,水位异常警报灯Y10报警,并进行灌水动作,Y1置位。③若泄水动作执行10分钟后,水位上限传感器X0仍为On,则机械故障报警灯Y11报警。④若灌水动作执行5分钟后,水位下限传感器X1仍为OFF,则机械故障报警灯Y11报警。⑤水位处于正常水位时,所有报警灯熄灭和泄水及灌水阀门自动被复位。2.1.2基本应用指令(CALL应用)2.程序设计2.1.3基本应用指令(中断)3、中断指令[IRET]、[EI]、[DI]
在生活中,人们经常会遇到这样的情况:当你正在写作时,突然电话响了,你会停止写作,转而去接电话,接完电话又接着回去写作。这种停止当前的工作,转而去做其他的工作,做完后又返回来做先前工作的现象称为中断。2.1.3基本应用指令(中断)PLC也有类似的现象,当PLC正在执行某程序时,如果出现意外事情(中断条件满足),PLC就会停止当前正在执行的程序,转而去处理意外事情(去执行中断程序),处理完后又接着执行原来的程序。XC系列PLC都具有中断功能,中断功能分两种:一、外部中断;二、定时中断。通过中断功能可以处理一些特定的程序,它不受可编程控制器的扫描周期的影响。2.1.3基本应用指令(中断)
中断指针用I表示,使用中断指令会涉及到三条指令IRET、EI、和DI,下图是这三条指令的使用说明:中断许可中断禁止中断子程序2.1.3基本应用指令(中断)使用中断指令需要特别注意的几点:①中断用指针(I****),必须在FEND指令后作为标记编程;②XC系列PLC同一外部中断不能够实现上升沿和下降沿同时触发;③中断子程序只会在中断条件触发时执行一次,因此,不建议在中断子程序内编写定时器等需要连续执行的指令;第几路中断0:上升沿中断1:下升沿中断④中断指针的含义:外部中断:I□□0□表示定时中断的时间,范围1~99,单位“毫秒”第几路定时中断
定时中断:I4□□□2.1.3基本应用指令(外部中断)外部中断
输入端子X可以作为外部中断的输入用,每一输入端对应于一个外部中断(具体对应关系参照《信捷XC系列可编程控制器用户手册指令篇》),输入的上升沿或者下降沿都可触发中断(注意:同一外部中断端子的上升沿与下降沿外部中断触发同时只能使用其中之一)。2.1.3基本应用指令(中断应用)(三)办公室火灾报警控制程序【控制要求】
①当感热警报器感应到高温时(可能发生火灾),警铃响起,喷水阀立刻开始喷水。
②当警报解除后,按下警报解除按钮,喷水阀停止喷水,警铃声灭。
【元件说明】PLC软元件控制说明X2感热警报器,当温度过高时,X2状态为OnX5警报解除按钮,按下时,X5状态为OnY0喷水阀Y1火灾警铃2.1.3基本应用指令(中断应用)2.程序设计2.1.3基本应用指令(定时中断)定时中断
在主程序的执行周期很长的情况下,如果要处理特定的程序;或者在顺控扫描中,需要每隔一段时间执行特定的程序时,定时中断功能非常适用。它可以不受可编程控制器的扫描周期的影响,每隔Nms执行定时中断子程序。
一共有10路定时中断,表示方法为:I40**~I49**。其中**’表示定时中断的时间,单位毫秒。如:I4010表示每隔10ms执行一次第1路定时中断。
定时中断默认是打开状态,定时中断子程序类似其他中断子程序,必须写在主程序之后,以I40xx指令开始,结束于IRET。2.1.3基本应用指令(定时中断)程序举例2.1.4基本应用指令(STL)4、流程指令
流程指令主要用于顺序控制的场合,在生产实践中顺序控制是指按照一定的顺序逐步控制来完成各个工序的控制方式。一个复杂的任务往往可以分成若干个小任务,当按一定的顺序完成这些小任务后,整个大任务也就完成了。
循环流程4流程1流程3流程22.1.4基本应用指令(STL)流程共涉及4条指令,分别是:STL:流程开始指令;STLE:流程结束指令;SET:打开下个流程,关闭本流程指令;ST:打开下个流程,不关闭本流程指令。我们先通过下面的例子来了解一下这几条流程指令的用法。2.1.4基本应用指令(STL)①STL与STLE必需配对使用。STL表示一个流程的开始,STLE表示一个流程的结束。②每一个流程书写都是独立的,写法上不能嵌套书写。即不能在一个流程里再嵌套一个流程,与在流程里打开另一个流程不同,后者是允许的。在流程执行时,不一定要按S0、S1,、S2……的顺序执行,流程执行的顺序在程序中可以按需求任意指定。可以先执行S10再执行S5,再执行S0。③执行SETSxxx指令后,这些指令指定的流程为ON。④执行RSTSxxx指令后,指定的流程为OFF。⑤在流程S0中,SETS1将所在的流程S0关闭,并将流程S1打开。⑥在流程S0中,STS2将流程S2打开,但不将流程S0关闭。⑦流程从ON变为OFF时,将流程所属的OUT、PLS、PLF、不累计定时器等OFF或复位,累计定时器等保持原有状态。⑧ST指令一般在程序需要同时运行多个流程时使用;⑨在流程中执行SETSxxx指令后,跳转到下一个流程,原流程中的脉冲指令也会关掉(包括单段、多段、相对绝对、原点回归)流程指令使用注意事项:2.1.4基本应用指令(STL应用)【控制要求】按下自动按钮X0,机械手执行自动流程1次:夹取产品(释放前动作一直保持)→定时0.5秒→转移产品(Y1动作持续2秒)→释放产品。若需再次执行自动流程,再触发自动按钮一次即可。2.1.4基本应用指令(STL应用)【程序设计】//按下启动按钮,开始流程//夹取产品//延时0.5s//转移产品//延时2s//停止转移并释放产品2.1.4基本应用指令(STL应用)若控制要求改为以下,该如何修改控制程序?【控制要求】
按下自动按钮,机械手循环执行自动流程:夹取产品(释放前动作一直保持)→定时0.5秒→转移产品(动作持续2秒)→释放产品→反方向转回(动作持续2秒)。比较指令2.2.1基本应用指令(触点比较)1、触点比较指令比较指令的功能是将某两个数值或寄存器内容的大小作为导通条件,来触发相应的输出,简单形象。主要包含以下指令:助记符指令功能取比较指令LD=开始(S1)=(S2)时导通LD>开始(S1)>(S2)时导通LD<开始(S1)<(S2)时导通LD<>开始(S1)≠(S2)时导通LD<=开始(S1)≤(S2)时导通LD>=开始(S1)≥(S2)时导通串联比较指令AND=串联(S1)=(S2)时导通AND>串联(S1)>(S2)时导通AND<串联(S1)<(S2)时导通AND<>串联(S1)≠(S2)时导通AND<=串联(S1)≤(S2)时导通AND>=串联(S1)≥(S2)时导通并联比较指令OR=并联(S1)=(S2)时导通OR>并联(S1)>(S2)时导通OR<并联(S1)<(S2)时导通OR<>并联(S1)≠(S2)时导通OR<=并联(S1)≤(S2)时导通OR>=并联(S1)≥(S2)时导通
从上表可以看出,触点比较指令又分为开始比较、串联比较和并联比较,每一组又分为大于、小于、等于、大于等于、小于等于和不等于。虽指令书写不同,功能不同却用法类似,所以,在此我们只介绍其中一些比较指令的使用说明,其余指令的用法可参照这些指令。
其实,触点比较指令也是一种常开触点,只是其触点闭合的条件不是线圈通电,而是满足设定的大小关系。使用中需注意的是,若相比较的两个数任意一方大于32767,则需要用32位触点比较指令,即在相应指令的助记符前加字母“D”。2.2.1基本应用指令(触点比较)【控制要求】某设备上电禁止所有输出,指示灯不亮。1234作为密码,用D0作为存放密码的寄存器,当使用者输入正确密码时恢复所有输出,指示灯亮。指示灯2.2.1基本应用指令(触点比较)【程序设计】2.2.1基本应用指令(触点比较)2、数据比较指令数据比较指令包括CMP和ZCP两条指令,CMP指令说明如图所示:指令的作用是将数据
与
相比较,根据大小输出以
起始的3点ON/OFF状态。即使X0=OFF停止执行CMP指令时,M0~M2仍然保持X0变为OFF以前的状态。
2.2.2基本应用指令(CMP)ZCP是用于区间比较的指令,其使用说明如图所示:将数据同上下两点的数据比较范围相比较,根据区域大小输出起始的3点ON/OFF状态。其中,为指定比较基准下限的数据或软元件地址编号;为指定比较基准上限的数据或软元件地址编号;为指定当前数据或软元件地址编号;为指定比较结果的数据或软元件地址编号。2.2.2基本应用指令(ZCP)2.2.2基本应用指令(比较指令应用)【控制要求】大型公用水塔利用模拟式液位高度测量仪(0~10V电压输出)测量水位高度,进行水位的控制。(测量的值放在寄存器D0中,上限设定值为4000,下限设定值为1000。)水位处于正常高度时,水位正常指示灯亮(Y0),水塔剩1/4水量时进行给水动作(给水阀开关为Y1),水位到达上限时,报警(Y2)并停止给水。【程序设计】PLC软元件控制说明Y0:水位正常指示灯Y1:给水阀开关(下限设置值K1000)Y2:水位到达警报器(上限设置值K4000)2.2.2基本应用指令(比较指令应用)数据传送指令2.3基本应用指令(传送指令)
数据传送指令
数据传送用于传送一个或一批数据到数据寄存器等一些可以存储数据的软元件中,主要包括以下指令:指令助记符指令功能MOV传送BMOV数据块传送PMOV数据块传送FMOV多点重复传送EMOV浮点数传送FWRTFlashROM的写入MSET批次置位ZRST批次复位SWAP高低字节交换XCH两个数据交换2.3.1基本应用指令(MOV)1、传送指令[MOV]MOV的作用是使指定软元件的数据照原样传送到其他软元件中。指令说明如下:X0为ON时,将常数K10传送到D10。X0为OFF时,数据不变化。MOV指令不仅可以完成常数到寄存器的传送,还可以是寄存器到寄存器,定时器和计数器到数据寄存器之间的传送,如下图所示:此时的定时器和计数器都是表示字元件,与TD0,CD0一样。意思是将定时器或计数器内的当前值读出存储到数据寄存器内。2.3.1基本应用指令(MOV应用)【控制要求】1.X0接通时,8盏灯全亮;2.X1接通时,奇数盏灯亮;3.X2接通时,偶数盏灯亮;4.X3接通时,灯全灭。2.3.1基本应用指令(MOV应用)根据控制要求,列出8盏灯的真值表。输入端口输出位组件K2Y0传送数据Y7Y6Y5Y4Y3Y2Y1Y0X011111111H0FFX110101010H0AAX201010101H55X300000000H00【程序设计】灯全亮奇数灯亮偶数灯亮灯全灭2.3.1基本应用指令(MOV应用)2.3.2基本应用指令(BMOV)2、数据块传送[BMOV]BMOV的作用是将以源指定的软元件为开头的n点数据向以目标指定的软元件为开头的n点软元件以数据块的形式传送。(在超过软元件编号范围时,在可能的范围内传送)。指令说明如图所示:2.3.2基本应用指令(BMOV应用)【控制要求】
使用信捷PLC搭建一个测试实验台,对待测设备的数据进行记录,并将纪录的数据依次放入寄存器D0~D99中,每组数据在30分钟内可以全部记录完成。故每间隔30分钟将D0~D99的数据转移到其它寄存器中,以便D0~D99重新接收新数据,待测设备的一个测试周期为2个小时。说明名称测试启动开关X0重复测试按钮X1停止测试开关X2数据记录D0~D99数据备份D100~D499软元件分配如下:2.3.2基本应用指令(BMOV应用)【程序设计】2.3.3基本应用指令(FMOV)3、多点重复传送[FMOV]多点重复传送指令FMOV的作用是将某一数据传送至一批数据寄存器中。指令说明如下图所示:2.3.3基本应用指令(FMOV应用)【控制要求】使用一台信捷PLC通过RS-485通讯,控制多台信捷变频器时,有时需要多台变频器运转频率相同,假设通过内部程序使得PLC的D0~D3分别对应四台变频器驱动频率,此时,只需旋转旋钮开关,四台变频器被设置相同的运转频率。2.3.3基本应用指令(FMOV应用)软元件分配如下:PLC软元件控制说明X1选择0Hz频率,旋转到“0Hz”时,X1状态为OnX2选择20Hz频率,旋转到“20Hz”时,X2态为OnX3选择30Hz频率,旋转到“30Hz”时,X3态为OnX4选择50Hz频率,旋转到“50Hz”时,X4状态为OnD0变频器1驱动频率D1变频器2驱动频率D2变频器3驱动频率D3变频器4驱动频率2.3.3基本应用指令(FMOV应用)【程序设计】2.3.4基本应用指令(EMOV)4、浮点数传送[EMOV]
浮点数传送指令EMOV的作用是将指定软元件中的浮点数照原样传送到其他软元件中。该指令与MOV的区别就是MOV传送的是整数,EMOV传送的是浮点数,所以EMOV指令只有32位的指令,说明如下:
(D1,D0)→(D11,D10)当X0导通时,将D0(D1,D0)中的浮点数传送到D10(D11,D10)中去。若源操作数是常整数,则会被自动转换成浮点数再传送至目标软元件中。2.3.5基本应用指令(MSET/ZRST)5、批次置位[MSET]与批次复位[ZRST]这两条指令的作用是将指定范围的位软元件进行置位或复位/清零操作。
使用注意事项:
、指定为同一种类的软元件,且编号<编号。2.3.5基本应用指令按下X0,Y0-Y17这16个灯全亮,按下X1,Y0-Y17这16个灯全灭。请问这个控制要求梯形图程序可以有哪几种编法?
2.3.6基本应用指令(SWAP)6、高低字节交换[SWAP]
高低字节交换指令SWAP的作用是将指定寄存器的高8位字节和低8位字节进行交换。指令说明如图所示:
使用注意事项:【程序说明】假设D0中的数据为H200A(K8202),当X0由OFF变为ON时,D0中的数据将变成HA20(K2592)。
如果将条件X0改为常开或常闭线圈触发,当输入X0为ON时,每个扫描周期都执行一次该指令,所以建议用上升沿或下降沿触发。2.3.6基本应用指令(XCH)7、交换指令[XCH]
交换指令XCH的作用是将两个软元件中的数据进行相互交换。指令说明如图所示:
使用注意事项:【程序说明】:执行前(D10)=100、(D11)=101→
执行后
(D10)=101、(D11)=100
如果将条件X0改为常开或常闭线圈触发,当输入X0为ON时,每个扫描周期都执行一次该指令,所以建议用上升沿或下降沿触发。逻辑运算指令2.4基本应用指令指令助记符指令功能ADD加法SUB减法MUL乘法DIV除法INC加1DEC减1MEAN求平均值WAND逻辑与WOR逻辑或WXOR逻辑异或CML取反NEG求负数据与逻辑运算指令属于比较常用的功能指令,包含的指令如下表所示:2.4基本应用指令2.4.1基本应用指令(ADD/SUB)1、加法、减法指令[ADD]、[SUB]加减法指令的作用不用说大家也都能明白,每条指令的写法有两种模式,以加法指令为例,分别如图所示:
上述两条指令是等价的,均是(D10)+(D12)→(D10)。
综上,加法指令就是将两个源数据进行二进制加法后传递到被加数地址处。各数据的最高位是正(0)、负(1)符号位,这些数据以代数形式进行加法运算(5+(-8)=-3)。
减法指令SUB与加法指令用法类似,在此就不再赘述。2.4.1基本应用指令(加减应用1)编写梯形图完成以下公式:D0=D2+(D4-D6)2.4.1基本应用指令(加减应用2)自动售货机:2.4.1基本应用指令(加减应用2)【控制要求】①投入1元、5元、10元货币,相应“X0、X1、X2”按钮导通。按下“可乐”和“雪碧”按钮分别代表购买“可乐”和“雪碧”。出货口的阀Y0动作表示“出可乐”、Y1动作表示“出雪碧”表示可乐和雪碧已经取出。购买后显示当前余额,按下“找零按钮”,退币口退币。②该售货机可以出卖雪碧和可乐两种饮料,价格分别为3元/瓶和4元/瓶。当投入的货币大于等于其售价时,对应的可乐指示灯Y2、雪碧指示灯Y3点亮,表示可以购买。③当可以购买时,按下相应的“可乐(X3)”或“雪碧(X4)”按钮,与之对应的指示灯闪烁,表示已经购买了可乐或雪碧,同时出货口延时3s吐出可乐或雪碧。④在购买了可乐或雪碧后,余额指示显示当前的余额,若余额还可以购买饮料,按下“可乐”或“雪碧”选择按钮可以继续购买,若不想再购买,按下“找零按钮”后,退币口退币。I/O分配自动售货机I/O分配及软元件说明输入输出其他软元件输入继电器作用输出继电器控制对象名称作用X01元投币Y0雪碧指示D0投币数、余额X15元投币Y1可乐指示M0可以买雪碧X210元投币Y2雪碧出口M1可以买可乐X3雪碧选择Y3可乐出口M2选择雪碧X4可乐选择Y4退币口M3选择可乐X5退币按钮M100有余额T0~T3出货延时T4退币延时2.4.1基本应用指令(加减应用2)控制程序2.4.1基本应用指令(加减应用2)2.4.2基本应用指令(MUL/DIV)BINBINBIN(D0)×(D2)→(D5,D4)16位16位→
32位2、乘法、除法指令[MUL]、[DIV]乘法除法也是大家所熟知的,之所以提出来是因为使用时,有些地方是需要特别注意的。
首先是乘法,需要注意的是两个16位数据相乘结果是32位,两个32位数据相乘,结果是64位。以16位乘法为例,指令说明如图所示:被除数除数商余数BINBINBINBIN(D0)÷(D2)→(D4)┅(D5)16位16位16位16位而除法指令的注意点在于整数相除后,存在的余数的问题,目标操作数指定的软元件用来存放商,而其下一个编号的软元件将存入余数。指令说明如下图所示:
2.4.2基本应用指令(MUL/DIV)2.4.2基本应用指令(乘除应用)【控制要求】
假设已知水管直径为D0,以mm为单位,水的流速为D10,以dm/s(1分米/秒)为单位,如图
2、软元件分配说明名称说明名称启动计算X0水管直径D0
水管横截面积运算结果D8水管流速D100水管流量运算结果(单位/s)D12本程序中mm、cm、dm都有用到,所以必须统一单位,保证符合结果需要,程序中先将所有单位统一成mm,最后将单位变成需要的。由于需要精确到小数后两位,故采用整数运算时需要扩大100倍。2.4.2基本应用指令(乘除应用)【程序设计】在触摸屏中显示流量结果时选择显示类型为“无符号数”,小数位数为“2”。2.4.2基本应用指令(乘除应用)2.4.3基本应用指令(INC/DEC)3、自加1、自减1[INC]、[DEC]自加1、自减1指令的作用是将指定软元件中的数据进行加1/减1运算。指令说明如下所示:(D0)+1→(D0)(D0)-1→(D0)
停车场车位控制2.4.3基本应用指令(INC/DEC应用)【控制要求】(1)在入口和出口处装设检测传感器,用来检测车辆进入和出去的数目;(2)停车场共有5000个车位,尚有车位时,入口栏杆才可以将门开启,让车辆进入停放,并有绿灯指示尚有车位;(3)车位已满时,则红灯点亮,显示车位已满,且入口栏杆不能开启让
车辆进入;(4)触摸屏显示目前停车场的车辆数和剩余车位数;(5)栏杆电动机在栏杆开启和关闭时,开启到位时有正转停止传感器检
测,关闭时有反转停止传感器检测。2.4.3基本应用指令(INC/DEC应用)I/O分配停车场车位控制I/O端口分配功能表输入输出其他软元件输入继电器作用输出继电器作用名称作用X0入口检测传感器Y0入口栏杆开门D0剩余车位数X1出口检测传感器Y1入口栏杆关门D4000停车场内车辆数X2正转停止传感器Y2出口栏杆开门X3反转停止传感器Y3出口栏杆关门Y4绿灯指示器Y5红灯指示器2.4.3基本应用指令(INC/DEC应用)【程序设计】2.4.3基本应用指令(INC/DEC应用)2.4.4基本应用指令(MEAN)4、求平均值[MEAN]求平均值指令的作用是将指定数据或软元件进行求平均值运算。指令说明如图示:上例中是将以D0为起始地址的3点的源数据(D0~D2)的代数和除以n后存入目标地址中,余数舍去。取n值时要注意,范围不要超过可用软元件编号,否则会发生运算错误。2.4.5基本应用指令(逻辑运算)5、逻辑运算指令
逻辑运算指令的作用是将指定数据或软元件的各位进行一系列逻辑运算。包含的指令有逻辑与[WAND]、逻辑或[WOR]、逻辑异或[WXOR]。以逻辑与为例,介绍这三条指令的用法,如图所示:0&0=00&1=01&0=01&1=1假设D10中的数值是B0000,0000,0111,0001(K113),D12中数据是B0000,0000,0101,1101(K93)则D14中的结果是B0000,0000,0101,0001(K81),运算过程如图所示:2.4.5基本应用指令(逻辑运算应用)【例】
将D0的低8位和D2的低8位结合组成一个字。梯形图如图所示:2.4.6基本应用指令(CML)6、逻辑取反[CML]逻辑取反指令的作用是将指定数据或软元件中的数据进行反相传送的指令。指令说明如下:将源数据的各位反相(1→0,0→1)后,传送到目标地址。在源数据中使用常数K的话,能自动地转换成二进制。2.4.6基本应用指令(CML应用)彩灯交替闪烁【控制要求】按下开关到On状态后,偶数编号和奇数编号的彩灯交替亮1秒。按下开关到Off状态后,所有彩灯熄灭。【程序设计】2.4.6基本应用指令(CML应用)2.4.7基本应用指令(NEG)7、求负[NEG]求负指令的作用是将指定软元件中的数据进行求负运算。指令说明如图所示:底层相当于将指定软元件的内容中各位先取反(1→0,0→1),然后再加1,将其结果再存入原先的软元件中。上述动作,假设D10起始数据为20,M0一次上升沿后,D10的值转变为-20;当M0再一次上升沿后,D10的值变为+20。下面的两条语句,执行的效果是一样的。数据移位指令第二节基本应用指令2.5基本应用指令(移位指令)指令助记符指令功能SHL算术左移SHR算术右移LSL逻辑左移LSR逻辑右移ROL循环左移ROR循环右移SFTL位左移SFTR位右移WSFL字左移WSFR字右移数据移位指令的作用是将指定软件的各个位或多个软元件之间进行各式的移位操作,包含的指令如下表所示:2.5.1基本应用指令(SHL/SHR)1、算术移位[SHL]、[SHR]算数移位是将指定软元件中的数据进行算术左移/算术右移的指令。指令说明如图所示:
执行SHL指令一次之后,下位补0,最终位被存入进位标志中。执行SHR指令一次之后,上位同移动前的最高位,最终位被存入进位标志中。2.5.2基本应用指令(LSL/LSR)2、逻辑移位[LSL]、[LSR]逻辑移位是将指定软元件中的数据进行逻辑左移/逻辑右移的指令。指令说明如图所示:
执行LSL指令一次之后,下位补0,最终位被存入进位标志中。LSL指令的意义和使用与SHL相同。执行LSR指令一次之后,上位补0,最终位被存入进位标志中。LSR与SHR有所区别,前者在移位时,上位补0;而后者在移位时,上位也参与移位。2.5.3基本应用指令(ROL/ROR)3、循环移位[ROL]、[ROR]循环移位是将指定软元件中数据的各位信息进行循环左移/循环右移的指令。指令说明如图所示:
每一次X0从OFF→ON变化一次时,则进行n位循环左移或右移,最终位被存入进位标志中。2.5.3基本应用指令(ROL应用)彩灯交替闪烁控制要求如下:①按下右循环按钮,16个霓虹灯按照由小到大的编号(Y0~Y7、Y10~Y17)依次各亮500ms后熄灭。②按下左循环按钮,16个霓虹灯按照由大到小的编号(Y17~Y10、Y7~Y0)依次各亮500ms后熄灭。③左右循环工作状态可直接按下对应的按钮切换,不必先按下复位按钮停止霓虹灯运行。④按下复位按钮,不管霓虹灯是处在左循环还是右循环工作状态,所有霓虹灯熄灭。2.5.3基本应用指令(ROL应用)控制程序2.5.4基本应用指令(SFTL/SFTR)4、位移动[SFTL]、[SFTR]位移动是将指定软元件中的数据进行位左移/位右移的指令。位左移指令说明如图所示:
对于n1位(移动软元件的长度)的位元件进行n2的左移动的指令。(指令执行时执行n2位的移位)。
上例中是将由M0为起始地址的16个位元件进行4位的左移,低位空出来的由X0~X3补上。过程如下:①M15~M12→溢出②M11~M8→M15~M12③M7~M4→M11~M8④M3~M0→M7~M4⑤X3~X0→M3~M0SFTR与SFTL类似,方向相反2.5.4基本应用指令(SFTL应用)SFTL不良品检测【控制要求】产品被传送至传送带上作检测,凸轮检测开关导通一次表示有一个产品被检测。当光电开关检测到有不良品时(高度偏高),在第5个定点将不良品通过电磁阀排出,排出到回收箱后电磁阀自动复位。当在传送带上的不良品记忆错乱时,可按下复位按钮将记忆数据清零,系统重新开始该检测。【元件说明】X0不良品检测光电开关X1凸轮检测光电开关X2进入回收箱检测光电开关X3复位按钮Y0电磁阀推出杆2.5.4基本应用指令(SFTL应用)2.5.4基本应用指令(SFTL应用)2.5.5基本应用指令(WSFL/WSFR)5、字移位[WSFL]、[WSFR]字移位是将指定软元件中的数据进行字左移/字右移的指令。字左移指令说明如图所示:WSFR与WSFL类似,方向相反
以字为单位,对n1个字的字软元件进行n2个字的右移或左移的指令。上例中是将由D10为起始地址的16个字元件进行4个字的左移,低位空出来的由D0~D3补上。过程如下:①D25~D22→溢出②D21~D18→D25~D22③D17~D14→D21~D18④D13~D10→D17~D14⑤D3~D0→D13~D10数据转换指令第二节基本应用指令2.6基本应用指令(数据转换)指令助记符指令功能WTD单字整数转双字整数FLT16位整数转浮点DFLT32位整数转浮点FLTD64位整数转浮点INT浮点转整数BINBCD转二进制BCD二进制转BCDASCI16进制转ASCIIHEXASCII转16进制DECO译码ENCO高位编码ENCOL低位编码GRY二进制数转格雷码GBIN格雷码转二进制数据转换指令用于转换各种数据的类型,包含指令如下表所示:2.6.1基本应用指令(WTD)(D0)→(D11,D10)单字整数双字整数1、单字整数转双字整数[WTD]单字整数转双字整数是将指定软元件中的数据进行单字转双字操作的指令。指令说明如图所示:当单字D0是正整数时,执行该指令后,双字D10的高16位补0;当单字D0是负整数时,执行该指令后,双字D10的高16位补1。值得注意的是,这里的高位补0或1,均是指二进制数。2.6.2基本应用指令(FLT)(D11,D10)→(D13,D12)BIN整数二进制浮点值(D10)→
(D13,D12)BIN整数二进制浮点值(D13,D12,D11,D10)→(D15,D14)BIN整数二进制浮点值2、整数转浮点数[FLT]
整数转浮点数是将指定数据或软元件中的整数转换为浮点数的指令。指令说明如图5-54所示:
《16位》《32位》
《64位》2.6.2基本应用指令(FLT)
二进制整数值与二进制浮点值间的转换指令。在进行浮点运算时,若操作数是整数,则必须要先转换成浮点数再进行运算,否则会出错。常数K、H在各浮点运算指令中被自动转换,可以不用FLT指令。这个指令的逆变换指令是INT。假设有如下指令初始设D0的值为整数20,执行指令后,D10的值为浮点数20。在自由监控中添加D10,选择浮点类型,可以正确的监控到D10的值。自由监控数据如下:上图所示,D0为整数20,D10为浮点数20,当D10选择双字类型监控时,数据显示不是20。这是因为整数和浮点数在底层存放格式不一样,所以监控浮点数时应该用自由监控,选择浮点类型监控,才能查看到正确的数据。2.6.2基本应用指令(FLT)(D11,D10)
→
(D20)二进制浮点BIN整数小数点以后的数舍去(D11,D10)
→
(D20,D21)二进制浮点BIN整数小数点以后的数舍去3、浮点转整数[INT]
浮点转整数是将指定软元件中的浮点数转换为整数的指令。指令说明如图所示:
《16位指令》《32位指令》将源数据地址内的二进制浮点值转换为BIN整数,存入目标地址中。此时,舍去小数点以后的值。此指令为FLT指令的逆变换。2.6.3基本应用指令(INT)源(BCD)→目标(BIN)的转换传送。4、BCD转二进制[BIN]BCD转二进制是将指定软元件中的BCD码转换为二进制数的指令。指令说明如图所示:可编程控制器获取BCD数字开关的设定值时使用。源数据不是BCD码时,会置位M8067(运算错误)、M8004(错误发生)。因为常数K自动地转换二进制,所以不成为这个指令适用软件元件。假设D10中存放的是BCD码形式的21(10,0001),则经过转换(X0g接通一次)后,D0的值变为K21(1,0101)。
二进制转BCD码指令是BCD转二进制指令的逆指令,其功能就不再赘述2.6.4基本应用指令(BIN)nDK4D200下[0]D200上[A]D201下[B]D201上[C]故D200里存储的结果为H4130,D201存储的结果是H43425、十六进制转ASCII[ASCI]十六进制转ASCII是将指定软元件中的十六进制数转换为ASCII码的指令。指令说明如图所示:由于一个ASCII字符可用两位16进制数据表示即8位二进制表示,所以低8位、高8位,分别存储一个ASCII数据。
HEX数据的各位转换成ASCII码,向的高8位、低8位分别传送。转换的字符数用n指定。
上例程序转换如下:指定起始元件:(D100)=0ABCH2.6.5基本应用指令(ASCL)(S·)
ASCII码HEX转换D200下30H0D200上41HAD201下42HBD201上43HC(D·)nD10040ABCH6、ASCII转十六进制[HEX]ASCII转十六进制是将指定软元件中的ASCII码转换为十六进制数的指令。指令说明如图所示:ASCII转十六进制是十六进制转ASCII的逆指令,上例程序转换的情况如下所示:n=k42.6.6基本应用指令(HEX)①②③7、译码[DECO]译码是将任意一个数字数据转换为1点的ON位的指令。指令说明如图所示:是位软元件时(n≤16)译码指令说明源地址是1+2=3,因此从M10起第3位的M13变为1。源全部为0时,M10为1。n=0时不处理,n=0~16以外时会不执行指令。n=16时,如果译码命令为位软元件时,其点数是2^16=65536。2.6.7基本应用指令(DECO)①②③全部转化为0驱动输入为OFF时,指令不执行,正在动作的译码输出保持动作。是字软元件时(n≤4)译码指令说明源地址的低n位(n≤4)被解码至目标地址。n≤3时,目标的高位都转为0。n=0时不处理,n=0~4以外时,不执行指令。2.6.7基本应用指令(DECO)①②全成为0忽略M11中的“1”8、高位编码[ENCO]高位编码是求出在数据中最高为ON位的位置的指令。指令说明如图所示:是位软元件时(n≤16)译码指令说明2.6.8基本应用指令(ENCO)③①②全成为0被忽视忽略b1中的“1”是字软元件时(n≤4)译码指令说明源地址内的多个位是1时,忽略低位侧,另外源地址都为0时会不执行指令。驱动输入为OFF时,指令不被执行,编码输出不变化。n=16时,编码指令的如果是位元件,其点数为2^16=65536。2.68基本应用指令(ENCO)全成为0忽略M15中的“1”③①②9、低位编码[ENCOL]低位编码是求出在数据中低位为ON位的位置的指令。指令说明如图所示:是位软元件时(n≤16)译码指令说明2.6.9基本应用指令(ENCOL)忽略b5位的“1”③①②全成为0被忽视是字软元件时(n≤4)译码指令说明源地址内的多个位是1时,忽略高位侧,另外源地址都为0时会不执行指令。驱动输入为OFF时,指令不被执行,编码输出不变化。n=16时,编码指令的如果是位元件,其点数为2^16=65536。2.6.9基本应用指令(ENCOL)10、二进制转格雷码[GRY]二进制转格雷码是将指定二进制数转换为格雷码的指令。指令说明如图所示:转换过程如图所示:从D10的最右边一位起,依次将每一位与左边一位异或(相同为“0”,相异为“1”),作为对应格雷码该位的值,最左边一位不变(相当于左边是0);转换的结果存入D100中。2.6.10基本应用指令(GRY)11、格雷码转二进制[GBIN]格雷码转二进制是将指定格雷码转换为二进制数的指令。指令说明如图所示:转换过程如图5-69所示:从D10的左边第二位起,将每位与左边一位解码后的值异或(相同为“0”,相异为“1”),作为该位解码后的值(最左边一位依然不变)。转换的结果存入D100中。2.6.11基本应用指令(GBIN)浮点运算指令第二节基本应用指令2.7基本应用指令(浮点运算)指令助记符指令功能ECMP浮点数比较EZCP浮点数区间比较EADD浮点数加法ESUB浮点数减法EMUL浮点数乘法EDIV浮点数除法ESQR浮点数开方SIN浮点数SIN运算COS浮点数COS运算TAN浮点数TAN运算ASIN浮点数反SIN运算ACOS浮点数反COS运算ATAN浮点数反TAN运算很多场合下,整数运算的精度往往不能满足用户的要求,这就需要用到浮点运算指令。浮点数运算包含指令如下表所示:
从上表可以看出,浮点数指令除了三角函数和反三角函数外,其余的比较指令和加减法指令,均有对应的整数指令,与整数用法相似,需要注意的有两点:①浮点数运算前,若操作数不是浮点数类型,则需要先转换成浮点数类型再参与计算。且转换时,无论是16位整数、32位整数还是64位整数,转换成的浮点数均占用两个地址连续的寄存器。②浮点数运算过程中,无论是单字相乘还是双字相乘,乘法运算的结果仍存放在两个地址连续的寄存器中,除法运算的结果则不存在商和余数,直接以小数的形式存放在两个地址连续的寄存器中。2.7基本应用指令(浮点运算)【控制要求】
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京化工大学《硬笔书法(行书)》2021-2022学年第一学期期末试卷
- 租赁合同转产权合同模板
- 经营特种许可合同范例
- 二零二四年度电子产品销售与代理合同
- 私人屠宰合同模板
- 2024年度餐饮企业加盟合同
- 简易冲压模具合同模板
- 办事处主任安全管理责任制(4篇)
- 实验室人员管理制度(3篇)
- 开发楼盘合同范例
- 酒店业食品安全
- 细菌性感染护理查房
- 2024版《安全生产法》考试题库附答案(共80题)
- 《中华人民共和国文物保护法》知识专题培训
- 森林病虫害防治造林施工承包合同
- 网络安全技术作业指导书
- 2024年信息网络工程分包劳务合同
- 网约车全国公共科目考试题库与答案(一)
- 2024年11月绍兴市2025届高三高考科目诊断性考试(一模) 数学试卷(含答案)
- 四川省成都市2023年中考语文真题试卷
- 煤矿灾害预防及事故应急管理
评论
0/150
提交评论