现在,就来看下什么是上位机:
上位机是指可以直接发出操控命令的计算机,一般是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)数据保存功能,自动将实时的温度保存下来,加入 日期与时间,方便以后排查
问题
的时候用于检测某段时间的温度是否正常,这也是很使用的功能。
说了那么多,看看我们的上位机。由于我以前用的别人的上位机都是色调比较单一的,而我,又是那种比较活泼开朗的人,觉得单一的灰色调比较死沉,我不喜欢,当然那是别人做的上位机,即使再不喜欢,要用还是要用,没办法,
现在我自己做的就不一样了,得给他做个五颜六色出来。亮瞎眼。。。。。
1.png
2.jpg
3.jpg
当我们的温度达到目标温度的时候,下位机就会控制自己的温度,以保持温度恒定,同时在上位机显示看到温度为一条曲线,由于我设置的温度为整数,
没有
小数,但是我们通过下位机可以看到实时的温度,精确在0.4范围左右。
4.jpg
当我们把上位机与下位机通讯协议切断,可以看到上位机接受不到数据(在软件右下角粉红色的窗口,
没有
显示接收到的数据),上位机的波形就会回到默认值(0°),就是上图的样子
5.jpg
6.jpg
当我们需要后期的检测与排除故障的时候,我们可以从我们保存的温度来做简单的排查,上位机自动保存的温度数据,精确到某天某时某分某秒,简单方便。也是一个很实用的功能当没什么故障的时候,我们只需要隔一段时间吧数据清一下就OK了。
附上作品视频:http://v.youku.com/v_show/id_XMzE0Nzg0ODUzMg==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2
本次上位机介绍到此结束
源码文件会可以关注关注获得。
或者CSDN下载连接:
本上位机仅为杰杰个人娱乐,不做商业用途。
如需转载请说明出处。
欢迎关注“创客飞梦空间”
干货不间断
在
未
来的日子里
创客飞梦空间与你们同在,放飞我们的梦想
其他项目都可以通过附加到进程
断点
调试
,唯独这个项目出现这个
调试
。于是在尝试下面的步骤后,
问题
得到了解决。写给需要的人,不一定100%可以解决你的
问题
,但是我这边是解决了,可以尝试一下。
在
调试
代码过程
中
,计算机突然蓝屏而强制关闭并重启,以至于vs在运行
调试
的过程
中
就在非正常的情况下被迫关闭。
重启之后,继续打开并运行项目,却发现无法进行
调试
代码。于是我把鼠标移到
断点
的红色图标,有提示:
当前
不会
命中
断点
,还
未
为
文档
加载
任何符号”。
文章标题前缀标注了【解决思路】而并非【已解决】。因为导致这个
问题
的原因是有很多种可能性,并
不能
确保我提供的解决方案,在每次遇到这个
问题
时都能够运用得上。但解决思路过程是我写此文的根本目的。
解决过程:...
今天是端午,估计是加班的原因,VS2008给我开了个玩笑.提示:
当前
不会
命中
断点
。源代码与原始版本不同.为什么会出现呢?原因
当前
大家都清楚,就是因为编译器生成的符号文件与源代码不同.那我的代码明明已经改变并存档,并且编译了,为什么还是不同呢?1.我想也许是
没有
被真正的重新生成吧, 这好办,清理解决方案,清理工程,为了更彻底,再关闭解决方案,把debug删掉,ncb文件删
1、winform 程序
中
,经常会出现的一个错误,
断点
不可
调试
。
(1)
当前
不会
命中
断点
,还
没有
为该
文档
加载
任何
资料
问题
原因:窗口所在的类库或者项目在应用程序目录
中
(release或者debug)
中
只生成了dll文件,
没有
生成pdb文件。例如下面的:类库
中
的内容就不可以
调试
。
(2)解决方案:修改类库属性配置,然后先清理这个项目再重新生成项目即可。生成的***
环境:VS2015解决方案
中
有2个项目,一个项目是C++写的dll源代码,另一个是
C#
调用这个dll测试。
问题
:
C#
调用dll无法在dll源代码
中
中
断,提示“
当前
不会
命中
断点
,因为还
没有
为该
文档
加载
任何符号”
1.首先设置dll和测试程序输出路径在同一个目录下
2.其次设置
(1)项目-〉属性-〉配置属性-〉C/C++-〉常规-〉
调试
信息格式,这里
不能
为“禁
1,检查VS的
调试
模式。VS的
调试
分为两种,Debug和Release。Debug是专门真对检查程序的bug而设置的一种模式。Release模式对程序的编译进行了优化,一般用于程序发布。首先确保是在Debug模式下设置的
断点
。2,检查设置
断点
的模块在
调试
时有
没有
输出。
调试
时遇到最多的警告“
当前
不会
命中
断点
还
没有
为该
文档
加载
任何符号 ”。原因是我们设置
断点
的代码块并
没有
编译输出。找到程序的生成目录...