在WINCC中使用WinSock控件进行TCP

上传人:博****1 文档编号:499762410 上传时间:2024-01-30 格式:DOCX 页数:20 大小:51.64KB
返回 下载 相关 举报
在WINCC中使用WinSock控件进行TCP_第1页
第1页 / 共20页
在WINCC中使用WinSock控件进行TCP_第2页
第2页 / 共20页
在WINCC中使用WinSock控件进行TCP_第3页
第3页 / 共20页
在WINCC中使用WinSock控件进行TCP_第4页
第4页 / 共20页
在WINCC中使用WinSock控件进行TCP_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《在WINCC中使用WinSock控件进行TCP》由会员分享,可在线阅读,更多相关《在WINCC中使用WinSock控件进行TCP(20页珍藏版)》请在金锄头文库上搜索。

1、在 WINCC 中使用 WinSock 控件进行 TCP/IP 通讯的例程目录一、WinSock控件介绍(以VB语言表述)11、WinSock 控件的主要属性12、WinSock 控件的主要方法23、WinSock 控件的主要事件3二、WinSock 控件在 WINCC 中的使用31、WinSock 控件注册32、在 WinCC 中添加 WinSock 控件 4三、服务器端程序介绍4四、WinCC 画面模板与结构变量的配合使用61 、结构变量定义62、画面模板组态73、调用画面模板及修改变量前缀74、将画面模板中的对象连接到变量8五、建立 TCP/IP 连接8六、接收数据包的处理10附:在 V

2、BS 中进行数据处理的局限性及变通解决方法 12摘要:关键词:VB、VBS、WINCC、WINSOCK、DLL、UNICODE、ANSI、ASCII、画面模板、 结构变量、数据转换。该文档的软件环境:Microsoft Windows XP Professional 版本 2002 SP3SIMATIC WinCC V6.2 SP2 ASIASIMATIC STEP7 V5.4+SP5+HF3 ChineseTCP&UDP测试工具 V1.02目的:使用WINCC用户程序作为客户端程序,与服务器通讯,通讯协议为标准TCP/IP协议, 取得服务器发送过来的数据包,按数据包格式文本规定,解析数据包数

3、据,并将相关数据显 示在用户程序画面中。一、WinSock控件介绍(以VB语言表述)1、WinSock控件的主要属性1)Protocol 属性通过Protocol属性可以设置WinSock控件连接远程计算机使用的协议。可选的协议是 TCP 和 UDP 对应的 VB 的常量分别是 sckTCPProtocol 和 sckUDPProtocol, Winsock 控件默 认协议是TCP。注意:虽然可以在运行时设置协议,但必须在连接未建立或断开连接后。2)SocketHandle 属性SocketHandle返回当前socket连接的句柄,这是只读属性。3)RemoteHostIP 属性Remote

4、HostIP 属性返回远程计算机的 IP 地址。在客户端,当使用了控件的 Connect 方法后,远程计算机的IP地址就赋给了 RemoteHostIP属性,而在服务器端,当ConnectRequest 事件后,远程计算机(客户端)的IP地址就赋给了这个属性。如果使用的是UDP协议那么 当DataArrival事件后,发送UDP报文的计算机的IP才赋给了这个属性。4) ByteReceived 属性返回当前接收缓冲区中的字节数5) State 属性返回WinSock控件当前的状态常数值描述sckClosed0缺省值,关闭SckOpen1打开SckListening2侦听sckConnectio

5、nPending3连接挂起sckResolvingHost4识别主机sckHostResolved5已识别主机sckConnecting6正在连接sckConnected7已连接sckClosing8冋级人贝正在关闭连接sckError9错误2、WinSock控件的主要方法1) Bind方法用Bind方法可以把一个端口号固定为本控件使用,使得别的应用程序不能再使用这 个端口。2) Listen 方法Lis ten方法只在使用TCP协议时有用。它将应用程序置于监听检测状态。3) Connect 方法当本地计算机希望和远程计算机建立连接时,就可以调用Connect方法。Connect方法调用的规范

6、为:Connect RemoteHost,RemotePort4) Accept 方法当服务器接收到客户端的连接请求后,服务器有权决定是否接受客户端的请求。5) SendData 方法当连接建立后,要发送数据就可以调用SendData方法,该方法只有一个参数,就是 要发送的数据。6) GetData 方法当本地计算机接收到远程计算机的数据时,数据存放在缓冲区中,要从缓冲区中取出 数据,可以使用Get Da ta方法。Get Da ta方法调用规范如下:GetData data,type,maxLen它从缓冲区中取得最长为maxLen的数据,并以t ype类型存放在da ta中,Get Da t

