AB-PLC指令集_第1页
AB-PLC指令集_第2页
AB-PLC指令集_第3页
AB-PLC指令集_第4页
AB-PLC指令集_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、AB PLC指令集目录一、位指令31 .检查是否闭合指令(XIC) 32 .检查是否断开指令 (XIO) 33 .输出激励指令(OTE) 34 .输出锁存指令(OTL) 35 .输出解锁存指令(OUT) 46 .一次响应指令(ONS) 47 .上升沿触发指令(OSR) 48 .下降沿触发指令(OSF) 4二、计时器和计数器指令 51 .延时导通计时器指令 (TON) 52 .延时断开计时器指令 (TOF) 63 .保持型计时器RTO 74 .加计数指令(CTU ) 75 .减计数指令(CTD ) 86 .复位指令(RES) 9三、比较指令101 .比较指令(CMP) 102 .等于指令(EQU

2、) 113 .大于或等于指令(GEQ) 124 .大于指令(GRT) 125 .小于或等于指令(LEQ) 126 .小于指令(LES) 137 .极限比较指令(LIM ) 138 .屏蔽等于指令(MEQ) 149.不等于指令(NEQ) 15四、计算/算术指令151计算指令(CPT) 152加法指令(ADD) 173减法指令(SUB) 174乘法指令(MUL) 185.除法指令(DIV) 186平方根指令(SQR) 197取反指令(NEG) 20五、传送/逻辑指令 201 .传送指令(MOV) 202 .屏蔽传送指令(MVM) 213 .位域分配(BTD) 224 .清零指令(CLR) 235

3、.按位与指令(AND) 236 .按位或指令(OR) 247 .按位异或指令(XOR) 258 .按位非指令(NOT) 26AB PLC指令集一、位指令1 .检查是否闭合指令(XIC)XIC属输入指令,若相应位地址中是1(ON),则表示该指令的逻辑为真(true),它类似于常开开关,如果位地址使用了输入映象表的位,则其状态必须与相应地址实际输入设备的状态相 一致,XIC的指令形式如右图,在该指令中,若发现数据表中Local:1:I.Date.0是ON状态(数据 为1),则指令为真.Local:1:I.Date.0与本地机架1号槽的数据第0位对应,若输入电路为真,则Loo*l:LD 出力指令为真

