当前位置:首页 期刊杂志

基于C#的交流异步电机测试与分析系统开发

时间:2024-05-04

高德欣, 程 捷, 白剑飞

(青岛科技大学 自动化与电子工程学院,山东 青岛 266042)

基于C#的交流异步电机测试与分析系统开发

高德欣, 程 捷, 白剑飞

(青岛科技大学 自动化与电子工程学院,山东 青岛 266042)

针对电机出厂前需进行测试分析这一情况,以西门子S7-1200为控制器,基于Visual Studio平台,采用C#高级语言开发了一套交流异步电机测试与分析系统;首先,设计了包括监控层、测控层、设备层的系统总体结构;其次,给出了西门子S7-1200PLC与上位机的以太网通讯,及与匝间耐压测试仪、电参数测试仪、转矩测试仪等仪表之间的RS485通讯实现方法;然后,根据国标GB/T1032-2012开发了系统,分析了系统功能和数据库设计方法;最后,系统应用于某电机生产企业,通过现场测试实例表明,系统实现了电机在不同状态下的数据采集、显示、存储和分析,并形成了试验报告,帮助企业提高了生产效率和试验精度。

交流异步电机;C#;S7-1200;以太网;RS485

0 引言

电机在国民生活和经济领域有着重要的作用。为提高电机生产质量,新电机研发生产后,生产企业要参照国标,对其进行出厂试验和型式试验,判定其性能好坏。传统的电机试验一般用分离仪表进行测试,采用人工方式读取、记录、处理数据和手工方式绘制曲线,这种方式自动化程度较低,工作强度大,耗费大量的人力、物力和时间,人为因素的介入再加上试验仪表误差,会造成试验过程中误差增大,测试精度大大降低,从而影响对电机总体性能的判断[1-5]。

根据以上电机测试中存在的问题,本文以Microsoft Visual Studio为平台,采用C#高级语言开发了一套交流异步电机测试与分析系统。系统以西门子S7-1200为控制器,采用匝间耐压测试仪、电参数测试仪、转矩测试仪等设备为测量仪表,通过工业以太网和RS485网络相结合的方式通讯,实现了电机测试的自动化和数据处理的智能化,提高了试验精度,提高了工作效率。

1 系统结构设计

交流异步电机测试与分析系统按照GB/T1032-2012《三相异步电动机试验方法》设计,系统总体结构分为:监控层、测控层和设备层三部分[6],如图1所示。

图1 系统总体结构

1)监控层:主要包括工控机和UPS不间断电源等。工控机作为系统的监控主机;UPS保障系统在意外停电的情况下的正常运行。

2)测控层:包括S7-1200 PLC、触摸屏、匝间耐压测试仪、电参数测试仪、堵转测试仪、温度传感器等测量控制设备。其中,耐压匝间测试仪是做出厂试验的必备工具,它能够进行耐压、匝间、绝缘测试,采集其中的电阻、电压等参数;电参数测量仪主要采集电压、电流、功率因数、输入功率、输出功率等参数;堵转测试仪能够测试电机堵转状态下的转矩等参数;温度传感器采集被测电机和陪测电机的进风、出风及环境等温度参数。

3)设备层:包括陪试电机、转矩转速传感器、被试电机。转矩转速传感器对电机的转矩、转速等数据进行采集。

2 通信设计

通讯在系统设计中非常重要,它保证数据传输的可靠性和稳定性,本系统中主要涉及S7- 1200 PLC与上位机监控系统的通讯,及其与各测试仪表之间的通讯。

2.1 PLC与上位机的通讯

西门子S7-1200PLC与上位机之间的通讯方式主要采用工业以太网通讯方式,目前实现方式主要有两种:Prodave控件方式和直接协议通讯方式。Prodave控件是西门子主要为S7-300或S7-400PLC通信开发的底层DLL动态链接库,当用于S7-1200 PLC的时候需要进行一些修改;直接协议通讯比较灵活,本系统采用该方式。

2.1.1 Modbus协议规范[7]

Moudbus是一种简单客户机/服务器应用协议,客户机能够向服务器发送请求,服务器分析请求,处理请求,向发送机发送报告,其提供的是在以太网上的TCP/IP网络连接的设备之间的通信。Modbus协议定义了一个与基础通信层无关的简单协议数据单元(PDU),特定总线或网络上的Modbus协议映射能够在应用数据单元(ADU)上引入一些附加域,如图2所示是通用Modbus数据帧格式。

图2 通用Modbus数据帧格式

