防止IO持续信号
2024-10-20 03:54:12
List<int> list = new List<int>() { 1,11, 2,3, 4,5, 6,22, 7, 8,9,10 };//产品:双数为ng 单数为ok
bool a=false;//传感器信号,true为有产品过来了,false无产品
int i = 0;
bool temp = false;
Task.Run(() =>
{
while (true)
{
//读取传感器信号,a默认是没有产品的所以为false
if (!a) temp = true;
/*这里的判断是为了一个产品只进入一次。如果产品停留在传感器位置一直不动
* 就会导致传感器的状态一直为true。temp是为了记入产品与产品的间隔,也就是a的false状态
*/
if (a && temp)
{
if (list.Count-1 == i) i=0;
temp = false;
if (list[i]%2 == 0)//如果产品为NG
{
//打开吹气IO点位500ms后再关闭吹气io
Console.WriteLine(list[i] + " --吹气中");
Thread.Sleep(500);
Console.WriteLine(list[i] + " --关闭吹气");
}
else Console.WriteLine("OK品"+ list[i]);
i++;
}
}
});
//下面是模拟io信号
while (true)
{
a = true;
Thread.Sleep(50);//产品经过感应器的时间
a = false;
Thread.Sleep(5);//产品与产品之间的间隔时间(也就是传感器没有感应到产品的时间)
}
有不对的地方或者是有更好的方法,希望大家能给出建议
最新文章
- C3P0连接池配置和实现详解
- 修改linux文件权限
- NC 解决启动环境报内存溢出问题
- install docker on xubuntu
- Python基础8- 序列
- 读取plist
- Axiom3D学习日记 5.Frame Listeners, and Input Handling
- 【转载】一步一步搭建自己的iOS网络请求库
- MVC中Filter拦截问题记录之重定向陷阱
- org.apache.jasper.JasperException: An exception occurred processing JSP page /admin/jiaoshi/daochuEx
- linux下搭建svn本地服务器
- System.net.mail.smtpException;服务器提交了协议冲突 服务器响应为:
- mysql 分区 1526错误
- gem ";ransack";(4000✨) 简单介绍
- Python学习笔记第十二周
- Python上下文管理协议:__enter__和__exit__
- [PY3]——环境配置(1)——pyenv | pip | ipython | jupyter(含安装pyenv环境shell脚本)
- 04 Maven 仓库
- MapReduce:Shuffle过程详解
- 51Nod 1509 加长棒(隔板法)