4、.2 .检查是否断开指令(XIO)XIO属输入指令,若相应位地址的数据是1(ON),则表示该指令的逻辑为假 (false),否则该 指令的逻辑为真(true工它类似于一常闭开关,XIO的形式如右图,在该指令中,若发现数据表 中Local:1:I.Date.0是OFF(数据为0)则指令为真.Local:1:I.Date.0与本地机架1号槽的数据第0 位对应,若输入电路为假则指令为真.Local ! I Data 03 .输出激励指令(OTE)OTE属输出指令,用于控制存贮器中的位,若该位对应输出模块上的一个端子,则当该指 令使能时,连接到该端子上的设备被接通 ,反之,设备不动作,若OTE指令前面

5、的阶梯条件为真, 则处理器使能OTE指令.一条OTE指令如同一个继电器的线圈,OTE指令由它前面的输入指令控制,而继电器的线圈由硬触点控制.OTE的形式如右图.在该指令中,若阶梯条件为真,则该指令使处理器把输出映象表中的Local:2:O.Date.0置为ON状态(数值为1);若阶梯条件为假,则置为OFF状态(数值为0),地址Local:2:O.Date.0与 本地机架2槽的数据第0位对应Local: 2:0.Data .0(4 .输出锁存指令(OTL)OTL属输出指令,并且是保持型指令,也就是说,当阶梯条件是真时,OTL指令使处理器置 位某一地址位,然后该位彳持置位.此后即使阶梯条件变假,该

6、位依然彳持置位;若要复位,则需 要在另一阶梯中使用解锁指令 OUT对同一地址的位解锁.OTL的形式如右图.在该指令中,若阶梯条件为真,则使处理器把输出映象表中的Local:2:O.Date,0置位,直至用OUT对其解锁.Local: Z0 Data.0 5 .输出解锁存指令(OUT)OUT常用以复位由OTL指令锁存的位.当阶梯条件为真时,对相应的位复位.以后即使阶 梯条件变假,该位依然彳持复位(置0),除非采用另一指令对该位重新置位.OTU的形式如右图.其含义与OTL对应.Local 20 Data J0 6 .一次响应指令(ONS)ONS属输入指令,如果指令被使能时存储位清零,则ONS指令使

7、能梯级的其余部分,如果 被禁止或存储位置位,ONS指令禁止梯级的其余部分.在扫描时,如果limit_switch_1是清零 状态或 storage是置位状态,则不影响阶梯.如果当扫描 limit_switch_1是置位状态且 storage是清零状态.则ONS指令置位storage1且ADD指令的和数值就保持不变,必须在limit_switch_1再次从清零变为置位,和的值才增加.limit switch 1 storage 1=_ONS>7 .上升沿触发指令(OSR)ADDAddSource ASource日Oestsumsum OtOSR是一条输出指令,OSR指令根据存储位的状态置位

8、或清零输出位.如果指令被使能时存储位清零,则OSR指令置位输出位.如果使能时存储位置位或禁止 ,则OSR指令清零输出 位.每次limit_switch_1从清零状态变为置位时,OSR指令置位output_bit_1并且ADD指令 的和加5.只要limit_switch_1保持置位,和的值就不变.必须在limit_switch_1再次从清零变为 置位,和的值才再增加.用户可以在多个梯级使用output_bit_1触发其他操作.8.下降沿触发指令(OSF).当指令被禁止,则OSF指令OSF指令是一条输出指令,OSF指令根据存储位的状态置位或清零输出位 时存储位置位,OSF指令置位输出位.如果指令禁

9、止或使能时存储位是清零状态 清零输出位.每次limit_switch_1从置位状态变为清零时,OSF指令置位output_bit_1并且ADD指令 的和加5.只要limit_switch_1保持清零,和的值就不变.必须在limit_switch_1再次从置位变为清零,和的值才再增加.用户可以在多个梯级使用output_bit_1触发其他操作二、计时器和计数器指令1 .延时导通计时器指令(TON)利用TON指令在预置时间内计时完成去控制输出的接通或断开.当阶梯为真时,TON指令开始累加计时,直至下列条件之一发生为止:累加值等于预置值.阶梯变假.复位计时器.相关的SFC步变无效.一旦阶梯条件变假,

10、不论计时器是否到时,处理器都复位累加值.可见每一个TON必须使 用一个计时器元素(如,并提供下列参数:(1)预置值(Present):用以设置预定时间,以一个16位的整数值放置,范围032767.(2)累加值(Accum):是一个动态值,告诉用户目前已经延时的数值,计时器复位时,其值为TON Timer On telay Timer?Presd?Agguit?0. TON的操作及其相应的状态可用下表描述阶梯条件EN(W位)TT(计时位)DN(完成位)说明假000不计时真110正在计时,累积 值预置值真101累积值 坝置 值,计时完成用复位指令RES000ACC=0,PRE变,计时器复 位TON

11、指令举例limit switch 1一TONTimer On D 回回y TimerPresetAccum而干 口一-KEN 一利tinetimer 1M当limit_switch_1被置位时,light_2接通180毫秒(timer_1计时).当timer_1的累加值.ACC 达到180时,light_3接通.而且保持导通直到 TON指令被禁止.如果在timer_1正计时时 limit_switch_1 断开,则关断 light_2.2 .延时断开计时器指令(TOF)TOF指令在阶梯条件变假时开始累加计时直至下列条件之一产生:累加值等于预置值.阶梯条件变为真相关的SFC步变无效.一旦阶梯条件

12、变真,不论计时器是否到时,处理器都复位累加值.各 参数的含义与TON相同.TOF的操作及其相应的状态可用下表描述.40F-(plvQ-Timer Off Delsy Timer?Preset?Accum一旦阶梯条件变真,不论计时器是否到时,处理器都复位累加值.各参数的含义与 TON相 同.TOF的操作及其相应的状态可用下表描述.阶梯条件EN(有效位)TT(计时位)DN(完成位)说明真101计时器不计时,ACC=0,计 时器复位假011正在计时,累积值预置值假000累积值=置值,计时完成由于RES指令将对正在计时的计时器累加值,完成位和计时位进行复位,所以不可用RES复 位指令复位TOF. TO

13、F指令举例limit switch 2TOFTimer Off DekiTimerlimer_2Preset180Accum0 timer 2,tttimer Zdn当limit_switch_2 被清零时,light_2接通180毫秒(timer_2计时).当timer_2的累加值.ACC达 到180时,light_2断开同时light_3接通.而且保持导通直到 TOF指令被使能.如果在timer_2 正计时时limit_switch_2被置位,则关断light_2.3.保持型计时器 RTORTO指令在阶梯条件为真, 开始计时,直到累加值达到预置值为止。下列条件发生时,RTO指令保持其累加值

14、:阶梯变假。用户改变到编程方式。处理器出错或断电。相关的SFC步变无效。当处理器重新运行或阶梯变真时,计时器从保持的值开始续计时。由于保持累加值,所以在阶梯为真的时间内保持型计时器测量了累加时间。如果RTO阶梯条件变假后,要复位其累加值和状态位,用户需在另一条阶梯中编写具有相同地址的复位指 令 RES。RTORetentive Timer OnTkner?Preset?Accum?CEN1RTO指令举例:limit switch 1timer 3.ttT J_J.!_ erJlimit switch 2FIT口Retentive Timer lJnTimertimer_3Preset1 Slj

15、"*"Accurn0 light 1light 2YAtimer_3 CRES当limit_switch_1被置位时,light_1接通180毫秒(timer_3计时).当timer_3的累加值.ACC达到180时,light_1断开同时light_2接通.而且light_2保持导通直到timer_3被复位。如果在timer_3正计时时limit_switch_2 被清零,则light_1保持导通。当limit_switch_2 被复位时,RES指令复位timer_3 (清零状态位和.ACC)。4.加计数指令(CTU)CTU指令是一条输出指令。操作数:操作数数据类型格式说明

16、计数器COUNTER标签计数器结构预置值DINT立即数计数次数累加值DINT立即数1计数器已经计数的次数,一般初始值为0计数器结构:助记符数据类型说明.CUBOOL加计数使能位一标识CTU旨令 被使能.DNBOOL完成位一标识累加值(.ACC) >=(预置值.PRE).OVBOOL益出位一标识计数器超过上 限值2147483647。然后计数器 返回到-2147483648。并再升 始加计数.PREDINT预置值一指定在指令置位完 成位(.DN)之前累加值所达 到的值.ACCDINT累加值一表示指令已经计数 的梯级转换的次数。C42C说明:CTU指令向上计数。如果指令被使能时加计数使能位(

17、.CU)是清零状态,则汀U指令使计数器加1。如果指令被使能位(.CU)是置位状态,或指令被禁止,CTU指4减持它的累加值(.ACC)。即使完成位(.DN)被置位之后,累加值也继续增加。如果要清 室累加值,可以用一条引用同一计数器结构的RES指令,或写0值到计数器的累加值。汀U指令举例:Illi III 3ELk11-Lrl U-匚duntU 口匚 ciunl:曰counter_1Preset10 *Accum0 *-CcjJ Lcounter 1.dn3 Elimit swftch 2r"TLcounteir 1limit_switch_1由禁止变为使能10次之后,完成位.DN被置位

18、。并且接通light_1。如果 limit_switch_1继续由禁止变为使能,则计数器counter继续增加它的计数值,且完成位.DN 保持置位状态。当limit_switch_2被使能时,RES指令复位counter(清零状态位和.ACC 值)并且关断light_1。5.减计数指令(CTD)CTD指令是一条输出指令。 操作数:操作数数据类型格式说明计数器COUNTER标签计数器结构预置值DINT立即数计数次数累加值DINT立即数计数器已经计数的次 数,一般初始值为0计数器结构:助记符数据类型说明.CDBOOL减计数使能位一标识CTD指 令被使能.DNBOOL完成位一标识累加值(.ACC)

19、(预置值.PRE).UNBOOL下出位一标识计数器超过下 限值-2147483648。然后计数器返回到2147483647。在开始 减计数.PREDINT预置值一指定在指令置位完 成位(.DN)之前累加值所达 到的值.ACCDINT累加值一表示指令已经计数 的梯级转换的次数。说明:CTD指令向下计数。如果指令被使能时减计数使能位(.CD)是清零状态,则CTD指令使计数值减1。如果指令被使能时减计数位(.CU)置位,或指令被禁止,则 CTD 指令保持它的累加值(.ACC)。即使完成位(.DN)被置位之后,累加值也继续减少。如果 要清零累加值,可以用一条引用同一计数器结构的RES指令,或写0值到计

20、数器的累加值。CTD指令举例:restartcounter 1YRES)limit switch 1-A 一CTUCount UpCounterL:ounter_1Preset1 口万 企.i.ccurn口 6CCUlimit switch 2counter 1.dnCTDCount D ownCounterL:ounter_1Preset1 口值.i.ccurn口.CCDCDN传送装置把零件带到缓存区。每进入一个零件,limit_switch_1被使能且counter的累加值加1。每取出一个零件limit_switch_被使能且counter的累加值减1。如果有100个零 件进入缓存区(置位

21、 counter的完成位.DN ),则关断传送装置 A,在缓存区有空间之前, 不用传送零件进入缓存区。6.复位指令(RES)操作数数据类型格式说明结构TIMER CONTROLCOUNTER标签复位的结构RES指令是一条输出指令。 操作数:三、比较指令1 .比较指令(CMP)CMP是一条输入指令。CMPCompareExpression ?操作数:操作数数据类型格式说明表达式SINT INT DINTREAL立即数标签表达式由被运算符分 隔的标签与/或立即 数组成说明:CMP指令执行表达式中指定的算术运算比较。用户要执行的运算由表达式定义。用 运算符,标签和立即数定义表达式。表达式中的复杂部分

22、用圆括号()定义。有效运算符运算符说明最优数据类型+加DINT , REAL-减/非DINT , REAL*乘DINT , REAL/除DINT , REAL=DINT , REAL<小于DINT , REAL<=小于或等于DINT , REAL>DINT , REAL>=或QDINT , REAL<>不等于DINT , REAL*指数DINT , REALACS反余弦REALAND按位与DINTASN反正弦REALATN反正切REALCOS余弦REALDEG弧度转换成角度DINT , REALFRDBCD码转换成整数DINTLN自然对数REALLOG以10

23、为底的对数一REALNOT位补码DINTOR按位ORDINTRAD角度转换成弧度DINT, REALSIN正弦REALSQR平方根DINT, REALTAN正切REALTOD整数转换成BCDDINTXOR按位异或DINT确定运算顺序指令按预先规定的顺序,而不必按用户列出的1项序,执行写入表达式的运算。可以通过把分组项组合到圆括号内来改变运算顺序,强制指令在执行其他运算之前执行圆括号内的运算,来改变运算顺序。同级运算顺序从左向右执行。顺序运算符1ACS, ASN, ATN , COS, DEG, FRD, LN, LOG, RAD , SIN, SQR, TAN , TOD2*3-(取反),NO

24、T4*,/5<,<=,>,>=,=6-(减),+7AND8XOR9OR与专用比较指令相比, 执行一条CMP指令速度稍慢而且占用更多的内存。 CMP指令的 优点是用户可以在一条指令内写入复杂的表达式。CMP- Coimpare:! Expression vNue_1 = valu2 如果CMP指令判断表达式为真,则梯级输出条件被设 置为真。值:如果表达式的值是梯级输出条件被设置为非零值真零值假2 .等于指令(EQU)EQU指令是一条输入指令。如果value 1与value 2相等,则梯级输出条件被设置为真。£QUEqual10 2 0Source A value

25、操作数:操作数数据类型格式说明源ASINT INT DINTREAL立即数标签与源B比较的数值源BSINT INT DINTREAL立即数标签与源A比较的数值说明:EQU指令测试源A的值与源B的值是否相等。REAL数据类型的数值很少绝对相等。如果必须确定两个 REAL值是否相等,可以使用 LIM指令。3 .大于或等于指令(GEQ)GEQ指令是一条输入指令。如果value 1大于或等于value 2,则梯级输出条件被设置为真。GEQGrtr Than01 Eql(A>=B)Source & value 11Source B操作数操作数数据类型格式说明源ASINT INT DINT

26、REAL立即数标签与源B比较的数值源BSINT INT DINT REAL立即数标签与源A比较的数值说明:GEQ指令测试源A的值是否大于或等于源 B的值。4 .大于指令(GRT)GRT指令是一条输入指令。如果value_1大于value_2,则梯级输出条件被设置为真。GATGreater Than (A>B)Source A value_10*Source B value 2 一。*操作数:操作数数据类型格式说明源ASINT INT DINTREAL立即数标签与源B比较的数值源BSINT INT DINTREAL立即数标签与源A比较的数值说明:GRT指令测试源A的值是否大于源 B的值。5

27、 .小于或等于指令(LEQ)GEQ指令是一条输入指令。如果value 1小于或等于value 2,则梯级输出条件被设置为真。Le藐 Than or(A<=BSource Avalue_10*Source Bvalue 2-0*-操作数:操作数数据类型格式说明源ASINT INT DINTREAL立即数标签与源B比较的数值源BSINT INT DINTREAL立即数标签与源A比较的数值6 .小于指令(LES)LES指令是一条输入指令。如果value_小大于value_2,则梯级输出条件被设置为真。LES Less Than (A<B) 一Source A value 1一口*Sour

28、ce B value_20*操作数:操作数数据类型格式说明源ASINT INT DINTREAL立即数标签与源B比较的数值源BSINT INT DINTREAL立即数标签与源A比较的数值说明:LES指令测试源A的值是否小于源B的值。7 .极限比较指令(LIM)LIM指令是一条输入指令。 操作数:操作数数据类型格式说明下限SINT INT DINTREAL立即数标签下限值源B测试SINT INT DINTREAL立即数标签测试值上限SINT INT DINTREAL立即数标签上限值说明:LIM指令比较测试值是否在下限和上限范围内。LIM指令举例:例1LIM light 1Limit Test C

29、IRCLow Limit0Testvalue0*High Limit100LowLimit<=HighLimit:当 0<=value<=100 时,接通 light_1.例2LIMlight 1 Limit Test (CIRC C )Low LimitUT estvalueHigh Limit-100LowLimit>=HighLimit:当 value>=0 或 value<=-100 时,接通 light_1.8 .屏蔽等于指令(MEQ)MEQ指令是一条输入指令。 操作数:操作数数据类型格式说明源SINT INT DINT立即数标签与比较值比较的数值

30、屏敝SINT INT DINT立即数标签阻止或通过的位比较SINT INT DINT立即数标签与源值比较的数值说明:MEQ指令比较通过屏蔽的源值和比较值的结果。MEQ指令举例:例1 :MEQ light 1 Mask EqualC)Sourcevalue_1Maskmask_1Comparevakie_22#0101_0101_1111_0000 *Value_1 :0101010111111111Mask_1:1111111111110000通过屏敝的value_1:010101011111*Value 2 :0101010111110000Maskl:1111111111110000通过屏

31、蔽的 value_2:010101011111*9.不等于指令(NEQ)NEQ指令是一条输入指令。.2,则梯级输出条件被设置为真。如果value 1不等于valueNEQNot EqualSource A ¥占卜1已_Source B操作数:操作数数据类型格式说明源ASINT INT DINTREAL立即数标签与源B比较的数值说明:NEQ指令测试源A的值与源B的值是否相等。四、计算/算术指令1计算指令(CPT)CPT指令是一条输出指令。0ComputeDestExpression操作数:操作数:数据类型:格式:说明:目的单元SINT INT DINT REAL标签存储结果的标签表达式

32、SINT INT DINT REAL立即数标签表达式由运算符分开 的标签/立即数组成。说明:CPT指令执行表达式中定义的算术运算。当指令被使能时 CPT指令计算表达式的数值并且存放结果于目的单元内。与其它算术指令运算相比 CPT指令的运算速度稍慢而 且占用更多的内存。CPT指令的优点是它允许用户在一条指令内输入复杂的表达式。有效运算符:运算符:说明:最优数据类型:+加D INT, REAL-减/非D INT, REAL*乘D INT, REAL/除D INT, REAL*指数(xtoy)D INT, REALACS反余弦REALAND按位与DINTASN反正弦REALATN反正切REALCOS

33、余弦REALDEG弧度转换成角度D INT, REALFRDBCD码转换成整数DINTLN自然对数REALLOG;以10为底的对数REALNOT位补码DINTOR按位ORDINTRAD角度转换成弧度D INT, REALSIN正弦REALSQR平方根D INT, REALTAN正切REALTOD整数转换成BCDDINTXOR按位异或DINT确定运算顺序 指令按预先规定的顺序而不必按用户列出的顺序执行写入表达式的运算。可 以通过把分组项组合到圆括号内来改变运算顺序强制指令在执行其他运算之前执行圆括号 内的运算来改变运算顺序。同级的运算顺序是从左向右执行。顺序:运算符:1 ACS, ASN, AT

34、N , COS, DEG, FRD, LN, LOG, RAD, S IN, SQR, TAN TOD2 *3 -(取反)NOT4 *, /5-(减)+6 AND7 XOR8 OR执行:条件:动作:预扫描梯级输出条件被设置为假。梯级输入条件为假梯级输出条件被设置为假。梯级输入条件为真指令计算表达式并存放结果于目的单兀梯 级输出条件被设置为真。算术状态标志:影响算术状态标志故障条件:无CPT指令举例:当指令被使能时 CPT指令计算value_1乘以5的结果,然后此结果被value_2除以7的结果除并把最后结果存放在result_1内.CPTComputeDestresult 10.0*Expre

35、oion (mlue_1 :15)/(value_2/7)2加法指令(ADD)ADD指令是一条输出指令。 操作数:操作数数据类型格式说明源ASINT INT DINTREAL立即数标签与源B操作数相加的 值。说明:ADD指令使源A操作数与源B操作数相加并存放计算结果于目的单元内。 执行:条件:动作:预扫描梯级输出条件被设置为假。梯级输入条件为假:梯级输出条件被设置为假。梯级输入条件为真目的单元=源A+源B,梯级输出条件被 设置为真。算术状态标志:影响算术状态标志故障条件:无ADD指令举例:当指令使能时 ADD指令使float_value_1与float_value_2相加并存放结果于 add

36、_result内。-ADD-AddSource A贴由“目Ll&_1 0.0*Souice BfloaLvalue_20.0*Destadd result 0.0 +3减法指令(SUB)SUB指令是一条输出指令。 操作数:操作数数据类型格式说明源ASINT INT DINTREAL立即数标签减去源B操作数相加 的值。源BSINT INT DINTREAL立即数标签从源A操作数减去的 值目的单元SINT INT DINTREAL标签存放计算结果的标 签。说明:SUB指令使源A操作数减去源 B操作数并存放结果于目的单元内。 执行:条件:动作:预扫描梯级输出条件被设置为假。梯级输入条件为假梯

37、级输出条件被设置为假。梯级输入条件为真目的单元=源A源B梯级输出条件被 设置为真。算术状态标志:影响算术状态标志 故障条件:无SUB指令举例:当指令使能时 SUB指令使float _value_1减去float_ value_2并存放Z果于 subtract_result内。SUBSubtract1Source A float vaJue 1"。门S ource B tloa t_* Hie_2 o.cT*-Dest 5vblract_fesdlt0 0*4乘法指令(MUL)MUL指令是一条输出指令。操作数:操作数数据类型格式说明源ASINT INT DINTREAL立即数标签被乘数

38、源BSINT INT DINTREAL立即数标签乘数目的单元SINT INT DINTREAL标签存放计算结果的 标签。说明:MUL指令使源A操作数与源B操作数相乘并存放计算结果于目的单元。 执行:条件:动作:预扫描梯级输出条件被设置为假。梯级输入条件为假梯级输出条件被设置为假。梯级输入条件为真目的单元=源A*源B,梯级输出条件被 设置为真。算术状态标志:影响算术状态标志故障条件:无MUL指令举例:当指令使能时 MUL指令使float_value_1与float_value_2相乘并存放结果于multjply_result内。MultiplySource A Jloat_value_10.0*

39、-Source B float value 2- 0,0*Dest multiply re5dt0 0*5.除法指令(DIV)DIV指令是一条输出指令。 操作数:操作数数据类型格式说明源ASINT INTDINT REAL立即数标签被除数值。源BSINT INTDINT REAL立即数标签除数值。说明:DIV指令使源A操作数被源B操作数除并存放结果于目的单元。 执行:条件:动作:预扫描梯级输出条件被设置为假。梯级输入条件为假梯级输出条件被设置为假。梯级输入条件为真目的单元=源人/源8,梯级输出条件被 设置为真。算术状态标志:影响算术状态标志故障条件:无DIV指令举例:当指令使能时 DIV指令使

40、float_value_1被float_value_2除并存放结果于 divide_result内。-DIVDivideSource Afloat value 1Source Bfloat value 20.0*Destdivide result口口.6平方根指令(SQR)SQR指令是一条输出指令。操作数:操作数数据类型格式说明源SINT INT DINTREAL立即数标签计算该值的平方 根。目的单元SINT INT DINTREAL立即数标签存放计算结果的 标签。说明:SQR指令计算源操作数的平方根并存放计算结果于目的单元内。如果源操作数是负数则指令在计算源操作数的平方根之前先计算其绝对值。

41、执行:条件:动作:预扫描梯级输出条件被设置为假。梯级输入条件为假梯级输出条件被设置为假。梯级输入条件为真目的单兀=梯级输出条件被设置为真。Destination=(Soure)1/2算术状态标志:影响算术状态标志故障条件:无SQR指令举例:当指令被使能时 SQR指令方t算value_1的平方根并存放计算结果于sqr_result内。SQRSquare Root Source value 10*Dest qt_re$ulto.o*-7取反指令(NEG)NEG指令条输出指令。 操作数:!-操作数数据类型格式说明源SINT INT DINTREAL立即数标签要取反的数值。目的SINT INT DIN

42、TREAL立即数标签存放计算结果的 标签。说明:NEG指令改变源操作数的符号并存放结果于目的单兀。如果对一个负数取反则结果是正数。如果对正数取反则结果是负数。执行:条件:动作:预扫描梯级输出条件被设置为假。梯级输入条件为假梯级输出条件被设置为假。梯级输入条件为真目的单元=0源操作数,梯级输出条件 被设置为真。五、传送/逻辑指令1.传送指令(MOV)MOV指令条输出指令。操作数:操作数数据类型格式说明源SINT INT DINTREAL立即数标签被传送(复制)的数 值目的单元SINT INT DINTREAL立即数标签存放计算结果的标 签。说明:MOV指令复制源操作数到目的单兀。源操作数保持不变

43、。 执行:条件:动作:预扫描梯级输出条件被设置为假。梯级输入条件为假梯级输出条件被设置为假。梯级输入条件为真指令复制源操作数到目的单元。梯级输 出条件被设置为真。算术 故障 MO' 当指,状态标志:不影啡:条件:无V指令举例:,令被使能时,M(MOVMoveSource value 10*Dest value 20*)V指令复制在value_1内的数据到value_2.2.屏蔽传送指令(MVM)MVM指令是一条输出指令。 操作数:操作数数据类型|格式说明源SINT INT DINT立即数标签被传送的值屏敝SINT INT DINT立即数标签阻止或通过的 位。目的单元SINT INT D

44、INT标签存放结果的标 签。说明:MVM指令复制源操作数数值到目的单元并且允许部分数据被屏蔽。源操作数保持不变。当指令被使能时 MVM指令通过屏蔽传送或阻止源数据位。屏蔽位的一个1值意味着位数据可以通过。屏蔽位的一个O值意味着位数据被阻止。如果用混合整型数据类型则指令用O值来填充小整数数据类型的高位以使它们与最大整型数据类型的大小相同。输入立即数作为屏蔽值当输入立即数作为屏蔽值时编程软件默认为是十进制数值。如果要输入一个其它格式的屏蔽值可以在数值之前加相应的前缀如下表所示:前缀:说明:16#十六进制例如:16#OFOF8#八进制,例如:8#162#二进制,例如:2#00110011算术状态标志

45、:影响算术状态标志故障条件:无MVM指令举例:当指令被使能时 MVM指令从value_1复制数据到value_2同时允许数据被屏蔽(屏蔽操作数 内各位的一个0值屏蔽在value_1内的位数据)。MVMMasked MoveSourcevalue A2tt0101_0101_0101_0101_0101_0101_0101._01 of /Maskmask 22«1111_0000_1111_00001111_0000_1111._0000 4Destvalue_b阴影部分表示value_2内的数值被改变。3.位域分配(BTD)BTD指令是一条输出指令。操作数:操作数:数据类型:格式:

46、说明:源SINTINTD INT立即数 标签包含要传送数据位的标签。源位D INT立即数(0 31 DINT)(0 15 INT)(0 7 SINT)开始传送位的位置号(低位号)必须 在源数据类型的有效范围内。目的SINTINTD INT标签传送位的目的单元标签。目的位D INT立即数从源操作数复制的位在目的单兀的起始位 号(低位号)必须在目的操作数数据类型的 后效范围内。长度D INT立即数(1 32)被传送的位的数量。说明:BTD指令复制源操作数的指定位并传送这些位到适当的位置并把这些位写到目的元 内。目的单元内的其余部分保持不变。当指令被使能时B 丁 O指令复制来自源操作数的位组到目的单

47、元内。该位组由源位 (位组的低位位号)和长度(要复制的位的数量)确定。目的位 确定目的单元内开始的低位号。源操作数保持不变。如果位字段扩展的长度超过目的单元的边界则指令不保存超出的位。超出的位也不与下个字重叠。 如果用混合整数数据类型则指令用O值来填充小整数数据类型的高位以使它们与最大数据类型的大小相同。执行:条件:动作:预扫描梯级输出条件被设置为假梯级输入条件为假梯级输出条件被设置为假梯级输入条件为真指令复制并且传送源数据位到目的单元。 梯级输出条件被设置为真。算术状态标志:影响算术状态标志故障条件:无BTD指令举例:例1当指令被使能时指令传送在value_1内的位。-BTDB ii Fie

48、ld DSaucevalue 1.1 ooo_oooo_oooo Source Bit3Destvalue 11I_1 OO0_OD00_OQ0O De5tBit10LengthEValue_1执行BTD旨令之后Value_1执行BTD指令之前111111111111111111 11 1 0|U 00 Qi 0 0|00|0 0r1 “皿 业 r HJLlLim 11 mini 区日损近担/p|。|口网口|口|。10|0|口|4 .清零指令(CLR)c Dvalue 999993+CLR指令是一条输出指令。 操作数:操作数:数据类型:格式:说明:目的SINTINT DINTREAL标签被清零数据的标 识符说明:CLR指令清零目的单元的所有位。 执行:条件:动作:预扫描:梯级输出条件被设置为假。梯级输入条件为假梯级输出条件被设置为假。梯级输入条件为真指令清零目的单元内的数据。梯级输出被件被设置为真。算术状态标志:影响算术状态标志故障条件:无CLR指令举例:当使能时CLR指令清零value_1内的所有位。5 .按位与指令(AND)AND旨令是一条输出指令。操作数:操作数数据类型格式说明源ASINT INTDINT立即数标签

温馨提示

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

评论

0/150

提交评论