PLC的RS485口与计算机通信实现远程监控_第1页
PLC的RS485口与计算机通信实现远程监控_第2页
PLC的RS485口与计算机通信实现远程监控_第3页
PLC的RS485口与计算机通信实现远程监控_第4页
PLC的RS485口与计算机通信实现远程监控_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、 PLC的RS-485口与计算机通信实现远程监控一、概述台达DVP系列PLC因其功能齐全、结构紧凑、组网简单、通信协议公开等特点而受到海内外客户的盛誉!台达DVP系列PLC集RS232、RS485于一身,且在组网方面PLC端无需增加任何通信转接设备,网络连接简单,通信稳定可靠,可据用户的意念对其进行编写通信程序,使用方便。本文介绍计算机与台达PLC之间用RS-485通信实现远程监控,计算机作为主站,可以实现对PLC从站各寄存器的读/写操作。计算机通过COM口发送指令到PLC的4850,PLC通过通信串行I/OORS)指令,然后对指令进行译码,译码后调用相应的读/写子程序实现指令要求的操作,并通

2、过通信串行I/OORS)指令返回指令执行的状态信息。文章用中央空调监控系统为例子,为解决在计算机中能用RS-485与PLC通信,在计算机中加插一块两口的RS232/RS485转换卡,口号为OCOM3、COM4);现场用8台台达DVP20EX00R作为控制子站OJ1J8),其中J1J45个子站连成一个485子网与计算机COM3口通信,J5J85个子站连成一个485子网与计算机COM4口通信。计算机上运行的程序由VB6.0环境下实现O可用任一高级语言)。系统功能:A、计算机从各PLC中读取当前的实时采样资料(温度、室内压力、湿度、各个风阀的开度与状态、各10及中间状计算机在0.5秒内完成对所有PL

3、C资料的读取、处理与显示。二、系统方案及网络结构态);B、对PLC设定温度、湿度;C、对PLC设定各个PID参数(每台PLC8个PID)D、对PLC设定开关机延时参数E、对PLC设定温湿控制中的快启参数1、出于如下考虑我们选用RS-485A、DVP系列PLC具有RS-485口与通信能力;B、整个系统有多台PLC子系统组成;C、原有RS232已用于与其它设备通信;D、各子系统相距较远(最大距离600米);E、抗干扰性强,有利于精确度的控制。2、系统硬件组成A、DVP系列口DVP20EX00R)PLC:自带RS232与RS485口,组网方便;B、2芯带屏蔽双绞线:抗干扰性强;C、工业控制计算机:稳

4、定性好;D、RS232/RS485转换卡:安装后,可象计算机自带的RS232口一样使用。三、通信实现DVP系列PLC的485通信方式较为灵活,通俗地说其通信方式可分为:自由方式与可定义方式两种。本文中用自由方式的通信格式(即不对起始字符与结束字符定义)。1、通信串行I/O指令DVP系列PLC指令集中有一指令专用于可实现DVP系列PLC与所有遵循标准的通信操作。RS485通信:RS指令,用此指令RS-485通信功能的设备进行485002、与RS指令有关的MD0M1120:用于保持已设定的通信协议。可在PLCRUN的瞬皿M1002)时用SETM1120指令:LDM1002 # # # #SETM1

5、120在PLCRUN的瞬间,PLC会据D1120内的设定资料作为当前的通 信协议。M1122:通信条件开关。无论用户是要用RS指令发送资料或接收数据,在RS指令之前,都要使M1122处于ON的状态,否则RS指令不执行。当RS指令执行完成后,PLC将自动把M1122置为OFF状态,用户要在RS指令在下一次通信之前把M1122置为ON状态。M1123:RS指令接收数据完毕标志。当RS指令接收资料完毕时,PLC # 将把M1123置为ON状态,用户可把此作为处理接收资料的入口,处理完接收来的资料后,要实时把M1123置为OFF状态,以保通信程序的正确性。M1161:通信位处理模式。OFF:16位;O

6、N:8位M1126:通信位处理模式。OFF:16位;ON:8位3、通信协议参数的定义(D1120)D1120中存放的数据用于定义RS指令在进行通信时所用到的基本参数。如用户要使用9600,N,8,1的参数,则D1120中的资料需为H81(0000000010000001)D1120中的设定一定要与对方的设定通信参数一致,否则通信将不能成功。注:为使PLC中的资料在通信过程中确保不丢失,建议用8位的资料位。4、通信格式的定义台达DVP系列PLC在通信的字符格式方面没有特别的规定,这样就有利于用户根据需要自由定义自己的通信字符格式。在本例系统中,因考虑到各PLC子系统离计算机较远,在各个电气柜中又

