一、上位机是什么?
上位机是指可以直接发出操控命令的计算机,一般是PC/host computer/master computer/upper computer,屏幕上显示各种信号变化(液压,水位,温度等)。
下位机是直接控制设备获取设备状况的计算机,一般是PLC/单片机single chip microcomputer/slave computer/lower computer之类的。
通常工控机,工作站,触摸屏作为上位机,通信控制PLC,单片机等作为下位机,从而控制相关设备元件和驱动装置。
上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。
上位机和下位机通讯可以采用不同的通讯协议,可以有RS232的串口通讯或者采用RS485串行通讯。 可以说上位机是主机,下位机是从机,二者是主从关系。
二、通信协议与通信API
实现上下位机之间的通信需要了解以下2个概念:
通信协议
上位机和下位机之间的通信协议有很多,只要能完成通信的协议都可以用在上位机与下位机之间。比如:
通信协议(通信方式):RS232/RS485串行通信、USB、蓝牙、网络UDP/TCP
这个通信协议(通信方式)是实现上位机与下位机之间数据交换的基本通道。
通信API
在通信协议的基础上,具体发送什么数据即发送什么指令,还需要规定各个功能所对应的指令(上位机发给下位机的指令)。
每个功能所对应的指令叫做API(Application Programming Interface), 在实际工作中常称这个api为“私有通信协议”。
举例一条获取温度的api:
[包头 + 获取温度对应的命令编码(编号)+ 校验位 + 包尾]
api的命令格式,是自定义的一种固定的数据组合格式。不受任何通信方式和通信平台的限制。
这就意味着,只要通信协议(通信方式)可以建立,上位机软件可以是任意开发语言和任意开发平台,下位机也可以使用任意类型的单片机
三、通信协议与通信API
实现上下位机之间的通信需要了解以下2个概念:
通信协议
上位机和下位机之间的通信协议有很多,只要能完成通信的协议都可以用在上位机与下位机之间。比如:
通信协议(通信方式):RS232/RS485串行通信、USB、蓝牙、网络UDP/TCP
这个通信协议(通信方式)是实现上位机与下位机之间数据交换的基本通道。
通信API
在通信协议的基础上,具体发送什么数据即发送什么指令,还需要规定各个功能所对应的指令(上位机发给下位机的指令)。
每个功能所对应的指令叫做API(Application Programming Interface), 在实际工作中常称这个api为“私有通信协议”。
举例一条获取温度的api:
[包头 + 获取温度对应的命令编码(编号)+ 校验位 + 包尾]
api的命令格式,是自定义的一种固定的数据组合格式。不受任何通信方式和通信平台的限制。
这就意味着,只要通信协议(通信方式)可以建立,上位机软件可以是任意开发语言和任意开发平台,下位机也可以使用任意类型的单片机