语句表指令介绍_第1页
语句表指令介绍_第2页
语句表指令介绍_第3页
语句表指令介绍_第4页
语句表指令介绍_第5页
已阅读5页,还剩138页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于语句表指令介绍121.位操作指令A

AN

O

ON

X

XN

与非

或非

对于简单的指令,如(#),(P)等,如果在LAD中看不清楚,可以转换成语句表,了解整个执行流程。

取反

输出

中间值

复位

置位

RS/SR触发器

正负边沿检测

保存RLO到BR中

NOTRLO取反

SETRLO置位

CLRRLO复位

FN负边沿检测

FP正边沿检测

第2页,共143页,2024年2月25日,星期天3基本置位复位RS/SR触发器转换成语句表以后为R指令和S指令组合第3页,共143页,2024年2月25日,星期天4(P)检测前面M1.2的状态,其数值放置在M1.4内,与下一次M1.2相比。(N)检测前面M1.2的状态,其数值放置在M1.3内,与下一次M1.2相比。=输出,赋值指令第4页,共143页,2024年2月25日,星期天5NEG检测M1.6的状态。因为Q4.4的状态只是保持一个周期,所以使用一个自锁,观察状态。第5页,共143页,2024年2月25日,星期天6系统把某一变量恒定置位或者复位的方法。还有:A“FALSE”R“FALSE”AN“TRUE”S“TRUE”第6页,共143页,2024年2月25日,星期天7使用同一个信号分别设置本地与远程操作。紧停信号串联,因为只要一个出现故障,则系统断电。第7页,共143页,2024年2月25日,星期天8根据某一时钟脉冲,再作出其它一些时钟脉冲。本例子中,根据M6.1-1秒钟的时钟脉冲,作出一个3秒钟的时钟脉冲来。其中#IF.H1_Imp3Sec为一直小于3的计数变量,其在每次M6.1为1时加1,加到3时,把M6.7置位输出,否则,复位M6.7,这样M6.7每3秒变化一次,也就是一个3秒钟的时钟周期。第8页,共143页,2024年2月25日,星期天9

XXN的组合逻辑关系图,

X/X组合在状态不同时输出为1;

X/XN组合在状态相同时输出为1;停止时有灯按照一定的频率闪烁,程序如上图。第9页,共143页,2024年2月25日,星期天10SETRLO置位

CLRRLO复位

()前后的操作,先看括号前的指令,再接合括号内指令。得出输出。把括号前的A看成是串连逻辑,括号与括号之间为串连关系。

O前后为并联逻辑,也就是说只要前后有一个为1,结果为1;第10页,共143页,2024年2月25日,星期天11?以下程序段对应与什么样的梯形图

A"STAT-a1".ROB_CTRL.Pr_AtomOnAN"STAT-a1".ROB_FLT.Flt_Seq_Program_5AN"STAT-a1".ROB_FLT.Flt_General_2 ON"EPS-CTRL_1".AT.ROB2_ENOA"GHOST_RUN"A"GHOST-W-COL"ON"PARA-STA".a1_ENABLE="CR-ATa1"第11页,共143页,2024年2月25日,星期天12

A(A(OM1000.0ONM100.5)A(ONM1000.1OM1000.2)AM1000.3OM1000.6)AM1000.7=M100.4第12页,共143页,2024年2月25日,星期天13第13页,共143页,2024年2月25日,星期天142.比较指令==ACCU2等于ACCU1

<>ACCU2不等于ACCU1

>ACCU2大于ACCU1

<ACCU2小于ACCU1

>=ACCU2大于等于ACCU1

<=ACCU2小于等于ACCU1如果满足条件,则RLO赋值,

根据不同的参数类型有不同指令:

整型数==I,<>I,>I,<I,>=I,<=I

双整型数==D,<>D,>D,<D,>=D,<=D

浮点数==R,<>R,>R,<R,>=R,<=R

第14页,共143页,2024年2月25日,星期天15ACCU1ACCU2L***//执行完此句时,把L的数值***装入累加器1,累加器1内数值◎◎装入累加器2;ACCU1***L###//执行完此句时,把L的数值###装入累加器1,累加器1内***数值装入累加器2;ACCU1ACCU2ACCU2###◎◎

$$***◎◎第15页,共143页,2024年2月25日,星期天16整数MW20>MW22,

RLO置位,M2.0输出。

梯形图指令始终是先输入的与后输入的比较。如果大于,则>I指令输出1。第16页,共143页,2024年2月25日,星期天17双整型数MD20>MD24,

RLO置位,M2.0输出。

梯形图指令第17页,共143页,2024年2月25日,星期天18比较实数第18页,共143页,2024年2月25日,星期天19应用第19页,共143页,2024年2月25日,星期天203.格式转换指令BTI/BTDBCD到整型数/双整型数

ITB/DTB整型数/双整型数到BCD

ITD整型数到双整型数

DTR双整型数到实数

INVI整型按位取反(16位)

INVD双整型按位取反(32位)

NEGI整型按位取反加1,得到负数

NEGD双整型按位取反加1,得到负数

NEGR实数得到负数

CAD交换累加器1低位内容,0-7<->8-15对换

CAW交换累加器1内容,ABCD换成DCBA。

RND、RND+、RND-、TRNUC圆整、截尾。

第20页,共143页,2024年2月25日,星期天21BCD码BCD码的形式将重量信号传输给大屏幕进行显示BCD码(二到十进制编码)把十进制数的每一位分别写成二进制形式的编码,称为二进制编码的十进制数,或BCD(BinaryCodedDecimal)编码。BCD码编码方法很多,通常采用8421编码,这种编码方法最自然简单。其方法使用四位二进制数表示一位十进制数,从左到右每一位对应的权分别是23、22、21、20,即8、4、2、1。例如十进制数975的8421码可以这样得出975(D)=100101110101(BCD)用四位二进制表示一位十进制会多出6种状态,这些多余状态码称为BCD码中的非法码。BCD码与二进制之间的转换不是直接进行的,当需要将BCD码转换成二进制码时,要先将BCD码转换成十进制码,然后再转换成二进制码;当需要将二进制转换成BCD码时,要先将二进制转换成十进制码,然后再转换成BCD码。第21页,共143页,2024年2月25日,星期天22BCD与整数之间的转换,负数的BCD格式与常规不同。第22页,共143页,2024年2月25日,星期天23BCD与双整型转换双整型转换与BCD第23页,共143页,2024年2月25日,星期天24INVI:整型各位取反NEGI:整型各位取反加1

即得到负数第24页,共143页,2024年2月25日,星期天25

得到负数CAD、CAW指令第25页,共143页,2024年2月25日,星期天26圆整到

最近整数MD10="100.5"=>RND=>MD20="+100"MD10="-100.6"=>RND=>MD20="-101"MD10="100.6"=>RND=>MD20="+101"MD10="-100.5"=>RND=>MD20="-100"第26页,共143页,2024年2月25日,星期天27截去小数点后数向上圆整MD10="100.5"=>RND+=>MD20="+101"MD10="-100.5"=>RND+=>MD20="-100"第27页,共143页,2024年2月25日,星期天284.计数器指令如果S引脚输入1,则计数器值为PV内数值;如果R引脚输入1,则计数器计数器值清零;如果CU引脚从0->1,则计数值加一,到999为止且保持不变;如果CU引脚从1->0,则计数值减一,到零为止且保持不变;第28页,共143页,2024年2月25日,星期天29第29页,共143页,2024年2月25日,星期天30把数值12赋给c3。加减计数第30页,共143页,2024年2月25日,星期天31OPN打开数据块

CDB交换数据块内容

LDBLG装载共享数据块长度

LDBNO装载共享数据块编号

LDILG装载背景数据块长度

LDINO装载背景数据块编号5.块操作指令第31页,共143页,2024年2月25日,星期天32打开数据块方式CDB交换数据块内容,例如把背景数据块里面的内容与共享数据块交换,可以访问共享数据块,进行操作处理。访问背景数据块时,可以使用DI,也可以使用DB打开数据块。第32页,共143页,2024年2月25日,星期天33把共享数据块的内容送到背景数据块内首先打开共享数据块DBMS;然后从中读出DBD1176(此处访问共享数据块,所有使用DBD***);最后,传送到DID相应地址中去(此处访问背景数据块,所有使用DID***,且不要指定数据块号,因为在调用FB时已经指定了数据块);应用第33页,共143页,2024年2月25日,星期天34LDBLG判断数据块大小是否合适OPNDB10//OpendatablockDB10asshareddatablock.LDBLG//Loadlengthofshareddatablock(lengthofDB10).LMD10//Valueforcomparisonifdatablockislongenough.<DJCERRO//JumptoERROjumplabeliflengthislessthanvalueinMD10.第34页,共143页,2024年2月25日,星期天35LDBLG装载共享数据块长度

LDBNO装载共享数据块编号

LDILG装载背景数据块长度

LDINO装载背景数据块编号第35页,共143页,2024年2月25日,星期天36DB_CC_STAT为DB4,保存控制台激活的信号;同时把此信号存放到输出里。第36页,共143页,2024年2月25日,星期天37第37页,共143页,2024年2月25日,星期天38CDB解决了在一个功能块内调用两个共享数据块的问题;否则使用OPNDB1,×××再使用OPNDB2,×××容易出问题。第38页,共143页,2024年2月25日,星期天39状态·····BRCC1CC0OSOVORSTARLOFC首次检测位

*逻辑操作结果*

状态位

或位

溢出位

溢出状态保持位

条件码0

条件码1

二进制结果位状态字表示CPU执行指令时所具有的状态,用户程序可以访问和检测状态字,并可以根据状态字中的某些位决定程序的走向和进程。

第39页,共143页,2024年2月25日,星期天406.逻辑控制指令第40页,共143页,2024年2月25日,星期天41无条件跳转指令JL:跳转表格JU:无条件跳转第41页,共143页,2024年2月25日,星期天42根据JL后面指令和JL指向标签栏之间的跳转个数决定如何跳转。第42页,共143页,2024年2月25日,星期天43根据RLO条件跳转指令第43页,共143页,2024年2月25日,星期天44BR很多时候用于输出ENO。A I1.0 A I1.2 JCB JOVR //JumpifRLO=1tojumplabelJOVR.CopythecontentsoftheRLObitintotheBRbit.L IW8 //Programscancontinueshereifjumpisnotexecuted.T MW22 JOVR: A I2.1 //ProgramscanresumeshereafterjumptojumplabelJOVR.第44页,共143页,2024年2月25日,星期天45根据状态位BR/OV/OS跳转注意此处JO与JOS的区别,JO只是判断前面的一个计算是否溢出,而JOS则判断前面所有计算是否有过溢出。第45页,共143页,2024年2月25日,星期天46第46页,共143页,2024年2月25日,星期天47根据运算结果跳转第47页,共143页,2024年2月25日,星期天48第48页,共143页,2024年2月25日,星期天49如何单步运行1,打开online功能块;(语句表格式)2,设置运行模式为test模式;3,插入断点,单步运行。第49页,共143页,2024年2月25日,星期天50

可以观察PLC的寄存器数值,查看各个工作区域变化值。第50页,共143页,2024年2月25日,星期天51第51页,共143页,2024年2月25日,星期天52第52页,共143页,2024年2月25日,星期天53第53页,共143页,2024年2月25日,星期天54第54页,共143页,2024年2月25日,星期天55JUO使用:除以0;使用非法指令;浮点数比较,与无穷大或无穷小比较。第55页,共143页,2024年2月25日,星期天56LOOP跳转第56页,共143页,2024年2月25日,星期天577.算术指令(16位整型)+IACCU1+ACCU2-IACCU2-ACCU1*IACCU1*ACCU2/IACCU2/ACCU1+整型常数(16,32位)(32位双整型)+DACCU1+ACCU2-DACCU2-ACCU1*DACCU1*ACCU2/DACCU2/ACCU1MOD取余数第57页,共143页,2024年2月25日,星期天58加法运算各种结果下的状态位指示。第58页,共143页,2024年2月25日,星期天59L20+200TMW192+I与+的用法第59页,共143页,2024年2月25日,星期天60乘法运算各种结果下的状态位指示。

第60页,共143页,2024年2月25日,星期天61如果运算结果超出变量范围,如上例里面结果超出16位的MW184,赋值后出现错误结果,因此在乘法运算时尤其注意应该考虑结果会溢出的情况。此时可以读出状态字,1011指示结果超出32767,应该赋值给32位整型。第61页,共143页,2024年2月25日,星期天62除法运算各种结果下的状态位指示。第62页,共143页,2024年2月25日,星期天63除法:ACCU2-L/ACCU1-L,然后结果放到ACCU1-L,而余数放到ACCU1-H,影响的状态位如上页所示;

所以在上图中,当结果放置到MW192时,看不到余数,而放到MD196时,可以看到高位的余数数值。第63页,共143页,2024年2月25日,星期天64ACCU2/ACCU1,余数放到ACCU1;

L2000

L30

MOD

TMW194

第64页,共143页,2024年2月25日,星期天65+RACCU1+ACCU2-RACCU2-ACCU1*RACCU1*ACCU2/RACCU2/ACCU1ABS绝对值SQR平方SQRT平方根EXP指数值LN对数值下列角度算术运算:SINCOSTANASINACOSATAN第65页,共143页,2024年2月25日,星期天66开平方必须是浮点数格式才可以。第66页,共143页,2024年2月25日,星期天67第67页,共143页,2024年2月25日,星期天68第68页,共143页,2024年2月25日,星期天69以e为底数的指数值,判断OV位是否为1,程序是否有溢出、无穷大等。第69页,共143页,2024年2月25日,星期天70应该只是接受弧度数的计算值,也就是说,先把45度转换成。第70页,共143页,2024年2月25日,星期天71第71页,共143页,2024年2月25日,星期天72符号S指数e=E+bias,bias=-127底数m=2-1~2-23

数值=(1+m)*2(e-bias)第72页,共143页,2024年2月25日,星期天73实数:100.25,转换为16进制为:42C88000,转换为2进制为:指数:27+22+20=133底数:2-1+2-4+2-8=0.566406251.56640625*2(133-127)=100.25第73页,共143页,2024年2月25日,星期天74L装载LSTW装载状态字到ACCU1LAR1AR2装载地址寄存器2的数值到地址寄存器1中LAR1<D>装载32位整型数到(32-bitPointer)地址寄存器1中LAR1装载ACCU1数值到地址寄存器AR1中LAR2<D>装载32位整型数到(32-bitPointer)地址寄存器2中LAR2装载ACCU1数值到地址寄存器2中T传送TSTW传送ACCU1到状态字TAR1AR2传送地址寄存器1到地址寄存器2TAR1<D>传送地址寄存器1到目标地址(32-bitPointer)TAR2<D>传送地址寄存器2到目标地址(32-bitPointer)TAR1传送地址寄存器1到ACCU1TAR2传送地址寄存器2到ACCU1CAR交换地址寄存器1和地址寄存器28.装载与传送指令第74页,共143页,2024年2月25日,星期天75第75页,共143页,2024年2月25日,星期天76装载共享数据块的内容,放入背景数据块响应的单元里面去。第76页,共143页,2024年2月25日,星期天77读取背景数据块的数值。第77页,共143页,2024年2月25日,星期天78FC303LP##SRC_ANY_PTR//SourceDateBlockloadLAR1LD[AR1,P#0.0]//dataTypeandrepeatingfactorTLD0//inANYPointerfileLD[AR1,P#4.0]//DBnumberandidentificationkeyTLD4//inANYPointerfileLW[AR1,P#8.0]//DWnumberTLW8//toANYPointerfileLP##DEST_ANY_PTR//pointerforSourceloadLAR1//andtoARRegisterfileLD[AR1,P#0.0]//dataTypeandrepeatingfactorTLD10//inANYPointerfileLD[AR1,P#4.0]//DBnumberandidentificationkeyTLD14//inANYPointerfileLW[AR1,P#8.0]//DWnumberTLW18//toANYPointerfile第78页,共143页,2024年2月25日,星期天799.程序控制指令BE 块结束BEC 块条件结束BEU 块无条件结束CALL 块调用CC 块条件调用UC 块无条件调用CALL 多重背景调用第79页,共143页,2024年2月25日,星期天80块条件结束:如果条件不满足,则直接返回调用块。第80页,共143页,2024年2月25日,星期天81一般调用中,一个FB占用一个DB,而采用多重背景调用,则可以多个FB占用一个DB,带来的损失是多添加一个控制用FB。第81页,共143页,2024年2月25日,星期天82上面为普通调用,下面为多重背景调用。第82页,共143页,2024年2月25日,星期天83通过DP/DPCOUPLER传输的数据。直接在两个PLC内组态相应的数据传输区域,然后访问时直接读取或者写入而不必做其它的组态。通过DP/DPCOUPLER传输的数据。直接在两个PLC内组态相应的数据传输区域,然后访问时直接读取或者写入而不必做其它的组态。第83页,共143页,2024年2月25日,星期天84DP/DPCOUPLER内组态与数据输入输出区域。第84页,共143页,2024年2月25日,星期天85在控制用FB内,把希望控制的器件数据类型设置为FB<N>,此处为FB22,然后就可以在本程序中使用了。第85页,共143页,2024年2月25日,星期天86•UC 块无条件调用,但是在调用FB时不能使用背景数据块。•所以程序内尽量使用CALL指令。第86页,共143页,2024年2月25日,星期天87多重背景调用监视第87页,共143页,2024年2月25日,星期天88第88页,共143页,2024年2月25日,星期天89步骤1,在线打开;2,设置testoperation;3,单击需要监视得块右键;第89页,共143页,2024年2月25日,星期天9010.移位指令第90页,共143页,2024年2月25日,星期天91移位无符号数第91页,共143页,2024年2月25日,星期天92第92页,共143页,2024年2月25日,星期天93有符号数移位第93页,共143页,2024年2月25日,星期天94负数移位时高位添1,正数直接移位。第94页,共143页,2024年2月25日,星期天95移位指令一览表第95页,共143页,2024年2月25日,星期天96循环移位第96页,共143页,2024年2月25日,星期天97第97页,共143页,2024年2月25日,星期天98左移254位,每移位32位相当于没有移动,所以和左移30位类似,又因为是循环移位,所以相当于右移2位,除以4。第98页,共143页,2024年2月25日,星期天99移位指令总结SSI 有符号整型移位(16-bit)SSD 有符号双整型移位(32-bit)SLW 整型左移(16-bit)SRW 整型右移(16-bit)SLD 双整型左移(32-bit)SRD 双整型右移(32-bit)RLD 循环左移(32-bit)RRD 循环右移(32-bit)RLDA 添加CC1数值到最低位(32-bit)RRDA 添加CC1数值到最高位(32-bit)第99页,共143页,2024年2月25日,星期天100RLD

RRDRLDARRDA第100页,共143页,2024年2月25日,星期天101第101页,共143页,2024年2月25日,星期天10211.定时器提供等待时间;延时关闭提供监视时间,延时启动产生脉冲等等第102页,共143页,2024年2月25日,星期天103定时器S为启动定时器信号;R为复位定时器信号,将定时时间复位为0;TV为定时时间;BI、BCD为定时器的剩余时间。共有5种定时器。第103页,共143页,2024年2月25日,星期天104时间值第104页,共143页,2024年2月25日,星期天105第105页,共143页,2024年2月25日,星期天106启动与复位定时器复位指令为1则会将定时器的数值复位为0。第106页,共143页,2024年2月25日,星期天107脉冲定时器第107页,共143页,2024年2月25日,星期天108要点第108页,共143页,2024年2月25日,星期天109扩展脉冲定时器第109页,共143页,2024年2月25日,星期天110要点第110页,共143页,2024年2月25日,星期天111接通延时定时器第111页,共143页,2024年2月25日,星期天112要点第112页,共143页,2024年2月25日,星期天113带保持的接通延时定时器第113页,共143页,2024年2月25日,星期天114要点第114页,共143页,2024年2月25日,星期天115断电延时定时器第115页,共143页,2024年2月25日,星期天1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论