基于C#的车载综合电源监控系统设计

发表时间:2021/8/6   来源:《中国电业》2021年四月10期   作者: 叶方圆 许金峰
[导读] 电子信息技术不断发展,汽车上用电设备种类和数量也越来越多
         叶方圆    许金峰
        合肥工业大学 合肥 230002
        摘要电子信息技术不断发展,汽车上用电设备种类和数量也越来越多,对车载电源的要求也越来越高。本文主要基于C#语言,设计一款智能化的车载综合电源的监控系统,可以实现对车载综合电源运行状态的显示,包括电流、电压、温度等;实现对车载综合电源故障状态的显示,包括过电压、欠电压、过电流、过热等;实现对车载综合电源一些参数的读取和设置,包括过电压的阈值、过电流的阈值、过热的阈值等;还可以实现历史数据的查看,包括故障记录、放电记录、充电记录等。通过此款车载综合电源监控系统的设计,使整个车载电源系统更加智能化,人机交互性也得到了很大的提升。
        关键词:车载综合电源   C#   监控系统

        一.背景
        随着科技发展,对生活中各个产品的智能化水平要求也越来越高,对综合电源系统的要求也越来也多,尤其随着用电设备的精密程度逐步提升,传统的供电系统已逐渐无法满足智能化与精准化的要求。本次课题旨在开发一套完整的兼备智能化与精准化的车载综合电源系统。为了保证设备车运行过程的安全可靠,本系统具有各类保护,有效地保护人身安全、用电设备以及系统自身,同时具备实时监控系统与人机交互单元,系统更加智能化,保证供电系统安全、可靠、高效地工作。
        二.设计平台
        信息检测监控系统基于.NET Framework平台,运行于Visual Studio集成开发环境,使用C#编写。C#是由C语言和C++语言演变而来,是Microsoft专门为.NET平台而创建的,因为出现时间较晚,所以结合其它语言的优点,吸取以往的教训,解决了许多遗留的问题。在Visual Studio运用C#语言创建Windows应用程序,这种应用程序具有我们熟悉的外观和操作方式,方便相关人员实际的使用。使用.NET Framework中的Windows Forms模块就可以生成。Windows Forms模块是一个控件库,利用控件库中的控件就可以进行界面的UI设计。Visual Studio之所以可以成为.NET开发的首选工具,主要原因有以下几点:
        (1)Visual Studio可以自动执行编译源代码的步骤,同时可以完全控制重写它们对应使用的任何选项。
        (2)Visual Studio文本编译器可为Visual Studio支持的语言量身定制,这样就可以智能检测错误,比如我们此次是设计就采用C#,在输入代码是给出推荐的代码,这个功能成为IntelliSense。
        (3)Visual Studio包括Windows Forms、Web Forms及其它应用程序的设计器,允许UI元素的简单拖放设计。
        (4)在C#中,许多类型的项目都可以用哪个已有的“样板”代码来创建,不需要再从头创建一个工程,许多代码文件通常都已经准备好了,这减少了很多工作量。很多项目都可以以一个功能全面的应用程序为基础进行开发,还可以联机使用更多的项目类型。
        (5)Visual Studio包括几个常见的任务还具有可以自动执行的向导,很多任务可以在已有的文件中添加合适的代码,甚至可以不用考虑代码的正确性。
        (6)Visual Studio包含很多功能强大的工具,可以显示项目的许多元素,并且支持导航功能,可以快速定位到想要抵达的位置。
        (7)Visual Studio还可以创建部署项目,方便安装。
        三.功能
        信息监测监控系统是人机交互的重要工具,监控系统设计的好坏直接影响到用户对整个电源系统的直观评价,因此在对电源信息监测监控系统进行设计时,需要从客户使用的便捷性,系统可靠性、安全性、准确性,功能全面性等角度进行设计,并且需要明确其设计开发的核心目标;对整个车载综合电源系统中的每个电源输入端和输出端的情况进行监控、显示。
        为此,系统需提供一系列配套设计,经过综合分析,系统实现的功能如下:
