【电子竞赛预热赛】恒温控制系统之上位机开源(三)
本帖最后由 caijie001 于 2017-11-17 11:29 编辑其实在做这个恒温控制系统项目的时候,师弟就问我,什么是上位机。。。。。可能很多师弟师妹都没一个大概的概念。 现在,就来看下什么是上位机: 上位机是指可以直接发出操控命令的计算机,一般是PC/host computer/master computer/upper computer,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机single chip microcomputer/slave computer/lower computer之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。简言之如此,实际情况千差万别,但万变不离其宗:上下位机都需要编程,都有专门的开发系统。在概念上,控制者和提供服务者是上位机,被控制者和被服务者是下位机,也可以理解为主机和从机的关系,但上位机和下位机是可以转换的。
工作原理两机如何通讯,一般取决于下位机,TCP/IP一般是支持的,但是下位机一般具有更可靠的独有通讯协议。通常上位机和下位机通讯可以采用不同通讯协议,可以有RS232的串口通讯或者采用RS485串行通讯。采用封装好的程序开发工具就可以实现下位机和上位机的通讯,当然可以自己编写驱动类的接口协议控制上位机和下位机的通讯。通常工控机,工作站,触摸屏作为上位机,通信控制PLC,单片机等作为下位机,从而控制相关设备元件和驱动装置。
既然差不多知道什么是上位机与下位机,那么,我们做到小喇叭的要求:就得写个上位机,我自己也是学了下C#,用来开发上位机还是可以的,开发环境用visual studio 2015,微软的软件真的是很简单,之前看到有人问为什么微软的软件是最多人用的,答:因为那是傻瓜式操作。。。。。我不得不认同。。。(开发上位机的协议是根据个人写的。需要怎样的协议就直接写)
回归正题:先看看我们的上位机有什么功能:1)能够实现与下位机的正常通讯。这必须得有,不然算哪门子上位机啊。2)能够控制我们的恒温系统,通过电脑控制恒温系统的温度。这种应用场景很正常,我在机房就能控制我某一个地方的温度,简单方便。3)能够实时显示温度与波形。这种应用的场景也是非常常见,实时显示温度我们可以知道温度是否正常,而波形我们能快速看出恒温系统空间温度是否出现异常。4)我添加的功能,自动将实时的温度保存下来,加入 日期与时间,方便以后排查问题的时候用于检测某段时间的温度是否正常,这也是很使用的功能。
说了那么多,看看我们的上位机。由于我以前用的别人的上位机都是色调比较单一的,而我,又是那种比较活泼开朗的人,觉得单一的灰色调比较死沉,我不喜欢,当然那是别做的上位机,即使再不喜欢,还是要用,没办法,现在我自己做的就不一样了,得给他做个五颜六色出来。 上面两张图片,我们可以很直观看出,温度在不断上升,在调试信息窗口,我们可以看到当前的温度。在波形控制台,我们可以很清晰看出温度波形曲线是呈上升状态的,因为还没到我们设定的温度。在调试窗口的最下面我们可以设置恒温控制系统空间的温度。然后下位机就能根据我们设定的温度去达到温度的恒定。
当我们的温度达到目标温度的时候,下位机就会控制自己的温度,以保持温度恒定,同时在上位机显示看到温度为一条曲线,由于我设置的温度为整数,没有小数,但是我们通过下位机可以看到实时的温度,精确在0.4范围左右。当我们把上位机与下位机通讯协议切断,可以看到上位机接受不到数据(在软件右下角粉红色的窗口,没有显示接收到的数据),上位机的波形就会回到默认值(0°),就是上图的样子
当我们需要后期的检测与排除故障的时候,我们可以从我们保存的温度来做简单的排查,上位机自动保存的温度数据,精确到某天某时某分某秒,简单方便。也是一个很实用的功能当没什么故障的时候,我们只需要隔一段时间吧数据清一下就OK了。
附上作品视频:http://v.youku.com/v_show/id_XMzE0Nzg0ODUzMg==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2本次上位机介绍到此结束:同时感谢小喇叭给我的21ic的**,用来做图标美美的@21ic小喇叭
注意:开发上位机的协议是根据个人写的。需要怎样的协议就直接写,在下位机协议不一样的情况下,可能导致通讯出错,请结合我的下位机源码调整。【电子竞赛预热赛】恒温控制系统之软件调试(二):https://bbs.21ic.com/forum.php?mod=viewthread&tid=2387044&fromuid=1875788
源码文件会在附件中。本上位机仅为杰杰个人娱乐,不做商业用途。**** Hidden Message *****
好详细,给杰杰顶起~~~ 21ic小喇叭 发表于 2017-11-15 13:34
好详细,给杰杰顶起~~~
666不愧是大神 蔡名进 发表于 2017-11-15 14:50
666不愧是大神
期待你的国旗哈哈哈, 楼主上位机,用什么写的,用VS2010好像打不开 freeelectron 发表于 2017-11-16 09:08
楼主上位机,用什么写的,用VS2010好像打不开
visual studio 2015
不知道是不是版本问题,你可以百度一下 美观 漂亮 不错 山东电子小菜鸟 发表于 2017-11-16 19:02
美观 漂亮 不错
哈哈哈哈,鸟哥过奖啦。我只是不喜欢别人写的单一颜色的上位机哈哈哈哈,既然自己做,就弄得颜色炫彩一点点。 非常好!谢谢! jackliu999 发表于 2017-11-16 20:43
非常好!谢谢!
谢谢 不错 学习一下!!! chest20090909 发表于 2017-11-17 11:13
学习一下!!!
欢迎欢迎 学学 不做商业用途 bang54321 发表于 2017-11-17 13:10
不做商业用途
谢谢 做的很好 非常漂亮 温度设置 底下 最好不好用紫色的背景色 看不清楚 建议改成其他颜色 gcxzhz 发表于 2017-11-17 19:52
温度设置 底下 最好不好用紫色的背景色 看不清楚 建议改成其他颜色
可以可以,颜色随便自己改的,谢谢你的建议,我到时候会换个浅色的