当服务器对客户机响应时,使用功能码来域来指示正常响应或异常响应。对一个正常响应来说,服务器只是复制原始功能码;对于异常响应,服务器将原始功能码的最高有效位设置逻辑1后返回,然后异常码指示差错类型。

2.1.2 Modbus/TCP通讯实现

Modbus协议通讯实现分为两种,一种是在串行链路上的实现,一种是在TCP/IP上的实现,本系统选择的是后者。通过它PLC可以与上位机监控系统通信,Modbus/TCP数据帧格式如图3所示。

图3 Modbus/TCP数据帧格式

所有的Modbus/TCP ADU通过TCP上注册的502端口上发送。

在C#环境中,在上位机上建立Modbus客户端,西门S7-1200PLC为服务器,通过以太网实现Modbus/TCP通信。S7-1200的IP地址为192.168.0.1,通过以太网把上位机和PLC连起来,并设置本机的IP地址为192.168.0.5,子网掩码为255.255.255.0,这样上位机就和PLC组成了客户机/服务器模式。

在上位机上用C#编写Modbus/TCP客户端程序。其中用到TcpClient客户端类和TcpListener服务器端类,在TcpClient类内部封装一个Soket类实例,它被用来使用TCP协议向服务器请求和获取数据,其程序如下:

private static string IP = ConfigurationManager.AppSettings["IP"];

private static int Port = Int32.Parse(ConfigurationManager.AppSettings["Port"]);

private Socket socket = null;

public void Connect()

{

this.socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

IPEndPoint ip = new IPEndPoint(IPAddress.Parse(IP), Port);

this.socket.Connect(ip);

}

2.2 S7-1200PLC与仪表的通讯

S7-1200PLC与测量仪表采用RS485方式通讯,S7-1200PLC不带RS485通讯口,需要扩展RS485模块,本系统采用的是CM1241 RS485扩展模块。以温度传感器为例,温度传感器作为从站,只需在设定中选择Modbus-RTU通信协议并且为设备分配不重复的站地址即可。S7-1200 PLC作为主站,其通信的基本原理是:首先程序开始运行时,调用一次Modbus库中的功能块MB_COMM_LOAD来组态RS485模块上的端口;其次调用库中的功能块MB_MASTER作为Modbus主站与设备进行通信。其界面及参数设置如图4、图5所示。

图4 MB_COMM_LOAD块

图5 MB_MASTER块

从图4中可以看出RS485端口地址为1,波特率为9600,奇偶校验为无。1200PLC作为主站通信是由DATA_ADDR(从站中的起始Modbus地址)和MODE(读、写、诊断模式)参数一起确定实际Modbus消息中使用的功能代码。DATA_PTR(数据指针)指向要写入或读取的数据的CPU DB地址,该DB必须为“非仅符号访问”DB类型。从图5中可以看出,模式为0,DATA_ADDR地址为40001,地址类型为保持寄存器,数据长度为20,读取的数据的CPU DB地址为P#DB10.DBX0.0WORD 21。

3 测试系统设计

3.1 上位机软件设计

根据国标和电机厂家的需求,设计的交流异步电机测试系统,如图6所示。

图6 交流异步电机测试系统

系统可对电机进行空载试验、负载试验、堵转试验、温升试验、T_N试验、安规试验和初始电阻等7个试验。测试流程是:首先填写测试单信息,当测试单完成后,选中试验类型,然后启动测试,测试状态由“停止”变为“测试中”,试验中测试数据显示在界面上,在测试过程中还可以选择手动或自动方式。当试验结束后停止测试,如果在做其他试验,按照上面所示的相同步骤进行实验。

3.2 数据库的设计

系统采用Access 2010实现对电机测试数据的存储。根据试验的要求,数据库设计了21个表对空载试验、负载试验、温升试验、T_N试验、安规试验等不同实验的数据进行采集存储。通过SQL语句并搭配C#语言实数据存储,以负载试验为例,向LoadBRecord表中插入数据的程序如下:

string Nowtime = DateTime.Now.ToString();

string connectionString1 = "Provider=Microsoft.Jet.OLEDB.4.0;" +

"Data Source=e:database" + textBoxtestbill.Text + ".mdb";

OleDbConnection connection1 = new OleDbConnection(connectionString1);

string sql1 = "insert into LoadBRecord(ReportNumber,[测试时间],[电机型号],[A相电流],…) values ('" + textBoxtestbill.Text + "','" + Nowtime + "','" + textBoxmotorname.Text + "', '" + textBoxLIa.Text + "', …)";

OleDbCommand cmd1 = new OleDbCommand(sql1, connection1);

connection1.Open();

cmd1.ExecuteNonQuery();

