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

/**************进料检测********************/
/***缺料无限次循环 手动退出 超时报警*******/
              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.hqwc.cn/news/697499.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用ffmpeg将本地摄像头推流至RTSP服务器,支持RTSP和RTMP协议

一、流媒体传输协议&#xff1a;RTSP和RTMP 1、RTSP和RTMP的工作原理 1.1&#xff09;RTSP工作原理 用户设备向视频流平台发送RTSP请求。视频流平台返回可操作的请求列表&#xff0c;如播放、暂停等。用户设备发送具体的请求&#xff0c;如播放。视频流平台解析请求并启动相…

git仓库使用

git仓库是会限制空间大小限制的 git网络库的容量限制_github仓库大小限制-CSDN博客 git是用于管理github的工具 电脑左下角搜索git打开GitBash.exe 进入到要下载到本地的目录 下载到本地的文件不要更改&#xff01; 如果要使用请务必把文件复制到别的空间去再在这个别的空间…

数据库笔记-【视图】

视图 视图通俗是企业想展示给用户看的&#xff0c;数据库存储的数据有很多&#xff0c;但是也有很多是不能对外公开的&#xff0c;做项目的过程就通过视图这个媒介达到这种效果 视图也可以保证数据库表结构字段的隐私安全等 create or replace view stu_v_1 as select id st…

虚拟机有线已连接但无法上网—·可能性之一

背景 VMware虚拟机&#xff0c;搭建了三台Linux服务器&#xff0c;组成Hadoop集群&#xff0c;由于在Hadoop102上有一些经常与Mysql数据库交互的任务&#xff0c;需要经常打开运行&#xff0c;而Hadoop103和104则经常处于关闭状态&#xff0c;一段时间后再次启动集群时候&…

使用Dockerfile配置Springboot应用服务发布Docker镜像-16

创建Docker镜像 springboot-docker模块 这个应用可以随便找一个即可&#xff0c;这里不做详细描述了。 pom.xml 依赖版本可参考 springbootSeries 模块中pom.xml文件中的版本定义 <dependencies><dependency><groupId>com.alibaba.cloud</groupId>…

AI智能体|我把Kimi接入了个人微信

大家好&#xff0c;我是无界生长。 最近加入AI学习交流群的小伙伴越来越多&#xff0c;我打算在微信群接入一个聊天机器人&#xff0c;让它协助管理微信群&#xff0c;同时也帮忙给群友解答一些问题。普通的群聊机器人肯定是不能满足需求的&#xff0c;得上AI大模型&#xff0c…

HFSS学习-day5-边界条件

边界条件 概述边界条件类型1、理想导体边界条件&#xff08;Perfect E&#xff09;2、理想磁边界条件&#xff08;Perfect H&#xff09;3、有限导体边界条件&#xff08;Finite Conductivity&#xff09;4、辐射边界条件&#xff08;Radiation&#xff09;5、对称边界条件&…

Java入门基础学习笔记22——程序流程控制

程序流程控制&#xff1a;控制程序的执行顺序。 程序有哪些执行顺序&#xff1f; 顺序、分支和循环。 分支结构&#xff1a; if、switch 循环&#xff1a; for、while、do-while 顺序结构是程序中最简单最基本的流程控制&#xff0c;没有特定的语法结构&#xff0c;按照代码…

Django开发实战之定制管理后台界面及知识梳理(下)

接上一篇&#xff1a;Django开发实战之定制管理后台界面及知识梳理&#xff08;中&#xff09; 1、前台设置 1、隐藏路由 当你输入一个错误地址时&#xff0c;可以看到这样的报错&#xff1a; 从这样的报错中&#xff0c;我们可以看到&#xff0c;这个报错页面暴漏了路由&a…

用Transformers实现简单的大模型文本生成

根据输入的prompt&#xff0c;生成一段指定长度的文字。Llama跑起来太慢了&#xff0c;这里用GPT-2作为列子。 from transformers import GPT2LMHeadModel, GPT2Tokenizer import torchtokenizer GPT2Tokenizer.from_pretrained("gpt2") model GPT2LMHeadModel.fr…

cookie、session、token、表单、json、jsonp、websocket、ajax都是什么

前后端数据交互的几种方式 1.cookie Cookie是服务器保存在客户端的一小段数据&#xff0c;&#xff08;使用Cookie的前提是客户端浏览器允许使用Cookie并对此做出相应的设置。&#xff09; cookie是一种存储在用户计算机上的小型数据文件&#xff0c;常用于在web应用程序中跟…

Prompt Engineering ,Fine-tuning , RAG ?

Prompt Engineering ,Fine-tuning , RAG 总结&#xff1a;1 prompt engineering2 RAG (Retrieval Augmented Generation)**RAG特点****RAG优势****RAG劣势** 3 微调&#xff08;Fine-tuning&#xff09;**微调特点****微调优势****微调劣势** 4 三者共性和区别5 RAG和微调的适应…