欢迎来到天天文库
浏览记录
ID:5272085
大小:210.38 KB
页数:3页
时间:2017-12-07
《用vb实现twido plctcp/ip通讯》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、2010年第1期工业仪表与自动化装置·87·用VB实现TwidoPLC的TCP/IP的通讯刘华,蔡一飞(1.佛山市天然气高压管网有限公司,广东佛山528061;2.广州广日电气设备有限公司,广州511447)摘要:介绍了VisualBasic实现计算机与SchneiderTwidoPLC使用TCP/IP通讯的方法,并列出了实例源程序。关键词:VisualBasic;PLC;TCP/IP;通讯中图分类号:TN91文献标志码:B文章编号:1000—0682(2010)01—0087—03RealizestheTwidoPLCTCP/IPcommunicationwithVB
2、LIUHua,CAIYifei(1.FoshanNaturalGasHigh-pressurePipelinesCo.,LTD,GuangdongFoshan528061,China;2.ElectricityFacilitiesGnangriGuangzhouCo.,LTD,Guangzhou511447,China)Abstract:ThisarticleintroducedVisualBasicrealizesthecomputerandSchneiderTwidoPLCusestheTCP/IPcommunicationthemethod,andlistthee
3、xamplesourceprogram.Keywords:VisualBasic;PLC;TCP/IP;communication0引言1配置SchneiderTwido系列PLC支持TCP/IP的通讯,对于PLCTWDLCAE40DRF,设定其以太网配置如图2所示。尤其是TWDLCAE40DRF提供了内置的以太网接口,能实现图1所示的通讯结构,通过HUB,不仅能对Twido进行编程,也能对TwidoPLC中的数据进行读写,也可不用HUB,通过交叉网线实现计算机与PLC的直接连接。对Twido进行编程,需要在电脑上安装PLC的编程软件,但用VB能对TwidoPLC中的数
4、据进行读写操作。该文列举了用VB实现对TWIDOPLC中的字实现写操作的实例,并列出了验证过的源程序。TWOLCAE4ODR图2以太网配置图图1通讯结构收稿日期:2009—04—07作者简介:刘华(1975),男,湖北人,工程师,从事自动控制系统的设计开发调试,PLC、人机界面应用软件开发,SCADA系统设计图3远程主机的IP地址开发维护等工作。·88·工业仪表与自动化装置2010年第1期对于上位机,利用VB的WinSock套接字控件Winsock1.Close能很容易地进行编程。新建1个套接字对象,设定EndIf其属性如右,注意其远程主机的IP就是以上TWDL-End
5、SubCAE40DRF的IP地址,见图3。PrivateSubTimerl2源程序_Timer()OnErrorGoToErrProc下面是VB源程序:DimSendStr(11)AsByteOptionExplicitDimRcvStr()AsBytePrivateConstMAXSIZE——SEND=10000一次SendStr(0)=0交换识别号高字节,通常发送数据的最大长度为0PrivateConstCMD_ONLINE=“ONLINE”发送SendStr(1)=0交换识别号低字节,通常联机指令为0PrivateConstCMD—OFFLINE=“OFFLINE
6、”发SendStr(2)=0协议识别号高字节,为0送脱机指令SendStr(3)=0协议识别号低字节,为0PrivateConstCMD—QUERY=“QUERY”发送SendStr(4)=0字节长度高字节状态查询指令SendStr(5)=6以下字节长度低字节SendStr(6)=255单元识别号,确省为PrivateSubcmdExit255—Click()UnloadMeSendStr(7)=&H3读多个字命令代码EndSubSendStr(8)=0读数据的起始地址高字节建立网络连接SendStr(9)=0读数据的起始地址低字PrivateSubCommand2节一
7、Click()OnE1TOrResumeNextSendStr(10)=0数据长度高字节Winsock1.CloseSendStr(11:2read%mwO%mwlWinsock1.Connect“85.16.1.1”.502DimaStrAsStringIfEITThenDimiAsIntegerMsgBox“网络连接时发生错误:”&Err.Fori=0To1lDescription,vbCritical,“网络连接”aStr=aStr&Chr(SendStr(i))Err.ClearNextEndIfWinsock1.SendData
此文档下载收益归作者所有