amobbs.com 阿莫电子技术论坛

标题: 自己写的一个基于c#的春风电源上位机 [打印本页]

作者: gallop020142    时间: 2014-7-16 10:52
标题: 自己写的一个基于c#的春风电源上位机
本帖最后由 gallop020142 于 2014-7-16 16:56 编辑

该程序利用了codeproject上的zedgraph(绘图)、knob(表盘旋钮)、manometers(表盘)、ribbon、lbindustrialctrls(数码管等)这些控件s,
并结合了诺比特usb2can中的串口通讯协议,界面庸俗了一点,欢迎指正,具体内容请看程序源码(VS2012)。
主要功能:
1.自动获取本机所有串口号
2.双坐标轴动态显示设定电压、ad电压、设定电流、ad电流(电压、电流更新频率10Hz,温度更新频率0.5Hz)
主要思路:
串口接收数据-> 存入queue -> _dataParseThread线程调用AnalyzePackage()函数解析每一个字节后组成完整的一帧 -> 将相应的数据添加到curve的pointlist中(用到了c#中的bitconverter将 byte[4]转float)
其它的就是一些辅助的功能。

添加下位机程序:
下位机程序基于春风2.1版本,重新整理,改动的地方如下:
1. 修改串口通讯协议(基于usb2can中的协议:http://www.amobbs.com/forum.php? ... ght=usb%E8%BD%ACcan)
2. 添加了shanyan2.8寸TFT(上次团购的8元2.8寸tft)
3. 校正改成了开机后2秒内按cal键进入校准

作者: liangying    时间: 2014-7-16 11:11
好,具体怎么操作,
作者: edawn    时间: 2014-7-16 11:25
不错,谢谢。
作者: hyghyg1234    时间: 2014-7-16 11:38
哪个版本的
作者: gallop020142    时间: 2014-7-16 11:58
本帖最后由 gallop020142 于 2014-7-16 12:02 编辑
hyghyg1234 发表于 2014-7-16 11:38
哪个版本的


不好意思,串口协议不是基于春风原版的哦,这样可以用于其它应用。
我等下就改成可以兼容春风2.1版本的程序的试试。
作者: llssr    时间: 2014-7-16 12:36
gallop020142 发表于 2014-7-16 11:58
不好意思,串口协议不是基于春风原版的哦,这样可以用于其它应用。
我等下就改成可以兼容春风2.1版本的程 ...

顶! 太厉害了,看起来功能挺多,个人可以用你这个上位机软件吧
作者: gallop020142    时间: 2014-7-16 12:40
llssr 发表于 2014-7-16 12:36
顶! 太厉害了,看起来功能挺多,个人可以用你这个上位机软件吧


尽管用,我只是个搬运工+整理而已。
如前面所说下位机程序是基于春风大师的,串口通讯协议是借鉴诺比特的,上位机的各种fansy的控件也是codeproject上的。
作者: llssr    时间: 2014-7-16 12:43
gallop020142 发表于 2014-7-16 12:40
尽管用,我只是个搬运工+整理而已。
如前面所说下位机程序是基于春风大师的,串口通讯协议是借鉴诺比特 ...

其实也就是拿来看下界面,做电源的不懂软件,羡慕你们软件这么厉害
作者: taoworking    时间: 2014-7-16 13:08
留个印记。
作者: keetian    时间: 2014-7-16 13:08
一个基于c#的春风电源上位机
作者: jacky_yhy    时间: 2014-7-16 13:49
那几个按钮的控件是神马?求赐
作者: gallop020142    时间: 2014-7-16 13:52
jacky_yhy 发表于 2014-7-16 13:49
那几个按钮的控件是神马?求赐

你说的是cal那个按钮吗?是EnhancedGlassButton.dll, 在bin/release下面
也是codeproject上的,但是不如原作者弄得好看。
作者: R88    时间: 2014-7-16 13:54
这数码管没消隐啊。
作者: gallop020142    时间: 2014-7-16 13:59
R88 发表于 2014-7-16 13:54
这数码管没消隐啊。

有可能是那哥们595肯定没有搞好驱动。这个我就不去改了哈。照搬而已。
作者: R88    时间: 2014-7-16 14:39
gallop020142 发表于 2014-7-16 13:59
有可能是那哥们595肯定没有搞好驱动。这个我就不去改了哈。照搬而已。

你这是VS2005么?
作者: gallop020142    时间: 2014-7-16 15:03
R88 发表于 2014-7-16 14:39
你这是VS2005么?

是vs2012。
作者: R88    时间: 2014-7-18 12:58
gallop020142 发表于 2014-7-16 15:03
是vs2012。

你改个低版本的保存么,我这2008打不开啊。
作者: gallop020142    时间: 2014-7-18 13:41
R88 发表于 2014-7-18 12:58
你改个低版本的保存么,我这2008打不开啊。

怎么转呢? 貌似没有看到转的哦    等会儿我试试直接记事本改.sln试试
作者: gallop020142    时间: 2014-7-18 13:51
R88 发表于 2014-7-18 12:58
你改个低版本的保存么,我这2008打不开啊。

我试了一下,直接改sln好像是不行的。哎。。。
要不你试试新建工程试试吧,不好意思。
作者: R88    时间: 2014-7-18 17:03
gallop020142 发表于 2014-7-18 13:51
我试了一下,直接改sln好像是不行的。哎。。。
要不你试试新建工程试试吧,不好意思。 ...

你没改对吧,我式了一下可以了,点击program.cs出现下面的错误:
[attach]206721[/attach]
不知道什么原因?
作者: R88    时间: 2014-7-18 17:05
gallop020142 发表于 2014-7-18 13:51
我试了一下,直接改sln好像是不行的。哎。。。
要不你试试新建工程试试吧,不好意思。 ...

而且我点击重新生成时,也会有2个错误:
[attach]206722[/attach]
作者: doglove    时间: 2014-7-18 19:41
很不错,不知道怎么打开,是不是需要专用的软件?

作者: bipengjiang    时间: 2014-7-18 19:48
虽然用不到,但还是多谢楼主分享。楼主的软件界面做的挺漂亮的。
作者: rantingting    时间: 2014-7-18 20:13
已经很帅了,可惜只是个电源的上位机……
作者: gallop020142    时间: 2014-7-18 20:26
R88 发表于 2014-7-18 17:05
而且我点击重新生成时,也会有2个错误:

我出的错误也是一样的,我在properties中修改成 .net 3.5也不行。。。
原来用的估计是4.0 或者4.5,改成3.5了, threading.tasks估计就不存在了
还是建议直接用vs2012得了,简单有效。
作者: gallop020142    时间: 2014-7-18 20:29
rantingting 发表于 2014-7-18 20:13
已经很帅了,可惜只是个电源的上位机……


呵呵   功能简单了一点哈,要写win9我也不会啊
作者: asong14437546    时间: 2014-7-18 20:30
下载学习学习,感谢分享
作者: gallop020142    时间: 2014-7-18 20:30
doglove 发表于 2014-7-18 19:41
很不错,不知道怎么打开,是不是需要专用的软件?


c#是一门变成语言,vs2012是它的开发工具。
bin下面有.exe可执行程序(估计需要安装.net framework 4.0或4.5)
作者: rantingting    时间: 2014-7-18 20:31
gallop020142 发表于 2014-7-18 20:29
呵呵   功能简单了一点哈,要写win9我也不会啊

不是说功能简单,只是用在电源上浪费了点,用在别的地方会更帅
作者: gallop020142    时间: 2014-7-18 20:34
rantingting 发表于 2014-7-18 20:31
不是说功能简单,只是用在电源上浪费了点,用在别的地方会更帅

呵呵   目前也没有其它的应用场景  
作者: yu2008    时间: 2014-7-18 21:48
厉害  必须下载来学习。
作者: marshallemon    时间: 2014-7-18 21:55
2012版本太高,打不开
作者: gallop020142    时间: 2014-7-18 22:10
marshallemon 发表于 2014-7-18 21:55
2012版本太高,打不开

我这儿只有12版的。。。
不知道怎么转成低版本的呢。主要还牵涉到.net framework版本的问题。

作者: gallop020142    时间: 2014-7-18 22:22
marshallemon 发表于 2014-7-18 21:55
2012版本太高,打不开

这个是我在2012里面将.net framework 4.5改成3.5并修改了三处错误之后,用记事本将.sln修改成2008版本的。不知道有没有问题,我机器上没有装08的,还请试试。
作者: marshallemon    时间: 2014-7-18 22:26
gallop020142 发表于 2014-7-18 22:22
这个是我在2012里面将.net framework 4.5改成3.5并修改了三处错误之后,用记事本将.sln修改成2008版本的 ...

非常感谢,可以运行了
作者: gallop020142    时间: 2014-7-18 22:30
marshallemon 发表于 2014-7-18 22:26
非常感谢,可以运行了

哦  那我更新到主楼去
作者: embeddev_1    时间: 2014-7-19 06:54
mark一下!现在都用vs2012了,我也该换换了
作者: DOER    时间: 2014-7-19 07:59
gallop020142 发表于 2014-7-16 13:52
你说的是cal那个按钮吗?是EnhancedGlassButton.dll, 在bin/release下面
也是codeproject上的,但是不如 ...

按钮和仪表的原出处的源文件还也有吗?能否也上传?
谢谢啦!
作者: gallop020142    时间: 2014-7-19 08:30
DOER 发表于 2014-7-19 07:59
按钮和仪表的原出处的源文件还也有吗?能否也上传?
谢谢啦!

这些控件在bin下面有dll,源码的话,codeproject上有,还请自己去下载哈
作者: foxpro2005    时间: 2014-7-19 08:48
不错,先赞一个,C#的第三方控件我也有很多...
作者: lee345    时间: 2014-7-21 14:19
学习下这个几个控件,谢谢
作者: R88    时间: 2014-7-21 20:50
gallop020142 发表于 2014-7-19 08:30
这些控件在bin下面有dll,源码的话,codeproject上有,还请自己去下载哈

VS自带的太难看了,没你这个亮丽,你给个地址,在哪下载啊。
作者: gallop020142    时间: 2014-7-22 08:59
R88 发表于 2014-7-21 20:50
VS自带的太难看了,没你这个亮丽,你给个地址,在哪下载啊。

google  codeproject  呵呵
作者: gallop020142    时间: 2014-7-22 09:07
表盘控件thermometer   
http://www.codeproject.com/Articles/19138/A-thermometer-control
数码管/ knob等
http://www.codeproject.com/searc ... 1%3b2%3b3%3b13%3b14
zedgraph自行下载哈
作者: xueju    时间: 2014-7-30 14:26
要兼容XP就要用.net framework 4.0,win7以上可以用4.5
作者: Shampoo    时间: 2014-7-31 11:08
能解释下程序是对电压和电流的计算吗?为什么取这样的基准?没看懂。
作者: gallop020142    时间: 2014-7-31 11:15
Shampoo 发表于 2014-7-31 11:08
能解释下程序是对电压和电流的计算吗?为什么取这样的基准?没看懂。

你这句话是问我程序中AD  DA部分总共8个常数的意义是吗?
这个熟悉春风电源的肯定是明白的,是用于2点校准AD 和 DA的,
比较简单,具体可以查看一下春风电源的相关讨论。
作者: stely    时间: 2014-7-31 11:44
必须mark,C#学习中
作者: Shampoo    时间: 2014-7-31 13:01
gallop020142 发表于 2014-7-31 11:15
你这句话是问我程序中AD  DA部分总共8个常数的意义是吗?
这个熟悉春风电源的肯定是明白的,是用于2点校 ...

嗯,是的,主要是没找到。
作者: gallop020142    时间: 2014-7-31 14:05
Shampoo 发表于 2014-7-31 13:01
嗯,是的,主要是没找到。

我说先讲一下DA的4个常数吧
电压校准,最小电压为0.10V,最大电压30.00V,
在校准的时候通过面板上的旋钮调节电压,使输出的电压与设定的电压相等,
记录此时的DA值就是bsp_da.c中的两个电压DA值,同理可以推广至电流、AD相关的常数。

校准完成后,根据DA的四个常数,利用插值方法输出期望的电压/电流;通过AD的四个常数,利用插值方法求出当前的电压/电流。

作者: hnstray    时间: 2014-8-12 12:35
这个好牛啊
作者: friendljy    时间: 2014-8-12 12:53
标记一下,控件不错
作者: TigerFish    时间: 2014-8-14 10:06
漂亮呀
作者: TigerFish    时间: 2014-8-14 10:21
gallop020142 发表于 2014-7-22 09:07
表盘控件thermometer   
http://www.codeproject.com/Articles/19138/A-thermometer-control
数码管/ knob ...

这个需要注册才能下载。
里面的Licence         CPOL   , 这表示什么意思,开源的?
作者: gallop020142    时间: 2014-8-14 11:55
TigerFish 发表于 2014-8-14 10:21
这个需要注册才能下载。
里面的Licence         CPOL   , 这表示什么意思,开源的?

copl: Code Project Open License
反正是一个什么开源协议。
对于我这种中国人来讲,管它什么协议,拿来用就行
作者: wazhiyi    时间: 2014-8-14 21:57
这个要在顶一下
作者: LiLi-Long    时间: 2014-8-15 19:49
不错。支持。很想做春风的电源。能力还不足
作者: web110    时间: 2014-8-18 10:29
这个要顶!
作者: julin    时间: 2014-8-19 18:58
我在使用VS2010版本学习C#,希望多多指教.
作者: ZYBing    时间: 2014-8-24 22:42
谢谢分享!
作者: lovecxm    时间: 2014-9-21 13:53
挺牛的,自己一直在codeproject找这些工控控件,但不知道用什么关键字,学习了。
作者: tcpln    时间: 2014-12-17 09:07
界面做得真漂亮!
作者: zhilu    时间: 2014-12-17 19:16
这些控件非常好看。。
作者: mk_avatar    时间: 2014-12-17 21:25
最近在学c#   
作者: xianghaisha    时间: 2014-12-17 21:29
这个上位机编写值得我学习,但苦逼的是需要用labview啊
作者: 朝闻夕道    时间: 2014-12-17 21:31
漂亮,可以供学习C#新手们一点指引;
作者: fengyunyu    时间: 2014-12-17 22:46
才发现这么好的帖子!
作者: lionsg    时间: 2014-12-19 00:06
nice,可以调入配置参数的话更好玩些
作者: 瓶子    时间: 2014-12-25 20:00
楼主能提供下控件源码吗,我这边codeproject打不开
作者: PCBBOY1991    时间: 2014-12-25 20:02
好炫酷!
作者: lyl3257    时间: 2015-1-19 11:46
我也想学习
作者: xiaohe669    时间: 2015-1-25 20:08
好资源 第一个
作者: retome    时间: 2015-2-3 19:59
界面好漂亮,收藏了
作者: markdif    时间: 2015-4-14 14:36
谢了。。。
作者: guhaijun    时间: 2015-4-14 15:11
mark                    
作者: lyrics131415    时间: 2015-5-1 19:13
支持开源共享!来学习学习
作者: shouzhou    时间: 2015-5-2 10:31
正好学习c#编写上位机中。。。
作者: hz_luping    时间: 2015-5-12 15:23
mark 一下,正在搞c#
作者: long00001    时间: 2015-5-13 20:34
可惜当时2.1版的我没买
作者: gallop020142    时间: 2015-5-14 11:21
long00001 发表于 2015-5-13 20:34
可惜当时2.1版的我没买

这个还不能够直接用在2.1版本的程序上。我自己修改了下位机程序。
作者: long00001    时间: 2015-5-14 21:29
哦,不过反正都没买也无所谓了,希望阿莫春风电源出来后有相关配套就好了
作者: wsh    时间: 2015-5-29 10:33
支持一下。。。。。
作者: cong2010    时间: 2015-8-26 14:47
不错哦,支持下


作者: njayk    时间: 2015-9-20 23:12
不错 学习了
作者: u123321    时间: 2015-9-23 14:41
很好,界面很漂亮,谢谢分享
作者: nuncle    时间: 2015-11-18 09:05
mark 马上要搞上位机
作者: onev    时间: 2015-11-18 19:28
楼主  这个是什么呀?
作者: gallop020142    时间: 2015-11-18 23:03
onev 发表于 2015-11-18 19:28
楼主  这个是什么呀?


这个应该就是ribbon控件里面的东西
作者: liu672992381    时间: 2015-11-19 15:35
gallop020142 发表于 2014-7-22 09:07
表盘控件thermometer   
http://www.codeproject.com/Articles/19138/A-thermometer-control
数码管/ knob ...

     真是漂亮可惜不懂啊。
作者: onev    时间: 2015-11-19 23:01
gallop020142 发表于 2015-11-18 23:03
这个应该就是ribbon控件里面的东西

Ribbon控件哪里下的?
作者: hyghyg1234    时间: 2016-2-5 15:55
楼主请问下有zedgraph控件使用的说明文档吗?
作者: gallop020142    时间: 2016-2-5 19:49
hyghyg1234 发表于 2016-2-5 15:55
楼主请问下有zedgraph控件使用的说明文档吗?

文档网上应该有吧?我也是在网上找一些例子,修改一下而已
作者: Dragontan    时间: 2016-8-26 15:58
感谢楼主分享
作者: vivi_cq1982    时间: 2016-9-13 14:47
不错,收藏了
作者: 心染红尘    时间: 2016-9-17 14:45
gallop020142 发表于 2014-7-22 09:07
表盘控件thermometer   
http://www.codeproject.com/Articles/19138/A-thermometer-control
数码管/ knob ...

这个怎么用
作者: 93434387@qq.com    时间: 2017-4-17 16:35
的确是个好东西
作者: yongke    时间: 2017-9-12 21:44
楼主的例子是不是只能在VS2012中打开?
作者: bad_fpga    时间: 2017-11-21 17:39
这个控件的数码管可以显示负数吗?我找的一个,显示不了负号
作者: zhq_chd    时间: 2020-6-28 08:40

界面好漂亮,收藏了
作者: zhangzif    时间: 2020-9-11 08:18
不错,谢谢。




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4