动力电池PACK MES设计-序
  CLYEAq02EKEQ 2023年11月02日 35 0

2019年3月,我所在的公司组织开发了一套完整的动力电池PACK工厂MES系统,在这个项目中,我担任系统架构设计师职务,主要负责软件架构和网络安全架构设计的工作。

    该系统包括PACK生产所需的计划管理,型号参数管理、BOM管理、工厂管理、站点工艺路径管理、设备管理、质量管理、报表管理等模块。

    1、项目概述

    当前我国大力发展新能源汽车产业,对于新能源汽车的核心零部件动力电池,国家也发文要求个动力电池生产商、主机厂、电池回收利用三方做好电池溯源工作。我司作为动力电池供应商,对内需提升生产管理精细化,对外满足国家溯源要求。2019年3月笔者所在公司组织力量,针对PACK厂生产管理需要,因此有必要开发一套完善的电池PACK MES 系统。在这个项目中,我担任系统架构师职务,主要负责软件价格和网络安全体系架构设计及主程序员工作。

    PACK MES 系统包括计划管理,型号参数管理,BOM管理,工厂管理,站点管理,工艺路径管理,设备管理,质量管理,报表管理等各个业务层次模块。受篇幅影响在这里不做详细介绍。

    系统的实现采用C# .net Framewrok, Asp.net MVC,Android,Java,SQL Server,WCF等技术,服务器采用Windows Server 2012,数据库采用SQL Server2014,移动端使用安卓PDA,系统适用我司多产线,多产品类型生产要求。

    2、C/S与B/S的比较分析

    C/S架构具有强大的数据库操作和事务处理能力,模型思想简单,抑郁人们理解和接收。但是随着企业规模的日益扩大,软件的复杂程度不断提高,C/S架构进行软件开发,大部分工作量放在客户端程序设计上。客户端显得十分庞大。

   (3)软件移植困难,采用不同开发工具或平台开发的软件,一般互不兼容,不能或很难移植到其他平台运行。

     (4)软件维护升级困难。采用C/S架构的软件要升级,开发人员必须到现场为客户升级,每个客户机上的软件都需要维护。对于软件的一个小小改动(例如,只改动一个变量),每个客户端都必须更新。

        B/S架构主要是利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件架构。基于B/S架构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。B/S架构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最显示的开放性基础。

    与C/S架构相比,B/S架构也有许多不足之处,例如:

    (1)B/S架构缺乏对动态页面的支持能力,没有继承有效的数据库处理功能。

     (2)B/S架构的系统扩展能力差,安全性难移控制。

    (3)采用B/S架构的应用系统,在数据查询等响应速度上,要远远低于C/S架构。

     (4)B/S架构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。

3、C/S与B/S混合软件架构

    传统的C/S架构并非一无是处,而新兴的B/S架构也并非十全十美。由于C/S架构根深蒂固,技术成熟,原来的很多软件系统都是建立在C/S架构基础上的,

(1)

    4、应用实例

    在设计PACK厂MES系统时,我们充分考虑到产线与管理的需要,采用C/S与B/S混合架构的内外有别、查改有别模型:

动力电池PACK MES设计-序_MES

本系统B/S、C/S服务端设计为了提高复用率,公用数据访问层和业务逻辑层。数据访问层选用.net framework ef6 ORM框架访问MES主数据库,并集成Dapper 轻量级ORM工具访问外围数据库,使用仓储模式将业务层和数据实体层分开,隐藏背后的数据源。

在这里使用依赖注入工具Autofac,将数据库上下文DbContext和各仓储业务管理起来。

C/S服务端使用控制台应用程序托管WCF服务,主要作用有2个,加载上面的数据访问层和业务逻辑层,发布WCF服务。

B/S服务端使用Asp.net mvc开发,直接使用实体数据层和业务逻辑层,编写控制器层和视图层即可,在控制器层添加Webapi类型控制器,供PDA端调用。

工控机客户端C使用Winform技术开发,编写WCF代理访问服务端业务,支撑客户端频繁交互电池包队列和关键件等数据采集。

PDA端使用安卓开发,通过httpclient 组件访问Web服务端的Webapi接口,主要用作巡检、拍照,数据交互不是太频繁。

浏览器端使用Bootstrap和Html5开发View层,支持多分辨率显示器,主要提供数据查询,参数配置,计划管理等不频繁和低数据量业务。

    在MES系统中,生产线操作人员通过产线局域网内的工位客户端直接访问WCF服务器,站点客户端需要频繁的刷新站点到达队列与通过队列信息,并且与设备交互操作。因此这里选用C/S架构更为合适。考虑到客户端开发复杂性,将2层C/S结构改成三层C/S架构,客户端业务放到服务器端实现,客户端通过WCF通讯技术调用服务器端开放的方法处理业务逻辑。

等工具,将业务接口与实现类注入到容易,并在服务端启动时自动装配,增加了服务端开发的扩展性。

    工控机端使用Winform开发界面,通过WCF调用服务器端方法,完成业务处理。

    为了满足质量检查要求,使用安卓pda开发质检功能,通过扫码识别箱体和当前站点,调出检查项目,填写拍照后上传服务器。安卓程序使用webapi 访问后台。

    办公区域的管理人员通过办公网的电脑浏览器直接访问PACK MES Web服务器,在访问数据库。Web服务器端也使用相同的数据访问层和业务层,只编写界面和Controller层, 管理人员只要一台电脑就可以创建生产订单、配置工艺参数、跟踪生产进度。这些操作无需负责交互和设置并且不受地域限制。此设计能很好的满足用户的需求,符合可持续发展的源,使系统有较好的开放性和易扩展性。

    该系统已经在我司PACK工厂使用并验收,用户反映良好,真正满足了PACK工厂的多订单,多产品类型混线生产管理需求,提高工作效率和生产数据准确性,对生产过程中的各种条码与关键件和设备数据准确记载,减少手工重复录入,达到生产过程记录无纸化和准确话的目的。符合电池溯源和两化融合要求。

    实践证明,在软件项目开发中,使用C/S与B/S混合架构能节省开发和维护成本,使系统具有良好的开放性,易扩展性,等优点,当然也发现C/S模式客户端更新不方便需要用U盘拷贝到每台机器升级。后期考虑开发升级程序,客户端先打开升级程序,检查本地配置文件版本,如果服务器端较新就从服务器端下载客户端压缩包,解压后运行客户端程序。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
CLYEAq02EKEQ