AB PLC指令集.doc_第1页
AB PLC指令集.doc_第2页
AB PLC指令集.doc_第3页
AB PLC指令集.doc_第4页
AB PLC指令集.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

AB PLC指令集目 录一、位指令31.检查是否闭合指令(XIC)32.检查是否断开指令(XIO)33.输出激励指令(OTE)34.输出锁存指令(OTL)35.输出解锁存指令(OUT)46.一次响应指令(ONS)47.上升沿触发指令(OSR)48.下降沿触发指令(OSF)4二、计时器和计数器指令51.延时导通计时器指令(TON)52.延时断开计时器指令(TOF)63.保持型计时器RTO74.加计数指令(CTU)75.减计数指令(CTD)86.复位指令(RES)9三、比较指令101.比较指令(CMP)102.等于指令(EQU)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. 按位与指令(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位对应,若输入电路为真,则指令为真. 2.检查是否断开指令(XIO) XIO属输入指令,若相应位地址的数据是1(ON),则表示该指令的逻辑为假(false),否则该指令的逻辑为真(true ),它类似于一常闭开关.XIO 的形式如右图. 在该指令中,若发现数据表中Local:1:I.Date.0是OFF(数据为0)则指令为真. Local:1:I.Date.0与本地机架1号槽的数据第0位对应,若输入电路为假则指令为真.3.输出激励指令(OTE) OTE属输出指令,用于控制存贮器中的位.若该位对应输出模块上的一个端子,则当该指令使能时,连接到该端子上的设备被接通,反之,设备不动作.若OTE指令前面的阶梯条件为真,则处理器使能OTE指令.一条OTE指令如同一个继电器的线圈.OTE指令由它前面的输入指令控制,而继电器的线圈由硬触点控制.OTE的形式如右图. 在该指令中,若阶梯条件为真,则该指令使处理器把输出映象表中的Local:2:O.Date.0置为ON状态(数值为1);若阶梯条件为假,则置为OFF状态(数值为0).地址Local:2:O.Date.0与本地机架2槽的数据第0位对应4.输出锁存指令(OTL) OTL属输出指令,并且是保持型指令,也就是说,当阶梯条件是真时,OTL指令使处理器置位某一地址位,然后该位保持置位.此后即使阶梯条件变假,该位依然保持置位;若要复位,则需要在另一阶梯中使用解锁指令OUT对同一地址的位解锁.OTL的形式如右图. 在该指令中,若阶梯条件为真,则使处理器把输出映象表中的Local:2:O.Date.0置位,直至用OUT对其解锁.5.输出解锁存指令(OUT) OUT常用以复位由OTL指令锁存的位.当阶梯条件为真时,对相应的位复位.以后即使阶梯条件变假,该位依然保持复位(置0),除非采用另一指令对该位重新置位.OTU的形式如右图.其含义与OTL对应.6.一次响应指令(ONS) ONS属输入指令,如果指令被使能时存储位清零,则ONS指令使能梯级的其余部分,如果被禁止或存储位置位,ONS指令禁止梯级的其余部分. 在扫描时,如果limit_switch_1是清零状态或storage_1是置位状态,则不影响阶梯.如果当扫描limit_switch_1是置位状态且storage_1是清零状态.则ONS指令置位storage_1 1且ADD指令的和数值就保持不变,必须在limit_switch_1再次从清零变为置位,和的值才增加.7.上升沿触发指令(OSR) OSR是一条输出指令,OSR指令根据存储位的状态置位或清零输出位.如果指令被使能时存储位清零,则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指令清零输出位.每次limit_switch_1从置位状态变为清零时,OSF指令置位output_bit_1并且ADD指令的和加5.只要limit_switch_1保持清零,和的值就不变.必须在limit_switch_1再次从置位变为清零,和的值才再增加.用户可以在多个梯级使用output_bit_1触发其他操作.二、计时器和计数器指令1.延时导通计时器指令(TON) 利用TON指令在预置时间内计时完成去控制输出的接通或断开.当阶梯为真时,TON指令开始累加计时,直至下列条件之一发生为止: 累加值等于预置值. 阶梯变假. 复位计时器. 相关的SFC步变无效. 一旦阶梯条件变假,不论计时器是否到时,处理器都复位累加值. 可见每一个TON必须使用一个计时器元素(如 ),并提供下列参数: (1) 预置值(Present):用以设置预定时间,以一个16位的整数值放置,范围032767. (2) 累加值(Accum):是一个动态值,告诉用户目前已经延时的数值,计时器复位时,其值为 0. TON的操作及其相应的状态可用下表描述.阶梯条件 EN(有效位) TT(计时位) DN(完成位) 说明 假 0 00不计时 真110正在计时,累积值=预置值,计时完成 用复位指令RES000ACC=0,PRE不变,计时器复位 TON指令举例当 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步变无效. 一旦阶梯条件变真,不论计时器是否到时,处理器都复位累加值. 各参数的含义与TON相同.TOF的操作及其相应的状态可用下表描述.一旦阶梯条件变真,不论计时器是否到时,处理器都复位累加值. 各参数的含义与TON相同.TOF的操作及其相应的状态可用下表描述.阶梯条件 EN(有效位) TT(计时位) DN(完成位) 说明 真101计时器不计时,ACC=0,计时器复位 假011正在计时,累积值=(预置值.PRE) .OV BOOL 益出位标识计数器超过上限值2147483647。然后计数器返回到-2147483648。并再开始加计数 .PRE DINT 预置值指定在指令置位完成位(.DN)之前累加值所达到的值 .ACC DINT 累加值表示指令已经计数的梯级转换的次数。 说明:CTU指令向上计数。 如果指令被使能时加计数使能位(.CU)是清零状态,则CTU指令使计数器加1。如果指令被使能位(.CU)是置位状态,或指令被禁止,CTU指令保持它的累加值(.ACC)。 即使完成位(.DN)被置位之后,累加值也继续增加。如果要清零累加值,可以用一条引用同一计数器结构的RES指令,或写0值到计数器的累加值。CTU指令举例:limit_switch_1由禁止变为使能10次之后,完成位.DN被置位。并且接通light_1。如果limit_switch_1继续由禁止变为使能,则计数器counter_1继续增加它的计数值,且完成位.DN保持置位状态。当limit_switch_2被使能时,RES指令复位counter_1(清零状态位和.ACC值)并且关断light_1。5.减计数指令(CTD) CTD指令是一条输出指令。 操作数:操作数 数据类型 格式 说明 计数器 COUNTER 标签 计数器结构 预置值 DINT 立即数 计数次数 累加值 DINT 立即数 计数器已经计数的次数,一般初始值为0 计数器结构:助记符 数据类型 说明 .CD BOOL 减计数使能位标识CTD指令被使能 .DN BOOL 完成位标识累加值(.ACC)(预置值.PRE) .UN BOOL 下出位标识计数器超过下限值-2147483648。然后计数器返回到2147483647。在开始减计数 .PRE DINT 预置值指定在指令置位完成位(.DN)之前累加值所达到的值 .ACC DINT 累加值表示指令已经计数的梯级转换的次数。 说明:CTD指令向下计数。 如果指令被使能时减计数使能位(.CD)是清零状态,则CTD指令使计数值减1。如果指令被使能时减计数位(.CU)置位,或指令被禁止,则CTD指令保持它的累加值(.ACC)。 即使完成位(.DN)被置位之后,累加值也继续减少。如果要清零累加值,可以用一条引用同一计数器结构的RES指令,或写0值到计数器的累加值。CTD指令举例:传送装置把零件带到缓存区。每进入一个零件,limit_switch_1被使能且counter_1的累加值加1。每取出一个零件limit_switch_被使能且counter_1的累加值减1。如果有100个零件进入缓存区(置位counter_1的完成位.DN),则关断传送装置A,在缓存区有空间之前,不用传送零件进入缓存区。 6.复位指令(RES) RES指令是一条输出指令。操作数:操作数 数据类型 格式 说明 结构 TIMER CONTROL COUNTER 标签 复位的结构 三、比较指令 1.比较指令(CMP) CMP是一条输入指令。操作数:操作数 数据类型 格式 说明 表达式 SINT INT DINT REAL 立即数 标签 表达式由被运算符分隔的标签与/或立即数组成 说明:CMP指令执行表达式中指定的算术运算比较。用户要执行的运算由表达式定义。用运算符,标签和立即数定义表达式。表达式中的复杂部分用圆括号()定义。 有效运算符运算符 说明 最优数据类型 + 加 DINT,REAL - 减/非 DINT,REAL * 乘 DINT,REAL / 除 DINT,REAL = 等于 DINT,REAL 小于 DINT,REAL 大于 DINT,REAL = 大于或等于 DINT,REAL 不等于 DINT,REAL * 指数 DINT,REAL ACS 反余弦 REAL AND 按位与 DINT ASN 反正弦 REAL ATN 反正切 REAL COS 余弦 REAL DEG 弧度转换成角度 DINT,REAL FRD BCD码转换成整数 DINT LN 自然对数 REAL LOG 以10为底的对数 REAL NOT 位补码 DINT OR 按位OR DINT RAD 角度转换成弧度 DINT,REAL SIN 正弦 REAL SQR 平方根 DINT,REAL TAN 正切 REAL TOD 整数转换成BCD DINT XOR 按位异或 DINT 确定运算顺序 指令按预先规定的顺序,而不必按用户列出的顺序,执行写入表达式的运算。可以通过把分组项组合到圆括号内来改变运算顺序,强制指令在执行其他运算之前执行圆括号内的运算,来改变运算顺序。同级运算顺序从左向右执行。顺序 运算符 1 ACS,ASN,ATN,COS,DEG,FRD,LN,LOG,RAD,SIN,SQR,TAN,TOD 2 * 3 -(取反),NOT 4 *,/ 5 ,=,= 6 -(减),+ 7 AND 8 XOR 9 OR 与专用比较指令相比,执行一条CMP指令速度稍慢而且占用更多的内存。CMP指令的优点是用户可以在一条指令内写入复杂的表达式。如果CMP指令判断表达式为真,则梯级输出条件被设置为真。如果输入一个没有比较运算符的表达时,例如,Ivalue_1+ value_2,则指令计算表达式的数值:如果表达式的值是 梯级输出条件被设置为 非零值 真 零值 假 2.等于指令(EQU) EQU指令是一条输入指令。 如果 value_1与value_2相等,则梯级输出条件被设置为真。操作数:操作数 数据类型 格式 说明 源A SINT INT DINT REAL 立即数 标签 与源B比较的数值 源B SINT INT DINT REAL 立即数 标签 与源A比较的数值 说明:EQU指令测试源A的值与源B的值是否相等。REAL数据类型的数值很少绝对相等。如果必须确定两个REAL值是否相等,可以使用LIM指令。3.大于或等于指令(GEQ) GEQ指令是一条输入指令。 如果 value_1大于或等于value_2,则梯级输出条件被设置为真。操作数操作数 数据类型 格式 说明 源A SINT INT DINT REAL 立即数 标签 与源B比较的数值 源B SINT INT DINT REAL 立即数 标签 与源A比较的数值 说明:GEQ指令测试源A的值是否大于或等于源B的值。4.大于指令(GRT) GRT指令是一条输入指令。 如果 value_1大于value_2,则梯级输出条件被设置为真。操作数:操作数 数据类型 格式 说明 源A SINT INT DINT REAL 立即数 标签 与源B比较的数值 源B SINT INT DINT REAL 立即数 标签 与源A比较的数值 说明:GRT指令测试源A的值是否大于源B的值。5.小于或等于指令(LEQ) GEQ指令是一条输入指令。 如果 value_1小于或等于value_2,则梯级输出条件被设置为真。操作数:操作数 数据类型 格式 说明 源A SINT INT DINT REAL 立即数 标签 与源B比较的数值 源B SINT INT DINT REAL 立即数 标签 与源A比较的数值 6.小于指令(LES) LES指令是一条输入指令。 如果 value_小大于value_2,则梯级输出条件被设置为真。操作数:操作数 数据类型 格式 说明 源A SINT INT DINT REAL 立即数 标签 与源B比较的数值 源B SINT INT DINT REAL 立即数 标签 与源A比较的数值 说明:LES指令测试源A的值是否小于源B的值。7.极限比较指令(LIM) LIM指令是一条输入指令。 操作数:操作数 数据类型 格式 说明 下限 SINT INT DINT REAL 立即数 标签 下限值 源B测试 SINT INT DINT REAL 立即数 标签 测试值 上限 SINT INT DINT REAL 立即数 标签 上限值 说明:LIM指令比较测试值是否在下限和上限范围内。LIM指令举例: 例1LowLimit=HighLimit: 当0=value=HighLimit: 当value=0或value=-100时,接通light_1.8.屏蔽等于指令(MEQ) MEQ指令是一条输入指令。操作数:操作数 数据类型 格式 说明 源 SINT INT DINT 立即数 标签 与比较值比较的数值 屏蔽 SINT INT DINT 立即数 标签 阻止或通过的位 比较 SINT INT DINT 立即数 标签 与源值比较的数值 说明:MEQ指令比较通过屏蔽的源值和比较值的结果。MEQ指令举例: 例1:Value_1 :0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 Mask_1:1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 通过屏蔽的value_1:0 1 0 1 0 1 0 1 1 1 1 1 * * * * Value_2 :0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 Mask_1:1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 通过屏蔽的value_2:0 1 0 1 0 1 0 1 1 1 1 1 * * * * 9.不等于指令(NEQ) NEQ指令是一条输入指令。 如果 value_1不等于value_2,则梯级输出条件被设置为真。操作数:操作数 数据类型 格式 说明 源A SINT INT DINT REAL 立即数 标签 与源B比较的数值 说明:NEQ指令测试源A的值与源B的值是否相等。四、计算/算术指令1 计算指令(CPT)CPT指令是一条输出指令。操作数:操作数: 数据类型: 格式: 说明: 目的单元 SINT INT DINT REAL 标签 存储结果的标签表达式 SINT lNT DINT REAL 立即数 标签 表达式由运算符分开的标签/立即数组成。说明:CPT指令执行表达式中定义的算术运算。当指令被使能时CPT指令计算表达式的数值并且存放结果于目的单元内。与其它算术指令运算相比CPT指令的运算速度稍慢而 且占用更多的内存。CPT指令的优点是它允许用户在一条指令内输入复杂的表达式。 有效运算符:运算符: 说明: 最优数据类型: + 加 D INT, REAL - 减/非 D INT, REAL * 乘 D INT, REAL / 除 D INT, REAL * 指数(xtoy) D INT, REAL ACS 反余弦 REAL AND 按位与 DINT ASN 反正弦 REAL ATN 反正切 REAL COS 余弦 REAL DEG 弧度转换成角度 D INT, REAL FRD BCD码转换成整数 DINT LN 自然对数 REAL LOG 以10为底的对数 REAL NOT 位补码 DINT OR 按位OR DINT RAD 角度转换成弧度 D INT, REAL SIN 正弦 REAL SQR 平方根 D INT, REAL TAN 正切 REAL TOD 整数转换成BCD DINT XOR 按位异或 DINT 确定运算顺序 指令按预先规定的顺序而不必按用户列出的顺序执行写入表达式的运算。可以通过把分组项组合到圆括号内来改变运算顺序强制指令在执行其他运算之前执行圆括号内的运算来改变运算顺序。同级的运算顺序是从左向右执行。顺序: 运算符: 1 ACS,ASN,ATN,COS,DEG,FRD,LN,LOG,RAD,S IN, SQR, TAN TOD 2 * 3 -(取反)NOT 4 *,/ 5 -(减)+ 6 AND 7 XOR 8 OR 执行:条件: 动作: 预扫描 梯级输出条件被设置为假。 梯级输入条件为假 梯级输出条件被设置为假。 梯级输入条件为真 指令计算表达式并存放结果于目的单元梯级输出条件被设置为真。 算术状态标志: 影响算术状态标志 故障条件: 无CPT指令举例: 当指令被使能时CPT指令计算value_1乘以5的结果,然后此结果被value_2除以7的结果除并把最后结果存放在result_1内. 2 加法指令(ADD) ADD指令是一条输出指令。 操作数:操作数 数据类型 格式 说明 源A SINT INT DINT REAL 立即数 标签 与源B操作数相加的值。 说明:ADD指令使源A操作数与源B操作数相加并存放计算结果于目的单元内。 执行:条件: 动作: 预扫描 梯级输出条件被设置为假。 梯级输入条件为假 梯级输出条件被设置为假。 梯级输入条件为真 目的单元=源A+源B,梯级输出条件被设置为真。 算术状态标志: 影响算术状态标志 故障条件: 无 ADD指令举例: 当指令使能时ADD指令使float_value_1与float_value_2相加并存放结果于add _result内。3 减法指令(SUB) SUB指令是一条输出指令。 操作数:操作数 数据类型 格式 说明 源A SINT INT DINT REAL 立即数 标签 减去源B操作数相加的值。 源B SINT INT DINT REAL 立即数 标签 从源A操作数减去的值 目的单元 SINT INT DINT REAL 标签 存放计算结果的标签。 说明:SUB指令使源A操作数减去源B操作数并存放结果于目的单元内。执行:条件: 动作: 预扫描 梯级输出条件被设置为假。 梯级输入条件为假 梯级输出条件被设置为假。 梯级输入条件为真 目的单元=源A一源B梯级输出条件被设置为真。 算术状态标志: 影响算术状态标志 故障条件: 无 SUB指令举例: 当指令使能时SUB指令使float _value_1减去float_ value_2并存放结果于subtract_result内。4 乘法指令(MUL) MUL指令是一条输出指令。 操作数:操作数 数据类型 格式 说明 源A SINT INT DINT REAL 立即数 标签 被乘数 源B SINT INT DINT REAL 立即数 标签 乘数 目的单元 SINT INT DINT REAL 标签 存放计算结果的标签。 说明:MUL指令使源A操作数与源B操作数相乘并存放计算结果于目的单元。执行:条件: 动作: 预扫描 梯级输出条件被设置为假。 梯级输入条件为假 梯级输出条件被设置为假。 梯级输入条件为真 目的单元=源A*源B,梯级输出条件被设置为真。 算术状态标志: 影响算术状态标志 故障条件: 无MUL指令举例: 当指令使能时MUL指令使float_value_1与float_value_2相乘并存放结果于multjply_result内。5除法指令(DIV) DIV指令是一条输出指令。 操作数:操作数 数据类型 格式 说明 源A SINT INT DINT REAL 立即数 标签 被除数值。 源B SINT INT DINT REAL 立即数 标签 除数值。 说明:DIV指令使源A操作数被源B操作数除并存放结果于目的单元。 执行:条件: 动作: 预扫描 梯级输出条件被设置为假。 梯级输入条件为假 梯级输出条件被设置为假。 梯级输入条件为真 目的单元=源A/源B, 梯级输出条件被设置为真。 算术状态标志: 影响算术状态标志 故障条件: 无 DIV指令举例: 当指令使能时DIV指令使float_value_1被float_value_2除并存放结果于divide_result内。6 平方根指令(SQR) SQR指令是一条输出指令。 操作数:操作数 数据类型 格式 说明 源 SINT INT DINT REAL 立即数 标签 计算该值的平方根。 目的单元 SINT INT DINT REAL 立即数 标签 存放计算结果的标签。 说明: SQR指令计算源操作数的平方根并存放计算结果于目的单元内。如果源操作数是负数则指令在计算源操作数的平方根之前先计算其绝对值。 执行:条件: 动作: 预扫描 梯级输出条件被设置为假。 梯级输入条件为假 梯级输出条件被设置为假。 梯级输入条件为真 目的单元=梯级输出条件被设置为真。Destination=(Soure)1/2 算术状态标志: 影响算术状态标志 故障条件: 无 SQR指令举例: 当指令被使能时SQR指令计算value_1的平方根并存放计算结果于sqr_result内。7 取反指令(NEG) NEG指令是一条输出指令。 操作数:操作数 数据类型 格式 说明 源 SINT INT DINT REAL 立即数 标签 要取反的数值。 目的 SINT INT DINT REAL 立即数 标签 存放计算结果的标签。 说明: NEG指令改变源操作数的符号并存放结果于目的单元。如果对一个负数取反则结果是正数。如果对正数取反则结果是负数。执行:条件: 动作: 预扫描 梯级输出条件被设置为假。 梯级输入条件为假 梯级输出条件被设置为假。 梯级输入条件为真 目的单元=0一源操作数,梯级输出条件被设置为真。 五、传送/逻辑指令1. 传送指令(MOV) MOV指令是一条输出指令。操作数: 操作数 数据类型 格式 说明 源 SINT INT DINT REAL 立即数 标签 被传送(复制)的数值 目的单元 SINT INT DINT REAL 立即数 标签 存放计算结果的标签。 说明: MOV指令复制源操作数到目的单元。源操作数保持不变。执行:条件: 动作: 预扫描 梯级输出条件被设置为假。 梯级输入条件为假 梯级输出条件被设置为假。 梯级输入条件为真 指令复制源操作数到目的单元。梯级输出条件被设置为真。 算术状态标志: 不影响 故障条件: 无 MOV指令举例: 当指令被使能时,MOV指令复制在value_1内的数据到value_2.2. 屏蔽传送指令(MVM) MVM指令是一条输出指令。 操作数:操作数 数据类型 格式 说明 源 SINT INT DINT 立即数 标签 被传送的值 屏蔽 SINT INT DINT 立即数 标签 阻止或通过的位。 目的单元 SINT INT DINT 标签 存放结果的标签。 说明: MVM指令复制源操作数数值到目的单元并且允许部分数据被屏蔽。源操作数保持不变。当指令被使能时MVM指令通过屏蔽传送或阻止源数据位。屏蔽位的一个1值意味着位数据可以通过。屏蔽位的一个O值意味着位数据被阻止。如果用混合整型数据类型则指令用O值来填充小整数数据类型的高位以使它们与最大整型数据类型的大小相同。输入立即数作为屏蔽值当输入立即数作为屏蔽值时编程软件默认为是十进制数值。如果要输入一个其它格式的屏蔽值可以在数值之前加相应的前缀如下表所示:前缀: 说明: 16# 十六进制例如:16#OFOF 8# 八进制,例如:8#16 2# 二进制,例如:2#00110011 算术状态标志: 影响算术状态标志故障条件: 无 MVM指令举例:当指令被使能时MVM指令从value_1复制数据到value_2同时允许数据被屏蔽(屏蔽操作数内各位的一个0值屏蔽在value_1内的位数据)。阴影部分表示value_2内的数值被改变。3. 位域分配(BTD) BTD指令是一条输出指令。 操作数:操作数: 数据类型: 格式:说明: 源 SINT INT D INT 立即数 标签 包含要传送数据位的标签。 源位 D INT立即数(0一31 DINT) (0一15 INT)(0一7 SINT) 开始传送位的位置号(低位号) 必须在源数据类型的有效范围内。 目的 SINT INT D INT标签传送位的目的单元标签。 目的位 D INT立即数从源操作数复制的位在目的单元的起始位号(低位号)必须在目的操作数数据类型的有效范围内。 长度 D INT立即数(1一32) 被传送的位的数量。 说明: BTD指令复制源操作数的指定位并传送这些位到适当的位置并把这些位写到目的元内。目的单元内的其余部分保持不变。当指令被使能时B丁O指令复制来自源操作数的位组到目的单元内。该位组由源位(位组的低位位号)和长度(要复制的位的数量)确定。目的位确定目的单元内开始的低位号。源操作数保持不变。如果位字段扩展的长度超过目的单元的边界则指令不保存超出的位。超出的位也不与下个字重叠。如果用混合整数数据类型则指令用O值来填充小整数数据类型的高位以使它们与最大数据类型的大小相同。执行:条件: 动作: 预扫描 梯级输出条件被设置为假 梯级输入条件为假 梯级输出条件被设置为假 梯级输入条件为真 指令复制并且传送源数据位到目的单元。 梯级输出条件被设置为真。 算术状态标志: 影响算术状态标志 故障条件: 无 BTD指令举例: 例1当指令被使能时指令传送在value_1内的位。Value_1执行BTD指令之前 Value_1 执行BTD指令之后4. 清零指令(CLR) CLR指令是一条输出指令。 操作数:操作数: 数据类型: 格式: 说明: 目的 SINT INT DINT REAL 标签 被清零数据的标识符 说明:CLR指令清零目的单元的所有位。执行:条件: 动作: 预扫描: 梯级输出条件被设置为假。 梯级输入条件为假 梯级输出条件被设置为假。 梯级输入条件为真 指令清零目的单元内的数据。 梯级输出被件被设置为真。 算术状态标志: 影响算术状态标志 故障条件: 无 CLR指令举例: 当使能时CLR指令清零value_1内的所有位。5. 按位与指令(AND) AND指令是一条输出指令。 操作数:操作数 数据类型 格式 说明 源A SINT INT DINT 立即数 标签 与源B操作数进行与运算的 数值。 源B SINT INT DINT 立即数 标签 与源A操作数进行与运算的 数值。 目的单元 SINT INT DINT 标签 存放运算结果的标签。 说明: AND指令执行源A与源B操作数的按位与运算并存放结果于目的单元。 当指令被使能时执行逻辑与运算:如果源A的位: 源B的位: 目的单元的位是 0 0 0 0 1 0 1 0 0 1 1 1 如果用户使用混合整型数据类型则指令用0值填充小整数数据的高位以使其与最大数据类型有相同的大小。执行:条件: 动作: 预扫描 梯级输出条件被设置为假。 梯级输入条件为假 梯级输出条件被设置为假。 梯级输入条件为真 指令执行按位与运算。 梯级输出条件被设置为真。 算术状态位: 影响算术状态位 故障条件: 无 112 AND指令举例: 当

温馨提示

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

评论

0/150

提交评论