一个简单的物料防错DEMO

简介: 前言    快2个月没写过博客了,就算是记流水账似的文章都没时间写,主要是太忙了;太多的bug要修复、太多由于bug引起的异常问题要解决、还有新的项目要开发,不忙怎么行呢?最近利用业余时间在鼓捣一个PDA的程序,主要是想用来通过wifi连接服务器,快速的扫描物料,进行备料、续料、卸料之类的操作,相信只要是在工厂接触过SMT机器的朋友一定知道这一块的流程。

前言

   快2个月没写过博客了,就算是记流水账似的文章都没时间写,主要是太忙了;太多的bug要修复、太多由于bug引起的异常问题要解决、还有新的项目要开发,不忙怎么行呢?最近利用业余时间在鼓捣一个PDA的程序,主要是想用来通过wifi连接服务器,快速的扫描物料,进行备料、续料、卸料之类的操作,相信只要是在工厂接触过SMT机器的朋友一定知道这一块的流程。这个小程序也是费了很大的精力才慢慢有点儿起色,感谢帮助过我的朋友。 

实现逻辑

   主要业务在API里面实现,API里面将结果返回来,客户端通过API里面的返回信息进行操作,需要执行哪一些步骤也都是在API里面进行控制,如下代码:

 1  public AppendMaterial()
 2         {
 3             baseExcuteActionDelegate Step1 = new baseExcuteActionDelegate(init);
 4             baseExcuteActionDelegateList.Add(Step1, null);
 5 
 6             baseExcuteActionDelegate Step2 = new baseExcuteActionDelegate(CheckProduct);
 7             baseExcuteActionDelegateList.Add(Step2, null);
 8 
 9             baseExcuteActionDelegate Step3 = new baseExcuteActionDelegate(CheckSlot);
10             baseExcuteActionDelegateList.Add(Step3, null);
11 
12 
13             baseExcuteActionDelegate Step4 = new baseExcuteActionDelegate(CheckPartNumber_Old);
14             baseExcuteActionDelegateList.Add(Step4, null);
15 
16             baseExcuteActionDelegate Step5 = new baseExcuteActionDelegate(CheckPartNumber_New);
17             baseExcuteActionDelegateList.Add(Step5, null);
18         }

在所有的操作之前,需要先导入物料上料表,我这里用来测试,所以物料非常简单,其实这是不完整的,还应该包含机器、当前生产工单和飞达等信息,如下图:

在系统中会设定哪一些工位是需要记录物料信息的,在操作过程中,我会根据用户的设定来记录一些物料信息,比如说某一个条码在XXX工序用到了XXXX物料等等,如下图所示,可以对工序进行设定:

  

开发环境

   开发工具:Visual Studio 2008

   数据库  : SQL Server 2008 R2

   模拟器  : WinCE 模拟器(网上下载的)

   API      :  发布在本机IIS中的一个站点。

运行效果

   以下为程序运行效果,以截图为主,因为通过图片可以更直观的看到实际效果。

数据库中会记录着每一步的操作记录,包含事物名称、涉及的物料料号等等详细信息。

 

相关文章
C# DEV 关于设置gridview 指定单元格字体为红色
C# DEV 关于设置gridview 指定单元格字体为红色
|
12月前
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
372 5
|
Linux 网络安全
Linux虚拟机与主机和Xshell的连接问题解决
Linux虚拟机与主机和Xshell的连接问题解决
513 1
Could not open ServletContext resource [/WEB-INF/springmvc-servlet.xml]【解决方案】
Could not open ServletContext resource [/WEB-INF/springmvc-servlet.xml]【解决方案】
|
Ubuntu
Ubuntu禁止内核自动更新
通过上述步骤,您可以在Ubuntu系统中有效地禁用内核的自动更新。这些步骤包括锁定内核版本、禁用自动更新配置、移除不需要的内核包以及禁用相关的自动更新服务。这样可以确保系统在内核层面保持稳定,避免因内核自动更新导致的不必要问题。
3176 1
|
开发框架 .NET API
在Windows Server 2008 R2上运行.Net 8应用
在Windows Server 2008 R2上成功运行.Net 8程序,需安装三个补丁:Windows Server 2008 R2 SP1 (KB976932)是基础更新;VC_redist.x64提供MSVC库支持;KB3063858解决.NET运行时加载`kernel.dll`的路径问题。KB3063858可能需要KB2533623。详细信息和下载链接在文中给出。
1379 4
|
人工智能 自然语言处理 文字识别
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-10
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-10
|
关系型数据库 PostgreSQL
|
存储 缓存 C++
C++/PTA 对称排序
你供职于由一群丑星作为台柱子的信天翁马戏团。你刚完成了一个程序编写,它按明星们姓名字符串的长度非降序(即当前姓名的长度至少与前一个姓名长度一样)顺序输出他们的名单。然而,你的老板不喜欢这种输出格式
140 0
|
机器学习/深度学习 编解码 前端开发
前端开发面试题—CSS3新增特性
今天分享一下我遇到的一个面试题,是关于CSS3新增特性的问题,简单列举说明一下CSS3新增的属性有哪些?
前端开发面试题—CSS3新增特性