SIEMENS广东省中山市西门子(授权)中国一级代理商
| 更新时间 2025-01-07 09:10:00 价格 请来电询价 变频器 西门子代理商 触摸屏 西门子一级代理 伺服电机 西门子一级总代理 联系电话 18126392341 联系手机 15267534595 联系人 梁涛 立即询价 |
TCP通信概述:
TCP是一个因特网核心协议。在通过以太网通信的主机上运行的应用程序之间,TCP提供了可靠、有序并能够进行错误校验的消息发送功能;并且能保证接收和发送的所有字节内容和顺序完全相同。
TCP协议在主动设备(发起连接的设备)和被动设备(接受连接的设备)之间创建连接。一旦连接建立,任一方均可发起数据传送。TCP协议是一种"流"协议。这意味着消息中不存在结束标志。
所有接收到的消息均被认为是数据流的一部分,S7-200 SMART之间的TCP通讯,可以通过两边调用OUC(开放式用户通信)库指令中的TCP_CONNECT、TCP_SEND、TCP_RECV、DISCONNECT指令来实现。
安装软件后,这些指令位于软件项目树中指令-库-Open User Communication文件夹中,通过开放式用户通信库指令,可以帮助客户快速便捷地实现设备间的TCP通信。
开放式用户通信库指令
创建连接TCP_CONNECT指令
EN:使能参数,一般使用SM0.0保证每个扫描周期都能开启。
Req:请求通信参数,置位时表示启动连接操作,主动连接一般使用沿触发,被动连接一般使用电平触发。
Active:1=主动连接(客户端);0=被动连接(服务器)。
ConnID:连接标识符,可能范围为0-65534。
IPAddr1-4:IP地址的从高到低四个字节。
RemPort:远程设备端口号。范围为1-49151。对于被动连接,可使用零。
LocPort:本地设备端口号。范围为1-49151,但是存在一些限制,建议采用的端口号范围为2000到5000。
Done:当连接操作完成且没有错误时,该位置位输出。
Busy:当连接操作正在进行时,该位置位输出。
Error:当连接操作完成但发生错误时,该位置位输出。
Status:如果指令置位Error输出,Status输出会显示错误代码;如果指令置位Busy或Done输出,Status为零(错误代码详见系统手册)。
终止现有连接DISCONNECT指令
EN:使能参数,一般使用SM0.0保证每个扫描周期都能开启。
Req:请求断开参数,置位时表示启动断开连接操作,一般使用沿触发。
Conn_ID:CPU使用连接ID(ConnID)标识要终止的连接。
Done:当断开连接操作完成且没有错误时,该位置位输出。
Busy:当断开连接操作正在进行时,该位置位输出。
Error:当断开连接操作完成但发生错误时,该位置位输出。
请求发送TCP_SEND指令
EN:使能参数,一般使用SM0.0保证每个扫描周期都能开启。
Req:请求发送参数,置位时表示启动发送操作,一般使用沿触发。
Conn_ID:是此发送操作所用连接的编号。
DataLen:要发送的字节数(1到1024)。
DataPtr:是指向待发送数据的指针,如&VB100。
Done:当发送操作完成且没有错误时,该位置位输出。
Busy:当发送操作正在进行时,该位置位输出。
Error:当发送操作完成但发生错误时,该位置位输出。
数据接收TCP_SECV指令
EN:使能参数,一般使用SM0.0保证每个扫描周期都能开启。
Conn_ID:是此接收操作所用连接的编号。
MaxLen:要接收的Zui大字节数(1到1024)。
DataPtr:是指向接收数据存储位置的指针,如&VB100。
Done:当接收操作完成且没有错误时,该位置位输出。
Busy:当接收操作正在进行时,该位置位输出。
Error:当接收操作完成但发生错误时,该位置位输出。
Length:实际接收的字节数。仅当指令置位Done或Error输出时,Length才有效。Done输出时,指令接收整条消息;Error位输出时,则超出缓冲区大小的部分被截断。
应用实例
通过开放式用户通信库指令,实现CPU之间的数据交换,其中客户端IP地址为192.168.2.1,服务器IP地址为192.168.2.2,客户端TSAP为“smart1”,服务器TSAP为“smart2”,ConnID设定为10,将服务器VB1000-VB1004中的数据读取至客户端VB100-VB104中,将客户端中VB200-VB204的数据写入服务器VB2000-VB2004。
客户端程序:
服务器程序:
执行结果:
联系方式
- 电 话:18126392341
- 联系人:梁涛
- 手 机:15267534595
- 微 信:15267534595