西门子S7-200与C++ Builder间通讯设计

来源 :城市建设理论研究 | 被引量 : 0次 | 上传用户:zxy86983028
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:建立下位机PLC控制系统和基于C++ Builder设计的上位机监控系统之间的相互通信,在相互通信的过程中,PLC使用了自由口通信模式,而C++ Builder借助于第三方MSComm控件。在此基础上才能完成控制系统和监控系统的相关程序的编制和设置,为小型自控项目提供技术平台。
  关键词:PLC;C++ Builder;自由口通讯
  中图分类号: I253文献标识码: A
  
  1.概述
  对于多数的小型控制系统而言,在注重性能稳定和功能齐全的同时,投入成本也是必须考虑的因素之一。相对于市场上其他逻辑控制器,西门子S7-200 PLC性价比较高;而采用第三方软件(如VB或BCB等高级语言)编制的监控系统不仅灵活性好、系统投资低而且系统升级较为方便、适应范围更广。本设计在于完成基于西门子S7-200 PLC与第三方软件(C++ Builder)编制的监控系统间通讯从而为小型项目自控系统的设计打下基础。
  2. PLC系统通讯程序设计
  2.1自由口模式通信
  自由口模式下程序可以通过接收中断、发送中断来完成发送和接收,也可以通过使用定时器实现定时执行发送指令和接收指令,从而完成数据交换和通讯。S7-200只有在RUN方式时自由口通信模式才被允许使用。
  自由口通信指令包括自由口发送(XMT)指令和自由口接收(RCV)指令。发送指令(XMT),可以将数据缓冲区中的数据通过指令指定的通信端口发送出去,发送完成时将产生一个中断。接收指令(RCV),可以通过指令指定通信端口接收信息,并将其存储于接收缓冲区中。
  用自由口通讯指令最多可以实现255个字符的数据交换,可以通过查询SM4.5和SM4.6的变化来判断是否发送完成。
  数据缓冲区(TBL)操作数采用VB等;端口(PORT)为常数,其值的确定是依据所选用的CPU型号,TBL中数据存储格式如下:
  
  表2.1 数据缓冲区格式
  
  
  
  此外,完成自由口通信还必须对控制寄存器及特殊功能寄存器进行相关设置,设置格式如下:
  表2.2 控制寄存器设置方式
  
  
  
  表2.3 特殊功能寄存器功能表述
  
  
  
  本设计采用PC/PPI电缆作为上位机和下位机的连接线,而PPI电缆的一端是RS485属于半双工通信方式,故接收和发送不可以同时进行,这里就涉及到一个接收指令和发送指令交替使用的问题。当PLC要发送数据时,必须保证接收使能位复位,而接收时还得需将接收使能位置位。关于使能位的置位和复位势必用到了接收信息控制字节即SMB87(SMB187),这也是在整个接收和发送过程中用的最频繁的控制字节。SMB87(SMB187)的位功能介绍如表2.4所示。对自由口端口初始化设置时,需分别为SMB30、SMB87、SMB94赋值16#09、16#B0和100。
  
  表 2.4 接收信息控制字节的位功能
  
  
  
  2.2 发送程序和接收程序的设计
  在选择好自由口作为本次通信模式后,首先要进行协议的自定义,本设计中通信中采用的自定义协议如表2.5和表2.6所示。
  表2.5 PLC向IPC发送数据格式
  
  
  
  表2.6 PLC接收IPC数据格式
  
  
  
  由于RS485的原因,接收和发送不能同时进行,所以要对接收和发送两个过程实现自动切换,使得接收和发送过程互不影响。本设计中采用定时器,是接收和发送子程序定时间隔执行。自由口通信下的接收程序在执行时必须保证接收使能位有效,即必须对SM87.7进行置位后,再执行RCV指令。
  在使用XMT指令执行发送程序需要特别注意,在进行发送之前先必须将接收使能位(SM87.7)复位,同时再执行一次RCV指令,保证接收缓冲区的数据全部被读出,最后再执行XMT指令。
  为了保证向上位机发送的数据准确可靠,PLC发送程序中加入发送数据的起始符和结束符号,以保证发送数据的准确,便于上位机采用查询方式接收数据。
  3. 上位机通信程序设计
  上位机程序中调用MSComm编写通信程序 ,波特率为9600bps、无校验、通信端口号为1,InputLen的值为1。
  本系统在设计过程中为了迎合人们的习惯,决定采用十进制作为上位机数据输入格式,但是通信过程中数据以ASCII的形式参与各种运算,同时在PLC中实现ASCII转化功能最常用的指令是ATH,为了实现数据格式统一需要将待发送数据转化成十六进制的形式,相关函数为IntToHex()。
  在MSComm控件下,为了保证数据的精确性,以免因数据传输问题而出错,采用将接收缓冲区中的数据以单字符形式接收,从接收到起始字符开始,一直到接收到结束字符为止的接收方式,接收程序段如下:
  try
  { if(MSComm1->InBufferCount!=0)
  {do
  {tmp=AnsiString(WideString(MSComm1->Input));
   X=X+1; //接收緩冲区加1
  } while((tmp!="\x3E")&&(X<1024));// 数据起始字符为‘>’
  X=0;//接收缓冲区清零
  do
  {tmp=AnsiString(WideString(MSComm1->Input));
   temp=temp+tmp;//单字符拼装成字符串
   X=X+1;//接收缓冲区加1
   } while((tmp!="\x21")&&(X<1024));// 结束字符为‘!’
   }
  }
  catch (...)
   {ShowMessage("通信失败,请重试!");}// 通信异常时显示
  for(int M=0;M<112;M++)
   { temp_int[M]=*(temp.c_str()+M);}// 将字符串拆分
   for(int N=0;N<112;N++)
   { if(temp_int[N]==32)
  temp_int[N]=0; // 遇到空格显示0
   else if(temp_int[N]>=48)
  temp_int[N]=temp_int[N]-48; //显示十进制数0~9
  }
  
  参考文献
  [1]胡文金. 计算机测控应用技术[M].重庆:重庆大学出版社,2003.
  [2]陈建明. 电气控制与PLC应用[M].第2版.北京:电子工业出版社,2007.
  [3]陆卫忠. C++ Builder 6程序设计教程[M].北京:科技出版社,2005.
