勇哥是计算机专业毕业的,对于计算机的中断太熟悉不过了。所以对于中断是干什么的,怎么工作的,这里就不在赘述了。
对于plc这种讲究实时响应的设备上来说,中断由于优先级别高,我相信意义是很大的。
但是勇哥对于plc上的中断究竟能干些什么,由于初学plc,所以没有对应的项目经验,只能是先了解为主,以后再来补全。
CP1H的中断功能的种类:
●输入中断(直接模式)
CPU 单元的内置输入发生OFF→ON 的变化,或ON→OFF 的变化时,执行中断任务的
处理。根据中断接点中断任务140~147 被固定分配。
●输入中断(计时器模式)
通过对向CPU 单元的内置输入的输入脉冲进行计数及计数达到,执行中断任务的处理。
输入频率,作为所使用的输入中断(计时器模式)的合计为5kHz 以下。
●定时中断
通过 CPU 单元的内置定时器,按照一定的时间间隔执行中断任务的处理。
时间间隔的单位时间可从10ms、1ms、0.1ms 中选择。另外,可设定的最小时间间隔为
0.5ms。
中断任务2 被固定分配。
●高速计数器中断
用 CPU 单元内置的高速计数器来对输入脉冲进行计数,根据当前值,与目标值一致、
或通过区域比较来执行中断任务的处理。
可通过指令语言分配中断任务0~255。
关于高速计数器,请参见「5-2 高速计数器(5-26 页)」。
●外部中断
连接 CJ 系列的高功能I/O 单元、CPU 高功能单元时,通过单元侧的控制,指定中断任
务0~255 并执行处理。
中断任务的程序编制方法
1. 右击项目树的「新建PLC[CP1H]联机」,如在下拉菜单中选择「程序插入(I)」,
则在树的下方出现「新建程序2(未分配)」。
(图1)
2. 右击「新建程序2(未分配)」,如在下拉菜单中选择「属性(O)」,则出现「程
序的属性」设定窗口。
(图2)
3. 在程序的属性中,设定「任务类别」。
下图显示新建程序1 中分配中断任务140 时的示例。
(图3)
如点击窗口右上角的×按钮,则作为中断任务140 可进行执行程序的编制。
任务中分配的程序彼此独立,故需要在最后分别附带END (001)指令。
中断任务的处理对象重复的情况
(1) 在第1 操作数及第3 操作数的处理过程中,通过中断进行同一区域的处理时
+B 指令处理中发生中断,加法运算结果#1235 不被写入D0,而是被暂时保存。
中断任务中,将#0010 向D0 进给结束,但返回到周期执行任务时,被保存的数据#1235
被写入D0。
结果,中断任务的处理没有被执行。
·措施
下面是各类型中断的演示代码:
输入中断(直接模式)
待研究………
输入中断(计时器模式)
待研究………
定时中断
在下面的演示程序中:
第一条MSKS指令是设定定时中断任务执行中断时间为1秒
第二条MSKS指令是设定每次中断任务间隔时间1秒,第一次任务执行时间为3秒
先把w0.00置on, 开始执行第一条MSKS指令,执行的结果是D0的数据每隔1秒加1
如果把w0.01置on,触发CLI指令,你会发现定时中断停止了,然后3秒钟后又开始。
如果先把w0.02置on,再执行第二条MSKS指令,则D0的数据第一次3秒钟后加1,以后每秒加1
注意: 一定要把新程序2, 中断类型(见图2的列表)选择中断任务2。
否则,哼哼,你的PLC会红了报警,报80F0错误,不要怪勇哥没有提醒过你哦。
顺便说一句,plc的错误日志可以在里面查看。其错误代表的内容可以查看手册“CP1H操作手册”
高速计数器中断
待研究………
外部中断
待研究………
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!
其它相关文章:
欧姆龙cp1h常用指令学习(十五)多重互锁指令MILH,MILC
欧姆龙cp1h常用指令学习(四)串口无协议读写指令TXD,RXD

