第8章任务编程学案.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 8 章 任务编程 8.1 概述 8.2 任务的管理和使用 8.3 中断任务 思考题与习题 8.1 概述 8.1.1 任务编程的特点 可分解为多个任务,由多人共同开发,最终合并在一个用户程序中。 根据功能可将某些任务定制为独立性强的标准化模块,这样在进行新的编程时,如果有相同的功能要求,就可以方便地移植先前已有的任务模块。 提高总体响应性能。 修改与调试简便。 容易实现程序的切换。 用户程序的可读性好。 8.1.2 任务和程序 图为多个任务组成的程序。每个任务分配了一个独立的程序,任务的最后一条指令是END,代表任务结束,END之后的指令不执行。这些任务大体上分为两类:循环任务和中断任务,而中断任务还可以作为扩充循环任务使用。 1. 循环任务 当循环任务的状态置为准备时,每个扫描周期执行一次,最多能使用32个循环任务,任务编号为00~31,多个任务时按从小到大的顺序执行。 2. 中断任务 当中断条件产生时,无论处于循环任务执行、扩充循环任务执行,还是I/O刷新、外设服务阶段,都必须立即强制中断,转去执行中断任务,执行完后再返回执行前的断点。CP1H的中断任务分为输入中断、定时中断、高速计数器中断和外部中断四种。中断任务还可以通过TKON指令的设置,作为扩充循环任务使用。 3. 扩充循环任务 扩充循环任务能够和通常的循环任务一样周期性的执行。在运行完循环任务(编号为00~31)后,对设置为“准备”状态的中断任务,按中断任务编号由小到大顺序执行。最多执行256个扩充循环任务,编号为0~255。但是,与通常的循环任务不同,扩充循环任务的属性不能设置为启动时自动执行,只能由TKON指令启动。 8.1.3 任务的执行条件及相关设定 任务的执行条件和相关设定见表 1. 未使能状态(DISABLED) 2. 准备状态(READY) 3. 执行状态(RUN) 4. 待机状态(STANDBY) 8.2 任务的管理和使用 循环任务0的属性设为“操作开始”时启动,(a)中的循环任务0使用TKON、TKOF指令,控制循环任务0、1、2、3的执行;(b)为任务0、1、2、3循环执行的顺序。 图a中,运行开始,任务0启动,处于执行状态,其它的任务为未使能状态。 图b中,A为ON 时,任务1置为准备状态,开始启动,同任务0一样,处于执行状态,而任务2、3 处于未使能状态。 图c中,D为ON时,任务0把自身置为待机状态,从下一个周期开始,任务0不再执行,而其它的任务保持原状态。 8.2.3 任务与I/O内存的关系 (1)按各个任务分别单独使用 (2)各任务共同使用 二者的区别是:在方法(1)中,循环任务1中使用的IR0和循环任务2中使用的IR0不相同。在方法(2)中,循环任务1中使用的IR0和循环任务2中使用的IR0相同。 对于IR或DR而言,无论采用方法(1)还是方法(2),都必须使用CX-P设定。在工程窗口中,右键点击“新PLC1”,如图所示,在弹出子菜单中选择“属性”。 在弹出的“PLC属性”窗口中选取“每个任务独立使用IR/DRs(I)”,如图所示。 8.2.4 任务对指令的限制 某些需配对使用的指令必须在同一任务中,否则错误标志位P_ER将置位,不能执行指令。这些需要配对使用的指令为:JMP/JME、CJP/JME、CJPN/JME、JMP0/JME0、FOR/NEXT、IL/ILC、SBS/SBN/RET、MCRO/SBN/RET、STEP S/STEP。 某些指令在中断任务中不能被执行,但是将中断任务切换为扩充循环任务后就可以执行了,TKON、TKOF、STEP、SNEX、STUP、DI、EI。 某些指令在中断任务内执行结果将不准确。指令为:TIM/TIMX、TIMH/TIMHX、TTIM/TTIMX、MTIM/MTIMX、TIML/TIMLX、TIMW/TIMWX、TMHW/TMHWX、PID、FPD、STUP。 8.2.5 任务标志 1. 循环任务的标志 1)任务标志(TK00~TK31) 任务标志TK00~TK31是在确认当前任务是否被执行时使用,当循环任务为准备状态时置1,在未使能或待机状态时置0。任务00~31对应于标志TK00~TK31。 2)任务初次启动标志A200.15 任务初次启动标志A200.15是在运行程序中进行一次初始化处理时使用。当循环任务从未使能转换为准备并得到执行权,处于执行状态时置为1,实际结束时置为0。循环任务通过该标志可以判断自身是否为初次执行。当初次执行时可以进行初始化处理,如图8.17所示。 4. 任务上升沿标志A200.14 任务上升沿标志A200.14是每次任务启动时用于初始化处理。当循环任务从未使能状态转换为准备状态时置为1。通过把该标志作为输入条件,

文档评论(0)

ccx55855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档