西门子 S7-1200 G2 + SINAMICS S200C 飞锯切割应用
一、项目背景与应用概述
在管材、型材、薄膜或纸张等连续生产线上,材料以恒定速度持续输送,而切割装置需要在"飞行"状态下完成精准定长切断——这就是典型的飞锯(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 连接。
2. 拓扑视图连接:切换到拓扑视图,完成物理端口映射,确保 IRT 通讯的确定性。
3. 同步域设置:
- 将 CPU 设为同步主站(Sync Master);
- 将 S200C 伺服驱动器设为同步从站(Sync Slave);
- 修改 IRT 同步时钟为 4 ms,确保运动控制周期与总线周期同步。
关键提示:IRT 是飞锯功能的基础。如果同步域配置不正确,工艺对象的同步轴功能将无法正常工作。
三、驱动器参数与工艺对象配置
3.1 输送定位伺服(引导轴)设置
输送轴负责持续牵引卷材,是飞锯的引导轴(Leading Axis) 。
斜坡函数发生器:设置为"位于 PLC 内"。这意味着速度曲线由 PLC 的运动控制工艺对象生成,而非驱动器内部,便于与飞锯轴协调。
回零配置:DI0 激活等效零脉冲,选择 [210] DI0 X130.1 ,用于上电后建立位置参考。
报文选择:选择 西门子报文 105(SIEMENS telegram 105,用于基本定位器)。
在 TIA Portal 中新增工艺对象:
1. 添加 "定位轴"(Positioning Axis);
2. 在"驱动装置"设置页面,关联 S200C 的 105 报文;
3. 根据机械减速比和丝杠导程,配置编码器参数与负载齿轮。
3.2 飞锯伺服(跟随轴)设置
飞锯轴是跟随轴(Synchronous Axis) ,其运动必须与引导轴同步。
斜坡函数发生器:同样设为"位于 PLC 内"。
回零配置:飞锯轴通常不需要在材料上找零,DI0 设为 [0] 无等效零脉冲 。
报文选择:选择 105 报文。
在 TIA Portal 中新增工艺对象:
1. 添加 "同步轴"(Synchronous Axis);
2. 在"驱动装置"设置页面,关联飞锯驱动器的 105 报文;
3. 后续将通过程序块实现与引导轴的同步关系。
3.3 测量输入配置(标记切割必备)
如果需要在材料上的特定标记处切割(如印刷标记或色标),必须配置测量输入(Measuring Input) 。 有两种新增方式:
方式一:在定位轴工艺对象下直接新增"测量输入";
方式二:单独新增工艺对象"测量输入",在基本参数中指定关联的轴或外部编码器。
如果是新增工艺对象,需要在基本参数页面设置 指定的轴或外部编码器。
在"硬件接口"页面,测量传感输入选择 "使用 PROFIdrive 报文进行测量"(驱动装置或外部编码器),测量输入编号设为 1。该配置对应驱动器端子 X130 上的高速测量输入,可捕获标记位置的精确位置值。
如果是使用高速计数HSC的高速测量输入,也是相同设置方式。需要注意的是HSC模块属性部分也要做相应的设置,参考LFlyingSawBasic_S71200G2_V3_1_0_Manual_zh.pdf的 2.3 章节。
测量输入类型涉及具体的可使用的测量方法见下表
| 测量输入类型 | 可能的测量输入 | 可能的测量类型 |
| 使用定时器 DI 进行测量("STANDARD") | 使用定时器 DI:
|
“MC_MeasuringInput” (测量一次)
“MC_MeasuringInputCyclic” (周期性测量) |
| 通过 SINAMICS (中央测量探头)进行测量("STANDARD") | 使用驱动器控制的报文 39x:
|
|
| 使用 PROFIdrive 报文进行测量("PROFIDRIVE") | 使用驱动轴的 PROFIdrive 报文:
|
“MC_MeasuringInput”(测量一次) |
| 监视测量输入 ("MONITORING") | 通过受监视的测量输入进行测量输入,测量输入已配置为“使用定时器 DI 进行测量”或“通过 SINAMICS(中央测量探头)进行测量”。 | “MC_MeasuringInput” (测量一次)
“MC_MeasuringInputCyclic” (周期性测量) 测量作业通过测量输入在测量输入处启动。 互连测量输入的测量作业(使用测量输入来监视测量输入)将被拒绝并出现错误。互连测量输入支持带测量输入的测量输入的测量类型。 |
3.4 凸轮轨迹与凸轮输出
飞锯的同步运动本质上是引导轴位置与跟随轴位置之间的凸轮关系 。在 TIA Portal 中:
1. 新增 "凸轮轨迹"(Cam Track);
2. 新增 "凸轮输出"(Cam Output);
3. 在程序中通过 MC_CamIn 等指令激活凸轮,实现锯轴与卷材的速度同步。
四、程序功能详解(LFlyingSawBasic)
西门子官方提供了完整的应用示例程序,核心功能封装在几个功能块(FB)中。用户只需根据切割模式调用相应块,无需从零编写复杂的同步算法。
4.1 程序块结构
| 功能块 | 用途 |
|---|---|
LFSB_BasicControlSaw |
轴的基本使能、回零、点动、故障复位 |
LFSB_FlyingSawLength |
定尺切割 模式(按固定长度切割) |
LFSB_FlyingSawMeasInput |
按测量输入信号切割 模式(按标记切割) |
LFSB_SimExtEncoder |
外部编码器仿真(调试用) |
LFSB_SimMeasuringInput |
测量输入仿真(调试用) |
FB4(LFSB_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 切断一次"这类固定长度需求。
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 10 → MC_RESET 复位锯轴
- Step 20 → MC_GEARIN(极小传动比1:1e9挂齿轮,清除残余同步指令)
- Step 30 → MC_HALT 急停
- Step 40 → MC_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):
123456789 CASE syncProfileReference OF0: // 用户自定义动态同步homePos = -1 * (smoothedVel * preHomeTime + smoothedVel²/(2*syncAcc)) + startPos1: // 对称同步homePos = -1 * (smoothedVel * preHomeTime + syncLengthCutAuto/2) + startPos2: // 用户定义领先值homePos = -1 * (smoothedVel * preHomeTime + syncLengthCutAuto) + startPos
这个计算确保当主轴正在运动时,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=0 (关闭) :新的 cutLength
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 完整控制闭环流程
4.3 按测量输入信号切割(LFSB_FlyingSawMeasInput)
当材料上的切割位置不固定(如根据印刷标记),或需要在"标记后偏移 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 时,使用渐退距离功能:
- 计算 calcMeasuringRangeStartPos(初始切割用FadeOut长度 + 主轴当前位置;自动切割用FadeOut长度 + distanceMeasInput)
- 在测量触发前,主轴必须越过该起始位置
- 一旦测量触发,记录触发时的主轴位置(measuredPosAtFadeOutEnd)
- 后续循环计算剩余渐退距离,直到测量值低于该位置
此功能确保在某些情况下(如材料加速阶段)测量不在不稳定的区域触发。
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 整体控制闭环流程
4.4 高级功能
对称同步(Symmetric Sync)
程序自动优化同步曲线,使得加速段与减速段对称。同步长度越短,加速度越大;用户需根据机械刚性合理设置。
创建间隙 / 拉切(Create Gap)
某些应用需要在切断后让材料产生一段间隙(如便于后续分拣),或在切割过程中提高锯速以"拉断"材料。
- 触发
createGap = TRUE; - 锯轴在同步期间或切割完成后额外加速,产生相对位移;
- 完成后自动返回起始位置。
注意:间隙创建会改变速度曲线,需确保机械系统能承受相应的加速度,避免损坏。
返回优化(RBO - Return Back Optimization)
切割完成后,锯轴不必完全回到起始位置等待,而是根据下一次切割点动态规划返回路径,减少空行程,提高产能。
立即切割(Cut Now)
在自动模式下,操作员可通过 cutNow 信号强制触发一次即时切割,不受定长或标记限制,用于首件试切或人工干预。
五、外部编码器与机载 I/O
如果引导轴不是由伺服电机驱动(如由变频器驱动的输送辊),则需要通过外部编码器 获取卷材的实际位置。 S7-1200 G2 支持通过板载高速计数器(HSC) 连接增量编码器:
- 将编码器 A/B 相信号接入 CPU 的数字量输入(如 %I0.0 / %I0.1);
- 在 CPU 属性中激活 HSC,设为 A/B 计数器四倍频模式;
- 输入滤波器设为 0.1 μs,确保高速信号不丢失;
- 在工艺对象"外部编码器"中关联 HSC,设置每转增量(如 4096);
- 测量输入信号接入 %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 客户或产线改造而言,这套方案在性能与成本之间取得了极佳的平衡。
参考文档 :
- 《SIMATIC S7-1200 G2 飞锯应用实例》(Entry-ID: 109977573)
- S7-1200 G2 可编程控制器系统手册