7、有会产生干扰源的变频器,为确保资料在传送过程中的正确性,在字符格式中增加了校验字符(一个字节),以校验数据的正确性。在本例系统中,计算机向PLC发送的信息有8种(分为读数与写设定资料),PLC又怎么识别计算机要PLC进行何种操作呢?据此在字符格式中增加了操作功能字符(一个字节),用于使PLC识别计算机要在本例系统中,一个RS485子网中不只一台计算机是否要与自己通信,在字符格式中还需要增加个字节),用于使PLC识别计算机是否要与自己通信。据以上的要求,形成的通信字符格式为:PLC站号+00000+要传送的资料PLC进行何种操作。PLC,要使PLC能识别PLC站号字符(一+校验字节四、PLC中通

8、信程序的实现W504清除接收完毕标志重新启用克接收指令,以便PLC下次接收数据回应D号操作结果(发送实时数据给计算机以下处理。号操作功能的数据2JPLC站号启用RS指令处于接收状态恥接收指令以下齿处理校骑数据(D254)F:STM1123SETM1122程序说明:1、由于篇幅所限,实际应用中的程序有3000多步,在此只能列出简要的用于说明RS485通信的程序段;2、程序中PLC站号为2号,当PLC确定由计算机传来的第一个字符为2时,此程序段程序中数据处理才被执行;3、0号操作功能为从PLC中读取实时数据;1号操作功能为向PLCDODO,PLC把已设定进叮D536)的资料反传给计算机,以便计算机

9、验正数据设定的成功与否;4、D254为校验字节。六、计算机中通信程序的实现在计算机中用MSCOMM控件实现对COM3与COM4的操作通信。与台达DVP系列PLC通信可用字符方式与二进制方式,考虑到操作的方便性,本例子系统中用二进制ASCII方式,为解决对大于255的资料,在 #PLC与计算机程序中要进行分解处理。1、MSCOMM属性的定义屋性-FLCCoan通信口定义为3,1朕于)名称FDCumm自定QCorTiniFort3DTFLEnableF:ilseELlFEnableTrueH:diLdsh:dking0-comlTorLHIrLEhifferSire1024Index0InputL

10、en0InputMode1一comInputModLmt6300NijIIDiEc:xrdF:ilseOutBufferSire512F:t-it/Replace?RThLt-HEhold1RTSEnableF:ilse9600.n.8.1义为1二进制方畀,0_l为uuuuu,Tag|Top-390PLCCobb(0)MSCorTini按字母序通信参数定义为与中的一致为在9600,N,8,1,使用通信事件捕获与软中断方式。因PLCMSCOMM控件Windows下的标准控件,在此不再详细说明。 # # 2、在计算机中接收与发送资料程序GlobalSendToPLCString_485(11)As

11、ByteGlobalReadFromPLCString_485()AsByteGlobalReadFromPLCStringLenAsIntegerAsInteger)PublicSubDoCommPort(DoTypeAsInteger,PortNoTemp用于串口的打开与关闭OnErrorGoToCOMMErrorCOMMOpenFlag(PortNoTemp)=FalseIfDoType=1ThenFalseThenTrueTrueThenFalseIfFormMain.PLCComm(PortNoTemp).PortOpenFormMain.PLCComm(PortNoTemp).Po

12、rtOpenEndIfElseIfFormMain.PLCComm(PortNoTemp).PortOpenFormMain.PLCComm(PortNoTemp).PortOpenEndIfEndIfOnErrorGoTo0ExitSubCOMMError:IfDoType=1ThenMsgBox打开网络连接端口&Trim$(Str$(PortNoTemp)&错误!&Chr(13)&系统将无法实现连网监控或设定功能。,0,警告COMMOpenFlag(PortNoTemp)=TrueElseMsgBox关闭网络连接端口错误!,0,警告EndIfOnErrorGoTo0EndSubPrivat

13、eSubPLCComm_OnComm(IndexAsInteger)用于接收串口的字节ifPLCComm(Index).InBufferCount=13ThenReadFromPLCStringLenFormMain.PLCComm(LinkCommNo).InBufferCount位组长度ReadFromPLCString_485=FormMain.PLCComm(LinkCommNo).Input取字节FormMain.PLCComm(LinkCommNo).InBufferCount=0清除字节DimErrorFlagAsIntegerErrorFlag=0ForSampleI=0To12处理字节SampleString(SampleI)=ReadFromPLCString_485(SampleI)IfSampleI12ThenErrorFlag=ErrorFlag+SampleString(SampleI)NextSampleIErrorFlag=ErrorFlagMod256算出校验字节IfErrorFlagSampleString(12)ThenExitSubPLCNoTemp=SampleString(0)得出PLC站号EndIfEndSubPublicSubSendToPLC_SelectPLC_

温馨提示

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

评论

0/150

提交评论