技术论坛

开放式tcp通信编程与测试

作者 主题
至圣

经验值: 19411
发帖数: 2077
精华帖: 73
主题:【分享】开放式tcp通信编程与测试
推荐帖


只看楼主 楼主 2021-12-09 17:17:33

相关视频

      个人觉得200smart的tcp通信功能重要性不亚于profinet,后者是对自家产品的支持,前者是更开放的支持第三方的通信,比如机器人、视觉检测、MES系统……

    视频中是以2台200smar作为通信双方,一方作为客户端、一方作为服务器,都需要编写相应通信程序;对于手边只有一台200samrt的用户,如何进行实验?

    有方法!

    

netassist.zip

    用“网络调试助手”。这是一个小巧的绿色软件,解压后可以直接打开使用,用它可以作为客户端和服务器的虚拟机,与实际的plc进行通信测试。

   

(收工,明天继续写收发程序和测试过程)



大道至简,知易行难
以下网友喜欢您的帖子:

  
重要声明:

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

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1737913&b_id=64&s_id=0&num=21

至圣

经验值: 18416
发帖数: 2409
精华帖: 1
回复:开放式tcp通信编程与测试


只看楼主 1楼 2021-12-09 19:58:56

调试助手下载了


 
以下网友喜欢您的帖子:

  
至圣

经验值: 16430
发帖数: 2402
精华帖: 0
回复:开放式tcp通信编程与测试


只看楼主 2楼 2021-12-09 20:14:33

你这玩的挺花哨


开心每一天,懂得包容、感恩!
以下网友喜欢您的帖子:

  
至圣

经验值: 19411
发帖数: 2077
精华帖: 73
回复:开放式tcp通信编程与测试


只看楼主 楼主 3楼 2021-12-09 21:35:25
以下是引用云山雾绕在2021-12-09 20:14:33的发言 >2楼

你这玩的挺花哨

这话说的,一副少见识的样子,花哨的在后面呢!

如果是我想要嘲讽揶揄某人,我会念一段青蛇中法海的台词:般若波罗蜜,雕虫小技,竟敢班门弄斧,大威天龙!

网络调试助手是我经常用到的工具,确实非常简单实用,但还是有很多人不知道这个的。最初我是以征文故事帖提交的(这个做法性价比高,呵呵),提交后还需要审核,我不确定能否通过,于是在“漫长的”审核过程中,离下班还有一会会时间之前,在此版块发布了相同内容的帖子,抱歉,太想分享了!

       一篇帖子,只讲“连接”。程序中有“自动重连”功能,当外部连接断开,程序每秒钟会自动重连一次,直到外部连接接通,没有超时限制。

      另外有一个问题:ip地址可以是变量吗?如果是变量,还会有连接数量限制吗?不妨自己测试一下,所谓“连接数量限制”,是指同时发生的连接数量,如果用分时连接,就像轮询一样取数量舍弃一定的实时性能。


大道至简,知易行难
以下网友喜欢您的帖子:

  
奇侠

经验值: 8295
发帖数: 641
精华帖: 0
回复:开放式tcp通信编程与测试


只看楼主 4楼 2021-12-10 08:34:24

学习了,感谢楼主


努力向上
以下网友喜欢您的帖子:

  
至圣

经验值: 19411
发帖数: 2077
精华帖: 73
回复:开放式tcp通信编程与测试


只看楼主 楼主 5楼 2021-12-10 09:07:45

关于“建立TCP连接”,有几个测试:

1,cpu属性“以太网端口”---“ip地址固定为下面的值,不能通过其它方式更改”,该选项是否有必要勾选?

   不必。


2,plc连接程序中服务器IP地址可以是变量吗?

   可以。测试过程:

  


先在本机电脑网卡属性中添加不同的IP地址,我这里添加了同一网段和不同网段的IP地址,分别测试


网卡中添加过ip地址后,再次打开网络调试助手,就可以在下拉列表中选择以哪个ip地址作为通信连接。

3,plc的IP地址若和网络调试助手的ip地址不在同一网段,是否可以建立TCP连接?

   不能。

4,不在同一网段,如何建立通信连接?

   是接下来要做的测试


大道至简,知易行难
以下网友喜欢您的帖子:

  
至圣

经验值: 19411
发帖数: 2077
精华帖: 73
回复:开放式tcp通信编程与测试


只看楼主 楼主 6楼 2021-12-10 11:28:49

TCP客户端数据的接收程序编写与测试


连接测试通过后,就可以尝试接收服务器端发送的数据。程序如上图,接收区从VB1000开始的100个字节长度作为数据缓冲区(实际虽用不到这么多,但是考虑到像相机扫描二维码信息字符长度不定,预留一些,也可以与服务器端事先约定报文定长),初始值为空。

   在网络调试助手一侧发送数据“ABCabc”,可以观察到VB1000-VB1005都有了相应的数据:


并且,实际本次接收字符的长度也有了,是6个字节长度,即6个字符。


大道至简,知易行难
以下网友喜欢您的帖子:

  
至圣

经验值: 19411
发帖数: 2077
精华帖: 73
回复:开放式tcp通信编程与测试
推荐帖


只看楼主 楼主 7楼 2021-12-10 11:31:04

TCP客户端发送数据的程序编写与测试:

用接收端的“完成”信号,触发客户端数据发送命令,发送的数据以VB500起始,发送完成后复位数据发送命令:

