PLC工程师数据管理客户端的设计与应用

2019-08-12 01:27徐云蛟
电脑知识与技术 2019年16期
关键词:数据库管理

徐云蛟

摘要:通过产学研项目,认识到上海西马特机械制造有限公司。经过一系列的培训后,对PLC各方面的知识有所了解,也为了方便该公司日常运作工作管理,开发了基于Android手机平台的客户端。

该设计主要实现的功能是工程师实时获取每日安排的任务单,在完成工作后,可以提交自己的任务,方便公司负责人在后台能够看到解决任务时的详细工作记录,以备日后检阅。根据上述的主要功能,将利用手机推送功能实现工程师实时获取不同需求的任务单,利用GPS定位还可以实现提交工作位置,方便工程师签到等功能。上传下载工作记录的功能主要利用了数据库接口来完成。经过多次测试,客户端运行稳定,软件满足当初设计的要求。

从软件的实际使用来看,该软件可以帮助工程师节约很多时间和精力,也加强了公司负责人对工程师的管理,从而提高工程师工作的效率和公司业绩,后期还可加入更多功能,来满足巨大的市场需求。

关键词:管理;Android;数据库

中图分类号:TP391   文献标识码:A

文章编号:1009-3044(2019)16-0059-04

开放科学(资源服务)标识码(OSID):

1 绪论

1.1 引言

PLC叫做可编程逻辑控制器,是专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。[1]

在低端的离散自动化系统和独立自动化系统中使用的小型控制器模块,可靠性高,编程方便,组态灵活,并且具有齐全的输入和输出功能模块。通过安装Siemens TIA Portal V15就能对西门子系列的设备进行编程和控制,在人工智能领域起到了很大的作用。

随着智能手机系统的不斷发展,人工智能控制系统的需求不仅仅要在电脑上运行,同样需要在手机上得到发展,无论是在公司内部的管理和运作,还是工程师们的日常的工作中,如果能发挥手机软件的便捷性,随时随地打开查看,并且还能提供专业的帮助,为工程师打造良好的工作环境。在互联网时代,对树立企业形象也有极大的宣传作用。

1.2 安卓应用开发前景

谷歌自从推出Android系统以来,市场响应热烈,对比以往的塞班手机优势明显,所以很快占领了一部分市场份额并迅速地扩大份额量。Android系统手机不仅在国外反应强烈,在国内也受到了很强烈的欢迎,所以说Android系统手机还在蒸蒸日上不断发展中。

在手机市场火爆的情况下,Android系统凭借着开放的平台,丰富的应用,赢得了属于自己的庞大的客户人群。谷歌的Andriod系统也在不断的升级,其开发出的软件功能不断加强,所以还会有越来越多的人选择Android系统的手机和或者一些Andriod系统的无线终端设备 [2]。

未来基于Android系统的应用软件将进入飞速发展的全新阶段。Android系统的应用绝不仅限于手机产业,几年来其迅速扩张到相关领域,例如平板电脑、车载系统、电视STB、智能电器、智能会议系统等。目前,各IT厂商都在努力的研发前沿应用软件,以期待在Android系统发展这一群雄逐鹿的关键阶段,占领更多的市场份额。

所以在Android平台上开发一款功能丰富而且人性化的企业管理辅助系统,具有很大的市场潜力。

2 系统概述

2.1 项目介绍

通过产学研项目,在上海西马特机械制造有限公司学习了一段时间。经过这一系列的培训,在对PLC各方面的知识有所了解的同时,也熟悉了该公司生产线上的日常维护和运行。为了方便该公司日常运作工作管理,开发了基于Android手机平台的客户端。

2.2 需求分析

本软件使用者可分为管理员和PLC工程师,PLC工程师通过移动客户端获取每天的工作任务,如流水线控制要求、加工零件的尺寸、其他协作工程师的信息等。在完成工作以后,需要提交工作记录。

根据以上叙述,得到如下分析:

2.2.1 工程师基本功能要求

1)即时获取每日工作任务:当有工程师新的工作任务时,系统即时发出通知。

2)工作任务查看:查看工作任务详细信息。

3)提交工作记录:运维工程师提交处理工作任务的起始时间、内容、结果等,同一工作任务可以多次提交工作记录。

4)查看修改已提交的工作记录。

5)运维资料库,方便工程师查阅。

6)每日签到,通过GPS获取签到位置。

2.2.2 管理员基本功能要求

1)分配任务:定义产品尺寸、流水线作业等。

2)编辑资料库:包括硬件资料、产品资料、问题解答等。

3)查看工程师信息:包括每日打卡签到、工作完成情况、产品生产情况汇总等。

2.3 主要功能设计

移动客户端的设计有八个主要功能,涉及数据库的调用、向数据库中写入数据、删除数据库中数据、数据的显示、GPS定位获取、软件消息实时提醒、电话呼叫功能和资料库。将这些功能开发并实现,就能组合成各个功能模块,将功能模块结合上UI设计,就可以完成软件客户端的设计。图1所示,系统流程图。

1)数据库的调用:调用数据库中的工程师信息表(engineer)、派单表(dispactch)、任务单表(task)、工作记录表(record)、工作记录图表(image)、签到记录信息表(checkin)。

2)数据库中写入数据:提交数据必须进入到某项具体任务中,然后向数据库中提交工作记录表(record)、工作记录图表(image)、签到记录信息表(checkin)等信息。

为使Android应用程序可以在模拟器上运行,在Eclipse中创建安装虚拟机AVD。在Android 1.5版本以后的开发过程中,AVD创建的数量不可以少于1个,每个AVD会模拟一套虚拟的设备来运行开发的Android应用程序[8]。

