技术论坛

[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯

作者 主题
至圣

经验值: 12747
发帖数: 5864
精华帖: 44
主题:【分享】[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯
精华帖精华帖星级3级 推荐帖


只看楼主 只看精华 楼主 2018-11-22 12:33:38

 

西门子S7-1500集成的PN口,支持开放式以太网通讯,应用最多的是TCP和UDP通讯,本文以UDP为例介绍一下TCON、TUSEND、TURCV功能块的用法。因为西门子第三方通讯时,不能直接通过组态完成连接,需要调用TCON功能块实现连接,所以本文选和第三方标准以太网接口为通讯对象。详细步骤如下:

1、打开程序,在右方指令列表中找到通信-开放式用户通信-其他-TCON,拖入程序中,自动创建背景DB,块的详细信息按F1通过帮助文档查看,此处不做详细说明。用鼠标点击通信块蓝色梯形图案打开组态对话框,如下图:


 

 

2、在组态对话框中连接类型-选择 UDP,连接ID可以选择默认值或者手动设置,连接ID在后面的发送和接收程序中会用到。连接数据选择新建,系统会自动创建一个DB块,如图本例中系统自动创建的DB块为UDP_Connection_DB_1


 

 

地址详细信息中本地端口可以选择默认设置或者手动指定


 

 

3、UDP的简单配置已经完成,下面创建发送程序,在右方指令栏选择通信-开放式用户通信-其它-TUSEND,块的详细信息请查看帮助文档。

ID一栏填入TCON组态时设置的ID号,LEN填写需要发送的数据长度,DATA填写需要发送的数据存储位的首地址的指针地址,本例程使用的是P#DB3.DBX0.0 BYTE 4,意思是发送由DB3.DBX0.0开始的4个字节的地址。


 

 

 

待发送数据存储位置,红方框内为待发送的4个BYTE类型的数据

 


ADDR填写 TADDR_Param类型的地址,这里需要用户手动创建,新建一个DB数据块在数据类型里面输入TADDR_Param可创建如下红色方框内的数据,展开REM_IP_ADDR,分别在REM_IP_ADDR[1]-[4]中输入与PLC进行通信伙伴的IP地址,在REM_IPORT_NR输入远程通信伙伴的端口号。

 

打开双页视图,鼠标左键长按TADDR_Param类型的变量名,将其拖入左边发送块的ADDR管脚处,或者在ADDR管脚直接输入“DB块名称.变量名称”。

 

4、UDP接收程序,在右方指令栏选择通信-开放式用户通信-其它-TURCV,块的详细信息请查看帮助文档。接收程序的配置与发送程序配置基本相同,ID一栏填入TCON组态时设置的ID号,LEN填写需要接收的数据长度,DATA填写需要接收的数据存储位的首地址的指针地址,本例程使用的是P#DB3.DBX6.0 BYTE 4,意思是接收到的数据存储在由DB3.DBX6.0开始的4个字节的地址。可以直接将发送程序的ADDR管脚的地址复制到接收程序的ADDR管脚。

 



数字飞舞
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1524313&b_id=66&b_sid=0&num=0

至圣

经验值: 12543
发帖数: 1843
精华帖: 0
回复:[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯
推荐帖


只看楼主 只看精华 1楼 2018-11-22 13:27:45

先收藏,在慢慢看!


邮箱 yongquancun@126.com
以下网友喜欢您的帖子:

  
侠圣

经验值: 2484
发帖数: 368
精华帖: 1
回复:[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯
推荐帖


只看楼主 只看精华 2楼 2018-11-22 17:56:08

一直用的TRCV_C,TSEND_C和TRCV


 
以下网友喜欢您的帖子:

  
至圣

经验值: 10588
发帖数: 848
精华帖: 9
回复:[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯
推荐帖


只看楼主 只看精华 3楼 2018-11-23 08:03:41

感谢楼主的分享


学如逆水行舟,不进则退! wwhoho@163.com
以下网友喜欢您的帖子:

  
奇侠

经验值: 5622
发帖数: 541
精华帖: 3
回复:[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯
推荐帖


只看楼主 只看精华 5楼 2018-11-23 10:37:13


谢谢楼主分享。


学无止境
以下网友喜欢您的帖子:

  
侠士

经验值: 1225
发帖数: 43
精华帖: 0
回复:[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯
推荐帖


只看楼主 只看精华 6楼 2018-11-24 08:24:54

感谢楼主分享。能否将第三方的通信配置再分享下?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 11049
发帖数: 651
精华帖: 5
回复:[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯
推荐帖


只看楼主 只看精华 7楼 2018-11-24 09:11:15

谢谢楼主的分享,我才知道了TCP与UDP的区别。

1、TCP与UDP区别总结:

1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付

Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。

3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。

4.每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信

5、TCP对系统资源要求较多,UDP对系统资源要求较少。



人生如逆水行舟,不进则退。
以下网友喜欢您的帖子:

  
至圣

经验值: 18067
发帖数: 1524
精华帖: 2
回复:[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯


只看楼主 只看精华 8楼 2018-11-26 09:02:44

谢谢分享,楼上的总结得很好。


我回来了!继续努力!
以下网友喜欢您的帖子:

  
侠士

经验值: 1690
发帖数: 347
精华帖: 0
回复:[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯


只看楼主 只看精华 9楼 2018-11-28 16:39:51

留存,以后有类似的可以借用


向大家学习,为老板服务。 see@21cn.com
以下网友喜欢您的帖子:

  
侠圣

经验值: 2108
发帖数: 38
精华帖: 0
回复:[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯


只看楼主 只看精华 10楼 2018-11-29 09:38:55

感谢楼主,已经存档


初阶学习者
以下网友喜欢您的帖子:

  
至圣

经验值: 16723
发帖数: 1309
精华帖: 2
回复:[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯


只看楼主 只看精华 11楼 2018-12-28 10:49:55

我一直没有实践过 谢谢



同一个问题ID下,已经先回答此问题的人,如再参考我答案而修改自己答案的,就是王八蛋!
以下网友喜欢您的帖子:

  
游民

经验值: 51
发帖数: 1
精华帖: 0
回复:[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯


只看楼主 只看精华 13楼 2019-07-23 09:00:22

学习收藏,谢谢分享


 
以下网友喜欢您的帖子:

  
游民

经验值: 100
发帖数: 34
精华帖: 1
回复:[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯


只看楼主 只看精华 14楼 2019-11-08 20:46:19

这个太有用了,感谢楼主分享,收藏之后慢慢研究实验。



 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
[博途]S7-1500通过TCON_TUSEND_TURCV功能块与第三方实现UDP通讯
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。