网络调试助手中可以观察到,从服务器端发送数据,plc端再返回数据,整个过程的耗时,约2ms



大道至简,知易行难
以下网友喜欢您的帖子:

  
至圣

经验值: 19411
发帖数: 2077
精华帖: 73
回复:开放式tcp通信编程与测试


只看楼主 楼主 8楼 2021-12-10 19:18:41

做完tcp的收发测试后,我有了一点新的想法:不如把plc的接收数据缓冲区v换成q,把plc的发送数据缓冲区v换成i,plc是否可以当做一个不依赖pn总线的从站?如果把tcp通信程序放在1ms定时中断程序中,是不是可以保证io实时性为1ms,而不受main主程序扫描时间的影响?


大道至简,知易行难
以下网友喜欢您的帖子:

  
奇侠

经验值: 5057
发帖数: 453
精华帖: 3
回复:开放式tcp通信编程与测试


只看楼主 9楼 2021-12-10 19:50:27

国产设备带以太网口的,很多都支持TCP,明天上班仿照楼主的方法,试试某川的PLC。


 
以下网友喜欢您的帖子:

  
版主

经验值: 25998
发帖数: 11809
精华帖: 43
回复:开放式tcp通信编程与测试


只看楼主 10楼 2021-12-10 22:20:12
以下是引用看雪001在2021-12-10 19:18:41的发言 >8楼

做完tcp的收发测试后,我有了一点新的想法:不如把plc的接收数据缓冲区v换成q,把plc的发送数据缓冲区v换成i,plc是否可以当做一个不依赖pn总线的从站?如果把tcp通信程序放在1ms定时中断程序中,是不是可以保证io实时性为1ms,而不受main主程序扫描时间的影响?

不用把通讯对象换成I、Q,写几条指令,程序开始写I,程序结束写Q,不一样可以吗?


 
以下网友喜欢您的帖子:

  
至圣

经验值: 19411
发帖数: 2077
精华帖: 73
回复:开放式tcp通信编程与测试


只看楼主 楼主 11楼 2021-12-10 22:46:04

先只把它当做远程IO处理,测试作为远程IO的极限实时性,再来用tcp连接作为智能从站,继而进化到共享设备,一步步体验这个过程,积累感性认知。囫囵吞枣好像是吃了一个枣,其实并不知其味!


大道至简,知易行难
以下网友喜欢您的帖子:

  
至圣

经验值: 10589
发帖数: 848
精华帖: 9
回复:开放式tcp通信编程与测试


只看楼主 12楼 2021-12-12 07:54:32

感谢楼主的分享


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

  
至圣

经验值: 13022
发帖数: 1815
精华帖: 22
回复:开放式tcp通信编程与测试


只看楼主 13楼 2021-12-13 14:48:54
以下是引用看雪001在2021-12-10 19:18:41的发言 >8楼

做完tcp的收发测试后,我有了一点新的想法:不如把plc的接收数据缓冲区v换成q,把plc的发送数据缓冲区v换成i,plc是否可以当做一个不依赖pn总线的从站?如果把tcp通信程序放在1ms定时中断程序中,是不是可以保证io实时性为1ms,而不受main主程序扫描时间的影响?

能用,单独占用整个带宽资源时时间可能也很短.但实时性应该保证不了.


 
以下网友喜欢您的帖子:

  
WCN
游侠

经验值: 486
发帖数: 70
精华帖: 1
回复:开放式tcp通信编程与测试


只看楼主 14楼 2022-01-24 14:12:29

感谢楼主分享,让我对smart tcp理解更深了,另外调试助手也很好,画面简洁


 
以下网友喜欢您的帖子:

  
游民

经验值: 131
发帖数: 4
精华帖: 0
回复:开放式tcp通信编程与测试


只看楼主 15楼 2022-01-30 20:24:42



 感谢分享


 
以下网友喜欢您的帖子:

  
侠客

经验值: 655
发帖数: 97
精华帖: 0
回复:开放式tcp通信编程与测试


只看楼主 16楼 2022-04-05 12:01:27

谢谢分享,,学习到了。。


 
以下网友喜欢您的帖子:

  
至圣

经验值: 13635
发帖数: 2834
精华帖: 32
回复:开放式tcp通信编程与测试


只看楼主 17楼 2022-04-13 14:39:31

既然都叫开放式了,那应该不能只是支持西门子吧?Excel是否能通过这个开放式,连上smart呢?


国人当自强 共同努力 抵制日货
以下网友喜欢您的帖子:

  
至圣

经验值: 19411
发帖数: 2077
精华帖: 73
回复:开放式tcp通信编程与测试


只看楼主 楼主 18楼 2022-04-14 11:25:43
以下是引用李岩在2022-04-13 14:39:31的发言 >17楼

既然都叫开放式了,那应该不能只是支持西门子吧?Excel是否能通过这个开放式,连上smart呢?


excel访问外部数据是通过API,而不是实际的物理接口,比如打印机,要先安装应用插件的


大道至简,知易行难
以下网友喜欢您的帖子:

  
游民

经验值: 105
发帖数: 3
精华帖: 0
回复:开放式tcp通信编程与测试


只看楼主 19楼 2023-03-27 13:26:35

怎么下不了


 
以下网友喜欢您的帖子:

  
收起
开放式tcp通信编程与测试
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。