cpm1a编程手册内容摘要:

DM6653 12—15 位 设为 0 ,该设置规定接收字节数( 00:256 字节, 01—FF: 1—255 字节) 当 DM6653 12—15 位 设为 1,设置结束码( 00—FF) 错误标帜设置 (DM6655)该设置下载到 PLC 重新启动后生效 DM6655 00—03 记录方式 0: 每记录个错误更新一次 1: 只记录前 7 个错误(不更新) 2F;不记录。 0407 不用 0811 扫描周期监视使能 0:当扫描周期太长时产生一非致命错误。 1:不产生一非致命错误。 1215 不用 12 第二章 特殊功能 中断功能 概述 CPM1A,提供下述中断处理功能。 在线编辑或 执行 STUP 指令改变通信设置时中断处理功能可能暂时被停止。 中断输入类型 输入中断 00003,00004,0000500006 端,当其从 OFF 状态变成 ON 状态时,执行中断处理子程序。 其中断程序号分别为 000,001,002,003。 只有 10 点的 CPM2C CPU 无 00005 和 00006 . 其中断端 为 00003,00004,相应的中断处理子程序号为 000,001. 间隔定时器中 断 内部定时器中断时间精度为 , 相应的中断处理子程序号为000—049,由指令分配 高速计数器中断 从 00000—00002 端输入的脉冲以高速计数( 20KHZ/5KHZ),当计数达到予定值时或落入某一区间值,引起一 中断子程序。 其中断程序号为 000049,由指令分配。 编写中断子程序 中断子程序的定义与中断的清除:中断子程序的定义与普通的子程序一 样,是写在 SBN(92)和 RET(93) 之间放置于主程序之后的一段程序。 如下图所 示: 主程序 梯行图母线 SBN n 中断子程序 RET END 一般而言,一系列中断子程序是由相继的 (SBN,RET) 来定义的 . 在中断子程序中定义新的中断,原有的 中断即被清除。 中断子程序不能与中断子程序嵌套,也不能与普通子程序嵌套。 也就是说,中断子程序不能调用中断子程序;中断子程序不能调用普通子程序;普通子程序不能调用中断子程序;(注:普通子程序是可以嵌套的) 由于中断是由中断源引起的,不是程序调用的,所以无需 SBS(91)指令 13。 所以在程序检查时会产生一 SBS UNDEFD 错误,但不影响程序的执行。 注意:虽然在中断子程序可以使用 IORF(97) 刷新输入输出,但您必须谨慎地 注意 IORF(97) 之间的时间间隔。 如果 IORF(97) 执行太频繁,可 能会 产生一个致命错误( FALS 9F) ,并停止运行。 两 IORF(97)执行的时间间隔 至少应为 + 中断子程序总的执行时间。 中断的优先级:中断的优先级如下: 外部中断 间隔定时器中断 = 高速计数器中断 当中断子程序执行中有一优先级更高的中断产生,则当前的中断程序中止, 转而执行新的中断处理,高优先级的中断处理完成后,恢复执行原中断处理。 相同优先级的中断同时产生时,它们按如下顺序执行: 中断输入 0( 00003 端) 中断输入 1( 00004 端) 中断输 入 2 ( 00005 端) 中断输入 3( 00006 端)( 包括外部计数中断) 间隔定时器中断 高速计数器中断。 外部输入中断 00003 当输入端从 OFF 到 ON 时,正常 00004 程序被停止,执行中断程序。 00005 注: CPM1A 10 点的 CPU 无 00005 和 00006 00006 中断端子号,中断号,中断程序 号,最小信号宽度,中断响应时 间如下表: COM 01 03 05 00 02 04 06 0CH 中断端子号 中 断号 中断程序号 最小信号宽度 中断响应时 00003 0 000 50us 00004 1 001 (从输入 ON 到 00005 2 002 程序执行) 00006 3 003 输入端 0000300006 可以作为外部中断输入,外部计数中 断输入, 快速响应输入;如果不用做这些输入,则可做为普通输入端用。 外部中断输入和其它功能的关系如下表所示: 14 梯行图编程: INT(89): 屏蔽或开放中断输入。 SBN(92), RET(93) : 在它们中间编写中断子程序。 下表为中断控制指令 INT(89) 的功能: 指令 控制 操 作 (@)INT(89) 屏蔽或开放中断输入 禁止或允许规定的中断 清除中断 源 清除已允许的中断的中断源 读当前的屏蔽状态 读中断输入端的允许 /禁止 状态 屏蔽所有中断输入 禁止所有输入,包括外部输 入中断,内部定时器中断 高速计数器中断等。 开放所有中断输入 允许 所有中断输入包括外部输入中断,内部定时器中断, 高速计数器中断等。 屏蔽或开放中断输入 :PLC 工作之初,所有中断输入都被禁止。 (@)INT(89) 要使用中断,用 INT(89)来允许中断。 000 中断赋值数 000 固定为 000 C2 控制数据字 15 03 02 01 00 C2 0 0 0 0 0 0 0 0 0 0 0 0 输入 00006(中断 3) 0:清除屏蔽(允许中断) 输入 00005(中断 2) 1:设置屏蔽(禁止中断) 输入 0000(中断 1) 输入 00003(中断 0) 清除中断源: 因为中断被记录,当中断屏蔽去除后进入中断服务程序。 如果中断源被清除,即使该中断被允许也不执行中断服务。 清除中断源也用 INT(89) 指令。 其中断赋值数为 001. (@)INT(89) 001 000 C2 C2 0003 位 0: 中断源保持 1:中断源清除 读中断屏 蔽状态:读中断屏蔽状态也用 INT(89) 指令。 15 其中断赋值数为 002. C2 0003 位 0: 屏蔽清除(中断允许) 1:设置屏蔽(中断禁止) 屏蔽或清除所有中断:用 INT(89) 指令。 其中断赋值数为 100, C2 为 000 , 屏蔽所有中断; 其中断赋值数为 200, C2 为 000,除所所有 中断。 间隔定时器中断 使用 (@)STIM(69) 指令,配合 INT(89) ,可以引起 50 个间隔定时器中断。 其模式有两种:单脉冲式中断;定时中断。 单脉冲式中断: (@)STIM(69)启动后,设定的时间间隔到时引起一次中断。 (@)STIM(69) 000 控制赋值 000:启动一单脉冲定时器 C2 第一设定字 C3 子程序号( 0049, BCD) 定时中断 : (@)STIM(69)启动后,每当设定的时间间隔到时引起中断。 值得注意的是,中断程序的执行时间必须小于间隔定时器 的设定时间。 (@)STIM(69) 003 控制赋值 003。 启动定时中断 C2 第一设定字 C3 子程序号( 0049, BCD)。 间隔定时器的设定时间在 C2,C2+1 中。 如果 C2 中设为常数 () 则间隔时间即为它本身,以 1ms 为单位。 STIM 启动时该数递减。 递减到零引起中断。 如果 C2 中设不为常数,而是某寄存器( IR,DM 等) 则间隔时间由 C2 和 C2+1 决定: C2 是递减计数器的初始值。 ( 4 位 BCD,00009999) 每当 C2+1 时间到,减 1。 C2+1 递减计 数器的时间间隔。 ( 为单位, 4 位 BCD) 00050320 ( ) 间隔时间 =(字 C2 的内容) *(字 C2+1 的内容) *=~319968ms (@)STIM 指令还可读间隔定时器的。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。