配色: 字号:
第8章 程序控制类指令设计
2022-12-15 | 阅:  转:  |  分享 
  
8.1 主控指令及其应用8.3 跳转指令及其应用8.2 看门狗指令及其应用8.4 子程序指令8.5 中断指令及其应用8.6 循环
指令8.7 程序控制指令实训8.1 主控指令及其应用MC/MCR指令属于基本指令,但对程序结构有影响。8.2 看门狗指令及其
应用 看门狗指令WDT是用来检测程序有无死机的指令,对应D8000作为监视定时器,初始设定值为200ms。 程序中加入
看门狗指令后,如果在D8000设定时间内没有完成一次扫描,则认为死机,系统通过重启动恢复运行。 CJ跳转、FOR/NEXT循
环等,可能导致程序执行时间过长,可以在程序中加上WDT指令,监视定时器复位。 未出现死机,每次扫描结束监视定时器D8000将
重新计时,可通过程序段调整监视定时器的设定值。8.3 跳转指令及其应用 跳转指令是用来跳过暂且不执行的程序段,转去执行其它
程序段的指令。它改变了原扫描周期和程序执行顺序。8.3.1 跳转指令说明及对扫描过程的影响 当X0置1,跳转指令CJ P1
执行条件满足,将跳至标号P1处,仅执行该梯形图中X5后面的程序。 跳转指令意义:在满足跳转条件X0为ON之后的各个扫描周期中
,PLC将不再扫描执行跳转指令CALL P1与跳转指针P1间的程序,跳到以指针P1为入口的程序段执行。直到跳转条件不再满足,停止
跳转。8.3.2 跳转程序段中元器件的工作状态 程序段中的输出继电器、辅助继电器、状态寄存器,工作状态保持跳转发生前的状态
不变。8.3.2 跳转程序段中元器件的工作状态 程序段中的时间继电器、计数器,当前值保持不变;跳转中止后计时、计数继续进行8
.3.3 使用跳转指令的要点在同一程序中因跳转而不会被同时执行的同一线圈,不被视为双线圈8.3.3 使用跳转指令的要点可以有多条跳
转指令使用同一标号8.3.3 使用跳转指令的要点 标号一般设在相关的跳转指令之后,也可以设在跳转指令之前。但要注意防止造成死
循环8.3.4 跳转指令的应用及实例 同一套设备在不同的条件下,有两种工作方式,需运行两套不同程序时可用跳转指令。图8-11
编排两段程序,手动为 B段,自动为A段。设立一个手动B段/自动A段转换开关对程序段进行选。图8-11 8.4 子程序指令8.4
.1 子程序指令的使用要素子程序是为一定控制目编制的相对独立的程序,排在主程序结束的FEND后8.4.2 子程序的执行过程
当X01、X03或X05置1,执行子程序调用指令CALL P10,执行P10子程序,遇到SRET后返回继续执行原程序,相当于在其中
加入了一段程序。8.4.3 子程序应用实例 数据处理程序,要求: 将D9- D0中的数按由大到小排序,再将D8- D1进
行平均。得出的值放到D10去。8.5 中断指令及其应用8.5.1 中断指令说明 中断指令用于实现中断功能,即是在主程序执行过
程中遇到中断条件,转去执行中断程序,完成后继续执行原程序的过程。8.5.1 中断指令说明 中断程序特点:中断是由外部(内部)
条件随机地向CPU发出请求,要求响应时间小于机器扫描周期、或者定时工作时使用。 中断源:能够触发PLC中断的中断源,FX2N
有外部(端口)、定时器和(外部)计数器。外部中断为 X0-X5。为不同中断规定了中断标号:8.5.1 中断指令说明 外部中断
从输入端子送入,用于外部突发事件执行;定时中断用于周期性工作场合。PLC默认处于禁止中断状态,用EI允许,可通过M8050-M80
58控制各中断是否允许响应。根据号数由小到大决定中断优先顺序。 一次中断请求中断程序一般仅能执行一次。 8.5.2 中断
指令的应用实例 例1:分析带有外部中断子程序梯形图程序的动作过程。图8-19 主程序运行到EI到DI间时允许中断,X
1控制M8050决定是否允许X0端口的中断执行。当X1=0,X0出现1次上升沿,执行一次I1开头的中断程序,执行完返回主程序。中断
程序的内容常用M8000作为驱动条件。 例2:一段试验性质的时间中断子程序。8.5.2 中断指令的应用实例 当X17为
ON时,每隔50ms执行一次中断程序,D0加1;当加到1000时使Y2置1。在主程序段中设有时间继电器T0,控制Y1作为对照。当X
20由ON至OFF并经历50s后,Y1及Y2应同时置1。8.5.3 输入输出有关指令——输入输出刷新REF 为了发挥中断程序
及时反应的优势,提供了REF输入输出刷新指令,用于需要最新的输入信息以及希望立即输出运算结果的场合。【例8.4】 输入X0为ON时
,快速驱动Y0为ON,X0为OFF,则Y0快速为OFF。 利用X0上升沿和下降沿两个中断,使得程序进入中断程序,上升沿置1,
下降沿清0,然后刷新输出。8.6 循环指令8.6.1程序循环指令的要素由FOR及NEXT二条指令构成。这两条指令总是成对出现【例
8.5】 当X0为ON,计算D0-D99的8位的累加和,所有寄存器需将高位移至低位,而低位运算时需屏蔽高位,将最后2个字(8位),
作检验码用,送入D100中,试编程实现。8.7 PLC结构指令电路的实训 8.7.1 实训项目 内容1:图8-22接线,SB1
-SB4、SB6、SB7为按钮,并接入接线并调试程序。编写如【例8.2】的程序并进行调试,测试中断时间与普通的定时器的一致性。 内
容2:编写一个向后跳转程序,跳转前Y0为ON,跳转中Y1为ON,跳转后Y2为ON。测试观察什么情况?内容3:编写一个含FOR/NE
XT指令的应用程序,或编制嵌套程序,并测试循环扫描时间,分别测试循环程序运行时间小于循环扫描时间,循环程序运行时间大于循环扫描时间
,再修改循环扫描时间。内容4:重新设计机械手程序,定义并设计一个自动程序和一个手动程序。内容5:设计一个急停的中断按钮,并用输出刷
新立即输出。8.7.2 实训思考题1、用中断时间计数,普通的定时器做同值得输出脉冲计数,哪一个更准。2、编写一个向后跳转程序,做
一个D0-D99的平均数计算,在一个扫描周期里做完。3、编写一个含FOR/NEXT指令的应用程序,做D0-D99 的冒泡程序(把其
中最大的数挑出来)。本 章 小 结常见的程序结构类型有以下几种。1.简单结构也称线性结构。指令平铺直述地写下来,执行时也是平铺直述
地运行下去。2.有跳越及循环的简单结构由控制要求出发,程序需要有选择地执行时要用到跳转指令。3.结构化程序编写除主程序以外的功能块独立解决局部的、单一的问题(利用子程序及中断程序,构成结构化程序。结构化程序思路清晰、编制简化,特别适合具有许多同类控制对象的庞大控制系统,有利于程序的调试本章学习结束。Goodbye!
献花(0)
+1
(本文系籽油荃面原创)