西门子 S7-1200 G2 + SINAMICS S200C 飞锯切割应用

AI摘要本文详解西门子官方示例LFlyingSawBasic,基于S7-1200 G2与SINAMICS S200C伺服驱动器,在TIA Portal V21环境下实现飞锯切割控制,支持定尺与标记切割模式,具备对称同步、间隙创建和返回优化等功能,为连续生产线提供经济高效的控制方案。

一、项目背景与应用概述

在管材、型材、薄膜或纸张等连续生产线上,材料以恒定速度持续输送,而切割装置需要在"飞行"状态下完成精准定长切断——这就是典型的飞锯(Flying Saw) 应用场景。传统方案多由 S7-1500T 或高端运动控制器承担,而随着 S7-1200 G2 的发布,其新增的运动控制功能(同步轴、测量输入、凸轮输出)已经足以胜任中等复杂度的飞锯任务。本文以西门子官方应用示例 LFlyingSawBasic_S71200G2_V3_1_0 为基础,介绍如何使用 S7-1200 G2 + SINAMICS S200C 伺服驱动器,在 TIA Portal V21 环境下实现飞锯切割。方案支持定尺切割按标记切割 两种模式,并具备对称同步、间隙创建(拉切)、返回优化等高级功能。

二、系统架构与硬件组态

2.1 硬件清单

组件 型号/说明 数量
PLC S7-1200 G2 (如 CPU 1212FC DC/DC/DC,固件 ≥ V4.1) 1
输送驱动 SINAMICS S200C (引导轴/Leading Axis) 1
飞锯驱动 SINAMICS S200C (跟随轴/Saw Axis) 1
HMI MTP1200 Unified Comfort / Basic 1
软件 STEP 7 Professional V21, WinCC Unified Comfort -

2.2 网络与同步组态

飞锯控制对实时性要求极高,必须采用 PROFINET IRT(等时同步实时) 通讯。

1. 网络视图连接:在 TIA Portal 网络视图中,将 CPU 与两台 S200C 伺服驱动器通过 PROFINET 连接。

image

2. 拓扑视图连接:切换到拓扑视图,完成物理端口映射,确保 IRT 通讯的确定性。

image

3. 同步域设置

  • CPU 设为同步主站(Sync Master)
  • S200C 伺服驱动器设为同步从站(Sync Slave)
  • 修改 IRT 同步时钟为 4 ms,确保运动控制周期与总线周期同步。

image

image

关键提示:IRT 是飞锯功能的基础。如果同步域配置不正确,工艺对象的同步轴功能将无法正常工作。

三、驱动器参数与工艺对象配置

3.1 输送定位伺服(引导轴)设置

输送轴负责持续牵引卷材,是飞锯的引导轴(Leading Axis)

斜坡函数发生器:设置为"位于 PLC 内"。这意味着速度曲线由 PLC 的运动控制工艺对象生成,而非驱动器内部,便于与飞锯轴协调。

image

回零配置DI0 激活等效零脉冲,选择 [210] DI0 X130.1 ,用于上电后建立位置参考。

image

报文选择:选择 西门子报文 105(SIEMENS telegram 105,用于基本定位器)。

image

在 TIA Portal 中新增工艺对象:

1. 添加 "定位轴"(Positioning Axis)

image

2. 在"驱动装置"设置页面,关联 S200C 的 105 报文;

image

3. 根据机械减速比和丝杠导程,配置编码器参数与负载齿轮。

3.2 飞锯伺服(跟随轴)设置

飞锯轴是跟随轴(Synchronous Axis) ,其运动必须与引导轴同步。

斜坡函数发生器:同样设为"位于 PLC 内"。

image

回零配置:飞锯轴通常不需要在材料上找零,DI0 设为 [0] 无等效零脉冲

image

报文选择:选择 105 报文

image

在 TIA Portal 中新增工艺对象:

1. 添加 "同步轴"(Synchronous Axis)

