模拟量操作指令
长沙工控帮教育科技有限公司整理
• 常见的模拟量模块有以上5中。
• EM235是最常用的模拟量扩展模块,它实现了4路模拟量 输入和1路模拟量输出功能。
长沙工控帮教育科技有限公司整理
5mV
±10V OFF
OFF OFF
ON OFF OFF
2.5mV
±5V OFF
OFF OFF
OFF ON
OFF
1.25mV
±2.5V OFF
OFF OFF
OFF OFF
ON
500μV
±1V OFF
ON OFF
ON OFF OFF
250μV
±500 OFF
ON OFF
OFF ON
OFF
125μV
±250mV OFF
ON OFF
OFF OFF
ON
50μV
±100mV OFF
OFF ON
ON OFF OFF
25μV
±50mV OFF
OFF ON
OFF ON
OFF
12.5μV
±25mV OFF
OFF ON
OFF OFF
ON
SW6 SW5
SW4 SW3
SW2 SW1
分辨率 满量程输入
双极性
2.5mV 0到10V
ON OFF
OFF OFF
ON OFF
5μA 0到20mA
ON OFF
OFF OFF
OFF ON
1.25mV 0到5V
ON OFF
OFF OFF
OFF ON
250μV 0到1V
ON ON
OFF OFF
ON OFF
125uA 0到500mV
ON ON
OFF OFF
OFF ON
25μV 0到100mV
ON OFF
ON OFF
ON OFF
12.5μV 0到50mV
ON OFF
ON OFF
OFF ON
SW6 SW5
SW4 SW3
SW2 SW1
分辨率 满量程输入
单极性
长沙工控帮教育科技有限公司整理
电压12位 电流11位 分辨率电流
电压-32000~+32000 电流0~32000
数据字格式
电压输出 ±10V 电流输出0~20mA 信号范围
模拟量输出点数 1 模拟量输出特性
12位A/D转换器 分辨率
双极性 全量程范围-32000~+32000 单极性 全量程范围0~32000
数据字格式
电流0~20mA
电压(双极性)±10V ±5V ±2.5V ±1V ±500mV
±250mV ±100mV ±50mV ±25mV
电压(单极性)0~10V 0~5V 0~1V 0~
500mV 0~100mV 0~50mV 输入范围
模拟量输入点数 4
EM235模拟量输入特性
长沙工控帮教育科技有限公司整理
• 注:模拟量模块是以整数形式读取数值,所以每个 通道占用两个字节。例如:AIW0;AIW2;AIW4……。
而每个模块至少要占用两个通道。所以,即使只有 一个输出,使用第二个模块时也要从第三通道开始。
长沙工控帮教育科技有限公司整理
1.1 比较
• 1. 字节比较
• 2. 整数比较
• 3. 双字整数 比较
• 4. 实数比较
• 5. 应用举例
长沙工控帮教育科技有限公司整理
1. 字节比较
• 字节比较用于比较两个字节型整数值IN1和IN2的大小,字节 比较是无符号的。比较式可以是LDB、AB或OB后直接加比 较运算符构成。
• 如:LDB=、AB<>、OB>= 等。
• 整数IN1和IN2的寻址范围:VB、IB、QB、MB、SB、SMB、
LB、*VD、*AC、*LD和常数。
• 指令格式例:
• LDB= VB10, VB12
• AB<> MB0, MB1
• OB<= AC1, 116
长沙工控帮教育科技有限公司整理
• 整数比较用于比较两个一字长整数值IN1和IN2的大小,整数 比较是有符号的(整数范围为16#8000和16#7FFF之间)。比 较式可以是LDW、AW或OW后直接加比较运算符构成。
• 如:LDW=、AW<>、OW>= 等。
• 整数IN1和IN2的寻址范围:VW、IW、QW、MW、SW、
SMW、LW、AIW、T、C、AC、*VD、*AC、*LD和常数。
• 指令格式例:
• LDW= VW10, VW12
• AW<> MW0, MW4
• OW<= AC2, 1160
长沙工控帮教育科技有限公司整理
3. 双字整数比较
• 双字整数比较用于比较两个双字长整数值IN1和IN2的大 小,双字整数比较是有符号的(双字整数范围为
16#80000000和16#7FFFFFFF之间)。
• 指令格式例:
• LDD= VD10, VD14
• AD<> MD0, MD8
• OD<= AC0, 1160000
• LDD>= HC0, *AC0
长沙工控帮教育科技有限公司整理
• 实数比较用于比较两个双字长实数值IN1和IN2的大小,实数 比 较 是 有 符 号 的 ( 负 实 数 范 围 为 -1.175495E-38 和 - 3.402823E+38 , 正 实 数 范 围 为 +1.175495E-38 和 +3.402823E+38)。比较式可以是LDR、AR或OR后直接加比 较运算符构成。
• 指令格式例:
• LDR= VD10, VD18
• AR<> MD0, MD12
• OR<= AC1, 1160.478
• AR> *AC1, VD100
长沙工控帮教育科技有限公司整理
5. 应用举例
• 控制要求:
• 一自动仓库存放某种货物,最多6000箱,需对所存的货物进 出计数。货物多于1000箱,灯L1亮;货物多于5000箱,灯 L2亮。
• 其中,L1和L2分别受Q0.0和Q0.1控制,数值1000和5000分 别存储在VW20和VW30字存储单元中。
• 本控制系统的程序如图1.23所示。程序执行时序如图1.24所 示。
长沙工控帮教育科技有限公司整理
图1.23 程序举例
LD I0.0 //增计数输入端
LD I0.1 //减计数输入端
LD I0.2 //复位输入端 CTUD C30, +10000 //增减计数,
//设定脉冲数 //为 10000。
LDW>= C30, VW20 //比较计数器 //当前值是否大于 //VW20 中的值
= Q0.0 //输出触点
LDW>= C30, VW30 //比较计数器 //当前值是否大于 //VW30 中的值
= Q0.1 //输出触点
长沙工控帮教育科技有限公司整理
图1.24 时序图
1000 1000
5000 5000 C30 当前值
Q 0.0 Q 0.1
返回本节
长沙工控帮教育科技有限公司整理
1.2 运算指令
• 1.2.1 加法
• 1.2.2 减法
• 1.2.3 乘法
• 1.2.4 除法
• 1.2.5 数学函数指令
• 1.2.6 增减
• 1.2.7 逻辑运算
返回本章首页
长沙工控帮教育科技有限公司整理
1.2.1 加法
• 1. 整数加法
• +I,整数加法指令。使能输入有效时,将两个 单字长(16位)的符号整数IN1和IN2相加,产 生一个16位整数结果OUT。
长沙工控帮教育科技有限公司整理
LD I0.0 //使能输入端 +I VW0, VW4
//整数加法
//VW0+VW4=VW4
图4.25 整数加法例
长沙工控帮教育科技有限公司整理
• 2. 双整数加法
• +D,双整数加法指令。使能输入有效时,将两个双字长
(32位)的符号双整数IN1和IN2相加,产生一个32位双 整数结果OUT。
• 在 LAD 和 FBD 中 , 以 指 令 盒 形 式 编 程 , 执 行 结 果 : IN1+IN2=OUT。
• 在STL中,执行结果:IN1+OUT=OUT。
• OUT的寻址范围:VD、ID、QD、MD、SD、SMD、
LD、AC、*VD、*AC、*LD。
• 指令格式:+D IN1, OUT
• 例: +D VD0,VD4
长沙工控帮教育科技有限公司整理
• +R,实数加法指令。使能输入有效时,将两个双字长(32 位)的实数IN1和IN2相加,产生一个32位实数结果OUT。
• 在 LAD 和 FBD 中 , 以 指 令 盒 形 式 编 程 , 执 行 结 果 : IN1+IN2=OUT。
• OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、
AC、*VD、*AC、*LD。
• 本指令影响的特殊存储器位: SM1.0(零);SM1.1(溢 出);SM1.2(负)。
返回本节
长沙工控帮教育科技有限公司整理
1.2.2 减法
• 减法指令是对有符号数进行相减操作。
包括:整数减法、双整数减法和实数减 法。这三种减法指令与所对应的加法指 令除运算法则不同之外,其他方面基本 相同。
长沙工控帮教育科技有限公司整理
• 在LAD和FBD中,以指令盒形式编程,执行结果:IN1- IN2=OUT。
• 在STL中,执行结果: OUT- IN2=OUT。
• 指令格式:-I IN2, OUT (整数减法)
• -D IN2, OUT (双整数减法)
• -R IN2, OUT (实数减法)
• 例: -I AC0, VW4
返回本节
长沙工控帮教育科技有限公司整理
1.2.3 乘法
• *I,整数乘法指令。使能输入有 效时,将两个单字长(16位)的 符号整数IN1和IN2相乘,产生 一个16位整数结果OUT。
指令格式:*I IN1,OUT 例: *I VW0,AC0 1. 整数乘法
长沙工控帮教育科技有限公司整理
• MUL,完全整数乘法指令。使能输入有效时,将两个单字长
(16位)的符号整数IN1和IN2相乘,产生一个32位双整数结 果OUT。
• 在LAD和FBD中,以指令盒形式编程,执行结果:
IN1*IN2=OUT。
• OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、
AC、*VD、*AC、*LD。
• 本指令 影 响 的 特 殊 存 储 器 位 : SM1.0 (零); SM1.1 (溢 出);SM1.2(负);SM1.3(被0除)。
• 指令格式: MUL IN1,OUT
• 例: MUL AC0,VD10
长沙工控帮教育科技有限公司整理
3. 双整数乘法
• *D,双整数乘法指令。使能输入有效时,将两个双字长
(32位)的符号整数IN1和IN2相乘,产生一个32位双整数 结果OUT。
• 在STL中,执行结果:IN1*OUT=OUT。
• IN1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、
LD、HC、AC、*VD、*AC、*LD和常数。
• OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、
AC、*VD、*AC、*LD。
• 本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢 出);SM1.2(负);SM1.3(被0除)。
• 指令格式: *D IN1,OUT
• 例: *D VD0,AC0
长沙工控帮教育科技有限公司整理
• *R,实数乘法指令。使能输入有效时,将两个双字长( 32 位)的实数IN1和IN2相乘,产生一个32位实数结果OUT。
• 在 LAD 和 FBD 中 , 以 指 令 盒 形 式 编 程 , 执 行 结 果 : IN1*IN2=OUT。
• 在STL中,执行结果:IN1*OUT=OUT。
• IN1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、
LD、AC、*VD、*AC、*LD和常数。
• OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、
AC、*VD、*AC、*LD。
• 本指令影响的特殊存储器位: SM1.0(零);SM1.1(溢 出);SM1.2(负);SM1.3(被0除)。
• 指令格式: *R IN1,OUT
• 例: *R VD0,AC0
返回本节
长沙工控帮教育科技有限公司整理
1.2.4 除法
• 在 LAD 和 FBD 中 , 以 指 令 盒 形 式 编 程 , 执 行 结 果 : IN1/IN2=OUT。
• 在STL中,执行结果: OUT/ IN2=OUT。
• 指令格式:/I IN2, OUT (整数除法)
• DIV IN2, OUT (整数完全除法)
• /D IN2, OUT (双整数除法)
• /R IN2, OUT (实数除法)
长沙工控帮教育科技有限公司整理
• 例: DIV VW10, VD100
• /I VW20, VW200
• 两条指令的编程及执行情况比较如图1.26所示。
LD I0.0 //使能输入端 DIV VW10, VD100 //完全除法
// VW102/VW10=VD100
LD I0.1 //使能输入端 /I VW20, VW200 //整数除法
//VW200/VW20=VW200
图1.26 除法指令应用
长沙工控帮教育科技有限公司整理
对于除法指令:
对于完全除法指令:
返回本节
长沙工控帮教育科技有限公司整理
• 1. 字节增和字节减
• 2. 字增和字减
• 3. 双字增和双字减
• 4. 应用实例
长沙工控帮教育科技有限公司整理
1. 字节增和字节减
• INCB,字节增指令。使能输入有效时,把一字节长的无 符号输入数(IN)加1,得到一
• 字节的无符号输出结果OUT。
• DECB,字节减指令。使能输入有效时,把一字节长的无 符号输入数(IN)减1,得到一字节的无符号输出结果 OUT。
长沙工控帮教育科技有限公司整理
长沙工控帮教育科技有限公司整理
3. 双字增和双字减
• INCD,双字增指令。使能输入有效时,把双字长(32位)
的有符号输入数(IN)加1,得到双字长的有符号输出结 果OUT。
• DECD,双字减指令。使能输入有效时,把双字长的有符 号输入数(IN)减1,得到双字长的有符号输出结果OUT。
长沙工控帮教育科技有限公司整理
• 控制要求:
• 食品加工厂对饮料生产线上的盒装饮料进行计数,每24 盒为一箱,要求能记录生产的箱数。
返回本节
长沙工控帮教育科技有限公司整理
1.3 传送类指令
• 1. 单一传送
• (1)MOVB,字节传送指令
• (2)BIR,传送字节立即读指令
• (3)BIW,传送字节立即写指令
• (4)MOVW,字传送指令
• (5)MOVD,双字传送指令
• (6)MOVR,实数传送指令
• 2. 块传送
• (1)BMB,字节块传送指令
• (2)BMW,字块传送指令
• (3)BMD,双字块传送指令
长沙工控帮教育科技有限公司整理
• (1)MOVB,字节传送指令
• 使能输入有效时,把一个单字节无符 号数据由IN传送到OUT所指的字节 存储单元。
• IN的寻址范围:VB、IB、QB、MB、
SB、SMB、LB、AC、*VD、*AC、
*LD和常数。
• OUT 的 寻 址 范 围 : VB 、 IB 、 QB 、 MB、SB、SMB、LB、AC、*VD、
*AC、*LD。
• 指令格式: MOVB IN1, OUT
• 例: MOVB VB0, QB0
长沙工控帮教育科技有限公司整理
• (2)BIR,传送字节立即读 指令
• 使能输入有效时,立即读取 单字节物理输入区数据IN,
并传送到OUT所指的字节存 储单元。
• IN的寻址范围:IB
• OUT的寻址范围:VB、IB、
QB、MB、SB、SMB、LB、
AC、*VD、*AC、*LD。
• 指令格式: BIR IN1, OUT
• 例: BIR IB0, VB10
长沙工控帮教育科技有限公司整理
指令可用来进行一次多个(最多255个)数据的传 送,数据块类型可以是字节块、字块、双字块。
三条指令中N的寻址范围都是:VB、IB、QB、MB、
SB、SMB、LB、AC、*VD、*AC、*LD和常数。
使ENO断开的出错条件:SM4.3(运行时间);0006
(间接寻址);0091(数超界)。
返回本节
长沙工控帮教育科技有限公司整理
• 1. 字节与整数
• (1)字节到整数
• (2)整数到字节
• 2. 整数与双整数
• (1)双整数到整数
• (2)整数到双整数
3. 双整数与实数
(1)实数到双整数
(2)双整数到实数
4. 整数与BCD码
(1)BCD码到整数
(2)整数到BCD码
5.程序实例
1.4 转换指令
长沙工控帮教育科技有限公司整理
• (1)字节到整数
• BTI,字节转换为整数指令。使能输入有效时,将字节输 入数据IN转换成整数类型,并将结果送到OUT输出。字 节型是无符号的,所以没有符号扩展。
• 使能流输出ENO断开的出错条件:SM4.3(运行时间);
0006(间接寻址)。
• 指令格式: BTI IN, OUT
• 例: BTI VB0, AC0
长沙工控帮教育科技有限公司整理
• (2)整数到字节
• ITB,整数转换字节指令。使能输入有效时,将整数 输入数据IN转换成字节类型,并将结果送到OUT输出。
输入数据超出字节范围(0~255)则产生溢出。
• 移位指令影响的特殊存储器位:SM1.1(溢出)。
• 使能流输出ENO断开的出错条件:SM1.1(溢出);
SM4.3(运行时间);0006(间接寻址)。
• 指令格式: ITB IN, OUT
• 例: ITB AC0, VB10
长沙工控帮教育科技有限公司整理
• (1)双整数到整数
• DTI,双整数转换为整数指令。使能输入有效 时,将双整数输入数据IN转换成整数类型,并 将结果送到OUT输出。输入数据超出整数范围 则产生溢出。
• 移位指令影响的特殊存储器位:SM1.1(溢出)。
• 使能流输出ENO断开的出错条件:SM1.1(溢 出);SM4.3(运行时间);0006(间接寻址)。
• 指令格式: DTI IN, OUT
• 例: DTI AC0, VW20
长沙工控帮教育科技有限公司整理
• (2)整数到双整数
• ITD,整数转换为双整数指令。使能输入有效时,将 整数输入数据IN转换成双整数类型(符号进行扩 展),并将结果送到OUT输出。
• 使能流输出ENO断开的出错条件:SM4.3(运行时 间);0006(间接寻址)。
• 指令格式: ITD IN, OUT
• 例: 长沙工控帮教育科技有限公司整理 ITD VW0, AC0
• (1)实数到双整数
长沙工控帮教育科技有限公司整理
• (2)双整数到实数
• DTR,双整数转换实数指令。使能输入有效时,将 双整数输入数据IN转换成实型,并将结果送到OUT 输出。
• 使能流输出ENO断开的出错条件:SM4.3(运行时 间);0006(间接寻址)。
• 指令格式:DTR IN, OUT
• 例: DTR AC0, VD100
长沙工控帮教育科技有限公司整理
• (1)BCD码到整数
• BCDI,BCD码转换为整数指 令。使能输入有效时,将BCD 码 输 入 数 据 IN 转 换 成 整 数 类 型,并将结果送到OUT输出。
输入数据IN的范围为0~9999。
• 指令格式:BCDI OUT
• 例: BCDI AC0
长沙工控帮教育科技有限公司整理
• (2)整数到BCD码
• IBCD,整数转换为BCD码指令。
使能输入有效时,将整数输入数 据IN转换成BCD码类型,并将结 果送到OUT输出。输入数据IN的 范围为0~9999。
• 指令格式:IBCD OUT
• 例: IBCD AC0
长沙工控帮教育科技有限公司整理
• AIW2采集的是一个0~10Mpar的压力信号,信号为 4~20mA。要求选择一个量程,并设计一个程序将 输入值转换为压力值。并且进行比较:如果压力高 于5Mpar则输出上限报警Q0.1。如果低于2Mpar则 输出下限报警Q0.2。(允许使用各种数值类型)
长沙工控帮教育科技有限公司整理
中德培训中心
孙丰浩本章已完成
谢谢
长沙工控帮教育科技有限公司整理
www.gkbpx.com