当前位置: 首页 > news >正文

BeckHoff <--> Festo Cmmt AS驱动器 EtherCat通讯

目录

一、 设备介绍

1、Festo驱动器设备

2、应用场景

3、Festo驱动器描述

性能方面

功能方面

二、PLC通讯接配置

1、硬件配置(在etherCat系统中) 

2、PDO配置

三、设备通讯接口数据类型定义

1、配置 轴IO数据类型

​编辑 2、IN 结构体数据

  3、out 结构体

四、通讯功能块变量声明 

1、轴实例与PLC变量的映射

2、轴通讯功能块变量声明

五、通讯功能块程序 

1、通讯程序调用的主要功能块   AXIS_REF_CiA402_ETC_CMMT_AS

2、通讯程序调用的主要功能块 MC_ReadAxisInfo_Festo

3、通讯程序调用的主要功能块 MC_Power_Festo

4、通讯程序调用的主要功能块   MC_Stop_Festo

5、通讯程序调用的主要功能块   ac_position

6、通讯程序调用的主要功能块   MC_ReadStatus_Festo

7、通讯程序调用的主要功能块   ac_Jog

六、通讯功能块程序分析

1、AXIS_REF_CiA402_ETC_CMMT_AS  功能块

输入接口(_In 后缀 )

输出接口(_Out 后缀 )

2、MC_ReadAxisInfo_Festo  (轴状态诊断)

1. 功能块与核心作用

2. 输入接口(左侧 )

3. 输出接口(右侧 )

4. 应用场景与价值

3、MC_Power_Festo

1. 核心功能块:MC_Power_Festo  (轴使能控制功能块)

2. 接口与信号含义

输入接口(左侧 )

输出接口(右侧 )

3. 逻辑控制:AND 与使能条件

4. 应用场景与作用

   4、MC_Halt_Festo 和 MC_Stop_Festo  功能块

4.1、暂停控制(MC_Halt_Festo)

1. 功能块作用

2. 接口与信号

4.2 停止控制(MC_Stop_Festo)

1. 功能块作用

2. 接口与信号

4.3  核心逻辑与应用场景

1. 暂停(MC_Halt_Festo)

2. 停止(MC_Stop_Festo)

4.4 总结


一、 设备介绍

1、Festo驱动器设备

2、应用场景

Festo 驱动器(以文中 Servo drive CMMT - AS 为例 )具备紧凑设计、精准控制、多协议兼容等特性,其应用场景广泛且多元:

  • 工业自动化产线:在电子、汽车等行业自动化生产线里,用于点 - 点运动、插补运动控制,像电子元件精密组装,通过精准位置、速度控制,把微小元件准确安装到电路板;汽车零部件生产中,控制机械臂搬运、装配部件,提升产线自动化程度与生产效率。
  • 机械制造设备:数控机床、加工中心等设备,借助它实现刀具、工作台的精准运动控制,保证加工精度,比如复杂曲面加工时,通过插补运动控制,让刀具沿精确轨迹运行;还可用于自动化折弯机、冲压机等,控制模具运动,完成金属板材加工。
  • 智能仓储与物流:自动化立体仓库中,堆垛机的升降、横移、货叉伸缩等运动,由驱动器精准控制,实现货物快速存取;物流分拣系统里,控制分拣装置运动,根据货物信息快速、准确分拣,适配电商、快递等行业大规模货物分拣需求。
  • 食品与包装行业:食品灌装、包装设备,如高速灌装机,控制灌装头运动与流量,实现精准定量灌装;包装机械的封切、贴标等动作,通过驱动器控制,保证包装质量与效率,且因能适配不同控制厂商系统,可灵活集成到各类食品包装产线。
  • 医疗设备制造:部分医疗设备,如自动化检测设备、药品生产设备,利用其精准控制特性,实现样本输送、试剂分配等精准操作;在一些康复医疗设备里,控制运动机构,辅助患者进行康复训练,按预设轨迹和速度运行,保障康复效果。
  • 新能源领域:太阳能电池生产设备中,控制硅片搬运、切割、焊接等运动,提升电池生产精度与效率;风力发电设备的变桨系统,通过驱动器控制叶片角度调整,优化风能捕获,提高发电效率,保障设备稳定运行 。

3、Festo驱动器描述

Festo 驱动器(以 CMMT - AS 等为代表 )驱动器描述:

性能方面

  • 紧凑设计:属市场上最紧凑的伺服驱动器之一,节省安装空间,适配小型化、集成化设备布局需求。
  • 精准控制:实现精准的力、速度和位置控制,像直线电缸重复精度可达 ±15μm ,部分摆动驱动器定位重复精度可达 ±0.1° ,保障运动控制高精度,满足电子、精密机械加工等对精度要求严苛场景。
  • 多协议兼容:新多协议版本(如 CMMT - … - MP )集成 Profinet、EtherCAT®、Ethernet/IP、Modbus 等现场总线,能适配不同控制厂商系统,灵活融入各类自动化网络。
  • 环境适应强:部分型号可在极端温度(如 DFPD 系列可 - 50… + 150°C )、高湿度、粉尘等复杂工况稳定运行,适配化工、制药、户外设备等场景。
  • 高效节能:运行中可能量回收,提升能源利用率,契合可持续生产需求。

功能方面

  • 运动控制:支持点对点和插补运动,用于复杂轨迹控制,如机械加工中曲线、曲面加工,自动化产线中多轴联动搬运、装配等。
  • 自优化与调试:具备自动调谐功能,简化调试流程,自动优化旋转和直线运动控制特性,降低调试技术门槛与时间成本。
  • 安全功能:配置标准安全功能(如安全扭矩关闭等 ),无需额外软件即可设置,保障设备运行及人员安全,满足工业安全标准。
  • 模块化与适配:模块化程度高,如 DFPD 摆动驱动器有多种派生型,先导阀孔型标准化,兼容多外围元件,还能与同品牌伺服电机(如 EMMT - AS )等优化适配,也可作为单独执行器单元自动化现有过程阀。
  • 智能诊断与维护:部分可通过软件工具(如 FST )实时监测磨损状态、故障诊断,提前预警潜在问题,内置自润滑设计等减少维护频率,提升设备运维效率。

二、PLC通讯接配置

1、硬件配置(在etherCat系统中) 

2、PDO配置

三、设备通讯接口数据类型定义

1、配置 轴IO数据类型

 2、IN 结构体数据

TYPE ST_AI_FROM_AXIS :STRUCTIn_Position		:BOOL;  (* Axes is in position *)Ready           :BOOL;  (* axes is ready *)IsMoving        :BOOL;  (* axes is moving *)StandStill      :BOOL;  (* axes is NOT moving *)JogMode         :BOOL;  (* Jog Mode *)PositionControl :BOOL;  (* Mode AUTO => position control *)Error           :BOOL;  (* Common Axes Error, see local axes for more details *)HasReference    :BOOL;  (* Axes has reference *)ACT_POS         :REAL;  (* mm *)MaxSpeed        :REAL;  (* mm/sec *)Diagnose		:WORD;	(* axes specific diagnose*)arState			:ARRAY[1..10] OF BOOL;END_STRUCT
END_TYPE

  3、out 结构体

TYPE ST_AI_TO_AXIS :STRUCTPowerOn        :BOOL;  (* HighPower ON *)ControlRelease :BOOL;  (* Release all movement / controller release *)JogMode        :BOOL;  (* jog mode active       (Option) *)PositionControl:BOOL;  (* position control      (Option) *)CMD_START_POS  :BOOL;  (* start poitioning *)CMD_JOG_P      :BOOL;  (* jog (+) *)CMD_JOG_N      :BOOL;  (* jogn (-) *)QuittError     :BOOL;  (* error reset *)NewPosition    :BOOL;  (* SET BY Rob RES BY Axes *)SetReference   :BOOL;  (* set reverence position *)CMD_POS        :REAL;  (* set position *)rSpeed          :REAL; (* override % 0-100 *)iACCEL          :INT;  (* % 0-100 *)iDECEL          :INT;  (* % 0-100 *)Reference_Value :REAL; (* Referenz Wert *)PosWindow		:REAL; (*  *)arCmd			:ARRAY[1..10] OF BOOL;END_STRUCT
END_TYPE

四、通讯功能块变量声明 

1、轴实例与PLC变量的映射

2、轴通讯功能块变量声明

