多功能微机核子秤系统

让人想犯罪 __ 提交于 2019-12-25 21:09:43

1 概述

在本室研制的KDH-30C 型微机核子秤系统的基础上, 结合近几年应用现场多种问题和用户的新要求, 我们设计了基于上下位机的集散式多功能微机核子秤系统。该系统上位机采用工业控制机, 下位机以8098 单片机为核心, 下位机本身就是一台独立的仪器, 能够完成检测、调试、刻度、运行、声光报警、时钟、打印、回控等功能。选配通讯卡后, 可以与上位机进行通讯。上位机采用中文菜单窗口。可以同时监控816 台下位机的工作状况。

1 系统总体框图

2 系统的硬件构成

系统框图如图1 所示, 结合工业现场实际, 我们采用RS485 通讯接口, 异步半双工方式, 最大通讯波特率2400bps, 现场被控下位机最多可达32 , 最长通讯距离1200m

2. 1 上位机

上位机采用工控386, 具有实时打印、实时显示各下位机工作状况和每台下位机的单独工作状况、保存查询长达1a 的数据等功能及单个下位机能够实现的所有功能。上下位机间通讯接口选用IPC5631, 可方便地组成星形网络。RS485 接口采用平衡差分长线驱动芯片SN75174 和接受芯片SN75175 配合, 构成平衡式传输, 由光电耦合器来抑制干扰。

2. 2 下位机

采用8098 单片机数据存储器8K × 8 RAM6264, 程序存储器16K × 8 EPROM27128,8098 , 注意复位地址是从2080H 开始的, 所以程序存储器的地址从2000H5FFFH8279 是显示和键盘接口, 8255 是打印机接口, 8253 作为采样接口, 前面加光耦抑制干扰。实时日历时钟芯片MC146818 提供系统时间, D/ A 输出可以对回控对象进行控制。通过RS485 接口, 可和上位机进行半双工通讯。MAX691 是单片机监控芯片, 用来监视系统电压、上电复位、数据存储器的写保护和掉电数据保持及看门狗电路, 提高系统的可靠性。图2 为其框图。

2 下位机系统框图

2. 3 通讯接口

下位机的通讯接口采用自制的符合RS485 协议的接口电路。8098 的发送信号经过驱动和光耦隔离, 再由SN75174发送; 接收信号经SN75175 送入光耦,再驱动送入8098 的接收端, 3 为下位机通讯接口原理图。

3 系统的软件设计

软件设计中, 借鉴软件工程的做法,根据系统总体功能和用户需求进行软件需求分析。采用模块化设计和层次化设

3 下位机通讯接口原理图

计相结合的方法, 根据不同的功能合理划分模块。各模块规模不宜过大, 且相互间耦合尽可能小。在各模块调试成功的基础上, 连接成应用程序。程序主要分为: 上位机管理程序、下位机管理程序及相互间的通讯程序。

3. 1 RS485 通讯协议

本系统为一台上位机与多台下位机间的通讯。我们规定

4 下位机软件框图

在通讯过程中只能由上位机呼叫下位机; 下位机在通讯中处于被动状态。首先由主机向从机发送地址信息, 被呼叫从机确认后发问地址, 主机检测成功, 说明呼叫从机正确。然后由主机向从机发送命令帧, 为保证可靠, 每次通讯命令帧发送两次。从机接收命令后, 与主机交换数据。如果出现三次错误, 认为是通讯失败, 主机进行报警提示。

3. 2 上位机软件设计

上位机作为整个系统的主控单元, 能够对各下位机的工作状态进行实时监控。对参数进行设定、查询, 对长达1a 的数据进行存储、浏览, 可以在不同的工作状态中进行切换, 并能够实时打印各种系统参数和数据。为此, 我们在Borland C+ + 环境中对上位机编程。因为同时要监控多台下位机, 为保证实时性, 自制了汉字小字库及相关函数库, 对汉字进行直接写屏显示。采用三级汉字菜单提示, 操作简便。

3. 3 下位机软件设计

采用8098 汇编语言实现。软件由键盘模块、显示模块、打印模块、主控模块、采样模块、参数模块、通讯模块、回控模块、运行模块、基准模块、掉电保护模块等组成。在实现这些模块之前, 必须先建立各种底层函数。我们自行开发了8098 的浮点函数库, 可以实现浮点数的数值运算; 数制转换函数, 对二-十进制的整数浮点数进行转换; 键盘解码函数, 实现键盘码值的解释等等。这里主要介绍下位机的整体程序框图( 4) 来反映整个软件的设计思想。软件模块分为三个层次, 第一层模块为事务型模块, 主要对软件的整体事务进行管理; 第二层为功能性模块, 着重实现每个具体功能; 第三层属底层模块, 是整个软件的基础,被第一、二层模块调用。这样划分的模块层次清楚, 各个模块间的耦合小, 便于系统调试。

4 结束语

本系统硬软件经过研制调试, 主要性能指标达到设计要求, 集散式两级控制系统, 整体可靠性高, 是工业应用中的一种比较理想的选择。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!