Delphi编程实现远程数据波形显示的方法

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:Zero1_41004513
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:该文介绍了在Delphi中通过网络传输下位机采集的数据,使用IXYPlot控件将数据实时以直观的工控波形界面进行显示的方法,并结合应用实例给出了数据显示的应用程序。
  关键词:Delphi;实时数据;波形;显示
  中图分类号:TP312文献标识码:A文章编号:1009-3044(2008)33-1386-02
  The Method of Realizing Remote Data Wave Display by Delphi Programming
  GONG Juan, WANG Huan-yan, YAN Hai-yan, XUE Zhi-liang
  (Hunan Railway Profess Ional Technology College, Zhuzhou 412001, China)
  Abstract: This paper presents the method that the internet transmits the data collected by the controller system in Delphi, and the IXPlot Controls display the real-time data by intuitionistic monitor and control interface. This paper exemplifies the data displaying application program.
  Key words:Delphi; real-time data; wave; display
  1 引言
  在自动化控制应用中,经常要对系统中各类设备进行控制和诊断,因此我们要组成微机为上位机而单片机等为下位机的控制网络。在通常的控制应用中,我们通过下位机采集并传送控制设备的状态信息如电流、电压、压力等等并以数字的形式实时显示。但是,随着自动化控制应用的发展和深入,很多应用需要将采集检测到的离散的数据绘制成波形,用来对数据进行追踪记录和比较。如何通过简单高效的方法方便快捷的将采集到的离散数据传输到上位机并绘制成波形呢?本文给出了利用IXYPlot控件将通过网络传输采集的离散数据绘制成波形的方法,并给出了在Delphi环境下利用该控件将离散数据以波形形式实时显示的应用实例。
  2 实时数据的采集传输和显示方法
  在应用系统中,为了减少布线充分利用网络系统优势,通常采用下位机传感器、IO通道等对模拟数据、数字量数据进行实时采集。采集到的数据由下位机根据协议的要求进行编码处理后通过网络发送给上位机,上位机接收到下位机传来的数据后同样根据通讯协议对接收到的数据进行解码,并将解码后的数据送给显示系统,根据相应设置进行数据的显示。
  在数据显示中我们设定纵坐标和横坐标分别代表两个不同的量,显示出的波形则记录了数据在随横坐标变化过程中的变化情况,从而由各离散数据绘制出相应的波形。根据应用的需要我们可以在一个界面上同时记录多路数据,各路数据的波形以不同颜色进行区分,各路数据的位置可以随意设定,数据显示效果如图1所示:
  
  
  图2 界面设计图
  2) 程序如下:
  var
  Main_FM: TMain_FM;
  Drawgraph,DrawGraphID:Thandle;
  implementation
  {$R *.dfm}
  //波形显示线程;
  Function F_DrawGraph:Longint;
  Var
  TempB1,temp2,temp3:Byte;
  Begin
  IF (Main_Fm.GET_SwitchLed.Active)Then //显示按钮激活
  Begin
  If main_fm.xvalue>main_fm.X_span then //满一屏后,横坐标右移
  main_fm.iXYPlot.XAxis[0].Min :=main_fm.iXYPlot.XAxis[0].Min Main_fm.X_add;
  main_fm.iXYPlot.Channel[0].AddXY(main_fm.xvalue,Sin(0 )*Main_fm.SP1_para0 Trunc(Main_fm.
  SP1_para1)); //绘制第一通道的波形(直线)
  main_fm.iXYPlot.Channel[1].AddXY(main_fm.xvalue,Sin(main_fm.Xvalue )*Main_fm.SP2_para0 Trunc(Main_fm.SP2_para1));//绘制第2通道的波形(正弦波)
  main_fm.iXYPlot.Channel[2].AddXY(main_fm.xvalue,cos(main_fm.Xvalue)*Main_fm.SP3_para0 Trunc(Main_fm.SP3_para1)) ;//绘制第3通道的波形(余弦波)
  main_fm.iXYPlot.Channel[3].AddXY(main_fm.xvalue,Cos(0)*Main_fm.Curr_para0 Trunc(Main_fm.Curr_para1));//绘制第4通道的波形(直线)
  main_fm.iXYPlot.Channel[4].AddXY(main_fm.xvalue,0*Main_fm.Acc_para0 Trunc(Main_fm.Acc_
  para1)); //绘制第5通道的波形(直线)
  main_fm.iXYPlot.Channel[5].AddXY(main_fm.xvalue,Sin(main_fm.Xvalue )*Main_fm.Daf_para0 T
  runc(Main_fm.Daf_para1)); //绘制第6通道的波形(正弦波)
  main_fm.xvalue:=main_fm.xvalue Main_fm.X_add;//设置横坐标移动的变化
  End;
  End;
  procedure TMain_FM.GET_SwitchLedClick(Sender: TObject);
  begin
  IF Not GET_SWITCHLED.Active Then //判断显示按钮没有被激活
  Begin
  GET_SWITCHLED.CaptionFont.Color:=clLime;//改变显示字体颜色
  Main_fm.iXYPlot.ClearAllData ; //清除原有的显示数据,为新数据显示做好准备
  Main_Fm.Xvalue :=0;//设置横坐标初时值
  Main_Fm.Time50MS.Enabled:=True; //激活定时器
  End
  Else
  Begin
  GET_SWITCHLED.CaptionFont.Color:=clRed; //更改显示按钮字体
  Main_Fm.Time50MS.Enabled:=False;//关闭定时器;
  End;
  end;
  procedure TMain_FM.Time50MSTimer(Sender: TObject);
  begin
  F_DrawGraph; //定时调用显示刷新程序
  end;
  procedure TMain_FM.FormShow(Sender: TObject);
  begin
  Main_fm.X_span :=10;//设定显示区域一屏能够显示的横坐标的最大值
  Main_fm.X_add:=0.01;//设定横坐标没刷新周期变化的增量
  Main_fm.SP1_para0 :=12;//设定通道的数据放大比例
  Main_fm.SP1_para1 :=110; //设定通道数据显示纵坐标的基准位置
  Main_fm.SP2_para0 :=20;//设定通道的数据放大比例
  Main_fm.SP2_para1 :=90;//设定通道数据显示纵坐标的基准位置
  Main_fm.SP3_para0 :=20;//设定通道的数据放大比例
  Main_fm.SP3_para1 :=70;//设定通道数据显示纵坐标的基准位置
  Main_fm.Curr_para0 :=0;//设定通道的数据放大比例
  Main_fm.Curr_para1 :=90; //设定通道数据显示纵坐标的基准位置
  Main_fm.Acc_para0 :=3;//设定通道的数据放大比例
  Main_fm.Acc_para1 :=70; //设定通道数据显示纵坐标的基准位置
  Main_fm.Daf_para0 :=35;//设定通道的数据放大比例
  Main_fm.Daf_para1 :=35; //设定通道数据显示纵坐标的基准位置
  end;
  
  4 结束语
  以上方法笔者在多个开发项目中都曾采用,微机与分散的各下位机之间通过这种下位机采集数据、网络传输的方式将多种离散的工控数据以波形的方式显示出来,该方法在项目中使用效果良好,运行稳定可靠。
  
  参考文献:
  [1] 温锦山,唐柱鹏.Delphi串口及语音传真高级编程[M].北京:北京航空航天大学出版社,2004.
  [2] 黄军.熊勇.Delphi 串口通信编程[M].北京:人民邮电出版社,2002.
  [3] 段兴.Delphi实用程序100例[M].北京:人民邮电出版社,2002.
