- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多路数据采集与智能仪表的软件设计与实现.doc
多路数据采集与智能仪表的软件设计与实现
摘 要:设计多路数据采集系统具有将安全信号隔离、显示信息、制定报警控制、变送等融合于一体的功能优势,因而常用于4-20mA/0-10V的信号测量系统中,另外,在硬件配置的基础上,结合软件的设计与实现,则能够实现多种传感器类型如电流输出传感器和电压输出型触感器等的接入和实现整体测量、监控功能。
关键词:多路数据采集;智能仪表;软件设计
1 多路数据采集系统主程序的设计与实现
在软件实现方面,采用C语言编写数据采集系统的运行程序,如图1所示为数据采集主程序的实现流程图。
通过数据采集主程序和C语言的编程实现了8路A/D采样功能,在参数设置的基础上,会进入485口接受状态,并且进入8路A/D巡检程序,由上位机控制8路A/D采样方式,进行A/D转换和串口收发功能,如果有通讯标志则进入校验CRC状态,从而构建了循环采样流程方式和固定通道采样两种方式,加强了数据校验,提升了数据采集系统的数据采集精度和速度。最后将数据采集和数据转化的结果通过LED显示功能,如果校验出错,LED也会通过错误显示。
2 软件系统界面设计和任务划分
2.1 软件系统界面设计
智能数据采集器的软件系统界面设计,在一级界面中进行了电压、电路和脉冲三个选项的设置,分别按不同的按钮则能够分别进入到电压信号、脉冲信号和电流信号的检测程序中,之后进入某一个模拟信号的检测窗口,也就是二级界面中,可以选择查看监测情况,也可以返回到一级界面,从新选择要进入的监测程序,如果选择查看则进入到三级界面,对在一级界面中选择的某一种信息采集情况进行查看。在查看窗口中可以通过返回选项直接返回到观察窗口。
2.2 软件系统任务的划分
根据硬件设计和系统需要实现的功能将整个系统划分为8个任务功能模块。任务结构见表1。
2.3 任务之间的相互关系
对于本文的智能数据采集器系统软件的编程而言,系统内部的函数和控制语言可以实现协调多个通道之间的任务处理。
数据采集器一开始工作就进入到系统初始化,也就是任务0阶段来进行其他人物的创建,当创建任务1和任务2之后,相应的两个输入键盘和A/D转化任务会进入ready状态,则将任务0删除。
3 数据采集主程序设计与实现
在数据采集的软件功能方面,主要有三个组成部分,一是系统上位机软件的通信功能;二是系统监控设备硬件I/O状态采集处理功能、控制设备、设备接口协议处理等;三是数据采集设备参数配置。
3.1 数据采集主程序
首先我们应该明确采集的要求,系统要求8路数据采集,被采样的对象包括交流电流值,另外还包括电流的状态和报警信号,所以对采集系统提出了更高的要求数据采集主程序流程图如图2所示:
数据采集主程序主要完成的任务包括:对数据进行采样并进行隔离提高准确度,再完成对信号的采用,这其中就包含采样点的选择和采样数据的存储。要实现以上的功能就要首先对硬件也就是A/D转换器的的初始化,并启动A/D标志,选择好通道并判断状态,把采样来的数据进行A/D转换、预处理并存入寄存器中,方便后续的处理,最后完成通道的切换,仪器高速的巡检各个通道,让每个通道在一个周期?鹊ネǖ赖缌髦滴?80个,这个可以通过设定计数器来实现,每个通道进行3次数据采集,来提高采集的精度。
3.2 AD7891的时序
数据采集器的CPU从AD7891中对串行数据的读取方式使一位一位接受进行的,并且将数据进行置低。并且单片机必须在数据读取和传输过程中到保持一致的低电平模式。依据图3-6可得,与CPU从AD7891读写数据都需要先将置低,CPU中的控制寄存器接受芯片中的前六位数据,则不再进行其他数据的接受,并且将接受的6位数据中的前三位即A0、A1和A3配置在A/D采样通道中。
3.3 数字滤波子程序设计
为了能够很好的克服偶然因素引起的拨动干扰,所以数字滤波子程序设计中采用中位值平均滤波法,也就是防脉冲干扰平均滤波法。而且对温度、液位等变化缓慢的被测参数滤波效果比较好。
4 结束语
编写程序采用C语言进行,实现了8路A/D数据采样功能和LED显示和串口通信功能。首先,将A/D转换器AD7891上位机控制采样采集到的12位二进制数据进行实际测量值的转换,并且根据ANSI/IEE标准754-1985将转换而来的实际测量值进一步转化文32位浮点数,在设定的存取区内保存下来,由于一共采集8路数据,用于存储采样数据的空间需要设置32个字节。
4
文档评论(0)