声明:该文旨在交流—David Xie blog
http://blog.youkuaiyun.com/flyprogrammer/
主题:基于串口通讯的控制系统
系统:windows xp professional,mfc单文档界面。
系统描述:上位系统将监控1到8个
设备
(device)
。每个设备发送数据的频率为
2ms
。上位系统接收到数据后解析,并做算法处理。将处理后的数据提交给用户,并进行控制
(ctl_device)
。
概要设计:
1、
系统分成如下几个部分:
a)
设备驱动模块:与
device
、
ctl_device
等通信;
device.dll, ctl_device.dll
b)
数据处理模块:调用设备驱动模块,将数据发送给显示模块;
_WindowsXP_Proccess.exe
c)
显示模块:根据配置文件,与数据处理模块进行通信;
_WindowsXP_Display.exe
d)
配置管理模块:通过显示模块启动对应的设备管理模块。
_WindowsXP_Configure.exe
2、
系统运行情况:
运行
Configure.exe
,启动日志线程,读取
ini
文件,建立配置的映射并启动
Proccess.exe
。
Proccess.exe
得到配置映射文件。初始化通信端口,并建立数据映射文件和配置管理的映射文件,然后启动通信线程
(
每个设备对应一个线程
)
和控制线程
(
每个设备对应一个
)
,以及数据存储线程,和
device.dll
、
ctl_device
通信。通过
Display.exe
进入
Configure.exe
,
Configure.exe
操作完成后,退回到
Display.exe
界面。
3、
硬件配置情况:
一套上位机
(
工控主板
+MOSA
卡
)+
设备
+
控制模块。
总结:
优点:易于维护和扩展,易维护表现在工程师通过查询日志记录,清楚的知道故障所在,各部分可以分别维护。扩展性表现在系统可以支持更多的设备。软件框架有利于团队协作开发,通过映射文件来实现进程间通信也带来了许多好处,修改底层的实现,可以进行对其他类型设备的控制(总线结构、工业以太网)。