我对上位机通信的理解
我对上位机通信的理解
很多人觉得上位机的通信很难。其实不然,让我们一起来探讨上位机通信的本质和实现方法。
上位机的本质
上位机学习主要涉及三个方面:编程、通信和项目。其中,通信是最简单的一部分。为什么这么说呢?让我们分析一下:
编程是基础:对于很多从事PLC开发的人来说,编程是一个从零到一的过程。很多人在学习初期就遇到了困难,因为编程是一个必备的工具。如果没有这个工具,再多的想法也无济于事。
项目是目标:我们学习上位机的最终目的是能够独立开发项目。但是项目的范畴很广,项目的难点在于变化。不同项目的需求程度不同,客户的要求也越来越高,既要界面好看,又要使用稳定。
通信是媒介:通信是一个有规律可循、相对固定的东西。只要是固定的东西,就不会太难。难的东西一定是不确定的。
总结来说,学习上位机就是用编程语言这个工具,通过通信这个媒介,实现客户项目要求的过程。
通信框架
上位机通信可以分为五个层面:
了解通信的基础知识:包括通信的三要素:通信介质、通信协议和通信角色。这些基础概念一定要弄明白。
编写通信库:本质是使用编程语言结合通信协议开发一个通信工具库,便于后续直接使用。这个过程也是对通信协议理解的进一步加深。
实现通信配置:很多人认为有了通信库就够了,其实不然。通信一定要结合配置,将通信变量等参数通过可视化的方式配置出来,而不是把所有的变量地址都在代码中写死。这不符合面向对象的思想。
实现异常处理:比如断线重连、重连次数、超时时间、报警处理等与通信相关的业务逻辑都可以在框架中写好。
实现通信解析:大部分协议的解析过程都是相似的,通常是批量读取、挨个解析。
为什么说通信简单?因为通信是可以形成框架的。通过可视化配置,使用通信库,将数据解析和异常处理过程封装好,拿到一个新项目,都可以开箱即用。
框架应用
当我们有了通信框架之后,不同的项目无非就是配置不同。更重要的是,框架会越来越成熟。因为每个项目都会增加你的经验值。
作者从2017年开始研发这个通信框架,已经使用这个通信框架开发了上百个项目。最终,代码会变得很简单,这样就可以专心编写项目业务逻辑了。