2. 在"驱动装置"设置页面,关联飞锯驱动器的 105 报文;

image

3. 后续将通过程序块实现与引导轴的同步关系。

3.3 测量输入配置(标记切割必备)

如果需要在材料上的特定标记处切割(如印刷标记或色标),必须配置测量输入(Measuring Input) 。 有两种新增方式:

方式一:在定位轴工艺对象下直接新增"测量输入";

image

方式二:单独新增工艺对象"测量输入",在基本参数中指定关联的轴或外部编码器。

image

如果是新增工艺对象,需要在基本参数页面设置 指定的轴或外部编码器。

image

在"硬件接口"页面,测量传感输入选择 "使用 PROFIdrive 报文进行测量"(驱动装置或外部编码器),测量输入编号设为 1。该配置对应驱动器端子 X130 上的高速测量输入,可捕获标记位置的精确位置值。

image

如果是使用高速计数HSC的高速测量输入,也是相同设置方式。需要注意的是HSC模块属性部分也要做相应的设置,参考LFlyingSawBasic_S71200G2_V3_1_0_Manual_zh.pdf2.3 章节

image

测量输入类型涉及具体的可使用的测量方法见下表

 

测量输入类型 可能的测量输入 可能的测量类型
使用定时器 DI 进行测量("STANDARD") 使用定时器 DI:

  • ET 200SP 或 ET 200MP TM Timer DIDQ
  • SIMATIC Drive Controller (X142)
“MC_MeasuringInput” (测量一次)

“MC_MeasuringInputCyclic” (周期性测量)

通过 SINAMICS (中央测量探头)进行测量("STANDARD") 使用驱动器控制的报文 39x:

  • SINAMICS S120 CU320-2 (X122/X132)
  • SINAMICS S120 CU310-2 (X121/X131)
  • SIMATIC Drive Controller (X122/X132)
使用 PROFIdrive 报文进行测量("PROFIDRIVE") 使用驱动轴的 PROFIdrive 报文:

  • SINAMICS S210 (X130)
  • SINAMICS S120 CU320-2 (X122/X132)
  • SINAMICS S120 CU310-2 (X121/X131)
  • SIMATIC Drive Controller (X122/X132)
  • CPU 1511C-1 PN/CPU 1512C-1 PN
  • ET 200SP 或 ET 200MP
  • TM Count 2x24V / TM Count 1x24V
  • TM PosInput 2/TM PosInput 1
  • TM PTO 4 / TM PTO 2x24V
“MC_MeasuringInput”(测量一次)
监视测量输入 ("MONITORING") 通过受监视的测量输入进行测量输入,测量输入已配置为“使用定时器 DI 进行测量”或“通过 SINAMICS(中央测量探头)进行测量”。 “MC_MeasuringInput” (测量一次)

“MC_MeasuringInputCyclic” (周期性测量)

测量作业通过测量输入在测量输入处启动。

互连测量输入的测量作业(使用测量输入来监视测量输入)将被拒绝并出现错误。互连测量输入支持带测量输入的测量输入的测量类型。

3.4 凸轮轨迹与凸轮输出

飞锯的同步运动本质上是引导轴位置与跟随轴位置之间的凸轮关系 。在 TIA Portal 中:

1. 新增 "凸轮轨迹"(Cam Track)

image

2. 新增 "凸轮输出"(Cam Output)

image

3. 在程序中通过 MC_CamIn 等指令激活凸轮,实现锯轴与卷材的速度同步。

image

四、程序功能详解(LFlyingSawBasic)

西门子官方提供了完整的应用示例程序,核心功能封装在几个功能块(FB)中。用户只需根据切割模式调用相应块,无需从零编写复杂的同步算法。

4.1 程序块结构

功能块 用途
LFSB_BasicControlSaw 轴的基本使能、回零、点动、故障复位
LFSB_FlyingSawLength 定尺切割 模式(按固定长度切割)
LFSB_FlyingSawMeasInput 按测量输入信号切割 模式(按标记切割)
LFSB_SimExtEncoder 外部编码器仿真(调试用)
LFSB_SimMeasuringInput 测量输入仿真(调试用)

