关于上位机与下位机,简要描述:
1 、上位机
数据收集与处理:上位机收集来自下位机的数据,进行分析和处理。
用户界面:提供用户界面,允许操作人员监控系统状态,输入命令和调整参数。
决策制定:基于收集的数据和预设的逻辑,上位机可以做出决策并下达指令。
远程控制:上位机可以远程控制下位机,实现远程监控和操作。
数据存储:长期存储历史数据,用于分析和报告。
通信协调:作为系统内不同设备和组件之间的通信协调者
电脑,手机,触摸屏等
2、下位机
实时控制:下位机通常需要快速响应,以实现实时控制。
接口连接:直接连接传感器和执行器,处理物理信号。
简单用户界面:可能有一个简单的LCD显示屏或LED指示灯,用于显示基本状态。
特定任务:执行特定的任务,如温度控制、电机驱动等。
可靠性和稳定性:设计上注重可靠性和稳定性,以适应工业环境。
资源限制:相比上位机,下位机的计算能力和存储资源可能较为有限。
51,stm32,arm,FPGA等
通信协议:
这里只简要的提几种通信协议,只是用来拿来举例,表达一下自己的疑惑,并且自己做的偏工业,这几个协议都有使用;
RS-232通信协议,Modbus通信协议,CAN总线通信协议,TCP/IP;
关于上位机与下位机交互:
通信:
1、上位机需要对下位机进行控制
2、下位机接收到指令能够对对应设备做出反馈
3、下位机状态主动发送等
那我这里用modbus简要描述我想讲的事情:
下图是一个上位机与下位机通信的简要过程绘制。在单个已经规定好通信协议的系统中,上位机与下位机只需要遵守一套标准的MODBUS协议即可,这个应该是十分肯定的。这个方面我是十分理解的,毕竟上位机与下位机之间按部就班的调好每一个指令就好。
上图是一个单一的通信过程,下面我需要表达一下我的疑惑了,感谢大家包容。
统一的通信协议能够让双方都比较快乐的做事,但是在实际工作中怎么可能会如此呢,毕竟产品要面对不同的对象,自己开发的产品需要通过协议去兼容别的公司的设备。
对于上位机与下位机而言都想让自己的简单化,每个负责对应工作的人都想做一遍事情。
1、会出现解析上位机固定数据解析协议放在下位机当中;
在这种模式中,这种方式各有什么优缺点呢?
我的想法是:
下位机在调试通信协议中,将会有些麻烦,每一种指令都要再去测一遍功能,浪费了太多时间;
当然,如果脱离上位机,下位机依旧有很强的兼容性,可以快速的和其他公司实现兼容;
2、会出现解析下位机固定数据解析协议放在上位机当中;
在这种模式中,这种方式各有什么优缺点呢?
我的想法是:
下位机在调试通信协议中,将会有些麻烦,每一种指令都要再去测一遍功能,浪费了太多时间,放在上位机比较灵活,可以生成dll,更新起来相对容易;
下位机兼容性降低;
3、还有一种,谁都不想再进行专门的去搞一套解析指令;
那就直接增加通信模块,专门用来处理;
当然这份工作就是要有下位机负担了,因为多数上位机是不太了解嵌入式的。
以上是我片面的看法,希望大佬指出我的不足,真心学习!感谢万分!