远程水位监测系统的设计与实现

来源 :科教导刊 | 被引量 : 0次 | 上传用户:adream_T
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要本文主要论述了远程水位监测系统的通信帧的格式。以及对不同的通信帧的发送和接收的不同处理。水库水位监测系统软件作为客户端,远程测控系统作为服务器端,通过网络传递信息,通过WinSock来实现网络之间的链接和数据交换。
  关键词水位监测系统 通信帧 类 数据通信
  中图分类号:TP39文献标识码:A
  
  1 通信帧的格式
  
  Windows MFC(Microsoft Foundation Class)将有关SOCKET的操作封装到一个类——Csocket中。我们在进行网络通讯时,又从Csocket中派生另外两个类,CClientSocket和ClientSocket,在类中定义了一个区分标志位flag。
  客户端的行为封装在类CclientSocket中,在其中针对不同的信息帧定义了不同的发送函数和接收函数,因此,在水库监测系统软件(客户端)中,进行数据通信时,只需调用函数:收信息帧函数和发信息帧函数。而且,为了保持模块的独立性,我们将有关信息帧封装到一个类CMsg中下面我们要对帧的格式加以描述。当进行水库水位的远程测量时发送通信帧的格式如下:
  接受通信帧的格式如下:
  各个变量的含义为:
  int flag;//套接字的值(区分标志位)
  BOOL m_bClose; //套接字是否关闭
  Int m_strTableName;//测量数据写入到数据库的表中(用m_strTableName的整数值代表)
  Cstring m_strSendText;//发送的字符串
  Cstring m_strText;//接收字符串
  int single发送的信息帧是字符类型还是数据类型
  float bufferSend[40];//发送测量数据的缓冲区
  2 通信帧的类型
  根据各个标志位具体值的不同,通信帧的共有二种不同的类型:字符类型、数据类型。针对不同的信息帧都有不同的发送函数。字符类型通信帧又可分为关闭型和非关闭型,通信的信息都是字符串。
  数据类型通信帧包含的信息是一组数据。当服务器端和客户端连接成功时,客户端向服务器度端发出一个非关闭型字符型信息帧,通知对方连接成功。在测量水库水位时,每测量完一个测量点,将测得的数据转换为字符型,通过一个字符型通信帧发向服务器端,并在服务器端显示出来,以达到实时性显示的要求。在巡测水库水位时,即对水库的各个断面的测量点都测完,并存储到本地数据文件中读出到缓冲区中,用发送消息帧函数发出。
  3 服务器端和客户端通信的实现
  有关帧的格式及其初始化封装在类CMsg中。类CMsg的声明如下:
  class CMsg :public Cobject
  {protected:
  DECLARE_DYNCREATE(CMsg)
  public:
  CMsg();
  //Attributes
  public:
  Cstring m_strSendText;// 发送的字符串
  Cstring m_strText;// 接收字符串
  int m_strTableName;// 测量数据写入到数据库的表中(用m_strTableName的整数值代表)
  float bufferSend[40];// 发送测量数据的缓冲区
  int flag;// 套接字的值(区分标志位)
  BOOL m_bClose;// 套接字是否关闭
  int single;//该信息包
  //Operations
  public:
  void init();
  //Implementation
  public:
  Void initXunceMessage(Cstring &message);
  Void initExitMessage(Cstring &message);//初始化字符型(关闭)信息帧
  Void initComMessage(Cstring &message);// 初始化字符型信息帧
  Virtual~ CMsg();
  Virtual void Serialize(Carhive&ar);//与进行交互:序列化/反序列化
  };
  其中有四个初始化帧的函数:
  void init();//初始化数据型信息帧
  Void initXunceMessage(Cstring &message);// 初始化字符型(单个测量点)信息帧
  Void initExitMessage(Cstring &message);// 初始化字符型(关闭)信息帧
  Void initComMessage(Cstring &message);// 初始化字符型信息帧
  序列化函数通过重载操作符“<<”和“>>”是将一系列CMsg()成员变量变成字节流(序列化Serialize)或者由字符流合成CMsg()成员变量(反序列化Serialize),字节流在档案类Carchive中,Carchive类相当于Socket文件的CsockeFile的缓冲区。
  在与CMsg()中与四个初始化信息帧函数相对应,在类的成员函数中定义了四个发送信息帧函数和一个接收信息帧函数。
  接收信息帧函数:void ReceiveMsg(CMsg*pMsg);
  发送信息帧函数:void SendinitMsg();
  VoidSendXunceMessage(Cstring &message);
  VoidSendExitMessage(Cstring &message);
  VoidSendComMessage(Cstring &message);
  4 查询、巡测、选测、部分选测功能
  客户端程序中,为了方便用户对以前的测量结果进行查询,将每次测得的数据和时间存储到数据文件和索引文件中。为此定义了索引文件中的数据结构:
  Struct TestResultStruct
  {time_t time;
  LONG Address;}
  其中,成员变量time用来存储测量的时间,存储每次测量的数据存储在数据文件中的地址。根据此地址读取数据。
  水库共有9个断面,每个断面包括多个测量点,为了表示多个断面及断面中的测量点,在类中定义了属性成员:
  CStringArray WellName;
  CObArray WellNameInDuanMian;
  CObArray Results;
  CObArray ViewSomeOne;
  CObArray ViewTestResult;
  其中,WellName存放所有测量点的名字,WellNameInDuanMian存放每个断面的测量点,Results存放测量结果,后面两个属性成员当进行查询时调用,ViewTestResult用来存放从前测量的时间和数据地址,ViewSomeOne存放要查询的数据,若程序中需要用到某个断面或测量点,只需给出其数组的下标值即可。
  为了实现巡测、选测、部分选测功能,将单个测量点作为测量单位。每测量一个测量点,调用一次测量函数:Void CmeasureDoc::measure(intn);其中,形参n是要测量的测量点的数字号。这样可以灵活地设置测量的方式,实现测量的多种功能。测量的数据通过调用函数Void CmeasureDoc::measure(int n);将结果存入Results中。这样,使用巡测、选测、部分选测功能时,只需调用该函数修改Results的值即可。
