当前位置: 首页 > 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		
http://www.xdnf.cn/news/1040005.html

相关文章:

  • 1.16 Cookie 和 Session
  • 多商户商城+直播电商系统融合开发方案:一套源码搞定双场景应用
  • 解决vue3标签中引用动态图片失效问题
  • Python无限弹窗
  • CSS Margin纵向重叠(Margin Collapse)问题详解
  • springAI 大模型应用开发
  • 操作系统多级存储模型
  • 【AS32系列MCU调试教程】调试工具:Eclipse调试工具栏与窗口的深入分析
  • 《高等数学》(同济大学·第7版)第五章第一节定积分的概念与性质
  • 【多线程初阶】详解线程池(上)
  • 探险之物资储备c++
  • 多项目状态如何集中监控与汇总
  • uni-app项目实战笔记12--创建分类列表完成页面跳转
  • 解决在微信小程序中view组件下的text和images设置了样式display: flex; align-items: center;对不齐
  • layui在首页添加弹窗和跳转页面
  • Leetcode 398. 随机数索引
  • 设计师灵感仓库!IconViewer 右键一键提取系统图标,PNG 透明背景素材随取随用
  • Lyapunov深度强化学习移动边缘计算网络在线计算卸载python
  • MVVM模式中,BaseViewModel 的 IsBusy 属性的作用
  • Hexo-butterfly友情链接页面优化
  • 【Linux】进程优先级和切换调度
  • 【软测】脚本实现 - 网页自动化测试
  • linux-压缩类命令
  • 黑马教程强化day3-1
  • 2025虚幻引擎一般用什么模型格式
  • 【Linux系统编程】线程概念
  • 洛谷 P5716:月份天数 ← 闰年判断
  • leetcode_128 最长连续序列
  • stm32传感器通用驱动代码
  • 技术实录-从 MySQL 启动失败到大小写兼容恢复:一次完整故障排查复盘20250614