其他文献
摘要:该文对IEEE 802.11n的标准及其核心技术进行了介绍,并就基于它的无线设备组建的校园网进行了分析,对它在校园网中的应用进行了研究。  关键词:IEEE 802.11n标准;无线网;校园网  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)36-2859-03  Wireless Network with the Standard IEEE 802.11n a
范家成  四川广安市岳池县人,现为四川省美协、书协会员,成都市美协、书协会员。  中国画的本质,就像文人们写文章一样,都是作者内心世界的某种感悟,或者说是作者自身对客观与主观事物以笔墨在宣纸等介质上再现的过程。“人如其画”则是美术评论家们对那些绘画风格已经趋于成熟,画里画外都流露出画家深厚学养的最高评价。年近七十岁的成都花鸟画家范家成所创作的《梅》《兰》《竹》《菊》系列,早在二十世纪八十年代就蜚声
《普通高中语文课程标准(2017年版)》将“思辨性阅读与表达”作为一个学习任务群单独列出,其目标之一就是“发展学生实证、推理、批判与发现的能力,增强思维的逻辑性和深刻性,提高理性思维水平”。近年来,高考写作越来越关注理性思辨与表达。但是,在实际的写作教学中,学生不会思考,尤其是不会具体深入思考,使得理性思辨仅停留在口号上,这已经成为影响学生提升思辨能力的瓶颈。如何突破这一瓶颈?笔者认为不妨尝试运用
书名:英美文学简史与作品赏析  作者:李前  出版社:光明日报出版社  出版时间:2017年  ISBN:9787519435479  定价:45元  文学作为一种艺术形式,是不同国家、不同民族文化和思想的集中表现。阅读不同国家和民族的文学作品,也是学习和了解其文化最直接、最常用的方法。初涉外国文学领域的读者,除了存在语言的障碍,还缺乏对其他国家、民族历史的了解,这也带来了在作品选择上的困难,以及
程星琰《庆祝新中国成立七十周年诗詞选抄》行书 231cm×103cm 2019年  程星琰  字仲琪。1986年6月生于海南,现居成都。中国书法家协会会员,中国硬笔书法协会会员,中国佛像艺术研究中心研究员,四川省书法家协会会员,成都市书法家协会会员,成都市青年书法家协会理事,成都市成华区书法家协会理事。
摘要:情感是语文教学的生命,要使一堂课感情丰沛应该在备课时努力挖掘文本深处的感情,课堂导入时就能紧紧抓住学生的心,课堂高潮处能让学生深入领悟情感,然后通过自己的理解用文字表达情感,这样的课堂才是激情无限的,充满吸引力的。  关键词:“挖”情 “入”情 “悟”情 “表”情  引言  情感是语文教学的生命,是语文课堂的生命源,列宁曾经说过:“缺乏情感的认识,便失去了认识的深入,人的思想,只有被浓厚的情
摘要:.NET 平台下ASP.NET 的应用开发得到了越来越多的应用,而MVC设计模式在ASP.NET 中得到了充分的实现和支持。该文对.NET 技术结合MVC 设计模式的三层架构进行了深入剖析,给出了一个三层架构模型及各层的实现策略,该模型及实现策略对于web应用开发而言,能够实现系统的设计目标,具有通用性。  关键词:ASP.NET;MVC设计模式;三层架构;实现策略  中图分类号:TP311
摘要:随着移动电子设备日益普及,移动电子商务要又好又快发展,其安全性必须得到重视。该文针对移动电子商务的安全问题,阐述了无线公钥基础设施技术WPKI的组成及安全框架,其在移动电子商务中的应用情况。  关键词:移动电子商务;安全技术;WPKI;应用  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)36-2880-02  The Applied Study onWPKI
摘要:在J2EE架构中集成XML技术是一种可扩展性很强的组合。文章讨论了J2EE架构中XML技术在数据描述和交换、数据显示以及面向消息的分布式计算等方面的应用。  关键词:J2EE;XML;JSP;XSLT;EJB;message-oriented  中图分类号:TP391文献标识码:A 文章编号:1009-3044(2008)35-2147-03  The XML in J2EE  CAI Xi
摘要:通过对大学生就业情况的调查,发现大学生就业的一大基石是语文素质。语文知识储备丰富与否,在人的职业生涯中占据重要地位。因而,必须加强大学生的语文素质建设,打好新时期大学生就业的基石。  关键词:语文素质 就业基石  引言  语文教育作为我国现代教育的重要组成部分,必须适应现代化社会、经济建设发展的要求,注重人的素质培养与提升,为社会培育出更多的高素质人才队伍,实现高校教育的宗旨;要体现出高校教