其他文献
摘要法国著名女作家玛格丽特·杜拉斯创作的《情人》获得了法国最高奖赏之一的龚古尔文学奖,这部令人回味无穷的《情人》有作者自己的影子,有悲怆哀婉的爱情故事,那些语言就仿佛一个个电影片段,讲述着一对不同肤色的青年间的狂热的爱,一段一生都无法忘却的回忆,湄公河畔的相遇,小屋里的缠绵,是情,是爱,是无助的,是孤独的,是深刻的,亦是黑色的。《情人》被评论界认为是杜拉斯小说中最质朴,也是最美的书。  关键词情人
期刊
摘要随着全球化、信息化、市场化以及知识经济时代的到来,老挝社会、经济发展进入了一个新时期。这对老挝干部人事制度改革提出了新要求、新课题和新挑战。本文分析了老挝现行国家干部管理制度改革的现状,揭示了目前老挝国家干部管理制度所面临的问题,借鉴中国公务员制度改革的经验,提出了全面推进老挝国家干部管理制度改革创新的路径选择。  关键词干部管理 制度 改革  中图分类号:D630文献标识码:A    随着老
期刊
摘要三峡库区现阶段的工作重点已由城乡搬迁建设转向移民安稳致富的产业发展,本文以三峡库区的巴东县为例,针对当地产业发展的现状及存在的问题,来探讨地方产业发展战略及发展途径。  关键词三峡库区 产业发展 巴东县  中图分类号:F127文献标识码:A    三峡枢纽工程目前基本实现发电、防洪、航运的预期目标,今后,在维护库区正常运转以发挥更大效益、保护生态环境等方面,还有许多工作要做,而要做好这些工作的
期刊
摘要本文就重庆市普通幼儿园园长对特殊幼儿融合教育态度进行调查研究,调查内容有:(1)普通幼儿园接纳特殊幼儿情况;(2)普通幼儿园对特殊幼儿接纳态度;(3)幼儿园园长对特殊教育专业介入积极性;(4)幼儿园融合教育最需要解决的问题。结果表明:大部分幼儿园园长对接纳特殊幼儿持积极态度,幼儿教师、普通幼儿及家长的接纳度也很重要,还涉及到行政力量、专业人员及经费支持不足等相关问题。笔者对目前特殊幼儿融合教育
期刊
摘要价值链活动体现了企业经营发展的全貌,如何发展价值链关键环节的同盟关系,以保证其稳定有效发展是价值链体系成功的第一步。本文通过分析商业地产企业与融资伙伴建立、维持、发展同盟关系,论述了价值链的演变过程。  关键词价值链 战略联盟 商业地产企业  中图分类号:F293.3文献标识码:A    1 价值链理论在商业地产领域的应用    1.1价值链理论的产生及发展  迈克尔·波特(Michael E
期刊
摘要重庆永川“城校互动”的职业教育发展模式被教育部专家称为中国职业教育发展的第四种模式。本文就该模式的发展背景、内涵、特点、实践现状、综合改革等问题进行了深入系统的分析研究。  关键词职业教育 第四种模式 永川 城校互动  中图分类号:G71文献标识码:A    2004年,重庆市教育工作会议上,提出了“一体两翼”的职教发展模式,以主城职教为主体,渝西打造一个永川职教城,在三峡库区建立万州职教城,
期刊
摘要在语境学中,分析中国传统文化与西方法律文化的差异,并以此为进路,研究中国经济法研究的方向,并论证在我国家国同构的社会环境下,如何尽快走出传统计划经济的思维定势,为我国经济法发展定制中国化的发展路径,成为本土化的题中之义  关键词民族传统文化语境 正义 本土化  中图分类号:D922.29文献标识码:A    语境学是研究演说者思维方式和话语意义生成及相关社会背景的学说,经过语言学家马林诺夫斯基
期刊
摘要标志作为品牌中的核心元素,传播的重要依据,受到越来越多的关注,它代表着企业形象、质量和服务水平,是企业文化与理念的载体。对标志的价值魅力的重视是企业在竞争激烈的信息时代中塑造品牌和开拓市场的无声武器,可为企业带来可观的经济效益。  关键词标志 品牌传播 价值  中图分类号:J524文献标识码:A    标志是品牌传播中的一个核心元素,它集中体现了企业的特征和品牌形象,是企业的浓缩体现,优秀的标
期刊
摘要中学阶段,是一个人的生理和心理都迅速发展的阶段,伴随着中学生生理和心理迅速走向成熟而又尚未完全成熟的一个过渡,中学生往往表现出一定的心理和生活压力,尤其是在经济发达地区,许多中学生由于家庭经济条件较好,面临的社会诱惑又非常多,在中学阶段充满了各种各样的困惑。本文正是基于这些困惑分析其成因,为中学教师正确的认识中学生的心理问题,并对其进行有效的疏导和调整提供了若干建议。  关键词心理困惑 中学生
期刊
摘要心理学研究表明:兴趣是最活跃最现实的心理成分,是一种带趋向性的心理特征。当学生对某种事物发生兴趣时,他们就会主动地积极地执着地去探索。而反思又是一个教师成长的必经之路,本文就是笔者听课过程中的一些思考。  关键词反思 情境 有效合作交流 数学与生活  中图分类号:G623.5文献标识码:A    1 创设故事情境,导入新课    (1)师:小朋友喜欢听故事吗?(电脑演示)在一片小树林里,小动物
期刊