- 1
- 0
- 约2.23万字
- 约 19页
- 2018-12-08 发布于天津
- 举报
Linux双进程应用示例-工控主板
成都英创信息技术有限公司 Linux 双进程应用示例
Linux 双进程应用示例
一、 概述
一台典型的工控设备通常包括若干通讯接口(网络、串口、CAN 等),以及若干数字
IO、AD 通道等。运行于设备核心平台的应用程序通过操作这些接口,实现特定的功能。通
常为了高校高精度完成整个通讯控制流程,应用程序采用 C/C++语言来编写。图 1 表现了
典型工控设备的组成关系。
图 1 典型工控设备框图
工控设备的另一个特点是鉴于设备大多是 24 小时连续运行,且无人值守,所以基本的
工控设备是无显示的。英创的工控主板 ESM6800、ESM335x 等都大量的应用于这类无头
工控设备之中。
在实际应用中,部分客户需要基于已有的无头工控设备 ,增加显示界面功能,以满足新
的应用需求。显然保持已有的基本工控处理程序不变,通过相对独立的技术手段来实现显示
功能,最符合客户的利益诉求。为此我们发展了一种双进程的程序设计方案来满足客户的这
一需求。该方案的第一个进程 ,以客户已有的用 C/C++写的基础工控进程为基础 ,仅增加
一个面向本地 IP ( )的侦听线程,用于向显示进程提供必要的运行工况数据。图
2 为增添了服务线程的工控进程 :
1 / 19 028
成都英创信息技术有限公司 Linux 双进程应用示例
图 2 带有侦听线程的基础工控进程
方案的第二个进程则主要用于实现显示界面 ,可以采用各种手段来实现 ,本文中介绍了
使用 Qt 的 QML 语言加通讯插件的界面设计方法。第二个进程 (具体是通讯插件单元 )通
过本地 IP ,以客户端方式与基础工控进程进行 Socket 通讯,完成进程间数据交换。显示进
程以及与工控进程的关系如图 3 所示 :
图 3 显示进程与工控进程
2 / 19 028
成都英创信息技术有限公司 Linux 双进程应用示例
二、 系统设计
鉴于工业控制领域对系统运行的稳定性要求,控制系统更加倾向于将底层硬件控制部分
与上层界面显示分开,两部分以双进程的形式各自独立运行。底层硬件控制部分将会监控系
统硬件,管理外设等,同时收集系统的状态;而上层界面显示部分主要用于显示系统状态,
并实现少量的系统控制功能,方便维护人员查看系统运行状态并且根据当前状态进行系统的
调整。由于显示界面不一定是所有设备都配置,而且显示部分的程序更加复杂,从而更容易
出现程序运行时的错误,将控制与显示分开能够避免由于显示部分的程序问题而影响到整个
控制系统的运行,而且没有配置显示屏的设备也可以直接运行底层的控制程序,增加了系统
程序的兼容性。显示与控制分离后,由于显示界面程序不需要处理底层硬件的管理控制,在
设计时可以更加注重于界面的美化,而且界面程序可以采用不同的编程语言进行开发,比如
使用 Qt C++或者 Android java ,本文将介绍基于Linux + Qt 的双进程示例程序供客户在
实际开发中参考,关于 Android 程序请参考我们官网的另一篇文章。
3 / 19 028
成都英创信息技术有限公司 Linux 双进程应用示例
如上图所示。整个系统分为控制和显示两个进程 ,底层硬件控制部分可以独立运行,使
用多线程管理不同的硬件设备,监控硬件状态,将状态发送给 socket 服务器,并且从
socket 服务器接收命令来更改设备状态。Socket 服务器也是一个独立的线程,通过本地网
络通信集中处理来自硬件控制线程以及显示程序的消息。显示界面需要连接上 socket 服务
器才能正确的显示设备的
您可能关注的文档
最近下载
- 放射性仪器和测量.ppt VIP
- 【高清可复制】11ZJ401 楼梯栏杆(1).pdf VIP
- 11ZJ311 《地下室防水》建筑标准.docx VIP
- RAM SURF-1操作手册.pdf VIP
- 建筑图集2(2015)_15ZJ211_坡屋面 .docx VIP
- 2025年度组织生活会会前谈心谈话记录(支部书记与支部委员谈心谈话、支部委员之间谈心谈话、支部委员与联系党员谈心谈话、党员与党员谈心谈话、上级党组织负责人与支部书记谈心谈话).docx VIP
- 中南标准11ZJ203_种植屋面_地方规范图集.pdf VIP
- 单行本_10ZG601_混凝土多孔砖墙体结构构造.docx VIP
- 10ZJ110混凝土多孔砖墙体建筑构造图集.docx VIP
- 研究慰问困难党员支委会会议记录范文.docx VIP
原创力文档

文档评论(0)