本帖最后由 gaoyang9992006 于 2020-12-4 14:45 编辑
百度百科对上位机做了以下解释:
上位机是指可以直接发出操控命令的计算机,一般是PC/host computer/master computer/upper computer,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机single chip microcomputer/slave computer/lower computer之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。简言之如此,实际情况千差万别,但万变不离其宗:上下位机都需要编程,都有专门的开发系统。
在概念上,控制者和提供服务者是上位机,被控制者和被服务者是下位机,也可以理解为主机和从机的关系,但上位机和下位机是可以转换的。
通讯过程
两机如何通讯,一般取决于下位机,TCP/IP一般是支持的,但是下位机一般具有更可靠的独有通讯协议,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯,里面会举大量例子,一般对编程人员而言一看也就那么回事,使用一些新的API(API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节罢了,多语言支持功能模块,一般同时支持数种高级语言为上位机编程。
通讯协议
通常上位机和下位机通讯可以采用不同的通讯协议,可以有RS232的串口通讯或者采用RS485串行通讯。当用计算机和PLC通讯的时候,不但可以采用传统的D形式的串行通讯,还可以采用更适合工业控制的双线的PROFIBUS-DP通讯。采用封装好的程序开发工具就可以实现PLC和上位机的通讯,当然可以自己编写驱动类的接口协议控制上位机和下位机的通讯。
根据这个解释和我们的经验,上位机就是运行在计算机端的可以下发命令,并接收设备传回信息的软件,我们常用的上位机有串口助手,或者某个工程的专用上位机,比如某自动化系统监控软。
开发上位机也就是开发桌面软件,根据我的经验可以开发PC桌面软件的都可以开发上位机,当然了,还有一些是专门用于开发上位机的软件。
这里我介绍一些:MFC,C#,.net,VB,Delphi,JAVA,QT,Labview,Matlab等,只要能开发桌面软件的,都可以开发上位机。
这里我推荐使用QT开发,因为入门太容易了,只要会C/C++就可以很快上手。
近期我会在该板块开源我编写的串口助手。--------------------------------------------------------------------------我的串口助手不同版本下载地址--------------------------------------------------------------------------
第一个版本:做了个清爽版的串口助手,QT最新版编写 - ST MCU单片机论坛 - ST(意法半导体)MCU官方技术论坛 - 中国电子网技术论坛 (21ic.com)
第二个版本:QT开发的串口助手-V0.2版本 - - 中国电子网技术论坛 (21ic.com)
第五个版本:QT开发的串口助手第五个版本诞生了,功能完美无瑕 - - 中国电子网技术论坛 (21ic.com)
第六个版本:QT开发串口第六次升级-增加16进制发送 - - 中国电子网技术论坛 (21ic.com)
第11个版本:QT开发的串口助手第11版,2020年12月1日 - Microchip论坛 - PIC单片机论坛 - Microchip(微芯科技)MCU官方技术支持论坛 - 中国电子网技术论坛 (21ic.com)
第12个版本:QT开发的串口助手第12个版本-窗口调整更容易 - - 中国电子网技术论坛 (21ic.com)
|