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

相关文章

MySQL字符串常用函数详解

《MySQL字符串常用函数详解》本文给大家介绍MySQL字符串常用函数,本文结合实例代码给大家介绍的非常详细,对大家学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql字符串常用函数一、获取二、大小写转换三、拼接四、截取五、比较、反转、替换六、去空白、填充MySQL字符串常用函数一、

Java中Arrays类和Collections类常用方法示例详解

《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高... 目录Arrays.fill()相关用法Arrays.toString()Arrays.sort()A

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