zl程序教程

您现在的位置是:首页 >  其它

当前栏目

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

通讯 控制器 ADS
2023-09-11 14:16:29 时间

目录

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下载