FUNCTION_BLOCK FB_DRIVER_061_Festo_CMMT_Ethercat_V3_9_0(*---------------------------------------------*)
(*IN Variablen*)
(*---------------------------------------------*)
VAR_INPUTiIn_idxElement					:INT := 0;(*!!!UNIQUE!!! Element identification for usage with multiaxis*)rINMaxSpeed 					:REAL 	:= 1.0 ; 	(* mm/  sec   Factor Group in Amplifier = 10^-3*)rInMaxAcceleration				:REAL	:= 20000 ; 	(* mm / sec^2 Factor Group in Amplifier = 10^-3*)rInMaxJerk						:REAL	:= 50000 ;	(* mm / Sec^3 Factor Group in Amplifier = 10^-3*)bInswitch_reference				:BOOL   := FALSE;	(* physikal reference switch *)rInReferenceValue				:REAL	:= 0.0;		(* Reference Value for axis. Position to be set when reference is true*)bInReleaseSetReferenceValue		:BOOL	:= FALSE;	(* Secure Release to overwrite Reference Position for absolut axis *)bIn_Limitswitch_minus_OK		:BOOL	:= TRUE;	(* Signal has to be true when axis is not on switch *)bIn_Limitswitch_plus_OK			:BOOL	:= TRUE;bIn_Safety_OK					:BOOL;bIn_Release_Homing				:BOOL	:=FALSE;	(* Release the Homing Switch to TRUE if Homing is required*)tIN_MaxtimePositioning	:TIME:=T#10S;bIN_Setup_mode					:BOOL;rIN_SetupVelocity				:REAL		:= 3.5;	 END_VAR(*---------------------------------------------*)
(*OUT Variables*)
(*---------------------------------------------*)
VAR_OUTPUTqOut_Release_Axis :BOOL;stOUT_AxisState	: AXIS_STATE;	END_VAR(*---------------------------------------------*)
(*IN/OUT Variables*)
(*---------------------------------------------*)
VAR_IN_OUTAI 						:ST_AXIS_INTERFACE; (* Axis Interface used for other systems eg. robot *)
END_VAR(*---------------------------------------------*)
(*lokal constants*)
(*---------------------------------------------*)
VAR CONSTANT
END_VAR(*---------------------------------------------*)
(*lokal variables*)
(*---------------------------------------------*)
VARfbSE_Error				:TON;	(*Delay Error*)(* Requests *)bVar_REQ_WP				:BOOL;	(*Request --> WP*)bVar_REQ_HP				:BOOL;	(*Request --> HP*)bVar_REQ_INIT			:BOOL;	(*Request --> INIT*)bVar_REQ_POSITION		:BOOL;	(*Request --> Position*)(* Outputs *)bVar_OUT_WP 			: BOOL ;	(*Output WP*)bVar_OUT_HP			: BOOL ;	(*Output HP*)bVar_OUT_INIT 		: BOOL ;	(*Output INIT*)bVar_OUT_POSITION	: BOOL ;	(*Output POSITION*)(* MC POU InstnacesTcMC_v2) *)fbVar_Power			: MC_Power_Festo;(* MC_Power *)fbVar_Home			: MC_Home_Festo;(* MC_Home *)fbVar_MoveAbsolut	: MC_MoveAbsolute_Festo;(* MC_MoveAbsolute *)fbVar_Stop			: MC_Stop_Festo;(* MC_Stop  *)fbVar_Reset			: MC_Reset_Festo;(* MC_Reset NC-Axis in TC Systemmanager // Maybe another Reset of Axis controller ist necessary*)fbVar_Jog			: MC_Jog_Festo;(* MC_Jog *)(*fbVar_SetPos		: MC_SetPosition_Festo;(* MC_SetPosition*)*)fbVar_ReadActPos	: MC_ReadActualPosition_Festo;(* MC_ReadActualPosition*)fbVar_ReadStatus	: MC_ReadStatus_Festo;(* MC_ReadStatus*)fbVar_WriteParam	: MC_WriteParameter_Festo;(* MC_WriteParameter Attetntion: Writes only parameter to Na-Axis in system manager and not to physical drive!*)fbVar_AxesError		: MC_ReadAxisError_Festo;fbVar_Halt			: MC_Halt_Festo;	fbVar_AxisInfo		

相关文章:

  • C++基础算法————二分查找
  • JavaScript 事件循环
  • CH579 CH573 CH582 CH592 蓝牙主机(Central)实例应用讲解(二)——Central消息事件机制初探
  • Python学习笔记面向对象编程
  • 钉钉机器人-自定义卡片推送快速入门
  • keil一键烧录boot和app程序
  • jojojojojo
  • Hexo-butterfly友情链接页面优化
  • MySQL-DQL数据查询语句深度解析与实战指南
  • 保护地线与串扰-信号完整性分析
  • day 51 python打卡
  • Redis事务与驱动的学习(一)
  • Unity Demo-3DRaceCar详解
  • MiniCPM4端侧AI模型
  • final在java中的作用
  • 清理 Docker 容器日志文件方法
  • 图的遍历模板
  • 嵌入式PADS中生产资料导出操作与实现
  • Python训练打卡Day50
  • C++包管理器vcpkg的使用
  • 做营销网站公司/百度公司官方网站
  • 北京网站开发公司前十名/网站制作哪家公司好
  • 海外网站开发/武汉seo外包平台
  • wordpress免登录评论/整站外包优化公司
  • 常州市建设局网站6/网络营销做得比较成功的案例
  • 网站制作的基础/搜狗站长平台验证不了