倍福TC3与施耐德变频器ATV320的EtherCAT通讯说明

前言

本文主要介绍倍福PLC和施耐德ATV320变频器通过EtherCAT通讯完成基本监控的工控案例。

一、硬件介绍

1,倍福PLC(嵌入式和IPC均适用),编程使用TwinCAT3;
2,施耐德变频器,ATV320系列,需配置EtherCAT 通讯卡VW3A3601,通讯卡的机械适配器,VW3A3600

在这里插入图片描述

二、变频器参数配置

设置变频器的通讯模式为“通讯卡”
在这里插入图片描述
1)全部(FULL)→命令(CtL-)→(FR1-)
在这里插入图片描述

2)使用出厂设置,FrC数保持默认不变;
在这里插入图片描述

3)使用出厂设置,CHCF数保持默认不变;
在这里插入图片描述

三、倍福TC3配置

1、加载变频器EtherCAT通讯的XML文件(Schneider_Electric_ATV320_V116.xml)到安装目录下的文件夹位置;在这里插入图片描述

2、加载XML文件后可以在TC3中扫描到组态的硬件
如果扫描不到,可以手动添加
在这里插入图片描述

3,扫描到硬件后,配置变频器的过程数据PDO
在这里插入图片描述
PLC的控制数据配置了控制字“CMD”和设定频率“LFR”;
在这里插入图片描述

PLC的接收数据配置了状态字“ETA”,实际频率“RFR”,实际转矩“OTR”,实际电流“LCR”等
在这里插入图片描述

四、建立PLC变量,关联PDO

在这里插入图片描述
在这里插入图片描述
对应PDO的数据,建立PLC变量的结构体类型。变频器的控制字和状态字比较关键,建议也创建结构体类型,把Word解析成Bit,方便程序使用。
状态字:
在这里插入图片描述
在这里插入图片描述
控制字:
在这里插入图片描述
在这里插入图片描述

五、根据状态图表,编写逻辑程序

在这里插入图片描述
要实现对变频器的控制,就是向第四章中,结构体实例化后建立的PLC变量写控制字和控制速度;
Step 1,给变频器控制代码16#0006,变频器变为上电准备模式;
Step 2,在上电准备模式,给变频器控制代码,16#0007,变频器变为上电状态;
Step 3,在上电准备状态,变频器停止,此时给出变频器目标频率,发送16#000F,变频器运行;
Step 4,在变频器运行状态,发送16#0007,变频器停止。
控制代码#0006,#0007,000F的含义查看参考资料如下:
控制代码参考:
在这里插入图片描述
状态代码参考:
在这里插入图片描述
附上变频器启停程序如下

PROGRAM VF_Control
VAR
	AutoStart:BOOL;						//自动启动
	AutoStop:BOOL;						//自动停止		
	AutoTargetVel:WORD;					//自动设定频率
	btnManualStart:BOOL;				//手动启动
	btnManualStop:BOOL;					//手动停止
	ManualTargetVel:WORD;				//手动设定频率
	ManualMode:BOOL;					//选择手动模式
	VF_StatusUnpack: MEM.UnpackWord;	//解析状态字
	VF_ControlUnpack: MEM.UnpackWord;	//解析控制字
	btnEnable:BOOL;						//允许上电操作

END_VAR
//1.从未上电模式变为准备上电模式
IF VF_StatusUnpack.byLowByte=16#50  AND  btnEnable THEN 
	GVL.VF_Rdata1.ATV_RPDO_Output1_ControlWord:=16#0006;
END_IF

//2.从准备上电模式变为上电模式
IF VF_StatusUnpack.byLowByte=16#31 AND btnEnable THEN 
	GVL.VF_Rdata1.ATV_RPDO_Output1_ControlWord:=16#0007;
END_IF

//3.从上电模式(停止)变为运行
IF VF_StatusUnpack.byLowByte=16#33 THEN 
	IF NOT ManualMode AND  AutoStart THEN 
		GVL.VF_Rdata1.ATV_RPDO_Output2_TargetVelocity:=AutoTargetVel;
		GVL.VF_Rdata1.ATV_RPDO_Output1_ControlWord:=16#000F;
	ELSIF ManualMode AND  btnManualStart THEN 
		GVL.VF_Rdata1.ATV_RPDO_Output2_TargetVelocity:=ManualTargetVel;		
		GVL.VF_Rdata1.ATV_RPDO_Output1_ControlWord:=16#000F;	
	END_IF
END_IF

//4.从运行变为上电模式(停止)
IF VF_StatusUnpack.byLowByte=16#37 THEN 
	IF NOT ManualMode AND  AutoStop THEN 

		GVL.VF_Rdata1.ATV_RPDO_Output1_ControlWord:=16#0007;
	ELSIF ManualMode AND  btnManualStop THEN 
	
		GVL.VF_Rdata1.ATV_RPDO_Output1_ControlWord:=16#0007;	
	END_IF
END_IF

总结

倍福PLC通过EtherCAT控制其它变频器可以借鉴,举一反三。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值