推荐星级:
- 1
- 2
- 3
- 4
- 5
基于Python的电路故障诊断系统通信模块的实现
资料介绍
本文以与门电路为例,介绍电路故障诊断系统通信模块的实现方法。利用下位机将与门电路系统所构建CNF形式描述的系统行为描述,组件正常行为描述以及51单片机获取观测值以此建立的观测值描述文件上传到上位机。上位机采用Python语言实现上下位机之间的串口通信,将所接收数据输入运行在Liunx操作系统下的MiniSAT求解器求解三元组,并将诊断结果反馈下位机。实验结果表明基于Python的通信模块可以很好的实现51单片机与PC机之间的串口通信。
部分文件列表
文件名 | 大小 |
基于Python的电路故障诊断系统通信模块的实现.pdf | 3M |
部分页面预览
(完整内容请下载后查看)Information Technology
信息工程
基于 Python 的电路故障诊断
系统通信模块的实现
蔡莉莎 林尔敏 海南软件职业技术学院电子工程系
器求解诊断结果。
本文以检测一个简单的与门电路为
例说明电路故障诊断系统通信模块的实
现过程。
2 下位机通信
根据电路故障诊断系统的设计思
想,首先下位机建立电路系统的 CNF 描述
文件,建立步骤如下 :
曾维鹏 海南软件职业技术学院软件工程系 海南琼海 571400
基金项目 :2014 海南省高等学校科
学研究项目(HNKY2014-98);海南软
件职业技术学院学院基金资助项目
(Hr201301)
件,是一个有限的常量集,OBS 为电路系
统中各元件输入输出点观测值的结合。
(1)建立与门的电路元件描述文件
SD, 根据与门的逻辑关系。设 1,2 分别表
示与门的两个输入节点变量,3 表示输出
节点变量,输入输出正值表示高电平,负
值表示低电平,4 表示组件变量,当组件
变量取正值表示部件正常工作,取负值表
示部件不正常工作。当与门部件正常工作
时,输入 1,2 时,输出为 3,其逻辑描述为 :
OK(4) ∧ 1 ∧ 2 3,将其转换为范式的形
式(将蕴含符号 去掉)变成-OK(4)∨-1∨-
2 ∨ 3。考虑与门不同输入所产生的不同逻
辑描述,则与门的合取范式(CNF)表达如
下 :(-OK(4) ∨ -1 ∨ -2 ∨ 3)∧(-OK(4)
∨ 2 ∨ -3)∧(-OK(4) ∨ 1 ∨ -3)。与门的
系统描述、组件正常行为描述的 CNF 文件
如下 :
1 设计思想
电路故障诊断系统的设计思路是使
用 51 单片机采集电路连接点的数据信息
作为观测值,研究电路的结构以及行为关
系,建立电路系统元件描述,将电路系统
的(SD,COMPS,OBS)三元组通过串口发送
给上位机,上位机接收三元组数据后调用
MiniSAT 求解器求解,并将判定结果返回
单片机指示故障点。
电路故障诊断系统由扫描解析模块、
通信模块和诊断模块三部分构成。扫描解
析模块主要是针对电路系统部件,研究部
件可能的行为模式以及部件间的联系。将
组件系统描述子句、正常行为描述子句以
及观测描述文件的内容放入以合取范式
(CNF)形式的描述文件。通信模块是将扫
描解析模块中的描述文件通过串口端口
输入到计算机中,计算机运行在 Linux 操
作系统下,使用 Python 语言接收此描述文
件并转变成文本文件最终运用 SAT 求解
【文章摘要】
本文以与门电路为例,介绍电路
故障诊断系统通信模块的实现方法。
利用下位机将与门电路系统所构建
CNF 形式描述的系统行为描述,组件
正常行为描述以及 51 单片机获取观
测值以此建立的观测值描述文件上
传到上位机。上位机采用 Python 语言
实现上下位机之间的串口通信,将所
接收数据输入运行在 Liunx 操作系统
下的 MiniSAT 求解器求解三元组,并将
诊断结果反馈下位机。实验结果表明
基于 Python 的通信模块可以很好的实
现51单片机与PC机之间的串口通信。
-1 -2 -4 3 0
2 -4 -3 0
1 -4 -3 0
(2)写出组件为正常组件的 CNF 文件
如下 :
4 0
【关键词】
电路故障诊断系统 ;MiniSAT ;Python ;
串口通信
中图中类号 :TP312
文献标识码 :A
0 引言
工程人员对电路故障进行检测,早期
是借助工具依靠所学知识以及工作过程
中所积累的经验对电路进行简单的检测。
但是随着电子技术的发展,这种人工检测
的方式逐渐被淘汰,取而代之的是人工智
能检测技术。51 单片机是一种集 CPU、
RAM、ROM、多种 I/O 口以及串口为一体
的超大规模集成芯片,相当于一块小的微
型计算机,广泛应用于工业控制领域。但
是单片机在人机交互方面存在一定的不
足,不利于工程人员对控制现场的时时监
控,因此在实际工程中,常常需要 PC 机
的配合与 51 单片机构成上、下位机达到
控制工业实时控制的目的。我们所设计的
电路故障诊断系统,采用 51 单片机作为
下位机,完成电路观测值的采集工作。利
用 PC 机作为上位机,处理下位机所上传
的数据,并调用 MiniSAT 求解器对所构建
系统(SD,COMPS,OBS)三元组进行求解。
其中 SD 为对电路系统中各电路元件的描
述,COMPS 为电路系统的所有的组成元
图 3-1 上位机串口监听函数
电子制作
132
Information Technology
信息工程
(3)建立观测描述文件,如何得知与
门输入输出节点的观测信息呢?使用 51
单片机的 I/O 口连接与门的输入输出节
点,CPU 通过读取 I/O 口数据建立观测描
述文件,假设当 1,2 输入节点变量为低电
平时,观测到的输出节点变量如果为高电
平,则观测的 CNF 文件如下 :
-1 0
具有语言简洁,开源,移植性好以及丰富
和强大的类库等优点,因此选择 Python 作
为上位机软件的开发。
本设计中上位机使用 Python 自带串
口通信模块 pySerial 采用线程轮寻的方式
启动线程监听串口数据的进入,当有数据
时接收数据并将其转换成文本文档以便
调用 MiniSAT 求解器求解,Pyhon 转换函
数如图 3-1 所示。
但电路存在故障时,本文所设计的电
路故障诊断系统可以通过 LED 灯指示故
障源。因此需要存在一个函数将求解结果
反馈给单片机的功能。单片机根据诊断结
果确定与门电路是否存在故障,如果单片
机接收到字符“S”则说明诊断该小车无故
障,而如果接收到字符“U”则说明电路存
在故障元件,点亮 LED 灯。
单,稳定,能很好的实时监控单片机所发
送的信息,也能将诊断结果快速反馈。
【参考文献】
[1] 何玲,曾维鹏,蔡莉莎 . 单片机小
系统的设计与制作 [M]. 北京 :电子
工业出版社,2011 :4.
[2] 韩志三 . 基于 Python 的丰炜系列
PLC与PC串行通信的实现[J]. 硅谷,
2013ꢀ2(2 5):59-60.
-2 0
3 0
[3] 赵相福,欧阳丹彤 . 使用 SAT 求解
器产生所有极小冲突部件集 [J]. 电
子学报,2009ꢀ3(7 4):804-810.
[4] 曾 维 鹏,蔡 莉 莎,吴 恒 玉,林 尔
敏 .MiniSAT 求解器在判定可满足性
问题中的应用 [J]. 辽宁高职学报,
2013 15(17)ꢁ73-74.
其次,将所构建的 CNF 描述文件上传
到 PC 机中,在通信过程中利用 print(f )函
数将 CNF 描述文件转变成 C 语言函数以
便单片机利用自带的异步通信串口向 PC
机发送数据。
最后,编写初始化函数 UartInit(),在
本设计中单片机串口选择工作方式 2,波
特率选择 9600。发送函数 send() 完成三元
组数据的发送,接收函数 receive() 接收 PC
机所发送的诊断结果,并使用 LED 灯指示
故障源。
[5] Warren Sande.Carter Sande. 与孩子
一起学编程 [M]. 北京 :人民邮电出
版社 ꢀ2010.4.
4 小结
以上主要介绍了电路故障诊断系
统中通信模块的实现方法。实验过程中,
单片机检测到观测值为 -1,-2,3 时,
LED 指示该电路存在故障。经过逻辑分析
发现,当与门两输入端为低电平时,当与
门正常工作时输出应该为低电平,然而观
测结果却是高电平说明该与门电路存在
故障。使用该故障诊断系统诊断的结果与
人工检测结果一致。在系统实现过程中采
用 Python 设计的上位机通信软件编程简
【作者简介】
3 上位机通信
蔡莉莎(1984—),女,讲师,大学本科
学历,主要从事智能诊断、智能规划
等方面的教学与研究工作。曾维鹏
(1982—),男,大学本科学历,讲师,
主要从事智能诊断、智能规划等方
面的教学与研究工作
电路故障诊断系统的诊断核心在于
运行在 PC 机上的 MiniSAT 求解器。一般
情况下,没有经过移植的 MiniSAT 求解器
是运行在 Linux 操作系统的计算机上的
[4]。上下位机之间的通信软件开发平台有
很多,包括 VB,C++ 等。但是由于 Python
》 接 134 页
过程基本相同,具体过程如下 :
(1)配置寄存器位 PRIM-PM 为高 ;
(2)打开所使用数据接收通道,自动
应答模式,无线数据宽度自己设置 ;
(3)设置 CE 为高启动接收模式 ;
(4)如果启动自动应答模式,则发送
应答信号 ;
显示等功能模块。系统初始化完成后,首
先检测信号是否中断,如果接收到信号则
由 GPRS 定位并返回具体信息 ;如果系统
没有检测到信号 ,则由远程控制设备打开
装置的开关,以便检测到信号,从而确定
装置所在的位置。
6 结语
这个研究虽然我们在理论方面已经
成熟,但是由于我们现在的能力水平有
限,在技术方面也存在相应的问题,所以,
这个项目我们只是在理论方面有深入研
究,而相应的装置还没有完成。这篇论文
主要介绍了远程控制以及定位的原理和
方法,使人们能了解到能被远程控制的装
置要具备的条件和具体实现的方法,具体
的装置还有待继续研究。
为确保系统正常工作,在系统上电
时需对所有模块进行初始化,如果 GPRS
modem 无法完成初始化,液晶显示器会
显示出详细的错误信息。只有当初始化完
成后,系统才能检测出传感器的状态并对
GPRS 接收到的信号进行分析,从而获得
用户需要的信息。
(5)接收到有效地数据包后,数据存
储在 PX_FIFO 中,同时 PX_DR 位高 ;
基于上述原理设计出以下程序 :
【参考文献】
[1] 赵继春 . 基于 GPRS 的无线智能家
居安防系统的研究与实现
GPRS 模块通过串口与单片机进行通
信,单片机通过 AT 命令对 GPRS 模块进
行控制。GPRS 通讯程序涉及 GPRS 模块
初始化(包括网络参数设置和 GPRS 初始
化)、信号服务中心地址设置等。
[2] 从宏寿,李绍明 . 电子设计自动化
[M] 清华大学出版社
[3] 李广弟,朱月秀 . 单片机基础 [M]
北京航空航天大学出版社
[4] 蔡美琴 MCS-51 系列单片机系统
及其应用 [M] 高等教育出版社 2004
年 2 月
5 可实现的功能
1. 该装置可被电脑终端控制自动打
开开关 ;
4 系统软件设计
在硬件设计的基础上,采用结构化
软件编程方法,按控制要求将程序划分成
初始化(包括系统参数设置和 GPRS 初始
化)、GPRS 通信、操作信息查询、键盘和
[5] 张志良等 单片机原理及控制技术
2. 接收到信号后可自行发送应答信
号,然后通过 GPRS 进行准确定位
[M] 机械工业出版社 2001 年 7 月第
一版
电子制作
133
全部评论(0)