connection1.Close();

connection1.Dispose();

然后在timer组件中的Interval属性中输入1 000,在timer_click中写入更新程序,表示每隔1 s数据库LoadBRecord表中的数据更新一次。

4 测试实例与分析

交流异步电机测试系统对电机各参数的数据采集后,需根据国标中各参数之间的关系和对各试验特性曲线要求,对数据进行计算分析,并且拟合成曲线。根据这种情况,基于最小二乘法原理,设计了交流异步电机分析系统,如图7所示。

图7 交流异步电机分析系统

分析过程首先单击“数据连接”,目的是连接数据库;其次单击“数据采集”,目的是采集数据库中数据在界面上显示;最后单击“曲线拟合”,目的是拟合曲线。另外,系统中还有“报告输出”和“曲线输出”按钮,点击“报告输出”,所有数据以Excel格式输出;点击“曲线输出”,会出现打印预览窗口,然后通过打印机将数据和曲线分别打印出来,以便以后分析。

以某电机厂型号为YX3-180M-4电机的负载试验为例,对分析系统说明。表1是该电机的铭牌参数,表2是该电机的负载原始数据。

表1 电机铭牌参数

表2 负载原始数据

交流异步电机分析系统能够获取测试系统存入数据库中的数据,对数据按照GB/T1032-2012《三相异步电动机试验方法》进行计算,将参数拟合成曲线,通过表2中的负载原始数据得到负载拟合曲线如图8所示。

图中Eff表示效率,n表示转速,Pf表示功率因数,I表示电流,P1表示输入功率,P2表示输出功率,从曲线中可以看出每条曲线都是二次曲线,参照国标,可以判断该电机负载性能合格。

图8 交流异步电机分析系统

5 结论

系统经过现场试验,达到了企业要求,实现了对电机型式试验测试与分析的自动化,能够对电机进行批量测试,减少测试误差,提高了企业的生产效率,对指导企业提高产品质量有一定意义,具有一定的行业推广价值。

[1] 卢天海, 王 见. 基于LabVIEW的电机功耗实时检测系统设计[J]. 计算机测量与控制, 2012, 20(3):580-583.

[2] 张 辉, 李建军, 王佳熙, 等. 电机设备运行参数远程控制系统设计[J]. 计算机测量与控制, 2015, 23(10): 3395-3397.

[3] 杨润贤, 王 斌. 基于ADAM的三相异步电机电气故障试验系统研究与开发[J].计算机测量与控制,2013,21(12):3312-3314.

[4] 朱彦军. 交流电机智能综合测试系统设计[J]. 机电工程, 2012, 29(2): 200-203.

[5] 高德欣, 张文武, 杨 清. 双速电机高精度测速与参数测试SADA系统开发[J]. 电气应用, 2007, 26(2): 105-108.

[6] 费春国, 王鹏鹏. 机场廊桥设备监测系统的设计与应用[J]. 测控技术, 2016, 35(5):75-78.

[7] 李跃武, 袁 敏, 朱海林. 开放式PLC数据采集控制器设计与研究[J]. 微型电脑应用, 2013, 29(9):48-51.

Development of Test and Analysis System of AC Asynchronous Motor Based on C#

Gao Dexin,Cheng Jie,Bai Jianfei

(College of Automation and Electronic Engineering, Qingdao University of Science & Technology, Qingdao 266042, China)

Motor need to be tested before out of the factory. According to this situation, Siemens S7-1200 as the controller,a set of test and analysis system of AC asynchronous motor are developed based on Visual Studio and C#.Firstly,this paper introduces the general structure of the system, including monitoring layer, measurement and control layer and equipment layer.Secondly,it introduces the Ethernet communication between Siemens S7-1200 PLC and PC and the concrete implemention ways of RS485 communication between Siemens S7-1200 PLC and interturn withstand voltage tester, electric parameter tester ,the torque tester and so on.Then according to national standard GB/1032-2012,the system are developed and it gives the fuction of the system and designed means of database.Finally,the system is applied to a motor manufacturing enterprises.The examples of test on spot show that the system realizes acquisition,display,storage and analysis of the data in the different state of motor.Also it forms the test report and help enterprises improve the production efficiency and test accuracy.

AC asynchronous motor; C#; S7-1200; Ethernet; RS485

2016-06-30;

2016-07-12。

高德欣(1978-),男,山东烟台人,博士后,教授,硕士生导师,主要从事优化控制、计算机控制等方向的研究。

1671-4598(2016)12-0037-04

10.16526/j.cnki.11-4762/tp.2016.12.011

TP273

A

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!