第4章基本指令内容摘要:

4. 减计数器 CTD, 增减计数器指令。 脉冲输入端 CD用于递减计数。 首次扫描 , 定时器位 OFF, 当前值为等于预设值 PV。 计数器检测到 CD输入的每个上升沿时 , 计数器当前值减小 1个单位 , 当前值减到 0时 , 计数器位 ON。 复位输入有效或执行复位指令 , 计数器自动复位 , 即计数器位 OFF, 当前值复位为预设值 , 而不是 0。 指令格式: CTD Cxxx, PV 例: CTD C40, 4 程序实例:图。 第 4章 基本指令 LD I0 .0 // 减计数脉冲输入端LD I0 .1 // 复位输入端CT D C4 0 , + 4 // 减计数器,设定计数// 脉冲数为 4。 LD C4 0 // 装入计数器触点= Q 0 .0 // 输出触点第 4章 基本指令 图 减计数程序及时序 I0 . 0I0 . 1C4 0 当前值C4 0 位第 4章 基本指令 5. 应用举例 1) 循环计数。 以上三种类型的计数器如果在使用时 , 将计数器位的常开触点作为复位输入信号 , 则可以实现循环计数。 2) 用计数器和定时器配合增加延时时间 , 如图。 试分析以下程序中实际延时为多长时间。 第 4章 基本指令 LD I0 .0 // 启动通电延时AN M 0 . 0 // 重新启动延时T O N T 5 0 , + 3 0 0 0 0 // 通电延时定时器// 时间设定为 3 0 0 0 sLD T 5 0 // 延时时间到= M 0 . 0 // 关定时器,产生一个// 脉冲。 LD M 0 . 0 // 每隔 3 0 0 0 s 输入一个// 脉冲L D N I0 .0 // 复位输入CT U C2 0 , + 1 0 // 增计数器,累计脉冲// 的总数。 第 4章 基本指令 图 计数器应用例 返回本节 1 2 3 111054I 0 . 0T 5 0 位C 2 0 位第 4章 基本指令 比较 1. 字节比较 2. 整数比较 3. 双字整数比较 4. 实数比较 5. 应用举例 第 4章 基本指令 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 第 4章 基本指令 2. 整数比较 整数比较用于比较两个一字长整数值 IN1和 IN2的大小 ,整数比较是有符号的 ( 整数范围为 168000和 167FFF之间 )。 比较式可以是 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 第 4章 基本指令 3. 双字整数比较 双字整数比较用于比较两个双字长整数值 IN1和IN2的大小,双字整数比较是有符号的(双字整数范围为 1680000000和 167FFFFFFF之间)。 指令格式例: LDD= VD10, VD14 AD MD0, MD8 OD= AC0, 1160000 LDD= HC0, *AC0 第 4章 基本指令 4. 实数比较 实数比较用于比较两个双字长实数值 IN1和 IN2的大小 , 实数比较是有符号的 ( 负实数范围为 和 +38 , 正实数范围为+ ++38)。 比较式可以是 LDR、 AR或 OR后直接加比较运算符构成。 指令格式例: LDR= VD10, VD18 AR MD0, MD12 OR= AC1, AR *AC1, VD100 第 4章 基本指令 5. 应用举例 控制要求: 一自动仓库存放某种货物 , 最多 6000箱 , 需对所存的货物进出计数。 货物多于 1000箱 , 灯 L1亮;货物多于 5000箱 , 灯 L2亮。 其中 , L1和 L2分别受 , 数值 1000和 5000分别存储在 VW20和 VW30字存储单元中。 本控制系统的程序如图。 程序执行时序如图。 第 4章 基本指令 图 程序举例 LD I0 .0 // 增计数输入端LD I0 .1 // 减计数输入端LD I0 .2 // 复位输入端CT UD C3 0 , + 1 0 0 0 0 // 增减计数,// 设定脉冲数// 为 1 0 0 0 0。 L D W = C3 0 , V W 2 0 // 比较计数器// 当前值是否大于// V W 2 0 中的值= Q0 .0 // 输出触点L D W =    C3 0 , V W 3 0 // 比较计数器// 当前值是否大于// V W 3 0 中的值= Q0 .1 // 输出触点第 4章 基本指令 图 时序图 1 0 0 0 1 0 0 05 0 0 0 5 0 0 0C3 0 当前值Q 0 . 0Q 0 . 1返回本节 第 4章 基本指令 运算指令 加法 减法 乘法 除法 数学函数指令 增减 逻辑运算 返回本章首页 第 4章 基本指令 加法 1. 整数加法 +I, 整数加法指令。 使能输入有效时 , 将两个单字长 ( 16位 ) 的符号整数 IN1和 IN2相加 , 产生一个 16位整数结果 OUT。 第 4章 基本指令 LD I0. 0 // 使能输入端+I V W 0 , V W 4// 整数加法//V W 0 + V W 4 = V W 4图 整数加法例 第 4章 基本指令 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 第 4章 基本指令 +R, 实数加法指令。 使能输入有效时 , 将两个双字长 ( 32位 ) 的实数 IN1和 IN2相加 , 产生一个 32位实数结果 OUT。 在 LAD和 FBD中 , 以指令盒形式编程 , 执行结果: IN1+IN2=OUT。 OUT的寻址范围: VD、 ID、 QD、 MD、 SD、 SMD、 LD、 AC、*VD、 *AC、 *LD。 本指令影响的特殊存储器位: ( 零 ) ; ( 溢出 ) ;( 负 )。 返回本节 第 4章 基本指令 减法 减法指令是对有符号数进行相减操作。 包括:整数减法 、 双整数减法和实数减法。 这三种减法指令与所对应的加法指令除运算法则不同之外 , 其他方面基本相同。 第 4章 基本指令 在 LAD和 FBD中 , 以指令盒形式编程 , 执行结果: IN1IN2=OUT。 在 STL中 , 执行结果: OUT IN2=OUT。 指令格式: I IN2, OUT ( 整数减法 ) D IN2, OUT ( 双整数减法 ) R IN2, OUT ( 实数减法 ) 例: I AC0, VW4 返回本节 第 4章 基本指令 乘法 *I, 整数乘法指令。 使能输入有效时 , 将两个单字长 ( 16位 ) 的符号整数 IN1和 IN2相乘 , 产生一个 16位整数结果 OUT。 指令格式: *I IN1, OUT 例: *I VW0, AC0 1. 整数乘法 第 4章 基本指令 2. 完全整数乘法 MUL,完全整数乘法指令。 使能输入有效时,将两个单字长( 16位)的符号整数 IN1和 IN2相乘,产生一个 32位双整数结果 OUT。 在 LAD和 FBD中,以指令盒形式编程,执行结果:IN1*IN2=OUT。 OUT的寻址范围: VD、 ID、 QD、 MD、 SD、 SMD、 LD、AC、 *VD、 *AC、 *LD。 本指令影响的特殊存储器位: ( 零 ) ; ( 溢出 ) ; ( 负 ) ; ( 被 0除 )。 指令格式: MUL IN1, OUT 例: MUL AC0, VD10 第 4章 基本指令 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。 本指令影响的特殊存储器位: ( 零 ) ; ( 溢出 ) ; ( 负 ) ; ( 被 0除 )。 指令格式: *D IN1, OUT 例: *D VD0, AC0 第 4章 基本指令 4. 实数乘法 *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。 本指令影响的特殊存储器位: ( 零 ) ; ( 溢出 ) ;( 负 ) ; ( 被 0除 )。 指令格式: *R IN1, OUT 例: *R VD0, AC0 返回本节 第 4章 基本指令 除法 在 LAD和 FBD中 , 以指令盒形式编程 , 执行结果: IN1/IN2=OUT。 在 STL中 , 执行结果: OUT/ IN2=OUT。 指令格式: /I IN2, OUT ( 整数除法 ) DIV IN2, OUT ( 整数完全除法 ) /D IN2, OUT ( 双整数除法 ) /R IN2, OUT ( 实数除法 ) 第 4章 基本指令 例: DIV VW10, VD100 /I VW20, VW200 两条指令的编程及执行情况比较如图。 LD I0 .0 // 使能输入端D IV V W 1 0 , V D 1 0 0 // 完全除法// V W 1 0 2 / V W 1 0 = V D 1。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。