c语言中两个按键互锁,欧姆龙cp1h常用指令学习(十五)多重互锁指令MILH,MILC...

本文主要是介绍c语言中两个按键互锁,欧姆龙cp1h常用指令学习(十五)多重互锁指令MILH,MILC...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

多重互锁指令是允许相互嵌套的,如下图所示:

8881ab115d12dd1e2b5fbc29e6bffd5b.png

其中,编号并非是必须全部是唯一的,而是保证两两MILH之间不一样即可。

也就是说,编号可以0,1,0,1这样嵌套使用下去。

为了解释清楚多重互锁的意义,勇哥编写了下面的例程。

这里我做了两把锁,编号为0,状态位为W100.00

编号为1,状态位为W100.01

如果我不导通W0.00的话,你会发现你直接导通w0.01是没有效果的。实际上,如果你不导通W0.00,

那么直到第9步之前的任何一步都不会被执行。即使你人工导通1.07, 1.09也没用,MOV指导根本不执行!

如果想按下1.09后的mov指令执行,你先是先导通W0.00, 再导通W0.01,然后才可以。

306dc44c0440b29e2df627c68ad1cc76.png

5d8cc24953a39d42441241e4c702fa32.png

童鞋你实验完成了没有?

有什么觉悟? 那么究竟这对指令能用来做什么?

其实这种指令可以算是一种步进指令,当你需要实现:第一步做什么,然后第二步做什么(如果第一步不做,第二步也做不了)这样的关系的时候就用得着这种指令。

由于plc的指令中的每一条都会在每个周期被调用一次,因此往往我们在plc程序的主控制逻辑中使用这种指令来组织代码。

例如下面的代码段中,画红框的代码段中,就使用了多重互锁指令,它使用了两把锁,全部机器自动运行的逻辑控制部分都分布在5个程序段中,且受到2把锁的先后序列的控制。

红框这外的程序段,则是事先写好的资源,比如报警、与B站PLC通讯、复位、轴运动等等。这些资源被红框处的程序段所调用。

使用这种方式划分后,程序的运行逻辑代码与资源代码就可以划分清楚了。

其实,从这个意义上来说,这个多重互锁指令也有些像子程序的作用。

255b9fcce051721e3d9b767fb6b815f7.png

---------------------

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!

其它相关文章:

#转载请注明出处 www.skcircle.com 《少有人走的路》勇哥的工业自动化技术网站。如果需要本贴图片源码等资源,请向勇哥索取。

收藏 | 0点赞 | 0打赏作者

这篇关于c语言中两个按键互锁,欧姆龙cp1h常用指令学习(十五)多重互锁指令MILH,MILC...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680000

相关文章

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe