基于VB的PC机与S7——200PLC自由口通信的实现及应用.doc_第1页
基于VB的PC机与S7——200PLC自由口通信的实现及应用.doc_第2页
基于VB的PC机与S7——200PLC自由口通信的实现及应用.doc_第3页
基于VB的PC机与S7——200PLC自由口通信的实现及应用.doc_第4页
基于VB的PC机与S7——200PLC自由口通信的实现及应用.doc_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于VB的PC机与S7200PLC自由口通信的实现及应用第7期2006年7月机械设计与制造MachineryDesign&Manufacture一115一文章编号:10013997(2006)07一Ol1502基于VB的PC机与S72OOPLC自由口通信的实现及应用田娟娟蔡光起史家顺王晋生(东北大学机械工程与自动化学院,沈阳110004)ImplementationandapplicationofVB-basedcommunicationbetweenPCandS7200PLCunderfreeportmodeTIANJuanjUal3.,CAIGuangqi,SHIJlashun,WANGJinsheng(DepartmentofMechanicalEngineering&Automation,NortheasternUniversity,Shenyang110004,China)中图分类号:11P27文献标识码:A1引言随着可编程控制器(PLC)技术的迅速发展,PLC在我国各个厂业控制领域中得到了越来越广泛的应用.而西门子公司生产的S7200系列小型PLC,以其功能强人,使用稳定且性价比高而在中国市场上占有很重要的地位,深得用户的喜爱.其内部集成的通信接口为用户提供了强大的通信功能,根据不同的协议通过接口使得PLC可与不同的设备进行通信并组成网络,实现数据传送及控制等功能.s7200系列PLC支持多种通信协议,其中包括Siemens产品之间所使用的PPI协议,用于多机之间通信的MPI协议,和变频器之间通信的USS协议,以及用户可以白行开发的自由口协议.尤其是自由口协议,它为用户在使用时,提供了很多方便之处.本文主要研究的是在VB6.0环境下S7200PLC与Pc机自由口通信的实现,并结合光学实验平台运动控制系统的开发实例加以说明.2光学实验平台运动控制系统硬件设计本系统采用的是西门子s7200PLC(CPU224型),利用PLC的高速脉冲输出控制步进电机,冈为通过步进电机驱动模块进行了细分驱动,所以PLC每次输出一个脉冲信号,可以使步进电机旋转1.8/32度,经由连轴器连接丝杠而驱动滑台移动.利用PLC的高速脉冲输人口读取光栅尺的高速脉冲输入,从而得知平台实际位置.系统具体结构见图1.来稿日期:20050908冈I._J图1控制系统结构示意图在本系统中,PLC的通信端口为RS485接口,它有多种通讯模式,本文采用的是自由口模式,通过标准Rs232接口联入PC,因此使用者可以在Pc一亡控制平台位移.3PC机与PLC通信基础3.1PLC自由口通信命令所谓自由口通信模式即fI陀eport模式,它是建立在RS一485硬什基础上的一种通讯方式,它允许用户自己定义一些简单,基本的通讯协议设置,如数据长度,奇偶校验等等,通讯功能完全由用户程序控制.自由口模式使用的相关的命令为XMT和RCV命令21,分别用于发送和接收数据.这两个命令都对应各自的一个数据缓冲区,该缓冲区可以由用户在编程中决定,如VBi00,即为从VBIO0起始的一块数据存储区.其中,XMT的缓一ll6一冲区格式如图2.田娟娟等:基于VB的PC机与s7200PLC自由口通信的实现及应用第7期臣圈RCV的缓冲区格式.一.l字节敷I起始字符输的信息.字节形式I结束字符I图2RCV的缓冲区格式为但应当注意的是,自由口协议必须在PLC处于RUN模式下才有效,如果处于STOP模式下PLC会自动的回到PPI模式(前提是使用PPI模式).3.2Msco/nnl控件为了实现Pc机与下位机PLC之间的通信.Windows提供了Msc.mm控件以供用户使用.它封装了关于通信的相关内容.我们只需在平台中.设置其相关属性,并且对其的事什进行相应的编程即可使用.关于Mscomm控件的一些重要属性见表1:裹1Msmm控件属性介绍星丝堡旦CommPort决定选择那个串行口PoOpen决定是否打开通信口Input输人缓冲区Output输出缓冲区设置属性,可以选择波特率,通讯的位效ttings奇偶校验方式以及几个结果位RThre8hold设置或返回引发接收事件的字节效.,设置或返回Input属性取回的数据的类型,有ComlnputnputModM0deText和CondnputModeBinary两种模式关于Mscomm控件的事件.只有一种.即OnComm事件.通信中只要有错误或事件发生时.就会产生OnComm事件.而CommEyent属性传回不同的错误或事刊:对应的数码值.据此可对事件进行处理.在本文的通信过程中.主要用到的是ComEReceive值.当接收缓冲区有数据时产生该值,然后对Input值进行相应的处理.4VB6.0平台一PC机与PLC的通信Microsoft公司生产的VisualBasic6.0是Windows环境下的一种可视化编程语言开发系统,它以强大的图形设计能力.简易的编程语言和容易学习使用等优点在工程中得到了广泛的应用.我们正是使用它进行了与PLC通讯的开发o4.1PLC通信程序设计PLC程序的符号表见图3.在其中对变量进行了命名.根据PLC各寄存器的分配及通信原理.结合工程的实际,我们编制了相应的PLC通信程序.由于篇幅有限.具体程序不在此详述.但在编程中需要注意的是,程序中与通讯有关的除了进行相关寄存器的设置之外,还应该对接受的命令进行判断.己选择运行相关的程序.另外.由于PLC中的通讯口是RS-485通讯口.其为半双上通讯口.所以XMT和RCV命令不能同时运行.在本系统中仅就一处加以举例说明:RCVVB100.0/一直启动RCV接收指令NETWORK9/到零位发送通讯程序LDM2.1AN左行程开关EURSM87.7,1SM9.0,1/停RCV指令RCVVB100,0XMTVB200,0/启动XMT指令4.2VB通信程序设计visualBasic开发包括界面的设计和程序的开发两部分.4.2.1人机界面设计界面的设计要求既可以对PLC进行操作,又可以显示由PLC反馈回来的信鸟肆毫址Il左拧硷窆蔓般O2更目零.盎I10,.!D600工作打qO75译qO56左打霄_竹qI.07草I左抒II2ej甄夏挣,E0,差符_熏霹葺夏II3IO轰餐避并黄105U君行_膏QOI2爱日零.左52t3_若_夏并要【I414葶葫轰_抒鬟耶3I5百弹一I10tG薯ifD700I7葛拧踱蠢鼍葺孽02lel毫抒霞蠢蕾薯赣盯D图3光学实验平台运动控系统PLC程序符号息并转换成实际的位移值.图4为光学实验平台运动控制系统VB通讯界面.图4光学实验平台运动控制系统VB通讯界面设计时,Momm控件的重要属性设置为:InputMode属性:comlnputModeBinary,按二进制方式读取数据,因为从PLC返回的数据中包括ASCII码值超过128的字节.Settings:9600.at8,1.选择9600bps波特率,不进行奇偶校验,8位数据位.1位停止位,其设置要与PLC的设置一样.才能正常通信.RThreshold属性:1.当接收到1个字符时.引发OnComm事件的ComEvReceive常数o4.2.2通信程序没计VB通信中接收事件的程序清单如下SelectCaseMSComm1.CommEventCasecomEvCDCasecomEvCTSCaseeomEvDSBCasecomEvBingCasecomEvReceive引发接收事件inbuf=MSComm1.InputDebug.PntinbufP:inbuf3第7期2006年7月机械设计与制造MachineryDesign&Manufacture一117一文章编号:10013997(2006)07一O11702激光热处理成套设备熔覆或热处理聚焦镜头的改进Theimprovementoffocusingmirr0rsinalaserheatingprocessingandcladdingequipment修玉峰(青岛理工大学,青岛266520)XIUYufeng(QingdaoTechnologicalUniversity,Qingdao266520,China)中图分类号:TH156.99文献标识码:A1前言激光热处理是利用高功率密度的激光束对金属进行表面处理的方法,它可以对材料实现表面改性处理,产生用其它表面淬火达不到的表面成分,组织,性能的改变.这种方法主要用来稿13期:2o050916于强化零件的表面,可以提高金属材料及零件的表面硬度,耐磨性,耐蚀性以及强度和高温性能;同时可使零件心部仍保持较好的韧性,使零件的机械性能具有耐磨性好,冲击韧性高,疲劳强度高的特点.激光热处理在汽车拖拉机行业应用极为广泛,许多汽车关=Log(255)pos=0Fori=LBound(p)ToUBound(p)一1pos=pos+Val(p(i)Exp(jn)Debug.PrintVal(p(i)j=j一1NextIfpos>Int(pos)Thenpos=lnt(pos)+1,去0.99999999999Ifpos>250000Thepos=pos一4244897281#正确的显示负数bpos0.001Lblnowva1.Caption=pos0.001&衄将接收到的坐标值进行处理后进行显示CasecomEvSendEndSelect4.3VB与PLC通信的技术要点系统开发完毕后,我们对VB与PIE之间通信的技术要点作了如下总结:(1)在设计的过程中,PIE很多时候都需要等待VD的命令,所以一直执行RCV指令,所以在编制PIE程序时,采用查询的方式对RCV缓冲区进行判断,而XMT发送指令依然使用中断方式进行.(2)由于Pc机为RS232端口,是全双丁通信,PLC为RS485端口,是半双:正通信.因此对于PIE而言,接收和发送不能同时进行,而程序中一直在执行RCV指令,所以在执行XMT前,要停止RCV指令,在执行完XMT后,还要通过中断启动RCV指令.这是通过对SM87.7标志位进行设置来完成的.(3)对于VB而言,由于发送和接收的指令本质上都是ASCII码.当接收时,可以通过设定InputMode属性为comlnputModeBi.nary,按二进制方式读取数据,获得从PIE返回的包括ASCII码值超过128的字节数据.而发送时则只能通过相应的计算将设定的数值转换到ASCII码在128之内的字符.因为当传输ASCII码值超过128的字符时,在PIE内部收到时将变成0.(4)接收时,采用动态数组的方法进行了接收信息的处理,从而使得程序的处理更加的灵活.5结束语在实际中采用自由口通信模式,运用VB6.0作为开发工具,方便的实现了S7-200PLC与上位PC机间的通信,实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论