gallop020142 发表于 2014-7-16 10:52:53

自己写的一个基于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转float)
其它的就是一些辅助的功能。

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

liangying 发表于 2014-7-16 11:11:28

好,具体怎么操作,

edawn 发表于 2014-7-16 11:25:17

不错,谢谢。

hyghyg1234 发表于 2014-7-16 11:38:42

哪个版本的

gallop020142 发表于 2014-7-16 11:58:28

本帖最后由 gallop020142 于 2014-7-16 12:02 编辑

hyghyg1234 发表于 2014-7-16 11:38
哪个版本的

不好意思,串口协议不是基于春风原版的哦,这样可以用于其它应用。
我等下就改成可以兼容春风2.1版本的程序的试试。

llssr 发表于 2014-7-16 12:36:57

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

顶! 太厉害了,看起来功能挺多,个人可以用你这个上位机软件吧

gallop020142 发表于 2014-7-16 12:40:39

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


尽管用,我只是个搬运工+整理而已。
如前面所说下位机程序是基于春风大师的,串口通讯协议是借鉴诺比特的,上位机的各种fansy的控件也是codeproject上的。

llssr 发表于 2014-7-16 12:43:59

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

其实也就是拿来看下界面,做电源的不懂软件,羡慕你们软件这么厉害

taoworking 发表于 2014-7-16 13:08:42

留个印记。

keetian 发表于 2014-7-16 13:08:44

jacky_yhy 发表于 2014-7-16 13:49:32

那几个按钮的控件是神马?求赐

gallop020142 发表于 2014-7-16 13:52:45

jacky_yhy 发表于 2014-7-16 13:49
那几个按钮的控件是神马?求赐

你说的是cal那个按钮吗?是EnhancedGlassButton.dll, 在bin/release下面
也是codeproject上的,但是不如原作者弄得好看。

R88 发表于 2014-7-16 13:54:43

这数码管没消隐啊。

gallop020142 发表于 2014-7-16 13:59:11

R88 发表于 2014-7-16 13:54
这数码管没消隐啊。

有可能是那哥们595肯定没有搞好驱动。这个我就不去改了哈。照搬而已。

R88 发表于 2014-7-16 14:39:21

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

你这是VS2005么?

gallop020142 发表于 2014-7-16 15:03:46

R88 发表于 2014-7-16 14:39
你这是VS2005么?

是vs2012。

R88 发表于 2014-7-18 12:58:15

gallop020142 发表于 2014-7-16 15:03
是vs2012。

你改个低版本的保存么,我这2008打不开啊。

gallop020142 发表于 2014-7-18 13:41:27

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

怎么转呢? 貌似没有看到转的哦    等会儿我试试直接记事本改.sln试试

gallop020142 发表于 2014-7-18 13:51:41

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

我试了一下,直接改sln好像是不行的。哎。。。
要不你试试新建工程试试吧,不好意思。

R88 发表于 2014-7-18 17:03:19

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

你没改对吧,我式了一下可以了,点击program.cs出现下面的错误:

不知道什么原因?

R88 发表于 2014-7-18 17:05:27

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

而且我点击重新生成时,也会有2个错误:

doglove 发表于 2014-7-18 19:41:12

很不错,不知道怎么打开,是不是需要专用的软件?

bipengjiang 发表于 2014-7-18 19:48:24

虽然用不到,但还是多谢楼主分享。楼主的软件界面做的挺漂亮的。

rantingting 发表于 2014-7-18 20:13:46

已经很帅了,可惜只是个电源的上位机……

gallop020142 发表于 2014-7-18 20:26:07

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:04

rantingting 发表于 2014-7-18 20:13
已经很帅了,可惜只是个电源的上位机……


呵呵   功能简单了一点哈,要写win9我也不会啊

asong14437546 发表于 2014-7-18 20:30:22

下载学习学习,感谢分享

gallop020142 发表于 2014-7-18 20:30:22

doglove 发表于 2014-7-18 19:41
很不错,不知道怎么打开,是不是需要专用的软件?


c#是一门变成语言,vs2012是它的开发工具。
bin下面有.exe可执行程序(估计需要安装.net framework 4.0或4.5)

rantingting 发表于 2014-7-18 20:31:33

gallop020142 发表于 2014-7-18 20:29
呵呵   功能简单了一点哈,要写win9我也不会啊

不是说功能简单,只是用在电源上浪费了点,用在别的地方会更帅

gallop020142 发表于 2014-7-18 20:34:01

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

呵呵   目前也没有其它的应用场景

