2026/5/21 16:38:01
网站建设
项目流程
做logo设计网站,花园桥网站建设,哪里有网站开发平台,江苏中淮建设集团有限公司网站C#Winform开源一个can上位机源码#xff0c;工控试验源码#xff0c;通讯源码。
can接口用的周立功的dll文件。
绘图用的zedgrah。
上位机功能是读取历史转速数据#xff0c;作为控制的目标转速#xff0c;通过can卡#xff0c;发送给风扇控制器#xff0c;复现风扇转速变…C#Winform开源一个can上位机源码工控试验源码通讯源码。 can接口用的周立功的dll文件。 绘图用的zedgrah。 上位机功能是读取历史转速数据作为控制的目标转速通过can卡发送给风扇控制器复现风扇转速变化趋势。 或者自定义目标转速波形进行相关可靠性试验。 代码实现了can通讯excel文件读取参数标定曲线实时绘制等功能。 部分代码借鉴了有关大神最近开源了一个超有意思的C# Winform CAN上位机源码里面包含了工控试验源码和通讯源码感觉可以给工控领域的小伙伴们带来不少便利所以来和大家分享一下。CAN接口与周立功的dll文件这个项目里CAN接口用的是周立功的dll文件。咱在代码里引用这个dll文件后就能轻松和CAN设备进行交互啦。就像下面这段代码// 假设这里是初始化CAN设备具体的初始化函数可能会根据周立功dll的接口有所不同 using (CanDevice canDevice new CanDevice()) { canDevice.Init(); // 后续就可以进行各种CAN通讯操作啦比如发送和接收数据 canDevice.SendData(data); CanData receivedData canDevice.ReceiveData(); }分析这里创建了一个CanDevice对象通过调用Init方法初始化CAN设备。初始化完成后就可以使用SendData方法发送数据用ReceiveData方法接收数据。这样我们就能和连接到CAN总线上的设备顺畅地交流啦。绘图与ZedGraph绘图部分用的是ZedGraph这玩意儿可好用了。它能帮我们轻松绘制各种图表在这个项目里主要是用来展示转速变化趋势。看看下面这段简单的绘制曲线的代码// 创建一个ZedGraphControl对象 ZedGraphControl zgc new ZedGraphControl(); // 添加一个曲线 GraphPane myPane zgc.GraphPane; LineItem myCurve myPane.AddCurve(转速曲线, xList, yList, Color.Red); // 更新图表 zgc.AxisChange(); zgc.Invalidate();分析首先创建了一个ZedGraphControl对象然后获取它的GraphPane。接着在GraphPane里添加了一条曲线设置了曲线的名称、X轴和Y轴的数据列表以及颜色。最后通过AxisChange方法更新坐标轴用Invalidate方法刷新图表这样就能实时看到绘制的曲线啦。上位机功能实现上位机主要有两个很实用的功能。读取历史转速数据作为目标转速可以读取历史转速数据把它作为控制的目标转速然后通过CAN卡发送给风扇控制器从而复现风扇转速变化趋势。实现这个功能的代码大概是这样的// 读取Excel文件中的历史转速数据 DataTable dataTable ReadExcelData(历史转速数据.xlsx); foreach (DataRow row in dataTable.Rows) { double targetSpeed Convert.ToDouble(row[转速]); // 通过CAN卡发送目标转速给风扇控制器 SendTargetSpeedToFanController(targetSpeed); }分析这里先调用ReadExcelData方法读取Excel文件里的历史转速数据存放在DataTable中。然后遍历DataTable的每一行获取转速数据并转换为双精度浮点数再调用SendTargetSpeedToFanController方法把目标转速发送给风扇控制器这样就能一步步复现风扇转速变化趋势啦。自定义目标转速波形进行可靠性试验还能自定义目标转速波形进行相关可靠性试验。这就需要一些算法来生成自定义波形的数据然后再发送出去。比如下面这个简单的生成正弦波形数据的示例Listdouble xValues new Listdouble(); Listdouble yValues new Listdouble(); for (double i 0; i 100; i 0.1) { double x i; double y Math.Sin(x); xValues.Add(x); yValues.Add(y); // 发送自定义波形数据作为目标转速 SendTargetSpeedToFanController(y); }分析通过一个循环生成了正弦波形的X轴和Y轴数据这里的Y轴数据就作为自定义的目标转速。然后把这些数据发送出去就能进行可靠性试验啦。可以根据实际需求修改算法生成各种不同的目标转速波形来满足不同的试验要求。代码借鉴部分代码借鉴了有关大神的真的很感谢这些大神们的无私分享。站在巨人的肩膀上才能让我们的项目进展得更快更好呀。这个开源项目包含了CAN通讯、Excel文件读取、参数标定、曲线实时绘制等功能对于工控领域需要进行CAN相关试验和开发的小伙伴来说应该会有很大的帮助。希望大家能喜欢这个开源项目也欢迎一起交流和改进。C#Winform开源一个can上位机源码工控试验源码通讯源码。 can接口用的周立功的dll文件。 绘图用的zedgrah。 上位机功能是读取历史转速数据作为控制的目标转速通过can卡发送给风扇控制器复现风扇转速变化趋势。 或者自定义目标转速波形进行相关可靠性试验。 代码实现了can通讯excel文件读取参数标定曲线实时绘制等功能。 部分代码借鉴了有关大神以上就是这次分享的全部内容啦有兴趣的小伙伴可以去我的开源仓库看看具体代码哦。[这里可以放上开源仓库的链接]#CAN上位机 #工控试验 #C#代码 #开源项目