浅谈西门子Camstar MES桌面端开发(西门子软件界面)

前言:

首先客户信息,敏感信息根据公司要求已经隐藏。笔者3年前玩过一个项目的Camstar,由于各种原因,到半年之前再未玩过Camstar。如今再次接触到Camstar项目,加上这几年MES系统开发的经验,对Camstar有了一个颠覆性的认识,相比UA,Camstar真香!今天我们要说的是本人自己开发的基于Camstar桌面客户端的开发经历。由于项目上本人的工作已经做完,写这篇文章一是记录总结一下项目从开始到结束的开发历程,总结一下自己。二是给有这方面需求的同事朋友一个帮助性的文档,在技术选型,软件设计,操作方面希望对读者有所帮助。废话不多说,我们来正文。

我们来说说我们基于Camstar实现的客户端功能:单点登录,自动更新(更新包打包成Zip),登录,换肤,日志管理,【界面:生产准备,生产进度报表,实物BOM记录报表】,综合作业视图(Operational View),任务接收(MoveIn),执行工步(Eprocedure电子流程),零件装备(物料装配),零件拆卸(物料拆卸),工序报工(MoveStd),日常点检(设备点检),批次完工(Close),外厂上传检验记录,入库关联质量过程。由于客户网络限制,不允许客户端直连数据库,同时也为了项目架构考虑,整个项目分为客户端和接口前后端分离。同时我们还封装了可以复用的公共组件,其他界面需要,便可一个拖动,即实现功能。(封装的公共组件包括,导入组件,导出组件,下载模版,Container组件,Employee组件【支持单选,多选】,Resource组件,WorkFlowStep组件【提供给并行工序使用】),具体演示可以看文章最后面的视频。从开始开发到目前已开发功能UAT完成共两个半月。

一:登录,单点登录,自动更新,日志提示信息管控

浅谈西门子Camstar MES桌面端开发(西门子软件界面)浅谈西门子Camstar MES桌面端开发(西门子软件界面)

1: 登录:通过获取到的用户名和密码,调用Camstar的创建session方法(createsession)进行登录,通过Camstar校验登录的用户密码。同时项目使用域控管理,我们还封装了通过指定域名称来登录的方式。

2:单点登录:客户通过一种USB-KEY的方式来管理集团单点登录用户信息,插上这种类似U盾的KEY即可登录集团中所有接入单点登录的系统。当使用KEY的用户插上这种USB-KEY,在所有的HTTP,HTTPS请求中头文件里会塞入用户信息和session信息。我们在接口程序中封装了一个一般处理程序提供给客户端进行调用,当获取到用户信息的时候直接进行登录。

3:自动更新:首先我们的自动更新是强制自动更新。考虑到用户数据的一直性,接口的一致性,所以采用强制自动更新是非常有必要的。整个实现的逻辑和大多数自动更新一致。服务器端配置文件存入一个当前最新版本,客户端的配置文件为用户当前版本。每次运行程序向服务器端发起是否版本变更,检测到新版本的话,会自动下载服务器端文件夹中最新版本的Zip包。通过封装的Zip解压库自动解压并且杀死用户打开的EXE进程,重新打开新版本的EXE执行程序。

4:日志,提示信息管控:我们在客户端本地引入了Log4NET用来记录日志,用以处理系统可能的报错信息。关于客户端中的提示信息我们使用了两种,一种是在右上角的提示信息,这种信息一般是成功的信息,比如导入成功,导出成功等,3秒之后自动消失,无需用户点击确认,关闭等。还有一种信息提示错误信息提示,包括catch到的异常,Camstar返回的执行失败等信息,会在中间弹出。这种信息需要用户进一步确认,同时我们提供给用户两个选择,点击确认,直接把错误信息复制到剪切板,可以直接发送给信息中心技术人员,点击取消,则不处理,继续业务操作。

二:计划管理

浅谈西门子Camstar MES桌面端开发(西门子软件界面)浅谈西门子Camstar MES桌面端开发(西门子软件界面)浅谈西门子Camstar MES桌面端开发(西门子软件界面)

计划管理模块我们目前只是画了一些界面,没有做数据填充,业务操作等。所以这里不做说明,只是给大家截一些图。整个界面的区域都是可拖动的。比如某个树节点名称很长,可以把当前组件拖宽,便可看到所有信息。

三:现场作业

我们在设计现场作业模块的时候,保持着跟Camstar一个操作逻辑的原则,下面大家可以看到Container的筛选,带出信息,不仅可以模糊搜索,可以选择,还可以扫码枪扫入,均可自动带出Container信息。而且保持和Camtar一致,根据Employee上的Operation信息进行过滤。

1:综合作业视图(Operational View):

浅谈西门子Camstar MES桌面端开发(西门子软件界面)

综合作业视图对应Camstar的Operational View,上方为一个批次选择,订单,可以进行查询,下方分别为待接收,已接收,待检验的任务列表。右侧为跳转功能菜单,三个质量检验相关动作,一个筛选批次(用来筛选当前登录人相关的批次),刷新按钮的作用是当Camstar接受的一个Container的时候,无需关闭页签,直接刷新重新加载。整个综合作业视图最大的亮点在于使用前端开发中的双向绑定的思想,即当物料批次号,待接收,已接收的列表随便选择一个批次点击右侧的跳转按钮(任务接收,执行工步,装配,拆卸,报工)即可自动带入到界面中,这个是我们自己实现的,当然和那种VUE的双向绑定实现逻辑不能比,但是这个思路最少能让用户少点五次,最少。具体演示可以看文章最后面的视频。另外三个质量相关的按钮动作,因为是比较关键的动作,所以在动作执行之前我们加入了让用户进一步确认的提示。

2:任务接收(MoveIn)

浅谈西门子Camstar MES桌面端开发(西门子软件界面)浅谈西门子Camstar MES桌面端开发(西门子软件界面)

对应这Camstar的MoveIn动作,功能没有什么需要详细说的。这里我们使用Resouce选择的自己封装的控件。并且开发了组件配套单打印的功能,支持打印预览,打印设置,直接打印,导入等各种动作。

3:执行工步(Eprocedure电子流程)

浅谈西门子Camstar MES桌面端开发(西门子软件界面)浅谈西门子Camstar MES桌面端开发(西门子软件界面)浅谈西门子Camstar MES桌面端开发(西门子软件界面)

执行工步是整个客户端最复杂的一部分,同时电子流程在Camstar中也是相当复杂一个功能,我们为了保持和Camstar的原汁原味,可谓费劲心思,同时客户在这个界面也二开了很多功能。在执行工步中我们实现了工序检测信息在实测值,结果值中输入不合法的数值直接单元格变红的动作,和Camstar一致。在不合格审理中,根据表格中的值,自动生成备注信息,同时调用LPM接口直接进行不合格审理的单据发起。查看质量记录,是调用外部HTML的Web界面,查看工艺指导是调用TeamCenter的工艺指导界面(HTML5支持)。由于WinForm自带的WebBrowser浏览器内核为IE内核,无法打开TeamCenter界面,我们引用了Webkit内核的浏览器,成功解决了这一问题。保存就是把工艺检测信息的输入值直接保存在临时表中,以解决用户无法一天就把当前所有检测信息提交(生产环境检测信息多的有几百条)。选择检验员就是用户选择公共组件,选择之后,当前Container会带入综合作业视图待检验网格。导出选择卡即是导出用户填写的信息,同时导出的Excel模版下拉列表中数值可供用户选择,防止用户记不住工号,填入非法的值等。同时提供导入功能。所以这里我们执行工步的信息填写方式又出现了一种,即是先把所有的检测信息导出,在Excel填写(Excel中可以批量输入),再导入。由于几百条记录,还有的一体机没有网络,所以我们提供了这种把数据录入到Excel中,再拿到有网络的地方进行导入的方式。

4:工序报工,批次完工,日常点检

浅谈西门子Camstar MES桌面端开发(西门子软件界面)浅谈西门子Camstar MES桌面端开发(西门子软件界面)浅谈西门子Camstar MES桌面端开发(西门子软件界面)

基本上都是Camstar的标准功能,界面设计大家可以参考。这里说一下工序报工中的用户选择公共组件。首先这个用户选择是多选的,用户可以进行勾选,并且在报工的操作者选择中,选择的顺序是需要记录的,原因涉及到第一负责人,第二负责人,第三负责人等。所以我们在用户选择模块中加入了sequence,用来记录选择的用户顺序,进一步用来确认负责人的顺序。同时用户选择组件支持用户名和姓名的模糊搜索。

5: 零件装配,零件拆卸

浅谈西门子Camstar MES桌面端开发(西门子软件界面)浅谈西门子Camstar MES桌面端开发(西门子软件界面)

零件装配和零件拆卸界面和功能都很像,我们放在一起。装配是BOM清单联动装配明细,拆卸是装配记录联动拆卸明细。装配可以把挂了当前物料按数量装配到批次上,并且在Camstar中添加了4个装配时的字段。点击装配可以把信息直接保存在网格中,存在客户端。点击重拆可以把装配在客户端的,还未提交的数据拆下,零件拆卸同理。零件拆卸多了一个未装配的物料进行拆卸的动作,直接保存在Camstar自建表中。

6: 上传检验记录

浅谈西门子Camstar MES桌面端开发(西门子软件界面)

上传检验记录提供文件选择,模版下载,导入的进度条,导入预览,导入数据,关闭等动作。选择的Excel的时候会检验用户是不是把这个Excel在PC上打开了,如果打开了,会提示需要关闭,关闭之后导入通过校验的数据,在数据网格中可以预览数据,预览没问题点击导入数据,根据数据导入的进度,进度条变化。当导入Excel后,数据校验不通过,也可以进行数据预览,但是导入按钮无法进行点击。具体操作欢迎观看下方的视频【如果看不到视频预览,直接点击下方空白处,即可观看视频,电脑观看效果更佳】。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。