现在,就来看下什么是上位机: 上位机是指可以直接发出操控命令的计算机,一般是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,检查设置 断点 的模块在 调试 时有 没有 输出。 调试 时遇到最多的警告“ 当前 不会 命中 断点 没有 为该 文档 加载 任何符号 ”。原因是我们设置 断点 的代码块并 没有 编译输出。找到程序的生成目录...