以太网接口的plc上位机通讯系统设计_第1页
以太网接口的plc上位机通讯系统设计_第2页
以太网接口的plc上位机通讯系统设计_第3页
以太网接口的plc上位机通讯系统设计_第4页
以太网接口的plc上位机通讯系统设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

70年代中期,Unix引入该协议后极大的促进了它的发展,许多公司都推出了基于TCP/IP协议的软件包和工业产品,现在公司的Windows98/2000/XP和基于Windows开发的VB6.0等都包含了TCP/IP协议,公司的PLC产品也开发生某自动售货机系统设计中,本地的下位机控制采用公司的FBs系列PLC进行售货1TCP/IP协议的VB6.0编写,为便于实现售货的数据统计和交换,VB通过写操作把数据导入Excel中。132电磁阀能同时销售货品。考虑到成本,系统采用共用ABCD的方式,在输出控制上用多点巡回扫描方式,图2示出PLC巡回扫描电路设计。2PLC并且用时间控制来决定不同类别的出液量。PLC还必须记录每次销售货品的类别和该销售所发生所在售货台的站号,以便PC实时的统计。号解出后转为CPUPort1传送给直接连接之CPU主机或与Port1连接之其它CPU主机。此一转换过程完全为透通(Transparent)CPU主软体把模块服务模式(Servermode),在服务模式下本模块会等待网络传来的讯息,译码之后将此讯息传到串行通讯端口给CPU主机。CPU主机回复的讯息待本模块接收后会再将其打包置如图3所示,协议采用标准通讯协议。具体项目解释如下:IPAddress:本模块的网络地址SubnetMask:本模块的子网络掩码Operationmode:客户或服务工作模式选择Protocol:FatekModBus/TCP通讯协议选择,ModBus/TCP仅能使用于Server3PLC5和通5.1通讯协议和系均可概分为6个数据域位,如图4所示,具体解释如下。图4PLC通讯协议讯息格开头字符(STX):ASCII码之开始字符STX,接收方以此判知传输数据之开头作类别,例如要求或写入单点状态、填入或缓存器数据、强制设定、运转、停止…..侦误值(CHECKSUM):侦误值系将前述~ASCII16进制数值以“纵式余数查核法”LRC(LongitudinalRedundancyCheck)Byte长度(16进码值(8位长度)从头至尾依序相加,但不考虑进位,因此最终结果仍为8位长度之侦误值;结尾字符(ETX):ASCII码之结尾字符ETX1603HETX字符后便知该次通讯已结束。本系统运行界面所需的数据是PLCR0-R91016BIT的数据,依照协解释为:连续多个缓存器之数据。R0-R9的PC命令的ASCII码写法为:数据累加,舍弃进位的规则VB的LRC编程如下:PrivateFunctionLrc(Dats)AsStringDimiDimSumSum=Fori=1ToSum=Sum+Asc(Mid(Dats,i,1))NextiIfLen(Hex(Sum+2))=1ThenHex(Sum+2)="0"+Hex(Sum+Lrc=Right(Hex(Sum+2),2)EndFunction5.2VBTCP/IPTCP/IP协议的底层编程很复杂,VB6.0提供了基于WindowsSockets网络编程接可见的控件,它对WinsockAPI进行了封装,可以不必了解TCP/IP细节就可以调用WinsocRemoteHostIP:机器的IP地址;SocketHandle:WinsockAPI的句柄参数;Protocol:设置使用的协议(TCP或UDP)TCPUDP采用:TCP是一种面向连接的服务,在文件传输时会先行建立连接,通过链文件传输的正确性;UDP则是一种无连接的服务,它在传输文件时不会确保传输端的文件能够正确无误的传送到接收端,所以当使用UDP时,通常要自己作接收确认的工作。该系统发送的数据比较小,而且多用在本地的局域网内,利用UDP协议无需建立连接占用的资源少,编程简单的优势,采用UDP协议向服务器请求资料。VB程序启动且立即设置WinsockPrivateSubForm_load()Winsock1.Protocol=sckUDPProtocolWinsock1.RemoteHost="68"Winsock1.RemotePort=500EndSubPrivateSubWinsock1.SendData(Chr(2)+EndPrivateSubWinsock1_DataArrival(ByValbytesTotalAsLong)DimInRbufAsStringDimInR(0To9)AsStringWinsock1.GetDataInRbufInRbuf=Mid(Buf,4,44)ForK=0ToInR(K)=Val("&H"+Mid(InRbuf,4*K+1),4))`数据处理,R0-9InR(0-9)Text1.Text=InR(0)EndSub在该功能设计中,在VB中了Excel11.0ObjectLibrary,另外配合ExcelVBA(宏)Excel,极其方便销售数据的统计,Excel5所示,VB部分源码如下:5ExcelSetxlApp=`创建EXCELxlApp.Visible=`设置EXCELSetxlBookxlApp.Workbooks.Open("cSale.xls")`打开EXCELSetxlsheet=`打开EXCELxlsheet.Activate`激活工作表xlsheet.Range("A6:D5000").Value`运行EXCEL中的启动宏xlsheet.Cells(12InR(0`A类和xlsheet

温馨提示

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

评论

0/150

提交评论