FB4LFSB_FlyingSawLength与FB5 (FlyingSawMeasInput )的核心架构差异

维度 FB4 - FlyingSawLength FB5 - FlyingSawMeasInput
定位方式 固定切割长度cutLength 硬件测量输入捕获材料实际位置
首次切割 MC_GEARINPOS (绝对位置同步) MC_GEARIN (相对齿轮同步)
后续自动切割 MC_GEARINPOS MC_GEARINPOS
退同步方式 MC_GEAROUT (显式脱齿) 隐式切换(通过极低传动比MC_GEARIN覆盖)
切割长度获取 从cutLength 输入读取 从MC_MEASURINGINPUT.MeasuredValue1 获取
Home 偏移计算 根据lastCutPosInfo - cutLength 计算 根据measuredValue + distanceMeasInput 计算
主静止检测 有(决定首次切割路径) 无此分支

4.2 定尺切割模式(LFSB_FlyingSawLength)

这是最常用的模式,适用于"每 500mm 切断一次"这类固定长度需求。

image

4.2.1 工作原理

  • 程序根据设定的切割长度( cutLength 同步长度,自动计算飞锯轴的加速曲线;
  • 采用对称同步(Symmetric Synchronization):飞锯轴以匀加速方式追上卷材,同步曲线始终对称,无需速度过冲
  • 当锯轴与卷材达到同步(位置、速度一致)时,输出 cutPossible = TRUE ,此时切割装置(如锯片)下切;
  • 切割完成后,锯轴自动减速并返回起始位置(StartPos),等待下一次切割。

4.2.2 输入/ 输出接口

接口 差异说明
cutLength : LReal 核心差异 — 用户设定的固定切割长度(默认1000.0mm),取代了FB5 中的测量输入
无测量输入 TO 不需要 measuringInExtEnc / measuringInLeadingAxis / enableMeasInput / distanceMeasInput 等测量相关接口
masterSelectExtEnc 主信号源选择(同FB5 )
enableAuto / stopAutoCycleEnd / cutNow / cutDone 标准控制接口(同FB5 )
startPos 起始位置(同FB5 )
createGap / releaseMoveBack 可选辅助功能(同FB5 )

4.2.3 五段式状态机详解

第1 组:初始化步骤(INIT_STEPS: 0→10→20→30→40→50 ) 

  • Step 0 → 等待 enableAuto 上升沿
  • Step 10MC_RESET 复位锯轴
  • Step 20MC_GEARIN(极小传动比1:1e9挂齿轮,清除残余同步指令)
  • Step 30MC_HALT 急停
  • Step 40MC_MOVEABSOLUTE 移动到 startPos
  • Step 50 → 就绪

第2 组:首次切割及手动切割步骤(FIRST_AND_CUTNOW_STEPS: 200→250

触发条件:

  • 初始化完成(Step 50)
  • cutNowManActiv 上升沿(手动切割请求)
  • cutNowAutoActiv 上升沿(自动模式下的立即切割请求)

Step 200 / 201 — 选择路径分支(根据主轴是否静止):

条件 路径
主轴静止中 (statMasterStandstill = TRUE) Step 204
主轴运动中 (statMasterStandstill = FALSE) Step 205

当主轴静止或运动时,计算不同的预置位(Home)位置。

Step 200—Action: MC_GEAROUT

在执行任何新同步前,先用 MC_GEAROUT 显式退出之前的齿轮同步(SyncProfileReference := 5),确保锯轴处于自由状态。

Step 204 — 静止路径(standstill path ):

  • 执行 MC_HOME 将主轴当前位置设为 startPos(Mode默认=0,设定位移)
  • 完成后 → Step 210

Step 205 — 运动路径(moving path ):

  • 通过 SCL 网络  预先计算Home位置(statCalcHomePosMaster):

这个计算确保当主轴正在运动时,Home位置被适当地提前,使得切割能够准确发生在目标位置。

  • 执行 MC_HOME 将主轴设到该提前位置
  • 同时设置 statGearInPosStep := TRUE(标记后续使用GEARINPOS路径)
  • 完成后 → Step 211

Step 210 — MC_GEARIN 同步(静止路径):

  • 执行 MC_GEARIN,使用配置的传动比和 cutNowFirstCut 动态参数
  • 挂齿轮后 → Step 220

Step 211 — MC_GEARINPOS 同步(运动路径)← FB4 特有:

  • 执行 MC_GEARINPOS (绝对位置齿轮同步),使用计算的 MasterSyncPos / SlaveSyncPos
  • 同步后 → Step 220

Step 220 — 执行切割 & 创建间隙:

  • 等待 cutDone 信号,同时触发 MC_MOVESUPERIMPOSED(如果 createGap 使能)
  • 切割到达 → Step 230

Step 230 — MC_HALT (减速停止):

  • 过程中同时触发 RBO 计算 (如果RBO_Mode > 0)
  • 停止完成 → Step 240

Step 240 — MC_MOVEABSOLUTE (返回起始位置):

  • 使用RBO优化后的 velBackToStart / accBackToStart / jerkBackToStart
  • 返回完成 → Step 250

Step 250 — 计算偏移并Home (核心差异):

这是FB4与FB5最关键的差异点。FB4需要根据首次切割的实际位置来修正后续切割的偏移。

两种情况:

条件 操作
statGearInPosStep = FALSE(此前使用了GEARIN ,相对同步) 计算偏移量:shift = (lastCutCmdPosSaw - lastCutCmdPosMaster) - cutLength → 对主轴执行 MC_HOME  将该偏移量写入
statGearInPosStep = TRUE(此前使用了GEARINPOS ,绝对同步) 直接对主轴执行 MC_HOME 将位置设为 -cutLength(即切割长度负值),Mode=1 (相对偏移)

这个步骤确保了:无论同步过程中积累了多少误差,经过 Home 偏移后,下一次切割的起始参考点被精确修正。

Step 260 → 270 (手动模式):

  • 仅手动切割时进入,等待 cutNowManActiv 清除后回到 Step 0

第3 组:自动切割步骤(AUTO_CUTTING_STEPS: 400→410→414→415→420→430→440

Step 400 → MC_GEARINPOS (自动切割绝对位置同步):

  • 执行 MC_GEARINPOS,使用标准配置的同步参数
  • 同步完成后 → Step 410

Step 410 → 等待切割完成:

  • 等待 cutDone 信号 + Create Gap完成
  • 完成后 → Step 414

Step 414 → 设置 statCutDoneAuto 标志(用于统计):

  • 完成后 → Step 415

Step 415 → MC_HALT (减速停止):

  • 同时触发RBO计算优化返回参数
  • 停止完成 → Step 420

Step 420 → MC_MOVEABSOLUTE (返回起始位置):

  • 返回完成 → Step 430

Step 430 → MC_HOME (偏移更新):

  • 执行 MC_HOME Mode=1 将主轴位置偏移 -cutLength(负的切割长度)
  • 这是每次自动切割循环的收尾,将主轴参考坐标向前移动一个切割长度,为下一刀做准备
  • 偏移完成 → Step 440

Step 440 → 回到 Step 400 ,开始下一个自动切割循环


第4 组:停止步骤(STOP_STEPS: 610→620→630

  • Step 610 → 极小传动比MC_GEARIN覆盖
  • Step 620 → MC_HALT停止
  • Step 630 → 清除 statStateAuto,回到 Step 0

4.2.4 切割长度管理

FB4的切割长度管理相对简单,因为不涉及测量输入:

机制 说明
statCutLength 从 cutLength 输入复制,在以下时机更新:

- RBO 关闭时:回到起始位置后更新

- RBO 开启时:切割完成后立即更新

statCutLengthNeg = cutLength * -1.0,用于Home 偏移计算
cutCounter 每次 cutPossible 下降沿递增
cutLengthAutoCut 累加每次切割长度(cutLengthNeg * -1 → cutLength )
cutLengthAutoTotal RETAIN 保持的总切割长度

4.2.5 RBO (返回优化)

块在切割完成后使用 LFSB_RBOCalc FB计算优化的返回运动参数(速度、加速度、加加速度)。

    • RBO=0 (关闭) :新的 cutLength
      在锯回到起始位置后才生效(避免中途改变长度导致问题)
    • RBO>0 (开启) :新的 cutLength
      在切割完成后(halt时)立即生效,RBO使用该长度计算最优返回路径

RBO根据:

  • 主轴的实际位置、速度、加速度
  • 锯轴的实际位置
  • 切割长度和同步长度

计算出最优的返回动态参数,使锯轴能以最短时间、最小冲击回到起始位置。若RBO计算出错,自动回退到配置中设定的固定动态参数。

4.2.6 Create Gap (创建间隙)

当 createGap 输入为TRUE时,在切割期间(CUTNOW_STEP_220 或 AUTO_CUTTING_STEP_410),使用 MC_MOVESUPERIMPOSED 使锯轴叠加速度差运动,在材料上制造一个间隙(如用于后续的切断分离)。

4.2.7 错误处理

与FB5 基本相同 ,但不包含与测量输入相关的错误(如16#9102/16#9103测量输入连接缺失):

错误代码 说明
16#9100 外部编码器连接缺失
16#9101 引导轴连接缺失
16#9110 锯轴技术对象报错
16#9000 警告:同步位置错过
16#9001 警告:达到最大切割位置
16#9010/9011 RBO 相关警告

4.2.8 完整控制闭环流程    

f07d046e252a453398c237db0e6b744d

4.3 按测量输入信号切割(LFSB_FlyingSawMeasInput)

image

当材料上的切割位置不固定(如根据印刷标记),或需要在"标记后偏移 20mm"处切割时,使用该模式。

4.3.1 工作原理

  • 测量输入检测卷材上的标记,产生一个探针信号
  • 程序根据标记位置、测量输入与锯的相对距离( distanceMeasInput ),计算锯轴需要追赶的目标位置;
  • 锯轴启动并与卷材同步,确保在标记处(或偏移处)完成切割。

4.3.2 输入/ 输出接口

接口 说明
extEncoder 外部编码器技术对象(TO_ExternalEncoder ),用于追踪材料位置
leadingAxis 引导轴(TO_PositioningAxis ),替代主编码器
flyingSawAxis 飞锯轴(TO_SynchronousAxis ),执行同步切割的锯片轴
measuringInExtEnc 外部编码器上的测量输入
measuringInLeadingAxis 引导轴上的测量输入
masterSelectExtEnc 主信号源选择:FALSE=引导轴,TRUE= 外部编码器
enableAuto 启用自动切割模式
stopAutoCycleEnd 在循环结束时停止自动切割
cutNow 立即切割(当锯在起始位置时触发)
cutDone 切割完成反馈信号(来自锯片或工具的反馈)
distanceMeasInput 测量传感器到锯片0 位的距离(负值)
startPos 自动切割起始位置
releaseMoveBack 释放返回(用于对角线锯等特殊类型)
createGap 触发创建间隙(可选功能)

4.3.3 核心控制逻辑 — 四段式状态机(Sequence

整个控制逻辑由 4 组状态机步骤 驱动的顺序控制组成:

第1 组:初始化步骤(INIT_STEPS: 0→10→20→30→40→50

这是整个流程的"冷启动"序列,在以下情况下触发:

  • 锯轴第一次上电(StatusWord.X0=1)
  • 锯轴处于静止且无错误状态
  • 报错后重新激活

INIT_STEP_0 (0) → 等待 enableAuto 上升沿
INIT_STEP_10 (10) → 对所有轴执行 MC_RESET 复位
INIT_STEP_20 (20) → 执行 MC_GEARIN (以极小传动比1:1e9挂齿轮,用于清除之前的GearInPos指令)
INIT_STEP_30 (30) → 执行 MC_HALT (急停锯轴)
INIT_STEP_40 (40) → 执行 MC_MOVEABSOLUTE (将锯轴移动到 startPos 起始位置)
INIT_STEP_50 (50) → 就绪,进入自动切割循环


第2 组:手动切割步骤(CUTNOW_STEPS: 200→210→220→230→240→250→260→270

用于手动切割自动模式下的立即切割( CutNow ,采用 MC_GEARIN (相对齿轮同步)

CUTNOW_STEP_200 (200) → 对主执行 MC_HOME (重新设定位移到 startPos),同时中止测量输入
CUTNOW_STEP_210 (210) → 执行 MC_GEARIN (按照配置的传动比将锯轴与主同步)
CUTNOW_STEP_220 (220) → 等待 cutDone 信号和Create Gap完成。触发 MC_MOVESUPERIMPOSED (如果 createGap 使能,则锯轴叠加运动以产生材料间隙)
CUTNOW_STEP_230 (230) → 执行 MC_HALT (切割完成后减速停止锯轴,使用配置的减速度和加加速度)
CUTNOW_STEP_240 (240) → 执行 MC_MOVEABSOLUTE (将锯轴移动回 startPos,使用RBO优化后的动态参数)
CUTNOW_STEP_250 (250) → 如果 cutPossible 变为 False(锯已脱离同步区)且是自动模式→转入 AUTO_CUTTING_STEP
CUTNOW_STEP_260 (260) → 如为手动模式,等待锯回到起始位置
CUTNOW_STEP_270 (270) → 手动模式结束,回到 INIT_STEP_0


第3 组:自动切割步骤(AUTO_CUTTING_STEPS: 400→410→420→430→434→435→440→450

用于自动循环切割,采用 MC_GEARINPOS (绝对位置齿轮同步)

AUTO_CUTTING_STEP_400 (400) → 激活 MC_MEASURINGINPUT(测量输入,通过硬件捕获材料的精确位置脉冲)。测量触发条件取决于 measuringRangeMode:

  • Mode 0:当主轴位置 ≥ calcMeasuringRangeStartPos(使用渐退长度FadeOut)
  • Mode 1:只要 enableMeasInput = TRUE 立即触发

AUTO_CUTTING_STEP_410 (410) → 测量完成后,对主轴执行 MC_HOME(将主轴位置偏移到 measuredValue + distanceMeasInput,这样切割位置被精确映射到锯轴上)

AUTO_CUTTING_STEP_420 (420) → 执行 MC_GEARINPOS(绝对位置齿轮同步)。关键参数:

  • MasterSyncPosition 和 SlaveSyncPosition 根据同步配置文件计算
  • 使用配置的传动比(gearingRatioMaster / gearingRatioSlave)
  • 通过 syncLengthCutAuto 定义同步长度

AUTO_CUTTING_STEP_430 (430) → 等待 cutDone 信号和同步结束,触发 Create Gap(可选)

AUTO_CUTTING_STEP_434 (434) → 设置 statCutDoneAuto 标志,用于切割长度统计

AUTO_CUTTING_STEP_435 (435) → 执行 MC_HALT(减速停止锯轴,同时计算RBO返回优化参数)

AUTO_CUTTING_STEP_440 (440) → 执行 MC_MOVEABSOLUTE(使用RBO优化的动态参数返回 startPos)

AUTO_CUTTING_STEP_450 (450) → 回到 AUTO_CUTTING_STEP_400,开始下一个切割循环


第4 组:停止步骤(STOP_STEPS: 600→610→620→630

STOP_STEP_610 (610) → enableAuto 被清除或 stopAutoCycleEnd 被激活时触发,执行 MC_GEARIN(以极小传动比挂齿轮,清除GearInPos)
STOP_STEP_620 (620) → 执行 MC_HALT 停止锯轴,同时中止测量输入
STOP_STEP_630 (630) → 等待 statStateAuto 变为 FALSE,然后状态机回到 0(空闲)

4.3.4 主信号源选择与切换(Master Selection & Switchover

块通过 masterSelectExtEnc 选择主轴信号源:

  • 引导轴(leadingAxis )模式 :从引导轴读取 Position、ActualPosition、ActualVelocity、ActualAcceleration、Velocity、Acceleration
  • 外部编码器(extEncoder )模式 :从编码器读取 StatusExtrapolation.ExtrapolatedPosition、ActualPosition、ActualVelocity、ActualAcceleration、FilteredVelocity,并通过 Filter_PT1 低通滤波器计算滤波加速度

主信号切换时,使用 **MC_HOME(Mode=1)**将新主轴的当前位置同步到旧主轴的坐标系中,确保切换平滑无跳变。

4.3.5 切割长度统计与计数

  • cutCounter — 每次 cutPossible 下降沿递增,记录总切割次数
  • cutLenghtAutoCut — 累加每次自动切割的长度(measuredValue + |distanceMeasInput|)
  • cutLengthAutoTotal — 使用 RETAIN保持的累计切割总长度(断电不掉失)
  • lastCutAccuracy — 记录每次切割的电气精度(主位置 - 锯位置)

4.3.6 RBO (返回优化)功能

当 RBO_Mode > 0 时,块在切割完成后使用 LFSB_RBOCalc FB计算优化的返回运动参数(速度、加速度、加加速度)。RBO根据:

  • 主轴的实际位置、速度、加速度
  • 锯轴的实际位置
  • 切割长度和同步长度

计算出最优的返回动态参数,使锯轴能以最短时间、最小冲击回到起始位置。若RBO计算出错,自动回退到配置中设定的固定动态参数。

4.3.7 FadeOut (渐退距离)功能

渐隐测量输入信号(Fade-out)

实际生产中,某些标记不需要触发切割(如拼接标记)。程序支持渐隐功能

  • 手动渐隐:设置 enableMeasInput = FALSE ,跳过下一个标记;
  • 按长度渐隐:设置 measuringRangeFadeOutLength ,在指定长度内忽略所有标记信号。

当 measuringRangeMode = 0 时,使用渐退距离功能:

  1. 计算 calcMeasuringRangeStartPos(初始切割用FadeOut长度 + 主轴当前位置;自动切割用FadeOut长度 + distanceMeasInput)
  2. 在测量触发前,主轴必须越过该起始位置
  3. 一旦测量触发,记录触发时的主轴位置(measuredPosAtFadeOutEnd)
  4. 后续循环计算剩余渐退距离,直到测量值低于该位置

此功能确保在某些情况下(如材料加速阶段)测量不在不稳定的区域触发。

4.3.8 Create Gap (创建间隙)功能

当 createGap 输入为TRUE时,在切割期间(CUTNOW_STEP_220 或 AUTO_CUTTING_STEP_430),使用 MC_MOVESUPERIMPOSED 使锯轴叠加速度差运动,在材料上制造一个间隙(如用于后续的切断分离)。

4.3.9 错误处理

块有完善的错误诊断系统(Part5 - Error Handling):

错误代码 说明
16#9100 外部编码器连接缺失
16#9101 引导轴连接缺失
16#9102/9103 测量输入连接缺失
16#9110 锯轴技术对象报错
16#9000 警告:同步位置错过
16#9001 警告:达到最大切割位置(此时锁定切割,posLockCut=TRUE )
16#9010 RBO 动态输入无效
16#9011 RBO 优化不可行

错误通过 32 个元素的错误数组 (statErrorFlag[1..32]、statErrorID[1..32])管理,每个子功能对应一个索引。

4.3.10 整体控制闭环流程

 4d6a69d35f76232e252b1296cebc866d

4.4 高级功能

对称同步(Symmetric Sync)

程序自动优化同步曲线,使得加速段与减速段对称。同步长度越短,加速度越大;用户需根据机械刚性合理设置。

创建间隙 / 拉切(Create Gap)

某些应用需要在切断后让材料产生一段间隙(如便于后续分拣),或在切割过程中提高锯速以"拉断"材料。

  • 触发 createGap = TRUE
  • 锯轴在同步期间或切割完成后额外加速,产生相对位移;
  • 完成后自动返回起始位置。

注意:间隙创建会改变速度曲线,需确保机械系统能承受相应的加速度,避免损坏。

返回优化(RBO - Return Back Optimization)

切割完成后,锯轴不必完全回到起始位置等待,而是根据下一次切割点动态规划返回路径,减少空行程,提高产能。

立即切割(Cut Now)

在自动模式下,操作员可通过 cutNow 信号强制触发一次即时切割,不受定长或标记限制,用于首件试切或人工干预。

五、外部编码器与机载 I/O

如果引导轴不是由伺服电机驱动(如由变频器驱动的输送辊),则需要通过外部编码器 获取卷材的实际位置。 S7-1200 G2 支持通过板载高速计数器(HSC) 连接增量编码器:

  1. 将编码器 A/B 相信号接入 CPU 的数字量输入(如 %I0.0 / %I0.1);
  2. 在 CPU 属性中激活 HSC,设为 A/B 计数器四倍频模式;
  3. 输入滤波器设为 0.1 μs,确保高速信号不丢失;
  4. 在工艺对象"外部编码器"中关联 HSC,设置每转增量(如 4096);
  5. 测量输入信号接入 %I0.2,作为 HSC 的 Capture(捕获)输入。

程序中通过 LFSB_ExtEncoderHSC 功能块读取外部编码器值,并实时传送给飞锯功能块,实现实轴主值外部编码器主值 的动态切换。

六、调试与操作

6.1 仿真测试

官方示例提供了完整的仿真功能块:

  • LFSB_SimAxis :模拟引导轴持续运转;
  • LFSB_SimExtEncoder :模拟编码器脉冲;
  • LFSB_SimMeasuringInput :模拟标记信号。

建议 :在无真实机械的条件下,先通过仿真测试定尺切割和标记切割逻辑,验证 HMI 交互和参数计算是否正确。

6.2 HMI 界面

示例项目包含 Unified Comfort HMI 画面,可监控:

  • 当前切割长度、同步状态;
  • 锯轴位置、速度;
  • 切割计数器;
  • 故障代码与诊断信息。

6.3 常见故障排查

现象 可能原因
锯轴无法同步 检查 IRT 同步状态;确认同步轴工艺对象已正确关联引导轴
切割长度不准 检查编码器分辨率;确认测量输入的 Capture 滤波时间
锯轴返回过冲 减小返回速度或加大减速时间;检查机械限位
标记切割偏移 校准 distanceMeasInput;检查测量输入的硬件延迟补偿

七、总结

通过 S7-1200 G2 + SINAMICS S200C 的组合,配合 TIA Portal V21 的运动控制功能,我们可以构建一套经济高效的飞锯控制系统:

  • 硬件层面:利用 PROFINET IRT 实现微秒级同步,CPU 作为同步主站统一调度;
  • 工艺对象层面:定位轴 + 同步轴 + 测量输入 + 凸轮轨迹,覆盖了飞锯所需的全部运动控制要素;
  • 程序层面:借助 LFlyingSawBasic 官方示例,工程师无需深入复杂的同步算法,只需配置长度、位置等参数即可实现定尺/标记切割、间隙创建、返回优化等功能。

对于预算有限但又需要飞锯/飞剪功能的 OEM 客户或产线改造而言,这套方案在性能与成本之间取得了极佳的平衡。


参考文档

纪小年

Jing

您可能还喜欢...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理