【硅谷网12月6日文】据《硅谷》杂志2012年第18期刊文,随着信息技术的不断发展,网络在全球的遍布,使通讯变得更为容易和方便。目前,远程测控系统的发展方向由集中测控
转变成为远程分布式测控。通过有线或无线的网络系统进行某工业生产过程的远程测量与控制,实现远程监控。将数据采集系统与互联网技术相融合,扩大传输的距离,使测控系统更加网络和智能化,使用更为灵活与方便。通过简要介绍WinSock技术,针对远程测控系统的总体结构与工作原理进行分析,并基于WinSock的远程测控系统进行设计和实现。
随着社会的不断发展,远程测控技术被应用于各个生活生产的领域中。例如:在公用工程和环境保护,以及楼宇等方面的自动化领域。不仅实现着对系统和用户的管理,还实现着对设备的测控和数据的显示,以及报警和综合共享一体化等。基于WinSock的远程测控系统在充分利用现有资源的条件下,实时
获取信息和进行控制,以操作便捷和高性能的优势,确保资源分配更为合理。因此,远程测控系统将在通信技术日新月异的今天有着突破性的发展。
1WinSock通信原理及编程实现
WinSock主要是指由Socket发展能够支持多种协议的网络编程接口。其中,Socket是套接字,是目前网络通信应用程序接口最为先进的接口之一。Socket可以作为不同机主间双向通信的端点:本地机主和远地机主,并构成网络编程界面。Socket的数据交换一般只与同一个域中的Socket进行,只规范支持单一的Internet域,而各种进程在使用该域的时候则采用TCP/IP协议来完成通讯。目前所使用的Socket分为:流Socket和数据报Socket。前者不仅拥有双向有序和无重复的数据流服务,而且还具有无记录边界的数据流服务;而后者虽然支持双向的数据流服务,
但是无法确保它的可靠性和有序性,以及无重复性。其编程的实现是通过WinSockAPI直接与TCP/IP进行通讯。如下图1所示:
图1WinSock与应用程序间的联系
2基于WinSock的远程测控系统总体结构
由于远程测控的现场具有分散性,对测控任务的完成必须要通过多个测控点来实现,例如:对小区的智能管理、对楼宇的监控等等。因此,基于WinSock的远程测控系统的设计可以采用一点对多点的分布式结构,在
具备多点测控功能的条件下实现对远程测控点监控。其系统的结构如下图2所示:
图2远程测控系统总体结构
通过上图得知该系统由单片机采集系统、本地客户机网络、远程主机网络三方面所构成。单片机采集系统和本地测控客户机两者间的数据采集方式是通过串行通信进行。
当远程测控系统处于工作状态的时候,单片机采集系统会对本地客户机所发送的通道地址进行
辨别,辨别的结果如果一致,那么就利用MAX491将所采集的数值发送到本地客户机。其中,远程测控系统还可以同时将采集到的32路数据发送到本地客户机中,并对采集系统进行控制。本地客户机还可以将数据传送到远程主机上,远程主机利用网络能够对指定的监控点进行监控。
3基于WinSock的远程测控系统设计
3.1系统设计
1)单片机与串行通信的设计
由于P89LPC935的单片机所构成的采集系统成本低、电路简单,能够在通过系统进行程序的升级,因此,利用型号为P89LPC935的单片机作为单片机采集系统的
关键点,在支持串口通信与ISP的同时,还具有2路D/A与8路A/D转换器。远程测控系统由于要实现数据的采集和显示、系统的初化和A/D转换,以及对单片机的控制和串口数据的发送与接收,因此,该系统在硬件设计方面将采用单片机和ISP编程电路、电压和温度采集,以及型号为MAX491串口通信等方面构成。
串行通信主要是进行采样数据的传送,利用广播方式对数据进行发送,在每个采集终端设定地址,当数据发送模式传送采用数据到计算机,计算机通过串行接口模块传送数据并由采集终端监测地址是否属于该通道,如果是将执行数据传送到客户机的命令,相反则不执行命令,以达到控制单片机的目的。
2)本地客户机和远程主机的设计
由于本地客户机和远程主机都是通过VisualC++的WinSock编程实现,因此本地客户机测控软件主要用来实现对单片机采集系统和远程主机串行通信与网络通信,并建立于客户机数据和控制信息间的交流。远程主机初始化本地窗口,利用Socket建立和绑定本地端口,再用Bind()指定本机地址。通过侦听端口用Listen()侦听连接请求,在接收请求后,并通过Send()函数发出控制指令,在结束通信时利用Close()函数断开连接服务器关闭;而本地客户机在打开通信信道的时候与特定端口相连接,并向服务器发送请求,直至来建立连接,本地客户机将通过串口通信利用Send()函数发送单片机采集数据到远程主机中,直接进行控制命令。
3)对Socket程序的设计
由客户端对监听端口的创建和服务器端对监听Socket的创建。只要数据到达,就会及时与Socket联系,并且客户端为了能够实现服务器端的通信,还要建立一个类CSocketClient。在Listen()函数监听到连接时,新建CclientSocket通过重载OnAccept()函数进行处理。在数据进行接收时,则重载OnReceive()函数进行实现,其中,对数据进行处理的函数为DoProcessData。当接收数据以后,对该接收的数据进行校验和解析,并将解析后的新数据存入动态的数组。最后进行资源的释放,删除所有
不用的Socket。
3.2系统实现
因为WinSock是种处于底层的数据传输通信技术,并且它扩展于Unix,能够使用所
有的Windows操作系统,所以该技术不仅通信效率很高,而且还具有很好的跨网域特性。对系统的实现
首先要创建Csocket调用类的构造函数对象和创建Socket句柄调用Create成员,利用Create函数向服务器Sock发送连接请求,由Accept函数接收请求。其次要对CSocket对象中的其它成员函数进行调用,并执行Sock的通信与操作。最后要对Csocket对象进行删除。由于WinSock服务器与客户端之间只针对字节流进行传送,因此,只有在服务器与客户端之间建立通信协议,将字节流转换成为控制指令才能进行控制。其远程测控如下图3所示:
图3WinSock的远程测控原理
随着信息技术的不断发展,网络在全球的遍布,使通讯变得更为容易和方便。目前,远程测控系统的发展方向由集中测控转变成为远程分布式测控。总而言之,基于WinSock的远程测控系统是根据多点远程数据采集的实际需求,结合互联网技术和数据采集技术进行单片机与串行通信的设计、本地客户机和远程主机的设计,以及对Socket程序的设计。从最大程度上扩展传输距离,通过对多个监控点进行数据的检测和控制实现。
项目基金号:淮南市科技计划项目资助,项目编号:2011A07913
作者简介:
曹营(1979-),女,安徽淮南人,本科学历,硕士研究生,安徽理工大学讲师,研究方向:管理科学工程。
硅谷杂志:基于WinSock的远程测控系统设计
时间: 2024-10-06 08:35:44
硅谷杂志:基于WinSock的远程测控系统设计的相关文章
硅谷杂志:基于GPRS移动通信技术的远程测控系统设计
[硅谷网11月19日文]据<硅谷>杂志2012年第17期刊文称,随着通信技术的不断发展,无线移动网络的远程测控系统成为当前研究的主要热点之一.介绍基于GPRS移动通信技术的远程测控系统的设计,阐述其系统的组成方式和功能, 重点分析嵌入式环境的GPRS移动通信技术的远程测控系统的硬件和软件的设计.通过GPRS移动通信技术的应用,扩展远程测控系统的功能,具有广泛的应用前景. GPRS通过无线分组的形式,传输无线数据业务.在实际的应用中具有传输效率高.按流量计费等特点.GPRS适用于间断的.少量的数
硅谷杂志:石油化工生产实时信息系统设计与实现
硅谷网12月7日文 据<硅谷>杂志2012年第18期刊文,研究国内石油化工企业生产实时信息系统,确保系统运行 稳定,设计系统基于LINUX的数据接口程序采集过程控制中的实时数据,数据接口及其管理采用C/S结构,实时数据应用采用B/S结构,通过办公局域网实现数据的传输与多用户共享,利用数据库平台实现生产实时数据的访问及管理应用. 1概述 随着石油化工企业的发展和规模的扩大,企业的信息化建设也得到了同步发展.一般规模企业已建 成了企业信息网络,网络主干采用光纤通信,网络遍布全厂的管理部门和主要生产
串口通信-基于上、下位机通信测控系统的开发(RS232串口)
问题描述 基于上.下位机通信测控系统的开发(RS232串口) 做的毕业设计,A/D转换器及数据采集,RS232串口及数据通信,单片机开发平台.有做过的大神吗?或是知道该如何入手的亲人吗?临近毕业急不可耐,祈求帮助啊!下位机比较简单一个51板搞定,可是上位机怎样实现测试控制啊,用什么软件实现还是在windows下编一个? 解决方案 也就是上下位机的UART通信 上网下载个单片机的UART程序就可以了 上位机就用串口助手之类的小软件 解决方案二: 上位机不需要你编程 直接下载一个 串口助手安装好就可
《单片机串口通信及测控应用实战详解》——导读
前言 单片机串口通信及测控应用实战详解 目前,许多单片机应用系统中,上.下位机分工明确,作为下位机核心器件的单片机一般只负责数据的采集和通信.采用单片机的控制系统或装置具有可靠性高.易于控制.系统设计灵活.编程简单.使用方便及性价比高等优点.但是,单片机也有不易显示各种实时图表/曲线和汉字.无良好的用户界面及不便于监控等缺点.而作为上位机的计算机通常以基于图形界面的Windows系统为操作平台,可以提供良好的人机界面,进行系统的监控和管理,进行程序编制.参数设定和修改.数据采集和保存等,既能保证
Red Flag Asianux Server 3用户指南:基于Web的远程管理工具
Red Flag Asianux Server 3系统的一个重要特点是提供了一套基于 Web的远程管理工具-- redmin,用户可以通过浏览器安全便捷地管理自己的系统.目前该工具共包括 11个系统管理和网络服务配置模块,都带有详细的帮助和说明. &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;只有安装了管理工具光盘后,才可以使用远程管理工具. 12.1 启动和关闭redmin 安装 Red Flag Asianu
jQuery:收集一些基于jQuery框架开发的控件/jquery插件2
Horizontal accordion: jQuery基于jQuery开发,非常简单的水平方向折叠控件.主页:http://letmehaveblog.blogspot.com/2007/10/haccordion-simple-horizontal-accordion.html (无法找到)下载:http://letmehaveblog.blogspot.com/2007/10/haccordion-simple-horizontal-accordion.html 示例:http://let
vc++-基于winsock的网络通信设计。
问题描述 基于winsock的网络通信设计. 服务器和客户端程序都已经编好,但是运行后在客户端控制台输入数据后,按enter后服务器没有反应,接收不到数据:同时服务器控制台中也输入不了数据.下面是源代码,哪位大神帮我看一下啊.新人,刚学C++,求解释.`//TcpClient#include #include#include #pragma comment(libws2_32.lib"") using namespace std; void main(int argcchar *arg
基于OPC协议的工控网络系统防护浅析
一.协议概述 提到OPC协议,大家想到最多的就是OPC Classic 3.0,实际上现在OPC协议有两个大类,一种是基于微软COM/DCOM技术的"Classic",另一种是基于Web service的OPC UA.前者在DCOM协议之上,诞生较早,已广泛应用在各种工业控制系统现场,成为工业自动化领域的事实标准.后者与前者比出生较晚,但在设计时考虑了安全因素,有了加密机制,不过目前应用范围较小.本文主要讨论的是前者在工控系统中的防护. 微软的DCOM协议是在网络安全问题被广泛认识之前
《单片机串口通信及测控应用实战详解》——6.3 PC端程序设计
6.3 PC端程序设计 单片机串口通信及测控应用实战详解 6.3.1 采用Visual Basic实现 1.程序界面设计 运行VB 6.0,创建标准的工程项目文件,设计程序窗体. (1)添加1个MSComm控件用于实现PC与单片机串口通信. (2)添加2个按钮控件CommandButton,用于输出指令和关闭程序. (3)添加3个文本控件TextBox,用于输入单片机地址.继电器状态和返回数据. (4)添加5个标签控件Label,用于显示文本框功能等. 2.属性设置 程序窗体.控件对象的主要属性