7、a取 得数据后,就把相应的缓冲区清空。7) PeekData 方法和GetData方法类似,但PeekData在取得数据后并不把缓冲区清空。3、WinSock 控件的主要事件1) ConnectRequest 事件当本地计算机接收到远程计算机发送的连接请求时,控件的ConnectRequest事件将 会被触发。2) SendProgress 事件当一端的计算机正在向另一端的计算机发送数据时,SendProgress事件将被触发。 SendProgress事件记录了当前状态下已发送的字节数和剩余字节数。3) SendComplete 事件当所有数据发送完成时,被触发。4) Dat aArriva

8、l 事件当建立连接后,接受到了新数据就会触发这个事件。 注意:如果在接受到新数据前,缓冲区中非空,就不会触发这个事件。5) Error 事件当在工作中发生任何错误都会触发这个事件。二、WinSock控件在 WINCC中的使用1、WinSock控件注册在WinCC中使用WinSock控件前,需要先进行注册。 注册方法如下:使用记事本新建一个后缀名为reg的文件,编辑文件,加入以下文本:HKEY_CLASSES_ROOTLicenses2c49f800-c2dd-11cf-9ad6-0080c7e7b78d=mlrljgrlhltlngjlthrligklpkrhllglqlrk保存文件退出。先将

9、 mswinsck.ocx 拷贝到 system32 下 再将注册表文件添加到注册表然后”运行”,输Aregsvr32 MSWINSCK.OCX,确定。2、在 WinCC 中添加 WinSock 控件在 WinCC 图形编辑器中打开需要显示服务器数据的画面,选择“对象选项板”的“控 件”选项卡,在选项卡中选择“添加/删除”,在“选择OCX控件”对话框中选择“Microsoft WinSock Control, version 6.0”进行注册。在对象选项板中的WinSock控件拖入画面中。三、服务器端程序介绍这里所要通讯的服务器端程序是运行于南车资阳机车有限公司生产的 V280/285 系列

10、船用柴油机机旁控制屏监控系统程序。以下是协议文本:通讯方式:TCP/IP侦听端口: 9105机旁柜IP地址定义:由用户根据具体网络配置决定PAC数据采集周期:1秒上位机记取数据周期: 1 秒数据包格式定义如下:上位机发送命令到PAC的数据包定义:本数据包由上位机发送到PAC,PAC根据上 位机发送的的命令执行,同时返回最新的采集数据到上位机。数据长度: 10 字节。数据类型: byte。数据包详细定义:命令代码1字节+备用代码1字节+设定转速4字节(single) +备 用1字节其中命令代码意义:1= “读数据” ;18=“转速升”;19=“转速降”。PAC 发送到上位机的数据包定义: 数据长

11、度:650 个字节。数据类型:BYTE。数据包内容详细定义及代码示意如下起始传80个浮点数,每个浮点数占用四个字节,高位在后,低位在前。OOOOOOOOh: 33 33 E7 41 00 00 E8 41 66 66 EA 41 66 66 EA 41 ;OOOOOOlOh: 33 33 EB 41 66 66 E6 41 00 00 E4 41 CD CC E0 41 ;00000020h: 66 66 DA 41 00 00 DC 41 00 00 DC 41 00 00 DC 41 ;00000030h: 66 66 DA 41 CD CC D4 41 CD CC D4 41 00 00

12、 D0 41 ;00000040h: 00 00 DC 41 00 00 DC 41 33 33 DB 41 CD CC D8 41 ;00000050h: 9A 3F 1C 46 9A 3F 1C 46 9A 3F 1C 46 9A 3F 1C 46 ;00000060h: 65 66 89 41 32 B3 95 41 CE CC 94 41 CC 2C 95 41 ;00000070h: CD 2C 8C 41 33 93 91 41 01 E0 91 41 99 19 92 41 ;00000080h: 01 C0 8F 41 01 00 8E 41 9A 59 94 41 00 00

13、 00 00 ;00000090h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;000000a0h: FC FF 0A 42 F6 FF FB 41 9A 3F 1C C6 9A 3F 1C C6 ;000000b0h: 9A 3F 1C C6 9A 3F 1C C6 9A 3F 1C C6 A3 FF 89 40 ;000000c0h: 9A 3F 1C C6 9A 3F 1C C6 9A 3F 1C C6 0F 00 B5 41 ;000000d0h: 74 FF EF 3F 9A 3F 1C C6 66 66 B8 40 9A 99

14、 FD 41 ;000000e0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;000000f0h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;00000100h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;00000110h: 8F C2 04 42 00 00 00 00 00 00 00 00 00 00 00 00 ;00000120h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00

15、 00 00 ;00000130h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;.续:PAC第一组IO输入点,2字节;PAC第二组IO输入点,2字节;PAC第一组IO输出点,1字节;PAC第二组IO输出点,1字节;PAC运行状态,1字节;PAC当前执行的命令,1字节;备用,1字节;当前设定转速,4字节;报警数目,1字节;报警信息,300字节;备用,16字节。00000140h: 05 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ;. 00000150h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;. 00000160h: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ; 00000170h: 00 00 00 00 00 00 00

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号