基于Winsock控件的TCPIP以太网通信.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于Winsock控件的TCP/IP以太网通信要完成VB与PLC等设备的以太网通信要用到Winsock控件,在此有必要对该控件作较详细的说明。Winsock是一个ActiveX控件,需要要手动添加许多项目,其步骤如下: (1)选择菜单的【工程】。 (2)选择【部件】。 (3)在弹出的对话框中做如图6的选择。 (4)如图7所示,在部件选项卡就会出现Winsock控件。 图7 Winsock控件 7、Winsock控件的基本属性 此控件对于用户在运行时不可见,提供了一个简单的途径访问TCP及UDP网络服务而无需了解底层细节,使用时你只需设置属性、在恰当的时候调用它提供的方法即可。 主要属性有: BytesReceived:返回当前缓冲区中的字节数量,我们可以使用 GetData 方法以接收数据。只读且设计时不可用。 LocalHostName:返回本机名字符串,设计时不可用。 LocalIP:返回以(xxx.xxx.xxx.xxx)格式表达的IP地址串。设计时不可用,运行时只读。 LocalPort :本机使用接收端口可读写,设计时可用,Long型。对于客户,如果无需指定端口,则用端口0发送数据。在此情况下,控件将随机选择一个端口。在一个连接 确定后,为TCP的端口。对于服务器,指用于监听的端口。如设置为0,则用随机数。在调用Listen 方法后,该属性自动包含用到的端口。端口0总是用于在两计算机间建立动态连接。客户希望通过端口0获得一个随机端口以”回调”连接服务器。 Protocol :套接字类型,为TCP或UDP二者之一,缺省为TCP类型。设置为sckTCPProtocol表示TCP协议sckUDPProtocol表示UDP协议。在此属性被重置之前需用Close方法关闭之。 RemoteHost:发送或接收数据的主机,你可提供主机名如:FTP://,或一IP地址串,例如“”。 RemoteHostIP:远程主机的IP地址。对于客户程序,在连接确定后使用Connect方法,此属性包含远程主机的IP名串。对于服务器 程序, 在引入连接需求后(Connection Request 事件),此属性包含IP串。当使用UDP套接字,在Data Arrival事件发生后,此属性为发送UDP数据的机器IP地址串。 RemotePort:连接套接字端口值。例如通常HTTP应用使用80端口,FTP则使用21。 State:控件的状态, 只读且设计时不可用。可为以下值: 常量描述 sckClosed 0 缺省值,关闭套接字 sckOpen 1 打开套接字 sckListening 2 正监听端口 sckConnectionPending 3 正在进行未定的连接 sckResolvingHost 4 正解析主机地址 sckHostResolved 5 主机地址已解析 sckConnecting 6 正在连接 sckConnected 7 已连接 sckClosing 8 连接关闭 sckError 9 错误 8、VB与PLC基于MODBUS TCP的以太网通信的实现 以下举例说明如何实现VB与PLC的以太网通信。 (1)控制要求:用交替型按钮控制Y0,并用指示灯显示Y0状态(绿色为运行,红色为停止);能够对D100、D200两个寄存器进行数值写入与读出的操作。 (2)实现思路:同样Y0的地址分别为H0500。写入FF00为ON,0000为OFF,按功能码05操作;D100,D200地址分别为H1064,H10C8,按功能码03操作即可实现寄存器的读功能,按功能码10H操作即可实现寄存器的写功能。 (3)VB接口的设计如图8所示 图8 监控程序界面图 在界面中用按钮控制Y0的ON/OFF及D100、D200数据的写与读;用shape组件做指示灯,指示Y0的ON/OFF状态;用Winsock控件实现PLC与VB的通信。 (1)实现功能的代码构成 (2)建立网络连接 Private Sub Command1_Click() Winsock1.Close Winsock1.Connect Text1, 502 Label2.Caption = Version: 1.0 : + Format(Now, mmm dd yyyy Hh:Nn:Ss) Command1.Enabled = False Command1.Enabled = False Text1.Enabled = False End Sub (2)、Y0的ON/OFF控制 Private Sub Comd_send_Click() On Error GoTo ErrProc Dim sendstr(14) As

文档评论(0)

lizhencai0920 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6100124015000001

1亿VIP精品文档

相关文档