资源预览内容
第1页 / 共90页
第2页 / 共90页
第3页 / 共90页
第4页 / 共90页
第5页 / 共90页
第6页 / 共90页
第7页 / 共90页
第8页 / 共90页
第9页 / 共90页
第10页 / 共90页
亲,该文档总共90页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
专题5PLC功能指令的应用 5 1用数据传送指令实现电动机的Y 降压启动控制 5 2用跳转指令实现选择运行程序段 5 3算术运算指令与单按钮的功率控制 5 4字逻辑运算指令及应用 5 5子程序调用指令及应用 5 6循环指令及应用 5 7比较指令的应用与时钟控制程序 5 9数码显示及应用 5 8循环移位指令及应用 5 1用数据传送指令实现电动机的Y 降压启动控制 5 1 1位元件与字元件 1 位元件只具有接通 ON或1 或断开 OFF或0 两种状态的元件称为位元件 2 字元件字元件是位元件的有序集合 FX系列的字元件最少4位 最多32位 表5 1字元件范围 2 数据寄存器D V Z 图5 116位与32位数据寄存器 表5 3数据寄存器D V Z元件编号与功能 16位数据寄存器所能表示的有符号数的范围为K 32768 32767 32位数据寄存器所能表示的有符号数的范围为K 2147483648 2147483647 功能指令的使用说明 1 FX2N系列PLC功能指令编号为FNC0 FNC246 实际有130个功能指令 2 功能指令分为16位指令和32位指令 功能指令默认是16位指令 加上前缀D是32位指令 例如DMOV 3 功能指令默认是连续执行方式 加上后缀P表示为脉冲执行方式 例如MOVP 4 多数功能指令有操作数 执行指令后其内容不变的称为源操作数 用S表示 被刷新内容的称为目标操作数 用D表示 5 1 2数据传送指令MOV 表5 4MOV指令 图5 2功能指令格式 5 1 3数据传送指令应用举例 例题5 1 设有8盏指示灯 控制要求是 当X0接通时 全部灯亮 当X1接通时 奇数灯亮 当X2接通时 偶数灯亮 当X3接通时 全部灯灭 试设计电路并用数据传送指令编写程序 解 控制线路图如图5 3所示 图5 3例题5 1控制线路图 图5 4例题5 1程序图 表5 5例题5 1控制关系表 5 1 4区间复位指令ZRST 表5 6ZRST指令 图5 5区间复位指令ZRST 如图5 5所示 当指令语句 ZRSTY0Y3 执行时将Y0 Y1 Y2 Y3全部复位为0状态 5 1 5实习操作 电动机Y 降压启动控制线路与程序 图5 6Y 降压启动控制线路 表5 7Y 降压启动过程和传送控制数据表 图5 7Y 降压启动程序梯形图 5 2用跳转指令实现选择运行程序段 图5 8手动 自动程序跳转 应用跳转指令的程序结构如图5 8所示 X3是手动 自动选择开关的信号输入端 当X3未接通时 执行手动程序段 反之执行自动程序段 X3的常开 常闭接点起联锁作用 使手动 自动两个程序段只能选择其一 5 2 1条件跳转指令CJ 表5 8CJ指令 1 标号P的说明 1 FX2N系列PLC的标号P有128点 P0 P127 用于分支和跳转程序 2 标号P放置在左母线的左边 一个标号只能出现一次 如出现两次或两次以上 程序报错 标号P占一步步长 2 跳转指令CJ的说明 1 如果跳转条件满足 则执行跳转指令 程序跳到以标号P为入口的程序段中执行 否则不执行跳转指令 按顺序执行下一条指令 2 多个跳转指令可以使用同一个标号 3 如果用M8000作为控制跳转的条件 CJ则变成无条件跳转指令 5 2 2条件跳转指令应用举例 例题5 2 某台设备具有手动 自动两种操作方式 SB3是操作方式选择开关 当SB3处于断开状态时 选择手动操作方式 当SB3处于接通状态时 选择自动操作方式 不同操作方式进程如下 手动操作方式进程 按启动按钮SB2 电动机运转 按停止按钮SB1 电动机停机 自动操作方式进程 按启动按钮SB2 电动机连续运转1min后 自动停机 按停止按钮SB1 电动机立即停机 图5 9例题5 2控制线路图 解 根据控制要求 设计程序梯形图如图5 10所示 图5 10例题5 2程序梯形图 5 3算术运算指令与单按钮的功率控制 5 3 1加法指令ADD 表5 10ADD指令 1 加法指令ADD的说明 1 加法运算是代数运算 2 若相加结果为0 则零标志位M8020 1 可用来判断两个数是否为相反数 3 加法指令可以进行32位操作方式 图5 1132位加法指令操作数的构成 例如指令语句 DADDD0D10D20 的操作数构成如图5 11所示 被加数的低16位在D0中 高16位在D1中 加数的低16位在D10中 高16位在D11中 和 的低16位在D20中 高16位在D21中 2 加法指令ADD举例 图5 12加法指令ADD的举例1 图5 13加法指令ADD的举例2 图5 14加法指令ADD的举例3 5 3 2减法指令SUB 表5 11SUB指令 1 减法指令SUB的说明 1 减法运算是代数运算 2 若相减结果为0时 则零标志位M8020 1 可用来判断两个数是否相等 3 SUB可以进行32位操作方式 例如指令语句 DSUBD0D10D20 2 减法指令SUB举例两个数据寄存器中存储的数据相减 程序如图5 15所示 如果X0接点闭合 执行数据传送指令 如果X1接点闭合 执行减法指令 减法运算的结果差 8 2 6 存在D30中 图5 15减法指令SUB的举例 5 3 3乘法指令MUL 表5 12MUL指令 1 乘法指令MUL的说明 1 乘法运算是代数运算 2 16位数乘法 源操作数S1 S2是16位 目标操作数D占用32位 图5 1616位乘法的积占用32位 例如乘法指令语句 MULD0D10D20 被乘数存储在D0 乘数存储在D10 积则存储在D21 D20组件中 操作数结构如图5 16所示 2 乘法指令MUL举例运行监控模式的程序梯形图如图5 17所示 如果X0接点闭合 执行数据传送指令 如果X1接点闭合 执行乘法指令 乘法运算的结果 8 2 16 存储在D31 D30目标操作数中 图5 17中D31存储的数据为0 D30存储的数据为16 图5 17乘法指令MUL的举例 5 3 4除法指令DIV 表5 13DIV指令 1 除法指令DIV的说明 1 除法运算是代数运算 2 16位数除法 源操作数S1 S2是16位 目标操作数D占用32位 除法运算的结果商存储在目标操作数的低16位 余数存储在目标操作数的高16位中 3 32位除法 源操作数S1 S2是32位 但目标操作数却是64位 除法运算的结果商存储在目标操作数的低32位 余数存储在目标操作数的高32位 例如除法指令语句 DIVD0D10D20 被除数存储在D0 除数存储在D10 商存储在D20 余数存储在D21 操作数的结构如图5 18所示 图5 1816位除法的商和余数构成32位目标操作数 2 除法指令DIV举例运行监控模式的程序梯形图如图5 19所示 如果X0接点闭合 执行数据传送指令 如果X1接点闭合 执行除法指令 除法运算结果的商7存储在D30 余数1存储在D31 可以看出 数据除2后根据余数为1或为0可判断数据的奇偶性 图5 19除法指令DIV的举例 5 3 5加1指令INC 表5 14INC指令 1 加1指令INC的说明 1 INC指令的执行结果不影响零标志位M8020 2 在实际控制中通常不使用每个扫描周期目标操作数都要加1的连续执行方式 所以 INC指令经常使用脉冲操作方式 减1指令DEC和加1指令INC执行方式相似 2 加1指令INC举例运行监控模式的程序梯形图如图5 20所示 开机初始脉冲M8002将数据寄存器D10清0 在X0接点闭合的那个扫描周期执行加1指令 D10的数据被加1后存储 即 D10 1 D10 图中X0共接通5次 D10中存储的数据由0增加到5 图5 20加1指令INC的举例 5 3 6实习操作 单按钮的功率控制程序 1 单按钮的功率控制线路和控制要求单按钮的功率控制线路如图5 21所示 控制要求是 加热功率有7个挡位可调 大小分别是0 5kW 1kW 1 5kW 2kW 2 5kW 3kW和3 5kW 有1个功率选择按钮SB1和1个停止按钮SB2 第一次按SB1选择功率第1挡 第二次按SB1选择功率第2挡 第八次按SB1或按SB2时 停止加热 图5 21单按钮的功率控制线路 2 单按钮功率控制的工序 表5 16单按钮功率控制的工序 3 单按钮的功率控制程序 图5 22单按钮的功率控制程序 5 4字逻辑运算指令及应用 5 4 1逻辑字 与 指令WAND 表5 17WAND指令 1 字 与 指令WAND的说明 1 S1 S2为作相 与 逻辑运算的源操作数 D为存储 与 逻辑运算结果的目标操作数 2 字 与 指令的功能是将两个源操作数的数据 进行二进制按位相 与 并将运算结果存入目标操作数 2 字 与 指令WAND举例假设要求用输入继电器X0 X4的位状态去控制输出继电器Y0 Y4 可用字元件K2X0去控制字元件K2Y0 对字元件多余的控制位X5 X6和X7 可与0相 与 进行屏蔽 程序如图5 23所示 图5 23应用字 与 指令的程序 图5 24字 与 指令的位运算过程 5 4 2逻辑字 或 指令WOR 表5 18WOR指令 1 字 或 指令WOR的说明 1 S1 S2为两个相 或 的源操作数 D为存储 或 逻辑结果的目标操作数 2 指令的功能是将两个源操作数的数据 进行二进制按位相 或 并将运算结果存入目标操作数 2 字 或 指令WOR举例要求用输入继电器组成的字元件K2X0去控制由输出继电器组成的字元件K2Y0 但Y3 Y4位不受字元件K2X0的控制而始终处于ON状态 可用字 或 指令屏蔽X3 X4位 程序如图5 25所示 图5 26字 或 指令的位运算过程 图5 25应用字 或 指令的程序 5 4 3逻辑字 异或 指令WXOR 表5 19WXOR指令 1 字 异或 指令WXOR的说明 1 S1 S2为两个相 异或 的源操作数 D为存储 异或 逻辑结果的目标操作数 2 指令的功能是将两个源操作数的数据 进行二进制按位相 异或 并将运算结果存入目标操作数 2 字 异或 指令WXOR举例要求用输入继电器组成的字元件K2X0的相反状态去控制由输出继电器组成的字元件K2Y0 即X某位为 1 时 Y的相应位为 0 X某位为 0 时 Y的相应位为 1 程序如图5 27所示 图5 27应用字 异或 指令的程序 图5 28字 异或 指令运算过程 5 5子程序调用指令及应用 图5 29子程序调用与返回结构 5 5 1子程序指令CALL SRET与主程序结束指令FEND 表5 20CALL SRET FEND指令 FEND指令表示主程序结束 END是指整个程序 包括主程序和子程序 结束 一个完整的程序可以没有子程序 但一定要有主程序 子程序编写在FEND指令的后面 以标号P开头 以返回指令SRET结束 如果子程序调用条件满足 则中断主程序去执行子程序 标号是被调用子程序的入口地址 在子程序结束处一定要使用返回指令SRET 意思是返回主程序中断处去继续执行主程序的下一条指令语句 在子程序中 使用定时器的范围是T192 T199 如果在子程序中再调用其他子程序称为子程序嵌套 嵌套总数可达5级 标号P63相当于END 子程序调用指令CALL与跳转指令CJ不能使用相同的标号 5 5 2实习操作 子程序调用举例 图5 30应用子程序调用指令的程序 程序功能是 X1 X2 X3分别接通时 将相应的数据传送到D0 D10 然后调用子程序 在子程序中 将D0 D10存储的数据相加 运算结果存储在D20 用D20存储数据控制输出字元件K1Y0 5 6循环指令及应用 5 6 1循环指令FOR NEXT 1 循环指令FOR NEXT的说明FOR NEXT指令必须成对出现 缺一不可 位于FOR NEXT之间的程序称为循环体 在一个扫描周期内 循环体反复被执行 FOR指令的操作数用于指定循环的次数 只有执行完循环次数后 才执行NEXT的下一条指令语句 循环指令的结构如图5 31所示 图中指定循环次数为10次 2 循环指令FOR NEXT举例 例题5 3 求0 1 2 3 100的和 并将和存入D0 解 用循环指
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号