yu2008 发表于 2014-7-18 21:48:29

厉害必须下载来学习。

marshallemon 发表于 2014-7-18 21:55:18

2012版本太高,打不开

gallop020142 发表于 2014-7-18 22:10:46

marshallemon 发表于 2014-7-18 21:55
2012版本太高,打不开

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

gallop020142 发表于 2014-7-18 22:22:18

marshallemon 发表于 2014-7-18 21:55
2012版本太高,打不开

这个是我在2012里面将.net framework 4.5改成3.5并修改了三处错误之后,用记事本将.sln修改成2008版本的。不知道有没有问题,我机器上没有装08的,还请试试。

marshallemon 发表于 2014-7-18 22:26:56

gallop020142 发表于 2014-7-18 22:22
这个是我在2012里面将.net framework 4.5改成3.5并修改了三处错误之后,用记事本将.sln修改成2008版本的 ...

非常感谢,可以运行了

gallop020142 发表于 2014-7-18 22:30:12

marshallemon 发表于 2014-7-18 22:26
非常感谢,可以运行了

哦那我更新到主楼去

embeddev_1 发表于 2014-7-19 06:54:44

mark一下!现在都用vs2012了,我也该换换了{:biggrin:}

DOER 发表于 2014-7-19 07:59:26

gallop020142 发表于 2014-7-16 13:52
你说的是cal那个按钮吗?是EnhancedGlassButton.dll, 在bin/release下面
也是codeproject上的,但是不如 ...

按钮和仪表的原出处的源文件还也有吗?能否也上传?
谢谢啦!

gallop020142 发表于 2014-7-19 08:30:58

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

这些控件在bin下面有dll,源码的话,codeproject上有,还请自己去下载哈

foxpro2005 发表于 2014-7-19 08:48:11

不错,先赞一个,C#的第三方控件我也有很多...{:lol:}

lee345 发表于 2014-7-21 14:19:12

学习下这个几个控件,谢谢

R88 发表于 2014-7-21 20:50:47

gallop020142 发表于 2014-7-19 08:30
这些控件在bin下面有dll,源码的话,codeproject上有,还请自己去下载哈

VS自带的太难看了,没你这个亮丽,你给个地址,在哪下载啊。

gallop020142 发表于 2014-7-22 08:59:13

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

googlecodeproject呵呵

gallop020142 发表于 2014-7-22 09:07:34

表盘控件thermometer   
http://www.codeproject.com/Articles/19138/A-thermometer-control
数码管/ knob等
http://www.codeproject.com/search.aspx?q=industrial+control+c%23&doctypeid=1%3b2%3b3%3b13%3b14
zedgraph自行下载哈

xueju 发表于 2014-7-30 14:26:56

要兼容XP就要用.net framework 4.0,win7以上可以用4.5

Shampoo 发表于 2014-7-31 11:08:30

能解释下程序是对电压和电流的计算吗?为什么取这样的基准?没看懂。

gallop020142 发表于 2014-7-31 11:15:42

Shampoo 发表于 2014-7-31 11:08
能解释下程序是对电压和电流的计算吗?为什么取这样的基准?没看懂。

你这句话是问我程序中ADDA部分总共8个常数的意义是吗?
这个熟悉春风电源的肯定是明白的,是用于2点校准AD 和 DA的,
比较简单,具体可以查看一下春风电源的相关讨论。

stely 发表于 2014-7-31 11:44:52

必须mark,C#学习中

Shampoo 发表于 2014-7-31 13:01:46

gallop020142 发表于 2014-7-31 11:15
你这句话是问我程序中ADDA部分总共8个常数的意义是吗?
这个熟悉春风电源的肯定是明白的,是用于2点校 ...

嗯,是的,主要是没找到。

gallop020142 发表于 2014-7-31 14:05:03

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:31

这个好牛啊

friendljy 发表于 2014-8-12 12:53:55

标记一下,控件不错

TigerFish 发表于 2014-8-14 10:06:49

漂亮呀{:smile:}

TigerFish 发表于 2014-8-14 10:21:50

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:45

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

copl: Code Project Open License
反正是一个什么开源协议。
对于我这种中国人来讲,管它什么协议,拿来用就行

wazhiyi 发表于 2014-8-14 21:57:20

这个要在顶一下

LiLi-Long 发表于 2014-8-15 19:49:12

不错。支持。很想做春风的电源。能力还不足

web110 发表于 2014-8-18 10:29:19

这个要顶!

julin 发表于 2014-8-19 18:58:18

我在使用VS2010版本学习C#,希望多多指教.