其他文献
中图分类号: TU98文献标识码: A  一、项目概况  武义县城西片旧城区A区块位于武义县城以西,规划设计范围约7公顷,东至俞源街;南至花园殿巷;西至南门街;北至西溪路。为武义县城老城区北入口处,南侧即为拟整治更新的上街街区,东侧为城市商业中心(解放街商业带及金灿财富广场大型商场),西侧壶山公园及上街街区景观文化体验区,北侧为居住小区。周边生活设施齐全,交通便利,为创建舒适的生活环境奠定了基础。
期刊
摘要:在桥梁施工和运行中,加强施工项目管理工作,确保桥梁安全顺利运行,为车辆通行创造良好条件是人们的不断追求和目标。文章作者提出了桥梁施工项目管理的措施及在桥梁施工管理中应注意的问题,以供参考。  关键词:桥梁施工;施工管理  中图分类号: TU997文献标识码: A  桥梁施工管理是现代桥梁建设的必然趋势,对施工过程的管理成了梁桥修建和发展必不可少的保证措施。目前我国的桥梁工程已经取得了很好的成
期刊
摘要:为查明西藏旁多水利枢纽灌溉输水洞区地温分布情况,我们利用ZK317和ZK318两个勘探孔对地温进行测试,并由此推测施工期最大埋深处的地温情况,并结合测试结果,根据开挖深度采取相应措施。  关键词:西藏深孔地温测试地温梯度    Abstract: We use ZK[1单位:吉林大学邮编:130000姜楠:女,1982.10.22]317 and ZK318 two exploration
期刊
摘要:水工构筑物中的隧洞衬砌、渡槽、大坝等工程的结构安全与防渗绝大多数都是由混凝土承担的,因此,混凝土施工技术在水工构筑物工程中尤为重要。本文从材料、工艺、冬季施工等方面探讨了水工构筑物混凝土的施工技术。  关键词:水工构筑物;混凝土;施工技术  中图分类号: TU37文献标识码: A  水工混凝土即为经常性或者周期性受环境水作用的水工构筑物所用混凝土。水工混凝土一般都是大体积,浇筑速度快,机械化
期刊
摘要:随着文化旅游的兴起,历史街区发展旅游受到热切关注,在旅游发展下探讨历史街区的保护更新逐渐成为热点。本文以眉山三苏祠历史街区为例进行实证研究,通过对旅游背景下历史街区复兴过程中存在的问题进行分析,并就此进一步展开讨论,提出三苏祠历史街区的保护更新策略,以旅游为动力的历史街区要以保护历史文脉为前提,在此基础上,对街区进行复合功能植入、多途径的改造模式、体验式旅游活动的展开,以此激发街区活力,使街
期刊
摘要:滨南地区位于东营凹陷西北部,利津洼陷的西坡。近几年来,为深入研究滨南地区积砂体油藏发育和分布规律,先后部署了滨682、滨685等井钻探该类油藏,均取得成功并获得高产,但也有滨682-6、滨685-8等井失利,因此,还需要进一步对该地区浊积岩砂体进行描述,形成一套浊积砂体油藏的描述技术和评价方法,指导浊积砂体油气藏的勘探开发。  关键词:描述技术;油气藏;勘探;开发。  Abstract: t
期刊
摘要:对于任何施工来讲,前期的岩土工程勘察都有着极其重要的作用,能否得到科学合理的岩土勘察报告决定建设施工能否有科学依据,更是整个工程施工的数据保证。本文主要对岩土工程勘察质量控制要点进行了简要分析。  关键词:岩土工程;工程勘察;质量控制  中图分类号:E271文献标识码: A  引言  工程勘察是岩土工程前期工作最为重要的部分,对于后续工程的开展有着至关重要的影响作用。而勘察的质量对于岩土工程
期刊
摘要:随着国内的电力系统技术得到了飞速的发展,各种先进设备在电力系统的运行中得到了广泛的应用。这就给小水电站的工作人员提出了更高的要求,工作人员不仅仅每天都要保持小水电站的正常运行,更需要对各种各样的新设备进行维护。首先阐述了我国小水电站的发展现状,研究了小水电站在发展过程中出现的问题,并在此基础上提出相应的改革措施,为电力工作者提供一定的理论指导。  关键词:管理模式;改革措施;小水电站  中图
期刊
摘 要:小城镇是连接城市与农村集镇的桥梁和纽带,是区域性政治、经济、文化、科技、信息中心。随着改革开放的深入,国民经济的发展,小城镇越来越显示出它的重要地位和作用,加快小城镇建设已成为改革与发展的战略问题。为此,各级政府都十分重视小城镇的规划和建设。  关键词:小城镇;规划;管理  中图分类号: TU98文献标识码: A  1 小城镇建设规划的指导思想及发展现状  1.1 指导思想  小城镇建设在
期刊
摘要:工民建筑施工现场管理人员繁多,工种复杂,影响施工质量因素较多,需要加强施工现场质量管理,研究其完善策略。  关键词:工业与民用建筑;现场质量管理;完善策略  中图分类号:F253文献标识码: A  前言  质量管理是施工管理的重要组成部分,工民建筑工程的质量对经济发展和社会的安定和谐产生着直接而深远的影响。因此,加强工民建筑工程项目的施工现场质量管理意义深远。  一、影响工民建筑工程施工质量
期刊