欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 计算机应用 > 基于Delphi开发平台的分布式数据采集系

基于Delphi开发平台的分布式数据采集系

日期:2023-01-24 阅读量:0 所属栏目:计算机应用


【摘要】用rs485串行通讯构成的总线型的分布式数据采集系统,数据采集模块可以进行单独采集测量,但采集结果需由上位机进行数据显示,保存,分析处理等操作,系统上层软件基于delphi开发平台,采用简单的非重叠i/o模式,通过合理的设置,有效地解决了i/o读写阻塞问题,增强了系统运行可靠性;由于采用分布式i/o采集模块,整个系统具备良好的扩展性。
  【关键词】串行通讯 delphi rs485 分布式数据采集
  
  串行通讯因其线路简单,开发相对比较容易,所以经常应用于各种监控、测试和自动化设备中。而rs485串行总线接口采用平衡发送和差分接收的方式进行数据通讯,较rs232提高了抗共模干扰能力和传输距离,其在适当的波特率下通讯距离可以达到1千米以上。rs485总线可用于多个带有rs485接口设备的互连,以实现数据高速远距离传送,其连线十分方便,鉴于以上优点,rs485总线在工业控制现场得到了广泛的应用。
  
  一、系统设计
  
  本系统采用一台pc作为上位机,采集系统通过若干块研华adam4000系列i/o模块完成,系统原理图如图1所示。
  
  上位机的rs232串行口通过adam4520 rs232/rs485转换器转换为rs485总线,adam4000系列通过adam4520跟上位机(pc)进行通讯。各个采集模块设有自己惟一的地址,且各个模块之间不进行信息交换,一切通讯受上位机控制。开始时,所有下位机都处于监听状态,等待上位机发出指令。当上位机发出指令时,所有的采集模块都接收并且将其中的地址帧与自己的地址比较, 如果相同则继续接收后面的指令或数据,若不同则不予理睬。
  系统通过从模块中采集到的数据,显示在软件中,通过软件的开发,可以对数据进行保存,分析等自动化操作。
  
  二、通讯协议
  
  本系统采用半双工异步通讯,下位机以串行中断方式接收。
  adam4520模块已经帮我们把rs232的字符串信号转换成rs485的信号后,此信号就可以在rs485网络上传送了。而一个串行通讯进行之前必须先就传输的状态条件进行设置,adam4000系列的分布式模块所使用的校验位检查方式是none,数据位长度是8,停止位长度是1,模块的速度可以有多种选择,最高可以达到115200bps。分布式模块的命令格式被分成送出与响应两个部分,其中送出部分由计算机下达命令给分布式模块,由5个片段组成,如图2。
  
  在分布式模块中,上位机会根据实际需求向模块发出指令,上位机在发送指令后如接收到下位机的应答则认为指令发送成功,可以发送下一个指令,否则重新发送此指令。模块在接收到正确的指令后送回执行结果,这个被传送回来的字符串由以下5个部分组成,如图3。
 

  三、软件设计
  
  采集软件的设计是完成整个系统的关键,我们使用mscomm控件作为串口的操作控件,通过下面4个简单步骤完成系统功能的设计。
  1.通讯端口的打开
  begin
  rt=1 //确定串口号
  gs=“9600,n,8,1” //波特率的设定,校验方式,数据位,停止位
  en=true//打开串口
  end
  2.指令送出
  begin
  :=’$01’+chr(13) //读取地址为01的模块数据
  end
  3.数据接收
  begin
  := //把接收的数据显示在edit1控件上
  end
  4.结束系统
  begin
  close;
  end
  以上是单个功能的设计,实际设计中要复杂得多,下面是本人在设计使用的一个过程函数
  procedure acomm(sender: tobject);
  var
  sss:ansistring; //串口数据
  ci:byte; //di,do模块判断
  qii:integer;//串口故障对比
  begin
  if not en then exit;
  if intadamcly<1 then exit;
  qii:=ent;//读串口故障号(1004-帧错误)
  if qii=1008 then ercount :=0; //接收溢出
  if qii=1010 then fercount :=0;//发送溢出
  //if qii<>2 then exit;//=2接收到预定数的字,中断时用此句
  //读串口数据
  sss:=;
  ercount :=0;//清接收缓冲区
  //数据和接收显示
  ci:=intadamcly;//模块号
   :=sss;
  [13,ci]:=sss;//显示
  if length(sss)<2 then exit;
   :=+1;
  if mod 2=1 then :=clolive
  else :=cllime;
  //ad、di数据转换、显示
  if (ci<1) or (ci>cons_modnad+cons_modndi) or (sss='') then exit;
  if sss[1]='!' then padamdatachange_di(ci,sss);//di数字量
  if sss[1]='>' then padamdatachange_ad(ci,sss);//ad模拟量
  end;
  系统的上位机软件采用delphi开发平台,移植微软的mscomm控件,利用它可以方便地对串口操作,加快了开发进度。在设计上位机软件时需要考虑到pc机速度比单片机速度快的因素,在传送数据时要适当加入延时,以确保系统的正常运行。
  
  四、结语
  
  本文阐述的系统结构和通讯方法已在广西工学院汽车工程系中得到实际应用,取得了良好的效果,具有很好的实用性。
  
  参考文献:
  [1]范逸之,陈立元.delphi与rs-232串行通讯控制.清华大学出版社.
  [2]adam4000系列说明书.台湾研华工控. 本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/244989.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学