温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
WinForm
不锈钢
云端
电机
故障
处理
系统
设计
陈奕夫
Computer Knowledge and Technology电脑知识与技术第19卷第6期(2023年2月)第19卷第6期(2023年2月)本栏目责任编辑:梁书工程应用基于WinForm的不锈钢产线云端电机故障处理系统设计陈奕夫,张前进(佛山科学技术学院 机电工程与自动化学院,广东 佛山 528231)摘要:在不锈钢生产过程中,机械设备有概率出现非预估的机械故障或因不锈钢板面不均导致的电机过载等现象。由于部分产线工艺复杂,产线状态需要工人去监控,在电机密集区域工人无暇顾及,出现问题需要产线工人前往对应区域的HMI处才能控制,大大增加了问题处理时间、降低了产线生产效率。与此同时,许多工业软件需要大量的“点数授权费用”,增加了小型生产线的成本。对此,文章提出一种基于WinForm的云端电机故障检测系统的设计思路,在本地及云端布置系统,将可疑数据传输至云端中进行检测处理。关键词:WinForm;云端;故障检测处理系统;设计中图分类号:TP311.1文献标识码:A文章编号:1009-3044(2023)06-0090-04开放科学(资源服务)标识码(OSID):0 引言现如今,随着“中国智造2025”等一系列国家战略发展方向政策的出台,传统工厂需要逐步推进智能化建设,更新硬件设备与软件系统,以提升工厂生产线的生产效率、提高产线可靠性、减少故障排查的时间等。其中减少故障排查时间困扰着大部分的工厂。在确保硬件设备可靠性后,故障检测软件系统也成为许多低端工厂的“痛点”,其授权费用高、应用效果不好、配置繁琐的特点使得许多工厂望而却步。编辑提出一种基于WinForm的云端电机故障处理系统,该系统检测到可疑数据的同时将数据转发至云端分析,待分析结果出现后便将控制指令返回至产线控制器,这样做的好处是减少了产线控制器的内存占用、提高了故障检测的精度、可在已投产的产线基础上增加该系统等。与此同时,该系统设计均由开源代码开发,不需要缴纳巨额的专利费用或点数费用,后期扩展性好。WinForm是.NET开发平台对Windows Form的一种称谓,WinForm 有以下几个重要特点。1)功能强大。Windows的窗体可用于设计窗体以及使用其可视控件,以创建丰富的基于Windows平台的应用程序。2)操作方便。得益于微软公司对WinForm 的支持,WinForm包含着许多简易的方法函数,降低了编程人员的工作量,与此同时,编程人员也可在Nuget开源项目中获取到丰富的技术支持。3)使用安全1。WinForm充分利用公共语言运行库的安全特性,同时拥有内存自动管理机制,大大降低了内存泄漏等难以察觉的问题的发生概率。1 系统设计1.1 总体设计设计该云端故障检测系统所使用的软件是Visual Studio Community 2022,以 WinForm 为 C/S 开发架构,选择MySQL数据库对产线本地数据实时记录以及云端数据信息持久化存储,使用Modbus TCP协议进行可编程逻辑控制器(Programmable Logic Controller,下文均写作PLC)的数据传输。图1 系统硬件架构图本系统由两台计算机组成,一部用于生产线数据采集,另一部作为云端服务器对可疑数据进行专业的分析。其中,产线工业控制计算机(以下简称产线工控机)可选择通过Modbus TCP或其他开源的通讯协议对可编程控制器或产线传感器进行数据监控以及采集工作;产线工控机通过单向Socket连接模式与云端服务器进行短连接。1.2 数据采集系统设计产线工控机与生产线PLC采用Modbus TCP连接并交互数据,或使用特定厂家定制的通讯协议进行通讯。大部分厂商的 PLC 均支持 Modbus TCP 通讯协收稿日期:2022-09-21作者简介:陈奕夫(1998),男,广东广州人,硕士在读,主要研究方向为工业互联网,计算机应用;张前进,通信作者,教授。E-mail:http:/Tel:+86-551-65690963 65690964ISSN 1009-3044Computer Knowledge and Technology电脑知识与技术Vol.19,No.6,February202390DOI:10.14004/ki.ckt.2023.0325Computer Knowledge and Technology电脑知识与技术第19卷第6期(2023年2月)第19卷第6期(2023年2月)工程应用本栏目责任编辑:梁书议,以下将使用Siemens S7-1515-2PN系列PLC作为例子,演示PLC与产线工业控制计算机之间的Modbus TCP长连接。S7-1515-2PN使用Siemens TIA Portal V15.1进行软件编程,该软件提供了S7-1500系列CPU 在 Modbus 通讯中作为主站与从站的两种功能块;在S7-1500的组态中,使用的Modbus TCP为V5.0版本,该版本需要固件V2.5版本以上支持2。图2 ModbusTCP通讯模块主站与从站的配置PLC与产线工控机使用双向连接模式,PLC使用客户端向产线工控机发送数据,工控机使用服务端接收数据;当工控机需要向PLC发送数据时,则自动建立客户端访问PLC的服务端。该双向连接模式实现了数据流收发独立,避免了收发数据串行的问题,且通讯效率高,方便日后维护,连接模型如图3所示。图3PLC与产线工控机连接模型PLC内调用TSEND_C模块以客户端的身份连接产线工控机服务端,连接属性且参数配置如图4所示。图4 PLC客户端模块配置其中,REQ输入端为时钟输入,上升沿触发数据的发送;CONT输入端为建立通讯使能端,输入为true时激活通讯;CONNECT输入端为连接对应服务端的地址;DATA输入端为传输数据的地址;DONE输出端为显示本次数据是否成功发送;BUSY输出端为显示数据是否发生冲突;ERROR输出端为本次数据传输是否存在问题;STATUS输出端为错误代码。WinForm中配置Socket服务端网络通讯访问步骤如下:1)实例化一个线程实例,实例化一个套接字实例。2)绑定本机的IP和端口。3)对于TCP协议的通讯,由于它是面向连接的通讯方式,因此需要使用Listen方法监听连接进来的端口,待监听到连接时则使用Accept方法来返回套接字实例。4)进行Send/Receive操作3。5)待信息传输完毕后关闭并释放套接字实例。6)开启线程。非主线程套接字与PLC客户端建立连接过程代码如下:Thread thread=new Thread()=Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);IPEndPoint ipe=new IPEndPoint(long.Parse(127.0.0.1),6666);socket.Bind(ipe);socket.Listen(10);socket=socket.Accept();MessageBox.Show(Connected!);socket.Close();socket.Dispose(););thread.Start();1.3 数据上传系统设计产线工控机的服务端接收到来自PLC数据后,触发数据初步检验线程,判定数据是否在正常区间内,其判定流程如图5所示。图5 初步检验数据流程图可疑数据组将存放于产线工控机的本地MySQL数据库中,其中存储可疑数据的表单字段包含DataID(数据 ID,主键),MachineID(电机位置),Current(电流值),Voltage(电压值),IronLength(数据对应的不锈钢板长度)。使用者可根据实际需求设定电机数据的正常范围以及数据采集计时器上限,可疑数据密度过大的数据组则认定为可疑数据组。当第一个可疑数据存入MySQL时,写入语句将会触发计时器记录委托,当计时器记录到一定时间后结束计时,同时会以数据密度为准则,判定是否上传至云端进行进一步的故障分析。数据密度计算代码如图6所示。91Computer Knowledge and Technology电脑知识与技术第19卷第6期(2023年2月)第19卷第6期(2023年2月)本栏目责任编辑:梁书工程应用图6 可疑数据密度计算该类使用float数组类型保存可疑数据,使用float类型数据“Normal”变量作为正常范围值的上限,遍历“SuspectNumbers”数组,当数据不符合正常区间时将计数“Count”加一,若计数值大于数组长度一半以上,则认为该组数据存在异常,触发发送数据至云端数据库函数。其中,产线工控机与云端服务器采用Socket短连接形式,采用单向Socket进行收发数据,当一个故障处理周期过后,连接将自动断开。图7 可疑数据上传服务器1.4 云端反馈系统设计云端反馈系统包含着一个专家控制系统,专家控制系统主要指的是一个智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经验,能够利用人类专家的知识和解决问题的经验方法来处理该领域的高水平难题4。该专家控制系统会收集现场工程师针对不同故障的处理策略,在日后使用时自动适配故障处理策略。为防止新型故障的出现,该系统也预留了增加故障处理策略的接口,现场工程师可在原策略数据库的基础上添加新的故障处理策略。当专家系统无法适配对应故障处理策略时,则向现场工程师发出告警,请求手动修正故障并存储新的故障策略。图8 专家系统结构图待专家系统运算完毕或工程师手动选择处理策略后,云端服务器将以原Socket链路返回数据,以保证故障处理环节顺序执行。图9 返回故障处理策略产线工控机接收到故障返回策略后将会建立Socket客户端用以连接PLC的服务端,其连接过程步骤如下所示:1)实例化一个线程,实例化一个套接字。2)等待套接字客户端连接至PLC服务端,若失败则激活重连机制。3)等待Send操作。4)Send一个字节后,判定是否连接成功,若成功则返回故障处理策略。5)关闭连接,释放套接字资源5。过程代码如下所示:Thread thread=new Thread(async()=List heartbeat=new List();heartbeat.Add(0 x10);Socket socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);IPEndPoint ipe=new IPEndPoint(long.Parse(192.168.99.10),3225);await socket.ConnectAsync(ipe);socket.Send(heartbeat.ToArray();if(socket.Connected)List bytes=GetTatics(status).ToList();socket.Send(bytes.ToArray();socket.Close();socket.Dispose();返回的故障处理策略将会在PLC上得到解析,分解成每一个电机的动作,例如停机,降低电压、电流,请求更换电机配件等。产线工控机使用客户端连接PLC上配置的服务端,服务端连接配置属性如图10所示。图10 PLC服务端模块配置其中,EN_R输入端口为程序启用端;CONT输入端为建立通讯使能端,当输入值为TRUE时将开始任92Computer Knowledge and Technology电脑知识与技术第19卷第6期(2023年2月)第19卷第6期(2023年2月)工程应用本栏目责任编辑:梁书意端口监听;DATA 输入端为接收数据存放地址;DONE输出端为辨别当前数据是否成功接收;BUSY输出端为辨别接收数据是否冲突;ERROR输出端为辨别接收数据时是否产生错误;STATUS输出端为错误代码;RCVD_LEN为接收数据的字节长度。每接收一次完整的数据后将自动将字节数组转换成对应指令写入电机控制模