问题描述
本人是学生,导师现有一个项目交给我做,项目功能需求大体如下:1.电脑作为上位机,一台仪器作为下位机,上位机通过网口(TCP/IP协议)从下位机获取数据。2.下位机每次穿上的数据大小为20000Bytes,每秒钟传输1000次,上位机实时接收数据,并对数据进行解析,解析后进行一些运算(如高斯拟合),然后根据需要绘制波形,显示数据。3.上位机也要向下位机发送少量数据,用于控制下位机工作。导师现在要求我用VC++来做(导师在软件方面也没有经验),但是VC++开发界面的确稍显繁琐,我的想法是能否用C#做呢?但是有听说C#的运行效率比较低,我没有这方面的经验,也不知道C#开发出来能否满足项目的上述要求,不太想做无用功和浪费项目进度。所以现在想请各位有C#开发经验的大神指导一下,如果能用C#的话,借此机会学习一下还是很值得的。
解决方案
解决方案二:
关注一下~我也是个学生~也是导师让我做个类似的项目~~下位机是用usb通信的~~界面程序是用C#写的~~也是接收数据然后绘制波形~然后SQL存储数据查询导出删除等等~~~我用C#觉得还可以~项目做完拿到企业去测试了一下感觉也还OK~~现在在添加新功能~~给你加个油~~~
解决方案三:
C#可以做并且效率不低。前提是你得会C#。你的老师估计知识陈旧,所以他只会C++。
解决方案四:
实际上你的老师不光知识陈旧,面还很窄哦。如果是自动化专业或者计算机系博士导师,会让你用wincc或labview做,而不是vc做。呵呵,wincc做这个10分钟可以搞定采集,运算和显示部分,控制部分10分钟也能搞定,数据存储部分麻烦点半天把。也就是基本调通1天够了。完全做好3天就成
解决方案五:
C#效率低我就不同意了
解决方案六:
引用1楼xiaomihuyatou的回复:
关注一下~我也是个学生~也是导师让我做个类似的项目~~下位机是用usb通信的~~界面程序是用C#写的~~也是接收数据然后绘制波形~然后SQL存储数据查询导出删除等等~~~我用C#觉得还可以~项目做完拿到企业去测试了一下感觉也还OK~~现在在添加新功能~~给你加个油~~~
你那个数据量多大?上位机有没有其他计算?
解决方案七:
引用4楼u012025054的回复:
C#效率低我就不同意了
额,怎么不同意了?
解决方案八:
引用3楼wanghui0380的回复:
实际上你的老师不光知识陈旧,面还很窄哦。如果是自动化专业或者计算机系博士导师,会让你用wincc或labview做,而不是vc做。呵呵,wincc做这个10分钟可以搞定采集,运算和显示部分,控制部分10分钟也能搞定,数据存储部分麻烦点半天把。也就是基本调通1天够了。完全做好3天就成
wincc和labview做的软件可以方便的交付给别人使用吗?
解决方案九:
这种IO与运算,C++能做到什么程度,C#也可以接近这个程度。重要的是你是怎么实现的?
解决方案十:
@lz其实真正的工控领域,wincc,labview是实际的工业标准,所以没啥不可交付滴
解决方案十一:
我觉得可以用C#做,网络接收用C#没有任何问题,至于后面的计算,这个没有任何压力的。如果有问题可以向我咨询:qq55256244
解决方案十二:
引用楼主Jason___Bourne的回复:
1.电脑作为上位机,一台仪器作为下位机,上位机通过网口(TCP/IP协议)从下位机获取数据。2.下位机每次穿上的数据大小为20000Bytes,每秒钟传输1000次,上位机实时接收数据,并对数据进行解析,解析后进行一些运算(如高斯拟合),然后根据需要绘制波形,显示数据。
到底是上位机取下位机的数据,还是下位机传数据给上位机?你连这个简单的问题都没有想好吗?TCP传输,每秒1000次,每次传接近20KBytes,请问你的下位机是什么神奇的机器?
解决方案十三:
我建议你用c++来做。这样如果你做砸了,你可以把责任推到c++难以成大事(大多数程序员都是再哪里常年死抠一段代码,而开发效率极低)方面。你又不是精英,所以用c++反而是事倍功半,这完全可以说得过去。如果你用c#,你的知识又根本不足以做成一个小项目(跟编程语言无关,跟软件基础知识有关),那你可能在导师那里就没有借口了。所以别用c#。
解决方案十四:
引用5楼Jason___Bourne的回复:
Quote: 引用1楼xiaomihuyatou的回复:
关注一下~我也是个学生~也是导师让我做个类似的项目~~下位机是用usb通信的~~界面程序是用C#写的~~也是接收数据然后绘制波形~然后SQL存储数据查询导出删除等等~~~我用C#觉得还可以~项目做完拿到企业去测试了一下感觉也还OK~~现在在添加新功能~~给你加个油~~~你那个数据量多大?上位机有没有其他计算?
还蛮大的~~现在我设置的是1秒采集500个数据~这个采集频率可以让用户自己调节~~企业用起来大约是整天整天开着的~~运算暂时还没有,下学期来加呢~~~嘿嘿嘿~~~
解决方案十五:
c#用别人写好的sokcet框架就可以了..或者用socketasynceventargs写无非就是一个服务...至于效率只有代码的事,跟语言没什么太大关系..另外你这只有一个下位机没什么事吧..数据采集上来之后什么高斯分布线性拟合多项式的那是你业务方面的事了..这个就看你数学技能的等级以及代码技术的等级以及他们两者综合的技能等级了..
解决方案:
引用11楼sp1234的回复:
Quote: 引用楼主Jason___Bourne的回复:
1.电脑作为上位机,一台仪器作为下位机,上位机通过网口(TCP/IP协议)从下位机获取数据。2.下位机每次穿上的数据大小为20000Bytes,每秒钟传输1000次,上位机实时接收数据,并对数据进行解析,解析后进行一些运算(如高斯拟合),然后根据需要绘制波形,显示数据。到底是上位机取下位机的数据,还是下位机传数据给上位机?你连这个简单的问题都没有想好吗?TCP传输,每秒1000次,每次传接近20KBytes,请问你的下位机是什么神奇的机器?
下位机用FPGA做的
解决方案:
真高端完全不明白
解决方案:
真高端完全不明白
解决方案:
想必下位机是一个广播端上位机接收广播数据