ZYBing 发表于 2014-8-24 22:42:05

谢谢分享!

lovecxm 发表于 2014-9-21 13:53:26

挺牛的,自己一直在codeproject找这些工控控件,但不知道用什么关键字,学习了。

tcpln 发表于 2014-12-17 09:07:46

界面做得真漂亮!

zhilu 发表于 2014-12-17 19:16:24

这些控件非常好看。。

mk_avatar 发表于 2014-12-17 21:25:59

最近在学c#   

xianghaisha 发表于 2014-12-17 21:29:43

这个上位机编写值得我学习,但苦逼的是需要用labview啊

朝闻夕道 发表于 2014-12-17 21:31:39

漂亮,可以供学习C#新手们一点指引;

fengyunyu 发表于 2014-12-17 22:46:46

才发现这么好的帖子!

lionsg 发表于 2014-12-19 00:06:39

nice,可以调入配置参数的话更好玩些

瓶子 发表于 2014-12-25 20:00:49

楼主能提供下控件源码吗,我这边codeproject打不开

PCBBOY1991 发表于 2014-12-25 20:02:25

好炫酷!

lyl3257 发表于 2015-1-19 11:46:20

我也想学习

xiaohe669 发表于 2015-1-25 20:08:52

好资源 第一个

retome 发表于 2015-2-3 19:59:34

界面好漂亮,收藏了

markdif 发表于 2015-4-14 14:36:26

谢了。。。

guhaijun 发表于 2015-4-14 15:11:27

mark                  

lyrics131415 发表于 2015-5-1 19:13:30

支持开源共享!来学习学习

shouzhou 发表于 2015-5-2 10:31:16

正好学习c#编写上位机中。。。

hz_luping 发表于 2015-5-12 15:23:09

mark 一下,正在搞c#

long00001 发表于 2015-5-13 20:34:26

可惜当时2.1版的我没买

gallop020142 发表于 2015-5-14 11:21:48

long00001 发表于 2015-5-13 20:34
可惜当时2.1版的我没买

这个还不能够直接用在2.1版本的程序上。我自己修改了下位机程序。

long00001 发表于 2015-5-14 21:29:33

哦,不过反正都没买也无所谓了,希望阿莫春风电源出来后有相关配套就好了

wsh 发表于 2015-5-29 10:33:34

支持一下。。。。。

cong2010 发表于 2015-8-26 14:47:04

不错哦,支持下

njayk 发表于 2015-9-20 23:12:06

不错 学习了

u123321 发表于 2015-9-23 14:41:03

很好,界面很漂亮,谢谢分享

nuncle 发表于 2015-11-18 09:05:12

mark 马上要搞上位机

onev 发表于 2015-11-18 19:28:59

楼主这个是什么呀?

gallop020142 发表于 2015-11-18 23:03:40

onev 发表于 2015-11-18 19:28
楼主这个是什么呀?

这个应该就是ribbon控件里面的东西

liu672992381 发表于 2015-11-19 15:35:21

gallop020142 发表于 2014-7-22 09:07
表盘控件thermometer   
http://www.codeproject.com/Articles/19138/A-thermometer-control
数码管/ knob ...

   真是漂亮可惜不懂啊。

onev 发表于 2015-11-19 23:01:13

gallop020142 发表于 2015-11-18 23:03
这个应该就是ribbon控件里面的东西

Ribbon控件哪里下的?

hyghyg1234 发表于 2016-2-5 15:55:36

楼主请问下有zedgraph控件使用的说明文档吗?

gallop020142 发表于 2016-2-5 19:49:01

hyghyg1234 发表于 2016-2-5 15:55
楼主请问下有zedgraph控件使用的说明文档吗?

文档网上应该有吧?我也是在网上找一些例子,修改一下而已

Dragontan 发表于 2016-8-26 15:58:10

感谢楼主分享

vivi_cq1982 发表于 2016-9-13 14:47:12

不错,收藏了

心染红尘 发表于 2016-9-17 14:45:17

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:51

的确是个好东西

yongke 发表于 2017-9-12 21:44:10

楼主的例子是不是只能在VS2012中打开?

bad_fpga 发表于 2017-11-21 17:39:39

这个控件的数码管可以显示负数吗?我找的一个,显示不了负号

zhq_chd 发表于 2020-6-28 08:40:32


界面好漂亮,收藏了

zhangzif 发表于 2020-9-11 08:18:58

不错,谢谢。
页: [1] 2
查看完整版本: 自己写的一个基于c#的春风电源上位机