ABB-AC500-指令详解、实例
- 格式:pdf
- 大小:1.05 MB
- 文档页数:55
5/9AC500培训教材AC500系列的指令系统5AC500系列的指令系统基本操作指令1. 算术运算指令1)ADD — 加法指令功能 :两个(或多个)变量或常量相加。两个时间变量也可相加,结果是另一个时间变量。 输入/输出数据类型 :BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、(L)REAL、TIME变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 2 ADD 4,6,9 ST Var1 (*结果Var1为21*) 提示:● TIME型变量也可使用加法功能,两个TIME变量相加得到一个新的时间。例 :t#45s + t#50s = t#1m35 s。● 被选择的输出数据类型应可存储输出结果,否则可能引起数据错误。MUL、SUB、DIV指令同样。2)MUL — 乘法指令功能 :两个(或多个)变量或常量相乘。 输入/输出数据类型 :BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、(L)REAL变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 7 MUL 2,4,7 ST Var1 (*结果Var1为392*) 5/10AC500培训教材AC500系列的指令系统5AC500系列的指令系统基本操作指令3)SUB — 减法指令功能 :两个变量或常量相减 输入/输出数据类型 :BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、(L)REAL、TOD变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 7 SUB 2 ST Var1 (*结果Var1为5*) 提示:● TIME型变量也可使用减法功能,两个TIME变量相减得到一个新的时间。 例 :t#1m35s - t#50s = t#45s ,但时间结果不能有负值。● TOD 型变量也可使用减法功能,两个TOD型相减得到一个新的TIME型数据。 例 :TOD#45:40:30- TOD#22:30:20=T#1390m10s0ms ,但时间结果不能有负值。4)DIV — 除法指令功能 :变量或常量相除 输入/输出数据类型 :BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、(L)REAL 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 8 DIV 2 ST Var1 (*结果Var1为4*) 提示:● 在工程中使用DIV指令时,可使用CheckDivByte、CheckDivWord、CheckDivDWord 和 CheckDivReal等指令检查除数是否为零,避免了除数为零的现象。 5/11AC500培训教材AC500系列的指令系统5AC500系列的指令系统5)MOD — 取余指令功能 :变量或常量相除取余,结果为两数相除后的余数,是一个整数 输入/输出数据类型 :BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 9 MOD 2 ST Var1 (*结果Var1为1*)2. 赋值指令(MOVE)功能 :将一个常量或变量的值赋给另外一个变量 输入/输出数据类型 :BYTE、WORD、DWORD、SINT、USINT、INT、UINT、 DINT、UDINT、(L)REAL、TIME、DT 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 100 MOVE ST Var1 (*结果Var1为100*)基本操作指令5/12AC500培训教材AC500系列的指令系统5AC500系列的指令系统3. 逻辑运算指令1)AND — 与指令 功能 :变量或常量的相与运算 输入/输出数据类型 :BOOL、BYTE、WORD和DWORD 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 2#1000_1010AND 2#1001_0011 ST Var1 (*结果Var1为2#10000010*)2)OR — 或指令 功能 :变量或常量的相或运算 输入/输出数据类型 :BOOL、BYTE、WORD和DWORD 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 2#1001_0011 OR 2#1000_1010ST Var1 (*结果Var1为2#10011011*)基本操作指令5/13AC500培训教材AC500系列的指令系统5AC500系列的指令系统3)XOR — 异或指令 功能 :变量或常量的异或运算 输入/输出数据类型 :BOOL、BYTE、WORD和DWORD 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 2#1001_0011 XOR 2#1000_1010 ST Var1 (*结果Var1为2#00011001*)4)NOT — 取非指令 功能 :变量或常量的取非运算, 逐位取非 输入/输出数据类型 :BOOL、BYTE、WORD和DWORD 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 2#1001_0011NOT ST Var1 (*结果Var1为2#01101100*)基本操作指令5/14AC500培训教材AC500系列的指令系统5AC500系列的指令系统4. 移位指令1)SHL — 左移指令功能 :对操作数进行按位左移,左边移出的位不作处理,右边自动补0 输入/输出数据类型 :BYTE、INT、WORD、DWORD、SINT、UINT 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 16#45 SHL 2 ST Var1 (*结果Var1为16#14*)2)SHR — 右移指令功能 :对操作数进行按位右移,右边移出的位不作处理,左边自动补0 输入/输出数据类型 :BYTE、INT、WORD、DWORD、SINT、UINT 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 16#45 SHR 2 ST Var1 (*结果Var1为16#11*)基本操作指令5/15AC500培训教材AC500系列的指令系统5AC500系列的指令系统3)ROL — 循环左移指令 功能 :对操作数进行按位循环左移,左边移出的位直接补充到右边最低位。输入/输出数据类型 :BYTE、INT、WORD、DWORD、SINT、UINT 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 16#45 ROL 2 ST Var1 (*结果Var1为16#15*)4)ROR — 循环右移指令功能 :对操作数进行按位循环右移,右边移出的位直接补充到左边最高位 。输入/输出数据类型 :BYTE、INT、WORD、DWORD、SINT、UINT 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 16#45 ROR 2 ST Var1 (*结果Var1为16#51*)基本操作指令5/16AC500培训教材AC500系列的指令系统5AC500系列的指令系统5. 选择指令所有的选择指令在执行时均可带有变量。为了能够更加清楚地说明指令功能,以下各例只使用常量。被选择的输入数据类型存储长度应不大于输出类型存储长度。 1)SEL — 二选一指令功能 :通过选择开关在两个输入数据中选择一个作为输出,选择开关为FALSE时输出为第一个输入数据,选择开关为TRUE时输出为第二个输入数据 指令格式 :OUT := SEL(G,IN0,IN1),其中G为选择开关,IN0和IN1分别为第一个输入数据和第二个输入数据 输入/输出数据类型 : G必须是BOOL类型,IN0、IN1和输出数据可以是任意数据类型 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD TRUE SEL 2,6 ST Var1 (*结果Var1为6*) LD FALSE SEL 2,6 ST Var2 (*结果Var2为2*)2)MAX — 取最大值指令功能 :在多个输入数据中选择最大值作为输出 指令格式 :OUT:=MAX(IN0, IN1),其中IN0和IN1分别为第1个输入数据和第2个输入数据,OUT是输出数据输入/输出数据类型 :IN0, IN1和OUT可以是任意数据类型 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 90 MAX 40MAX 70 MAX 60 ST Var1 (*结果Var1为90*)基本操作指令5/17AC500培训教材AC500系列的指令系统5AC500系列的指令系统3)MIN — 取最小值指令功能 :在多个输入数据中选择最小值作为输出 指令格式 :OUT:=MIN(IN0, IN1),其中IN0和IN1分别为第1个输入数据和第2个输入数据,OUT是输出数据 输入/输出数据类型 :IN0, IN1和OUT可以是任意数据类型 变量定义编程语言 程 序 梯形图(LD) 指令列表(IL) LD 90 MIN 30 MIN 40 MIN 70 ST Var1 (*结果Var1为30*)4)LIMIT — 极限值指令功能 :判断输入数据是否在最小值和最大值之间,若输入数据在二者之间,则直接把输入数据作为输出数据进行输出。若输入数据大于最大值,则把最大值作为输出值。若输入数据小于最小值,则把最小值作为输出值 指令格式 :OUT := LIMIT(Min, IN, Max) 输入/输出数据类型 :IN和OUT可以是任意数据类型 变量定义编程语言 程 序 梯形图(LD) (*11为输入数据,5为最小值,10为最大值*)指令列表(IL) LD 90 LIMIT 30,80 ST Var1 (*结果Var1为80*)基本操作指令5/18AC500培训教材AC500系列的指令系统5AC500系列的指令系统5)MUX — 多选一指令功能 :通过控制数在多个输入数据中选择一个作为输出。 指令格式 :OUT:=MUX(K,IN0,…,INn),其中K为控制数,IN0,…,INn为输入数据,OUT为输出结果。控制数为K时选择第INk个输入数据作为输出。 输入/输出数据类型 :IN0,…, INn和OUT可以是任意数据类型,K必须是BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT或UDINT。 变量定义编程语言 程 序 梯形图(LD) (*2为控制数据,对应于30,所以输出30 *)指令列表(IL) LD 0 MUX 30,40,50,60,70,80 ST Var1 (*结果Var1为30*)6. 比较指令所有的比较指令在执行时均可以带有变量。为了能够更加清楚地说明指令功能,以下各例只使用常量举例说明。 1)GT — 大于指令功能 :判断两个操作数的大小,当第一个数大于第二个数时输出TRUE,否则输出为FALSE。 输入数据类型 :BOOL、BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、(L)REAL、TIME、DATE、TOD、DT和STRING 输出数据类型 :BOOL 变量定义编程语言 程 序 梯形图(LD) (*结果Var1为FALSE*)指令列表(IL) LD 20 GT 30 ST Var1 (*结果Var1为FALSE*)基本操作指令5/19AC500培训教材AC500系列的指令系统5AC500系列的指令系统2)LT — 小于指令功能 :判断两个操作数的大小,当第一个数小于第二个数时返回TRUE,否则结果为FALSE。 输入数据类型 :BOOL、BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、(L)REAL、TIME、DATE、TOD、DT和STRING输出数据类型 :BOOL变量定义编程语言 程 序 梯形图(LD) (*结果Var1为TRUE*)指令列表(IL) LD 20 LT 30 ST Var1 (*结果Var1为TRUE*)3)GE — 大于等于指令功能 :判断两个操作数的大小,当第一个数大于等于第二个数时返回TRUE,否则结果为FALSE。 输入数据类型 :BOOL、BYTE、WORD、DWORD、SINT、USINT、INT、UINT、DINT、UDINT、(L)REAL、TIME、DATE、TOD、DT和STRING 输出数据类型 :BOOL 变量定义编程语言 程 序 梯形图(LD) (*结果Var1为TRUE*)指令列表(IL) LD 60 GE 40 ST Var1 (*结果Var1为TRUE*)基本操作指令