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

相关文章

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

Nginx指令add_header和proxy_set_header的区别及说明

《Nginx指令add_header和proxy_set_header的区别及说明》:本文主要介绍Nginx指令add_header和proxy_set_header的区别及说明,具有很好的参考价... 目录Nginx指令add_header和proxy_set_header区别如何理解反向代理?proxy

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

Redis中的常用的五种数据类型详解

《Redis中的常用的五种数据类型详解》:本文主要介绍Redis中的常用的五种数据类型详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis常用的五种数据类型一、字符串(String)简介常用命令应用场景二、哈希(Hash)简介常用命令应用场景三、列表(L