博途 TIA Portal之1200做从站与调试助手的TCP通讯

其实,1200做从站与调试助手做TCP通讯很简单,只需要在组态时把"主动建立连接"放在对侧即可。但是我们还是要从头讲起,以方便没有基础的朋友能直接上手操作。

1、硬件准备

1200PLC一台,带调试助手的PC机一台,调试助手是我经常使用HslCommunicationDemo。网线2根,交换机一台,都是常规的。

2、配置的方法

与1200做主站与调试助手的TCP通讯基础上是相同的。

关于1200做主站与调试助手的TCP通讯详见以下链接::博途 TIA Portal之1200做主站与调试助手的TCP通讯-CSDN博客

2.1在博途中新建项目

添加设备时添加1200PLC,同时在"属性"/"以太网设置"中设置"IP地址",新建"子网",开启"系统和时钟存储器"。

开启"系统和时钟存储器"的目的是的编程时偷懒,可以周期性发送数据。

2.2、新建全局DB块,并取消勾选"块的优化访问",新建2个变量,这样就可以收发数据了。

因为篇幅的限制,我每次只开一个数组的显示,但是朋友你要懂得,你需要的数据是多少个。

关于"偏移量"的显示,再说一遍,是在取消勾选"块的优化访问"属性后,需要"编译"一遍才会有。

2.3、编程

2.3.1程序

cs 复制代码
VAR
  TSEND_C_Instance {S7_SETPOINT := 'True'} : TSEND_C;
  TRCV_Instance {S7_SETPOINT := 'True'} : TRCV;
  UiVar : UInt;
  
END_VAR
cs 复制代码
#TSEND_C_Instance(CONNECT:="PLC_1_Send_DB",
                  DATA:=P#DB1.DBX0.0 Word 10,//注意地址指针的写法
                  CONT := TRUE,
                  REQ := "Clock_1Hz",
                  LEN := 20);
 
#TRCV_Instance(DATA:=P#DB1.DBX20.0 Word 10,//注意地址指针的写法
               ID:=1,                //此行需要手输入
               EN_R := TRUE,
               LEN := 20,
               RCVD_LEN=>#UiVar);

从上面的程序中可知,我调用了2个指令TSEND_C和TRCV。有两点需要注意:A、TRCV指令中"ID:=1"是查看过TSEND_C组态信息的"连接ID"后手动输入的,指令中没有链接ID就无法接收数据;B、带"_C"的指令组态时会有建立连接的功能,展现给我们看的就是如下图所示的配置:

2.3.2、TSEND_C组态如下

注意:"主动建立连接"的单选框变了。指令中"_C"代表建立连接,但是不代表主动建立连接。"主动建立连接"代表是主站,没有选此项的代表是从站。上图可能是与博途做主站时唯一的不同点了。

带"_C"的组态时有"连接参数"的选项卡,指令中不带"_C"就没有这个选项卡。当我们与TRCV指令对比一下就比较清楚了。

注意上图中的起始地址,在组态时这样配置了,编译时会报错,需要改为程序中绝对地址的指针。

2.3.3、TRCV组态

从上图中我们可以看到,没有"_C"的指令是没有"连接参数"这个选项卡的;同时,在这个组态中,也没有链接ID的选项,因此我们需要的程序中手输进去,才能正常通讯。

3、调试

3.1调试助手的设置

调试前有一点需要说明,调试助手中有"本地端口"需要设置,否则不能建立连接。当本地端口为空时,会收到报错信息,如下图所示。

3.2、PLC发给调试助手的数据

调试助手侧收到的信息如下图所示。

因为调试助手中是以字节显示的,而PLC发的是WORD,因此调试助手中两个字节组成一个字,即可发现,两者信息一致。

3.3调试助手发送给PLC的数据

PLC中收到的信息如下所示。

至此,显示结束。

读过该文章,如果你觉得有用,期待您的关注,分享、点赞和收藏;如有问题沟通或指正,欢迎评论留言。如有其它品牌工控产品诉求,也可留言,作者择机上新;感谢您浏览本到文章,作者是一个工控博主,长期从事工控行业技术;

相关推荐
白帽黑客沐瑶6 小时前
【网络安全就业】信息安全专业的就业前景(非常详细)零基础入门到精通,收藏这篇就够了
网络·安全·web安全·计算机·程序员·编程·网络安全就业
树码小子7 小时前
Java网络编程:(socket API编程:TCP协议的 socket API -- 回显程序的服务器端程序的编写)
java·网络·tcp/ip
绿箭柠檬茶8 小时前
Ubuntu 服务器配置转发网络访问
服务器·网络·ubuntu
FPGA_Linuxer9 小时前
FPGA 40 DAC线缆和光模块带光纤实现40G UDP差异
网络协议·fpga开发·udp
real 19 小时前
传输层协议UDP
网络·网络协议·udp
路由侠内网穿透10 小时前
本地部署 GPS 跟踪系统 Traccar 并实现外部访问
运维·服务器·网络·windows·tcp/ip
喵手13 小时前
玩转Java网络编程:基于Socket的服务器和客户端开发!
java·服务器·网络
徐子元竟然被占了!!15 小时前
实验-基本ACL
网络
ftpeak16 小时前
从零开始使用 axum-server 构建 HTTP/HTTPS 服务
网络·http·https·rust·web·web app
LabVIEW开发16 小时前
LabVIEW气体污染无线监测
网络·labview·labview知识·labview功能·labview程序