自动攻丝机进出料激光检测 进料出料失败报警循环手动及关闭报警退出无限循环

本文主要是介绍自动攻丝机进出料激光检测 进料出料失败报警循环手动及关闭报警退出无限循环,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/**************进料检测********************/
/***缺料无限次循环 手动退出 超时报警*******/
              void check_Pon()                     //
              {
               zstatus=0;                         //报警计数器归零
               Signauto=1;                       //行程开关循环标志
//1进料检测2工位旋转3机座检测4夹具一开5夹具二开6夹具三开7夹具四开8夹具五开9夹具六开10电机进11电机退12闸门一开13闸门二开14过桥开
               FLAG_M=1;                         //进料检测
               printf("va1.val=%d\xff\xff\xff",FLAG_M);//
               while(Signauto)                   /**/
               {
                OutPut2=0;                       //闸门3开
                RstKey();
                for(;kcounter<10;)               //按键循环10
                {
                 if(!IntPut2)                    //按键低电平
                 {
                 LowVoltKey();                   //按键低电平 计数器加一状态标志加一
                 }
                 else if(~!IntPut2)              //按键高电平
                 {
                 RstKey();                       //按键计数器 状态计数器归零
                 }
                 delay1(2);                      //2023
                 if(kstatus>=8)                  /*按键状态标志大于等于8为有效值*/
                 {     
                 OutPut2=1;                      //闸门3关
                 Signauto=0;                     /*行程输入信号连续检测到3次Signauto=0退出循环*/
                 }
                 if(RUN_Flag==0)                 //手动标志
                 {
                 Signauto=0;                     //Signauto=0退出循环
                 break;
                 }
                 zstatus++;                      //缺料报警计数器加一
                 delay10ms(5);
                 if(zstatus>val9)                 //缺料计时
                 {  
                 Error_Flag=1;                     //开报警标志
                 delay10ms(50);
                 OutPut20=~OutPut20;              //缺料退刀及润滑退未到位报警
                 delay10ms(50);
                 OutPut20=~OutPut20;              //缺料退刀及润滑退未到位报警
                 delay10ms(50);
                 OutPut20=~OutPut20;              //缺料报警
                 if(Error_Flag==0)                 //串口接收到报警关闭标志
                  {
                   zstatus=0;                     //报警计数器复位
                   OutPut2=1;                    //闸门3关
                   Signauto=0;                   /*行程输入信号连续检测到3次Signauto=0退出循环*/
                   OutPut20=1;                     //蜂鸣器输出关
                   break;                        //
                  }
                 }
                }
               }
              }

///

///

///

/***出料检测低电平无限循环,高电平退出无限循环********/
/***检测到手动标志和关闭报警退出无限循环超时报警*****/
              void Check_Error()
              {
               zstatus=0;                         //报警计数器归零
               Signauto=1;                       //行程开关循环标志
               while(Signauto)                   /**/
               {
               RstKey();
               for(;kcounter<10;)                //按键循环10
               {
                if(!IntPut6)                     //按键低电平重复检测
                {
                 kcounter=0;                     //按键计数器加一 状态标志归零
                 kstatus=0;                      //按键低电平 计数器加一状态标志加一
                }
                else if(~!IntPut6)               //按键高电平夹具无料
                {
                 kcounter++;
                 kstatus++;
                }
                delay1(2);                       //2023
                if(kstatus>=8)                   /*按键状态标志大于等于8为有效值*/
                {     
                zstatus=0;
                zstatus=0;
                Signauto=0;                      /*行程输入信号连续检测到3次Signauto=0退出循环*/
                }
                if(RUN_Flag==0)                  //手动标志
                {
                Signauto=0;                      //Signauto=0退出循环
                break;
                }
                zstatus++;                          //缺料报警计数器加一
                delay10ms(5);
                if(zstatus>val9)                 //缺料计时
                {  
                Error_Flag=1;                     //开报警标志
                delay10ms(50);
                OutPut20=~OutPut20;              //缺料退刀及润滑退未到位报警
                delay10ms(50);
                OutPut20=~OutPut20;              //缺料退刀及润滑退未到位报警
                delay10ms(50);
                OutPut20=~OutPut20;              //缺料报警
                }
                if(Error_Flag==0)                 //串口关闭报警标志
                 {
                 zstatus=0;                         //报警计数器归零
                 Signauto=0;                     /*行程输入信号连续检测到3次Signauto=0退出循环*/
                 break;
                 }
                }
               }  
              }                      

这篇关于自动攻丝机进出料激光检测 进料出料失败报警循环手动及关闭报警退出无限循环的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Spring Boot循环依赖原理、解决方案与最佳实践(全解析)

《SpringBoot循环依赖原理、解决方案与最佳实践(全解析)》循环依赖指两个或多个Bean相互直接或间接引用,形成闭环依赖关系,:本文主要介绍SpringBoot循环依赖原理、解决方案与最... 目录一、循环依赖的本质与危害1.1 什么是循环依赖?1.2 核心危害二、Spring的三级缓存机制2.1 三

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La