随着生活水平的提高,人们对资源的消费日渐增长,资源消费的计量、管理和收费工作日益繁杂,提高管理层次和自动化水平的产品因此应运而生。但以往耗能表的抄收为人工方式,不能保证数据的准确性和实时性,还会造成大量人力、物力及时间的浪费,同时带来错抄、漏抄、估抄的现象。因此传统超标方式已经越来越不能适应今后住宅的发展需求和人们的生活需求,取而代之的将是是户外的远程抄表系统,即利用传感、控制、网络等技术将每个用户的耗能表数据自动采集到采集器中,再由采集器将数据传送到户外的集控器中,然后利用互联网把数据传送到上位监控主机中,做多元化的分析、计量和储存。最后,能源供给公司再根据上位机计算出来的住户消费费用进行电子收费。这种方法既节省人力、物力、时间,又能保证准确性和实时性。
该远程抄表系统主要是由PC上位机、集控器和采集器三部分所组成,系统的结构框图如图1所示。
从上图中能够准确的看出,抄表系统分三个层次,最上层为小区中央处理机,用来全面监控;中间层由小区内部局域网(以太网)构成,是数据传送的大通道;最底层为四表数据采集层,由RS485网络构成,完成四表的数据采集、集中并向上位机传送的功能。上层是利用VB语言设计的一个界面友善、操作便捷的软件系统,用户只需要简单的按键操作就能轻松实现数据经网口进行远程收发。发送的命令,经内部局域网传送到远端的网口转串口设备。中层的集控器主要负责对命令识别并实现该命令的相关操作,如全抄表、单用户抄表和定时抄表命令。下达的命令经RS485总线网络传送给各个用户家中的采集器中,然后对脉冲表(如煤气表、水表、电表等)进行读取并存储,最后再经RS485总线上传。
本系统的优点是能使四表数据通过小区内局域网传输。其采用了台湾摩挲公司的串口上网接口设备NportExpressDE-311,它是一种单片机网络接入设备,有两个端口,一个是RS232或RS485电平的输入接口,另一个是网络接口,内部自动对数据来进行TCP/IP封装,对用户来说是完全透明的,如图2所示。该设备在市面上已经很普及。
集控器的硬件电路设计最重要的包含CPU、外围存储模块和数据上传/下载模块,其结构如图3所示。本设计中,CPU选用的是AT89C51;外围存储模块选用了串行E2PROM的24C02芯片,它是基于I2C-BUS的存储器件,遵循二线制协议,具有接口方便、体积小、数据掉电不挥发等特点,在仪器仪表及工业自动化控制中得到大量的应用。系统模块设计采用了脉冲抄表的原理,四表都是脉冲式的数字表,主要由霍尔传感器组成。数字表内的感应器每旋转一周,发出一个脉冲,使耗费量和脉冲数成正比,可根据脉冲数来确定用量的具体值。采集模块主要由ULN2003、74LS378、7411、CD40174等四个芯片组成,最多可采集6路数据,由于本设计中只采集四表数据,所以有两路悬空未用。
CD40174芯片的Q0~Q3分别接至AT89C51的P1.0~P1.3。同时,7411芯片产生的负脉冲信号送至单片机的INT0,以便有智能终端脉冲产生时,使CPU能产生中断,进行采集。对P1.0~P1.3进行循环查询,则可知采集的脉冲数来自哪个数字表,采集程序流程如图4所示。
系统的软件设计最重要的包含两部分,一是采集器和集控器的C语言编程,二是上位机的控制程序编程。这里主要介绍上位机程序编程。上位机操作平台采用VB编程,与网络的联系通过一个通用控件Winsock来完成。Winsock控件对用户来说是不可见的,它提供了访问TCP和UDP网络服务的方便途径,通过设置控件的属性并调用就可轻易连接到一台远程机器上去,并且还可双向交换数据。它提供了两种传输模式,即TCP和UDP。由于TCP模式是一种面向连接的传送方式,在传送数据前,通信双方必须都收到对方的回应信号才能启动数据的传输,因而占用了大量的时间用来完成握手信号的传送,而UDP模式是一种快速存取数据的通信方式,发送与接收都不要重新建立联机,节省联机的时间,本设计中采用UDP模式。软件系统模块设计选择了用Vista透明窗体风格,最重要的包含软件登陆模块、用户管理模块、系统设置模块、抄表设置模块、数据管理模块、计费设置模块等部分,其中大部分模块设计中都涉及到了数据库操作。
该系统克服了传统有线抄表方式的弊端,传输数据量大、准确性高、通信费用低。其基于Proteus技术,组网灵活、易于扩展,使设计与施工的难度和成本得以降低,拥有非常良好的开放性、可靠性和可扩充性,有着重要的现实意义与广阔的发展前景。
关键字:引用地址:基于AT89C51和串口上网接口设备实现远程抄表系统的软硬件设计
下一篇:基于单片机AT89C51和CAN控制器实现柴油发动机检测系统的设计
很多串口服务器厂家都解决不了的难题: 当把串口服务器设置为TCP client时,和服务器建立了TCP连接后,一旦网络非法断开或者服务器非正常关机,串口服务器就一直认为TCP连接还在建立中,就一直不再去请求连接,这时服务器再也不能和串口服务器通信了。 当把串口服务器设置为TCP server时,串口服务器接受了连接请求后建立了TCP连接,一旦网络非法断开或者服务器非正常关机,串口服务器就一直认为TCP连接还在建立中,就一直不释放之前的连接,就不能接受新的连接。 因为网线断开、网络中的交换机断电或者电脑服务器非正常关机等这网络非法断开常常会出现,一般的用户可能认为串口服务器死机了,其实不是的(只要能搜索到或者
1、串口的配置 1)首先打开你的工程,在STM32Cube里面找到USART1,此时串口默认是Disanle的,我们要使能它,选择Asynchronous. 2)然后点击Configuration,就会有一个串口的配置图框,点进去配置串口,若需要用到中断,选择NVIC进去进行有关配置。 串口配置: 串口中断使能: ------------------------------------------------------------------------------------------------------------------------------------------------------
配置与使用 /
1 RFID系统简述 RFID即为非接触的识别系统,它是一种从20世纪90年代兴起的一项自动识别技术,它利用无线射频方式来进行 非接触双向通信,以达到识别目的并交换数据,其数据存储在电子数据载体(称应答器)之中。然而,应答器的能量供应以及应答器与阅读器之间的数据交换不是通 过电流的触点接通而是通过磁场或电磁场,这方面采用了无线电和雷达技术。射频识别是无线电频率识别的简称,即通过无线电波进行识别。同其他识别系统相比, 射频识别系统具有许多优点。因此,射频识别系统开始占据了巨大的销售市场。这方面的例子有:用非接触Ic卡作短距离公共交通车票、公路收费系统和在安全 系统、银行、医院、商店、宾馆及个人通信等场所大范围的应用的无线呼叫系统,该
中的应用 /
0 引言 在由单片机和PC 机构成的检测系统中,通常会由多个单片机采集数据并将经过A/D 转换的数据通过串口送往上位PC 机进行数据处理。PIC 单片机A/D 转换后的结果大多是8 位或10位的,8 位的A/D转换不涉及该问题。以10 位的数据为例,在单片机内进行存储时需要占用2 个8 位的字节,低8 位和高2位分别存储在2 个字节中,但是用于存储高位数据的8 位宽的RAM 单元中仅有2 位是有效数据。 单片机的存储空间存在限制,以单片机为例,RAM 数据存储器按功能分为通用寄存器和特殊功能寄存器两个部分,除去特殊功能寄存器外,仅有368个8 位宽的RAM 单元,单片机能够存储的数据量很有限。假设将每次A/D 转换的
效率的设计 /
本设计实现了通过ARM对步进电机(Motor)的控制。控制方式有两种,一种是通过外部中断,另外一种是通过串口发送命令来控制。 本设计可实现步进电机的速度和方向控制。通过串口方式控制电机时,只要在仿真过程中在虚拟终端(Virtual Terminal)输入相应的命令即可控制电机的运转。 虚拟终端 串口控制命令(双引号内字符,可自己定义)如下: : 使电机逆时针方向转动; : 使电机顺时针方向转动; + : 加速; - : 减速。 如果读者在仿真过程中不小心关闭了虚拟终端(
方式+中断方式) /
关于一些串口通信的知识已经在上一篇文章中做了总结,这里主要讲程序的问题。 首先是直接通信,即不使用 FIFO 和中断的通信 代码 #define GLOBAL_CLK 1 #include stdlib.h #include string.h #include def.h #include option.h #include 2440addr.h #include 2440lib.h #include 2440slib.h #include mmu.h #include profile.h #include memtest.h #define baud 115200 void led_port_init() {
VISA是虚拟仪器软件体系结构的缩写(即Virtual Instruments Software Architecture),实质上是一个I/O口软件库及其规范的总称。 VISA是应用于仪器编程的标准I/0应用程序接口,是工业界通用的仪器驱动器标准API(应用程序接口),采用面向对象编程,具有很好的兼容性、扩展性和独立性。用户可用一个API控制包括VXI、GPIB及串口仪器在内的不一样的种类的仪器。它还支持多平台工作、多接口控制,是一个多类型的函数库。 在LabVIEW中编写的VISA接口程序,当外部设备变更时,只要换掉几个程序模块就可以使用,简单方便而且开发效率高。 在LabVIEW 中利用VISA节点进行串行通信编程。为了方便用
单片机的串口配置能够正常的使用SCT-ISP软件,方法如下,我的单片机晶振频率是11.0592Hz 试验程序如下: #include regx52.h #include intrins.h unsigned int num; //建立全局变量 void Delay1000ms() //@11.0592MHz { unsigned char i, j, k; _nop_(); i = 8; j = 1; k = 243; do { do { while (--k); } while (--j); } while (--i); } void
向电脑发送数据 /
学习OpenCV 3(中文版) ([美] 安德里安·凯勒,[美] 加里·布拉德斯)
信号完整性指南:实时测试、测量与设计仿线FTG的无感正弦波无刷电机驱动电路
嵌入式工程师AI挑战营(初阶):基于RV1106,动手部署手写数字识别落地
【下载】LAT1396 STM32CubeIDE实用技巧之STM32H7双核调试的配置
【下载】LAT1343 STM32H5 USBD Classic驱动 CDC移植
【下载】LAT1392 LTDC RGB接口 LCD的TouchGFX工程的移植步骤
【直播】4月11日,STM32Trust如何帮助新产品设计提升信息安全保护能力
【线日,基于Buildroot制作STM32MP13启动镜像-深圳/厦门/西安/郑州/苏州
【新品】STM32U0新一代超低功耗入门级MCU,助力终端产品省电,安全,BOM成本低
【新品】 STM32H7R/S基于Cortex-M7,运行频率高达600 MHz,板载闪存型MCU 拥有高速的外部存储
【新品】STM32WBA54/55 支持BLE5.4、IEEE 802.15.4通信协议、Zigbee®、Thread和Matter协议
【新品】STM32MP2 最高配备双核Arm® Cortex®-A35和Cortex®-M33的STM32MP2系列微处理器
【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性
ST(意法半导体)近日推出了全新的STM32U0微控制器,这款基于Cortex-M0+内核的产品,可以在带有实时时钟(RTC)的待机模式下,实现仅为160n ...
1 DMA概述直接存储器访问 (DMA) :用于在外设与存储器之间以及存储器与存储器之间进行高速数据传输。DMA传输过程的初始化和启动由CPU完 ...
在FreeRTOS中,队列是实现任务之间同步、互斥和通信的一种重要方法(其他的实现方法有:任务通知、事件组、信号量、互斥量)。任何任务都可 ...
01前言本文是上文 《STM32H5 DA 之初体验(带 TrustZone)》的后续之作。倘若你还没有阅读此文,那么建议你先阅读下,然后再回过头来阅读 ...
从51开始,单片机玩了很久了,有51,PIC,AVR等等,早就想跟潮流玩玩ARM,但始终没开始,原因-----不知道玩了ARM可以做什么(对 ...
Teledyne FLIR IIS宣布推出用于为成像系统选择最佳机器视觉组件的新在线平台
台积电积极布局硅光子领域,目标 2026 年推出 COUPE 共封装光学模块
IMDT和Hailo携手推出边缘人工智能解决方案,旨在实时实现极致性能
ENNOVI推出一种用于电动汽车电池互连系统低压连接的新型柔性线路板生产工艺
美光率先量产面向客户端和数据中心的 200+ 层 QLC NAND 产品
综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程词云: