基于WCF的小型生产线二维码系统
2022-11-07邓建波
邓建波
技术应用
基于WCF的小型生产线二维码系统
邓建波
(艾礼富电子(深圳)有限公司,广东 深圳 518126)
针对小型生产线设备防呆不完备、生产效率低、产品追溯困难等问题,提出基于Windows 通讯开发平台(WCF)的小型生产线二维码系统。该系统在NET Framework 4.5框架下,利用Visual Basic.NET和SQL Server开发;不仅能够有效防止员工误操作,还提升了生产效率,实现产品在生产过程中的可追溯性。经过在生产线的应用,验证了该系统的稳定性、可靠性、安全性。
二维码系统;Windows 通讯开发平台;生产线;Visual Basic.NET
0 引言
新一轮科技革命和产业变革深入发展,推动制造业高质量发展。“中国制造2025”指出,制造业将朝自动化、信息化和智能化方向发展。这对产品的生产过程提出了更高要求,同时一些小型生产线自身存在的问题也逐渐凸显,如产品不良率高、生产效率低、不良品管理不规范、产品追溯困难、设备防呆不完备、人机交互困难等。因此,迫切需要简单、快速地实现设备间通信、数据存储及查询等功能[1]。
对于小型生产线,专门开发一套完整的制造执行系统投入较大,实现也较困难。为此,本文提出基于Windows 通讯开发平台(Windows communication foundation, WCF)的小型生产线二维码系统。该系统在生产过程中产品绑定唯一二维码;产品经过每个工站的数据都发送给小型服务器;通过二维码查询服务器实现设备间信息的共享[2]。
1 系统架构
基于WCF的小型生产线二维码系统需考虑硬件的合理配置、软件的功能全面及运行稳定、数据库的安全及易操作和维护。
1.1 系统构成
基于WCF的小型生产线二维码系统采用普通小型塔式服务器;利用Visual Basic.NET开发基于WCF技术的服务;采用SQL Server数据库管理系统保存和管理生产数据。每条生产线的设备通过网线连接到产线端交换机,每台产线端交换机再汇总连接至服务器端交换机,这样每台设备都可以访问服务器,但设备间无法相互访问。系统结构如图1所示。
图1 基于WCF的小型生产线二维码系统结构
1.2 系统工作流程
在产品来料组装或测试前,首先,通过激光打标或标签贴纸的方式绑定唯一二维码;然后,在组装或测试时扫描二维码,从服务器获取上一工站的比对信息,并给出相关提示;最后,组装或测试完成时,通过网络发送设备及结果数据至服务器,以便产品追溯、结果查询[3]。系统工作流程如图2所示。
2 系统软件
基于WCF的小型生产线二维码系统的软件设计主要在Visual Studio开发环境中进行,利用Visual Basic.NET和SQL Server开发。本文选择ADO.NET的SQL Server.NET数据提供程序、执行命令、获取结果。
图2 基于WCF的小型生产线二维码系统工作流程
2.1 WCF服务
WCF是Microsoft为构建面向服务的应用提供的分布式通信框架、是Windows平台下各种通信方案的集成技术[4-5]、是NET Framework的重要组成部分。
采用WCF服务需要定义协定,包括服务协定(service contract)、数据协定(data contract)和消息协定(message contract)。其中,服务协定是一个接口,由1个或多个服务操作协定(operation contract)的方法映射到接口上。基于WCF的小型生产线二维码系统服务协定代码如下:
服务协定代码
服务协定只是一个接口(并不包含实现代码),可以在服务器和客户端之间共享。作为双方通信的一种“约定”,要实现具体的服务功能还需要一个类(服务类)来实现协定接口。客户端通过访问服务协定接口的某个方法来调用WCF服务。当消息发送到服务器后,服务器找到实现服务协定接口的类并将其实例化,再调用与操作协定匹配的方法(服务协定接口的实现方法)。基于WCF的小型生产线二维码系统服务类代码如下:
服务类代码 Public Class Service Implements IServerPublic Function Add_Barcode_Info(barcode As String, printor As String) As String Implement IServer.Add_Barcode_Info……End FunctionEnd Class
2.2 数据库访问
在SQL Server Management Studio 中建立数据库和相应的表,数据库访问技术选择ADO.NET。ADO.NET体系结构的核心元素是.NET数据提供程序,用于连接特定的数据库(本系统的SQL Server),执行命令和获取结果。为完成系统各项数据库操作,还需要在SQL Server中建立所需要的存储过程,再通过Command对象使用存储过程。与使用SqlCommand上的执行命令相比,使用存储过程既可以提高数据库的性能,还可以防止SQL注入攻击[6]。基于WCF的小型生产线二维码系统调用存储过程代码如下:
调用存储过程代码 Dim ConStr As SqlConnection = New SqlConnection(Program.sysConnectionString)ConStr.Open()Dim Cmd As SqlCommand = New SqlCommand("Add_Barcode_Info", ConStr)Cmd.CommandType = CommandType.StoredProcedureCmd.Parameters.Add("@BARCODE", SqlDbType.NVarChar, 100).Value = barcode……Cmd.Parameters.Add("@RESULT",SqlDbType.NVarChar, 500).Direction = ParameterDirection.OutputCmd.ExecuteNonQuery()Return Cmd.Parameters("@RESULT").Value.ToString……
2.3 客户端
对于独立进程中的WCF服务,需利用Serverce- Host类启动服务后,客户端才能调用服务。基于WCF的小型生产线二维码系统启动服务代码如下:
启动服务代码 Dim base_Binding As NetTcpBinding=NewNetTcpBinding(SecurityMode.None)Program. Host=New ServiceHost(GetType(Service),New Uri("net.tcp://127.0.0.1:8668"))Program. Host.AddServiceEndpoint (GetType(IServer),base_Binding,"Service")Program. Host.Open()
在Visual Studio开发环境中,根据WCF服务公开的元数据生成客户端代理类。当WCF服务公开元数据后只需添加服务引用时[7-8],开发工具自动生成客户端代理类供客户端调用服务,如图3所示。若WCF服务没有公开元数据时,可利用通道工厂(ChannelFactory类)公开CreateChannel方法,调用该方法后返回TChannel类型参数指定的服务协定的接口类型,使用CreateChannel方法返回的协定实例,即可调用WCF服务。
图3 添加服务引用
根据自定义的命名空间名称(Service)添加服务后,生成一个与服务协定接口结构完全相同的接口和代理类ServerClient。基于WCF的小型生产线二维码系统客户端接口与代理类代码如下:
客户端接口与代理类代码 Namespace ServicePublic Interface IServer
ServerClient代理类派生自ClientBase(Of TChannel)类,ClientBase(Of TChannel)类通过泛型类型参数识别代理封装的服务协定。ClientBase(Of TChannel)的Channel属性就是泛型类型参数。生成的ClientBase(Of TChannel)子类仅是将方法调用委托给Channel,调用Channel属性的方法将适当的WCF消息发送给服务[9]。在使用代理时,客户端先实例化代理对象,并为构造函数提供终结点信息;再使用代理类的方法调用服务。
2.4 设备端
在设备控制软件内添加调用代理类方法的程序,并发送对应工位的信息及数据到服务器。生产车间的一些老旧设备,如硬件、软件无法升级更新时,可以考虑采用基于Socket机制的通信。当设备软件在VB6.0环境设计时,采用WinSock控件编写客户端程序;当设备软件采用LabVIEW编写时,采用DataSocket或TCP/IP相关VI编写客户端程序。以上情况需要服务器端增加相应的Socket服务程序。
3 系统实现
基于WCF的小型生产线二维码系统采用塔式服务器主机,配置为32 GB内存、2X6 TB硬盘、千兆交换机,硬盘阵列模式为RAID 1(磁盘镜像)提高数据安全性。设计服务器界面时,从应用场景、稳定性、可靠性、安全性等考虑,在服务器运行时只弹出“服务器运行中”提示界面。
为提高数据安全,还需要进行SQL Server 维护计划,实现数据库的自动备份,并根据实际情况分别设置相应时间间隔的完整备份、差异备份、日志备份。
根据实际需要设计相应功能的客户端软件,如图4所示。
图4 客户端软件界面
4 系统应用
基于WCF的小型生产线二维码系统在某工厂多条生产线已稳定运行一年多,验证了该系统的稳定性、安全性、可靠性,且投资低、筹建时间短、维护简单,适合在中小型生产线推广应用。
5 结语
在NET Framework 4.5框架下,利用WCF、数据库等信息技术开发的二维码系统有效地解决了小型生产线生产效率低、不良品管理不规范、产品追溯困难、设备防呆不完备等问题。但要真正实现更先进的工业制造,简单的二维码系统还不够,需对系统进行扩展升级。在增加相应功能的基础上,通过将通信协议标准化,加入各品牌的标准加工制造设备、工业机器手、PLC、触摸屏等通信协议,引入OPC技术[10-12]、定义基于PC-Base或MCU开发的非标设备控制系统的通信协议等,还可以开发大型生产线的电子看板、设备监控系统等,接入到MES系统,实现企业制造的自动化、信息化、智能化。
[1] 盛步云,苏佳奇,卢其兵,等.面向MES的生产线数据采集系统的研究[J].计算机测量与控制,2015,23(9):3162-3164.
[2] 刘宇晨.基于二维码技术的烟叶质量追溯系统设计[J].自动化技术与应用,2021,40(10):146-148.
[3] 唐渊,胡莹,汪雷.油泵装配线零部件追溯中数据采集的改进与实现[J].组合机床与自动化加工技术,2020(5):103-105,108.
[4] 于磊.基于WCF的数据库应用开发[J].电脑知识与技术, 2018,14(17):17-18.
[5] 周家安.WCF编程权威指南[M].北京:清华大学出版社,2018: 1-11.
[6 ] SHELDON B, WINDSOR R, HOLLIS B, et al. .NET4.5与Visual Basic 2012高级编程[M].王净,译.7版.北京:清华大学出版社, 2014:317-350.
[7] 胡桃英.WCF技术在炼钢转炉二级过程控制系统的应用[J].冶金动力,2021(2):69-72.
[8] 张爱红.基于WCF技术的数控机床分布式监控系统开发[J].制造业自动化,2013,35(12):52-54.
[9]LÖWY J, MONTGOMERY M. WCF服务编程[M].徐雷,徐扬,译.4版.武汉:华中科技大学出版社,2017:49-62
[10] 洪凯锐,陈国贵,林若波.基于PLC的自动化生产线示教功能设计与教学应用[J].自动化与信息工程,2018,39(2):13-16, 22.
[11] 卫定惠,汪惠芬,柳林燕.中小型自动化生产线可视化监控系统[J].中国机械工程,2020,31(11):1351-1359.
[12] 鲁江姣,桂彬,熊伟.烟厂制丝车间管理系统设计与应用[J].自动化应用,2020(9):170-172.
Two-dimensional Code System for Small Production Line Based on WCF
DENG Jianbo
(Aleph Electronics (Shenzhen) Co., Ltd. Shenzhen 518126, China)
Aiming at the problems of the small production line, such as incomplete equipment, low production efficiency, and difficult product traceability, a two-dimensional code system for small production line based on Windows communication foundation (WCF) is proposed. The system uses Visual Basic under the framework of NET Framework 4.5 NET and SQL Server development; It can not only effectively prevent employees from disoperation, but also improve the production efficiency and realize the traceability of products in the production process. Through the application in the production line, the stability, reliability and security of the system are verified.
two-dimensional system; Windows communication foundation; production line; Visual Basic.NET
TP278
B
1674-2605(2022)05-0008-05
10.3969/j.issn.1674-2605.2022.05.008
邓建波.基于WCF的小型生产线二维码系统[J].自动化与信息工程,2022,43(5):40-44.
DENG Jianbo. Two-dimensional Code System for Small Production Line Based on WCF [J]. Automation & Information Engineering, 2022,43(5):40-44.
邓建波,男,1982年生,工学学士,助理工程师,主要研究方向:自动化测试系统、自动化控制系统的开发和车间现场网络及数据处理设计等。E-mail: 513205910@qq.com