TwinCAT3之Ads通讯——1、控制器和控制器间通讯

目录

1 简介

2 硬件连接

3、工程和配置

3.1 Ads Mast主工程

3.2 创建从机工程

4 Ads主机中读写操作测试

4.1 Mast读操作

4.2 Mast写操作


1 简介

          ADS通讯是倍福公司定义的一种专门协议,用于TwinCATsheb 之间非周期性通讯。既可以用控制器内部通讯、控制器跟控制器之间通讯也可以用于控制器和PC高级语言通讯。Ads通讯是基于TCP/IP之上的应用协议,所以控制器之间在进行使用Ads通讯时需要确保TCP/IP网络连接正常。需要注意的是,有线连接和无线连接都可以使用,在使用无线连接时通讯时间更长。

2 硬件连接

CX2020一台、 CX5130两台、 PC电脑一台、路由器一台。 主控制器使用CX2020,两个从机使用CX5130,使用普通家用路由器/交换机组网。个人PC电脑作为TwinCAT3程序开发使用。

3、工程和配置

3.1 Ads Mast主工程

创建Twincat3工程、程序PLC程序工程,搜索和选择Mast控制器。

 在SYSTEM——Routes中建立Ads通讯路由,分别将两个从机添加进去

 添加变量

    intput1			:BYTE;				//存储读取到的Slave1的值
	output1			:BYTE;				//发送给Slave1的值
	adsread1		:adsread;
	adswrite1		:adswrite;
	
	adsread2		:adsread;
	adswrite2		:adswrite;			
	intput2			:BYTE;				//存储读取到的Slave2的值
	output2			:BYTE;				//发送给Slave2的值
	
	bread			:BOOL;				//读指令——上升沿有效
	bwrite			:BOOL;				//写指令——上升沿有效

对从机1读写和操作程序

//从机1——Ads读
adsread1(
	NETID:='5.99.194.158.1.1' , 				//要访问设备的 NetID
	PORT:=851 , 								//对方设备端口号
	IDXGRP:=16#00004020 , 						//要访问读的数据组	16#4020:%MB
	IDXOFFS:=2 , 								//要访问的数据地址 : 0开始,第2个
	LEN:= SIZEOF(intput1), 						//读或者写的字节数
	DESTADDR:= ADR(intput1), 					//目的地址(读)或者源地址(写)
	READ:=bread , 								//触发信号,上升沿有效
	TMOUT:=T#2S , 
	BUSY=> , 
	ERR=> , 
	ERRID=> );

//从机1——Ads写	
adswrite1(
	NETID:='5.99.194.158.1.1' , 
	PORT:=851, 
	IDXGRP:=16#00004020, 						//要访问写的数据组	16#4020:%MB
	//IDXOFFS:=16#00000005, 						//地址:从0开始,第五个
	IDXOFFS:=8, 								//地址:从0开始,第8个
	LEN:=SIZEOF(output1) , 
	SRCADDR:=ADR(output1) , 
	WRITE:=bwrite , 
	TMOUT:=T#2S , 
	BUSY=> , 
	ERR=> , 
	ERRID=> );

对从机2读和写操作

//从机2——Ads读
adsread2(
	NETID:='5.98.231.144.1.1' , 				//要访问设备的 NetID
	PORT:=851 , 								//对方设备端口号
	IDXGRP:=16#00004020 , 						//要访问读的数据组	16#4020:%MB
	IDXOFFS:=2 , 								//要访问的数据地址 : 0开始,第2个
	LEN:= SIZEOF(intput2), 						//读或者写的字节数
	DESTADDR:= ADR(intput2), 					//目的地址(读)或者源地址(写)
	READ:=bread , 								//触发信号,上升沿有效
	TMOUT:=T#2S , 
	BUSY=> , 
	ERR=> , 
	ERRID=> );
	
//从机2——Ads写		
adswrite2(
	NETID:='5.98.231.144.1.1' , 
	PORT:=851, 
	IDXGRP:=16#00004020, 						//要访问写的数据组	16#4020:%MB
	//IDXOFFS:=16#00000005, 						//地址:从0开始,第五个
	IDXOFFS:=8, 								//地址:从0开始,第8个
	LEN:=SIZEOF(output2) , 
	SRCADDR:=ADR(output2) , 
	WRITE:=bwrite , 
	TMOUT:=T#2S , 
	BUSY=> , 
	ERR=> , 
	ERRID=> );

激活和运行Mast程序工程

3.2 创建从机工程

 分别创建两个从机程序工程,选择对应的PLC。在Routes中点开发现已经自动关联了主机地址。

 从机Main程序中创建变量:DATA    AT%MB0: ARRAY[1..10] OF BYTE;            //MB0-MB9

 然后激活和运行从机工程

4 Ads主机中读写操作测试

4.1 Mast读操作

 

4.2 Mast写操作

工程下载连接:

TwinCAT3Ads通讯(1主2从).rar-制造文档类资源-CSDN下载

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
Twincat3 ADS通讯是Beckhoff公司开发的一种用于实时数据传输和控制的通讯协议。ADS代表"Automation Device Specification",它提供了一种高效、可靠的方式,使得不同的设备可以在实时环境中进行通信。 Twincat3 ADS通讯通过TCP/IP协议实现,可以应用于不同的物理层和网络拓扑结构。它支持点对点和多点到多点的通信模式,并且具有低延迟、高带宽的特点。 ADS通讯的基本构成是Client和Server,其中Client可以是Twincat PLC、HMI或其他应用程序,而Server则是承担实际数据处理和传输任务的设备或程序。Client和Server之通过AdsLib库进行通信,通过发送请求和接收响应来进行数据传输。 Twincat3 ADS通讯具有灵活的数据读写方式。Client可以通过ADS API发送请求,Server则根据请求进行数据读取或写入,并将结果返回给Client。此外,ADS通讯还支持周期性数据传输,可以实现实时数据的更新和同步。 使用Twincat3 ADS通讯可以实现高效的实时控制和监控系统。它可以方便地与各种设备和系统进行接口对接,同时还提供了强大的调试和诊断功能。通过ADS通讯,用户可以实时获取设备状态、控制操作和传输数据,从而提高生产效率和质量。 总之,Twincat3 ADS通讯是一种可靠、高效的实时通讯协议,通过它实现的系统可以实现快速、准确的数据传输和控制。它在工业自动化和控制领域有着广泛的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Big_潘大师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值