模拟器的启动后的界面和正常的Android的使用方法相同,可以在开发Android软件时通过模拟器进行软件的测试,便利性大大增加,也节约了开发人员宝贵的时间。在开发程序之前必须要搭建好开发环境,否则开发过程中就会出现错误。

4 系统功能实现

4.1 登录模块

本软件在实际使用中都是由项目公司的PLC工程师操作,要求软件系统具有很高的安全性和保密性,以防止公司资料泄密。所以,在工程师登录模块中,当工程师未输入账号密码或者只输入了一项时会提示工程师账号密码为空。当工程师账号密码都输入时,点击登录,通过接口与服务端数据库中的工程师信息进行比对,若账号密码正确,则可以顺利登录软件,若账号密码不正确则提示账号密码有误。在登录模块设立onClick监听事件,然后应用AsyncHttpClient请求,可以使轻松地获取网络数据或者向服务器发送数据,运用了异步框架,在底层用线程池处理并发请求,提高请求效率。

4.2 工作安排模块

在工程师登录软件之后,界面会实时更新工作的内容,根据不同设备的要求做出不同的要求。这里的工作安排表通过接口利用登录模块所用的异步传输请求从服务端下载数据。

根据任务的时间不同,进行数据排序。找到排序点之后还需要用到Comparator函数,该函数实现了 Comparator接口(即“比较器”接口,新集合库的一部分)的一个对象,并用它的单个compare()方法进行比较。这个方法将两个准备比较的对象作为自己的参数使用,若第一个参数小于第二个,返回一个正整数;若相等,返回零;若第一个参数大于第二个,则返回负整数。

ListView是Android开发中非常常用的组件,ListView可以用来显示一个列表,本次开发的工作安排表、工作记录、签到记录等都需要利用Listview显示排序后的数据。仅仅有Listview是显示不了数据的,还需要用到Adapter来适配数据。

4.3 签到记录模块

签到记录模块,无法删除所签到的数据,只能提交手机GPS获取的位置,并将获取的位置上传至服务端,通过服务端后台百度地图解析显示。当成功提交位置后,在服务端和客户端都会显示。

为了提高定位信息的准确度,本次开发利用updateView函数实现了GPS更新位置信息,并保留在Textview中,当需要上传时,将自动从Textiew中获取。

签到记录的显示还用到Listerview+Adapter功能,但这里添加了onRefresh()函数上拉刷新功能。在刷新本地数据的同时,因为客户端和服务端的请求回应需要时间,所以本次设计了handle延时功能,可以让刷新的进度与客户端获取的速度保持一致。在延时的过程中, listView.setRefreshTime通知客户端更新数据,让客户端数据保持最新。

4.4 工作记录模块

在上述模块的介绍过程中,已经涉及到了AsyncHttpClient异步传输,Listeview+adapter显示,Json解析數据,Comparator数据排序等技术。工作记录模块主要是对数据库的操作,对数据库中的数据进行提交、修改和删除,所以本模块也应用到了上述技术。

在上传、提交、删除三种网络请求交互时,需要用到switch函数,通过v.getId获取物件的id码,通过id识别请求方式。

4.5 资料库模块

资料库模块是对PLC工作技巧的一个总结,方便PLC工程师在运维工作前学习技术,在运维工作中也可以直接查阅。将公司提供的数据,导入进软件的数据库中,并进行一定的分类,实现数据的查阅和检索。

4.6 电话呼叫模块

电话呼叫模块主要实现工程师通讯录功能,通过异步请求,利用接口下载工程师信息表,并json解析后在listview中显示。电话呼叫模块的最大特色就是利用Intent直接拨号快捷功能,当工程师想咨询另一位工程师时,并不需要存储联系方式,通过系统客户端,在联系人一栏查阅号码,可以直接点击拨号,无需退出程序。

本章主要介绍了软件各模块的功能及实现的方法,在模块功能的实现原理中,主要应用到了AsyncHttpClient异步传输,Listeview+adapter显示,Json解析数据,Comparator数据排序等技术。

5 总结

开发完成后,在硬件平台方面,测试的硬件需要一部可以装载Android系统的手机。在软件平台方面,需要手机操作系统为Android 4.2.2或者更高的版本。在软件测试之前应做如下设置:1)手机安装上开发版本为8.0的Android软件。2)打开手机的网络功能,可以为无线网络也可以为数据蜂窝网络,同时需要打开手机的GPS定位。手机网络和GPS设置完成后,用户就可以在手机中点击软件图标开启软件使用。

本软件系统仅作为初步试验版,并未正式投入使用,后期还可以加入更多功能,例如对硬件控制的功能,查看硬件设备状态,记录生产设备的详细信息管理等功能。以此来满足不同企业的需求,具有非常广阔的市场前景。

参考文献:

[1] 竺志超,陈元斌,韩豫.非标自动化设备设计与实践 毕业设计、课程设计训练[M]国防工业出版社,2015.

[2] 郑阿奇.Java实用教程[M].北京:电子工业出版社,2015.

[3] 韩超,梁泉.Android系统原理及开发要点详解[M].北京:电子工业出版社,2012:54-55.

[4] 韩超.Android经典应用程序开发[M].北京:电子工业出版社,2012:36-45.

[5] Markus Alekss. Use Java and the CORBA realization distribute type system[J].Journal  of Pingxiang College, 2013 (3):11-12.

[6] 明日科技.Android开发从入门到精通[M].北京:清华大学出版社,2017.

[7] 李刚.疯狂Android讲义[M]. 4版.北京:电子工业出版社,2019.

[8] Haseman Chris. Android Essentials[M].Apress:the Experts Voice,2013: 42-45.

【通联编辑:梁书】

猜你喜欢
数据库管理
枣前期管理再好,后期管不好,前功尽弃