(1)监控系统设置登录页面,用户在使用监控系统时需要输入用户名和密码进行登录,登录成功后可正常使用监控系统,防止无关人员误操作,确保系统的安全性。
        

        (2)用户可以通过监控系统查看每个输入端与输出端的电流、电压以及系统的温度。具体界面如下图所示。状态栏可以观察每路输入或输出的运行状态(过压、欠压等),接入状态可以显示每路输入或输出是否正常接入,标识栏可以自定义标签,方便用户使用,定义后点击右下角保存配置即可。监控系统的显示主要通过定时器控件,接收CAN数据,并将CAN数据解析成直观的数据,通过TextBox控件、Label控件等显示出来。如下为接收控制板发来的电压数据,通过TextBox进行显示。
        volt = (UInt16)((obj.Data[3] << 8) + (obj.Data[2] << 0));
        volt1 = (double)(volt) / 10;
        textBox56.Text = volt1.ToString() + "V";
        


        (3)用户可以通过车载综合电源管理软件对系统中一些可配置的参数进行读取或更改,例如交流输入过压保护阈值、交流输入欠压保护阈值等。监控系统的发送主要通过Button控件,通过左击Button控件,发送固定的数据或带参数的数据。如下为通过左击Button将TextBox32中的数据转换成16进制数据并发送到CAN总线的程序,T_ID为发送的帧ID,T_Data为发送的数据。
        string T_ID = "142170F0";            
        pa = Convert.ToDecimal(textBox32.Text);           
        para11 = (UInt16)(pa);
        a1 = System.Convert.ToString(para11 % 256 / 16, 16) +
        System.Convert.ToString(para11 % 16, 16) + " " +
        System.Convert.ToString(para11 / 4096, 16) +
        System.Convert.ToString(para11 % 4096 / 256, 16);
        string T_Data = a1 + " 00 00 00 00 00 00";
        output(T_ID, T_Data, 1);
        Thread.Sleep(20);
        具体如下图所示:


        (4)车载综合电源管理软件实时显示系统的故障状态,当系统发生故障时,故障显示界面对应故障会上报,确保用户准确定位故障,减小排查故障的时间与人工成本。


        (5)为方便用户及时发现车辆运行过程中电源系统的异常情况,在该系统中需添加故障详情显示与历史记录界面,可以显示故障时的详细信息,包括故障时电流、故障时电压、故障时温度以及故障的详细发生时间(精确到秒)。方便后期分析比对,用户也可选择将故障信息保存至本地。
        (6).为了防止误操作,管理软件界面中的任何操作命令都会弹出一个确认窗口,用户必须点击确认之后才会执行。
        监控系统与MCU之间采用CAN通信,监控系统接收MCU的数据并且进行显示,监控系统发送数据给MCU进行参数的设置与读取和控制等。 数据传输采用CRC校验。CRC,全称Cyclic Redundancy Check,循环冗余校验。是通过某种线性代码理论来根据有效信息产生对应校验位的一种算法。它利用除法以及余数的原理来做错误侦测,发送端通过多项式计算出CRC校验值,根据通信协议将有效数据和CRC校验值一起发送给接收端,接收端对收到的有效数据进行重新多项式计算,并且将计算得到的CRC校验值与接收到的CRC校验值进行对比,如果两个CRC校验值一样则校验成功,如果不一样则校验失败。这种校验方法保证了数据传输的正确性和完整性,是一种比较理想的校验方法。
        四.总结
        监控系统是系统与用户进行交互的窗口,操作人员可以通过这个窗口直观看到系统的运行状况,也可以通过监控系统对整个车载综合电源进行控制和参数的读取与设置等,因此监控系统的高效稳定对于提高整个系统的高效稳定也有很大的作用。
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: