加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15267534595
公司新闻
SMART PLC的UDP通信
发布时间: 2023-11-29 10:19 更新时间: 2024-11-21 09:10

UDP通信概述:


UDP通信使用了一种协议开销Zui小的简单无连接传输模型。UDP协议中没有握手机制,因此协议的可靠性仅取决于底层网络,无法确保对发送、定序或重复消息提供保护。


对于数据的完整性,UDP还提供了校验,并且通常用不同的端口号来寻找不同连接伙伴。


S7-200 SMART之间的UDP通讯,可以通过两边调用OUC(开放式用户通信)库指令中的UDP_CONNECT、UDP_SEND、UDP_RECV、DISCONNECT指令来实现。


安装软件后,这些指令位于软件项目树中指令-库-Open User Communication文件夹中,通过开放式用户通信库指令,可以帮助客户快速便捷地实现设备间的UDP通信。



开放式用户通信库指令:


创建连接UDP_CONNECT指令


图片


  • EN:使能参数,一般使用SM0.0保证每个扫描周期都能开启。

  • Req:请求通信参数,置位时表示启动连接操作。

  • ConnID:连接标识符,可能范围为0-65534。

  • 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:当断开连接操作完成但发生错误时,该位置位输出。

  • Status:如果指令置位Error输出,Status输出会显示错误代码;如果指令置位Busy或Done输出,Status为零(错误代码详见系统手册)。


  • 请求发送UDP_SEND指令


    图片


  • EN:使能参数,一般使用SM0.0保证每个扫描周期都能开启。

  • Req:请求发送参数,置位时表示启动发送操作,一般使用沿触发。

  • Conn_ID:连接标识符,是此发送操作所用连接的编号。

  • DataLen:要发送的字节数(1到1024)。

  • DataPtr:是指向待发送数据的指针,如&VB100。

  • IPaddr1-4:IP地址的从高到低四个字节。

  • RemPort:远程设备上的端口号。远程端口号范围为1到49151。

  • Done:当发送操作完成且没有错误时,该位置位输出。

  • Busy:当发送操作正在进行时,该位置位输出。

  • Error:当发送操作完成但发生错误时,该位置位输出。

  • Status:如果指令置位Error输出,Status输出会显示错误代码;如果指令置位Busy或Done输出,Status为零(错误代码详见系统手册)。


  • 数据接收UDP_RECV指令


    图片


  • EN:使能参数,一般使用SM0.0保证每个扫描周期都能开启。

  • Conn_ID:是此接收操作所用连接的编号。

  • MaxLen:要接收的Zui大字节数(1到1024)。

  • DataPtr:是指向接收数据存储位置的指针,如&VB100。

  • Done:当接收操作完成且没有错误时,该位置位输出。

  • Busy:当接收操作正在进行时,该位置位输出。

  • Error:当接收操作完成但发生错误时,该位置位输出。

  • Status:如果指令置位Error输出,Status输出会显示错误代码;如果指令置位Busy或Done输出,Status为零(错误代码详见系统手册)。

  • Length:实际接收的字节数。仅当指令置位Done或Error输出时,Length才有效。Done输出时,指令接收整条消息;Error位输出时,则超出缓冲区大小的部分被截断。

  • IPaddr1-4:发送消息的远程设备IP地址的从高到低四个字节。

  • RemPort:发送消息的远程设备上的端口号。



  • 应用实例


    通过开放式用户通信库指令,实现CPU之间的数据交换,其中PLC1的IP地址为192.168.2.1,PLC2的IP地址为192.168.2.2,PLC1的端口为“3000”,PLC2的端口为“2000”,ConnID设定为10,将PLC2的VB1000-VB1004中的数据读取至PLC1的VB100-VB104中,将PLC1的中VB200-VB204的数据写入PLC2的VB2000-VB2004中。


    客户端程序:


    图片


    服务器程序:


    图片


    执行结果:


    图片


    联系方式

    • 电  话:18126392341
    • 联系人:梁涛
    • 手  机:15267534595
    • 微  信:15267534595