写前に面:なぜか。这篇逆向分析值得你读
网上流传的「シーメンス PLC 程序包」多如牛毛,但能真正打开、读懂、借鉴的少之又少:要么只有压缩包ない源码,要么名不副实、打开后发现是别的机型。
这份工程不同——它是一个真实的、原厂英文的纸张/薄膜分切复卷机(Slitter-Rewinder,业内叫 Winder)S7-400 控制程序,硬件组态、符号表、すべて块源码都完全可读。本記事带你逐文件拆解:它到底是ではない S7-1200/1500?里面有什么?张力/卷径/速度是怎么算的?OB35 这个 100ms 循环中断里到底干了什么?以及——你拿到这种工程,怎么打开、怎么运行、怎么迁到 TIA Portal。
读完你将获得一张完全的「机器功能地图」和一套可直接复用的复卷机控制思路。
一、先泼三盆冷水:文件夹名 vs 工程真相
很多朋友下载后才发现「货正しくない板」。基于逐文件核验,先说清三个事实,避免你踩坑:
| # | 文件夹名 / 宣传说法 | 实际读到的情况 | 影响 |
|---|---|---|---|
| 1 | 「S7-1200/1500」 | 工程内部是 S7Netze / sdb / pgs / BAUSTEIN.DBF / SUBBLK.DBT 構造,即 SIMATIC Manager(STEP 7 V5.x) 项目;CPU 实测为 414-2 DP(S7-400) | 不能用 TIA Portal 直接打开;需用 STEP 7 V5.x 或先经「TIA 移植」 |
| 2 | 「Chinese annotation」 | 源码备忘录经 GB18030/UTF-8 多编码核验,真实中国語の注釈为 0;变量、网络、DB 标题均为英文原厂注释(如 //16#13, Event class 1...、Tension setpoint selector) | 所谓「Chinese annotation」不属实,是纯英文原厂工程 |
| 3 | 「完全可运行项目」 | 含完全块源码(SUBBLK.DBT)、符号表、硬件组态、MM440 parameter DB;但 MM440/ABB 的 GSD、部分第三方库需本机已有;硬件组态 .PG 可直接还原 | 在装有 STEP 7 + 对应 GSD 的环境可编译下载,属「可运行」 |
一句话:这是一套 S7-400 经典项目、英文原厂、源码完全的复卷机程序。标题若写成「S7-1200/1500 + Chinese annotation」会误导读者,故本記事以真实形态命名。
二、硬件与网络架构(一张图看懂)
2.1 CPU 与机架
- CPU:
CPU 414-2 DP(站点名SIMATIC (Winder))—— S7-400 中高端型,自带 1× MPI/DP Interface,DP 口用于现场バス。 - 组态文件在
sdb/00000001/*.PG(共 30+ 个.PG系统データ块),含机架、电源、Interface、分布式スレーブ。
2.2 PROFIBUS-DP 现场バス(核心通讯)
从 sdb 的 GSD 引用可確認バス上的スレーブタイプ:
| slave / device | GSD / 标识 | 用途 | 通讯方式 |
|---|---|---|---|
| ET200 remote I/O | TR06AAAB.GSE(PNO Class 2 32 Bit) | 分布式数字/模拟量采集与执行(I/O アドレス延伸至 I28.x / Q81.x) | DP 周期性 I/O |
| ABB 周波数変換器 | ABB_AC80.GSD | 放卷/收卷/牵引等传动(PPO-05 message:4 PKW + 10 PZD) | DP 过程データ |
| シーメンス MM440 | MicromasterDB / Data transfer to Drives | 辅助传动(MICROMASTER 440 矢量型) | USS / DP |
| DP 诊断 | 059E.GSE(FB13 DP-Slave-System Diag) | スレーブ掉线/Fault Diagnosis | — |
工程要点:I/O アドレス远超本地机架(最大到
Q81.x、I28.x),説明大量信号经 ET200 远程站 分布在机器各工位,是典型的「中央 CPU + Distributed I/O」大型专机布线。
2.3 HMI:WinCC トップマシン
- 证据有
WinCC Alarms(报警)、Lenght counter reset from WinCC(从 WinCC 清零计长)、M304.1: WinCC ...(WinCC 位)、Tension < 60% ...报警位等。 - 操作面板経由 MPI/DP 与 CPU 通讯,组态在
hOmSave7目录。
系统架构一览:
┌─────────────────────────────┐
│ CPU 414-2 DP (S7-400) │
│ SIMATIC (Winder) │
│ OB1 メイン·サイクル / OB35 100ms │
└──────────────┬──────────────┘
│ PROFIBUS-DP
┌──────────────┬─────────┴──────────┬──────────────┐
▼ ▼ ▼ ▼
┌─────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ ET200 │ │ ABB AC80 │ │ MM440 │ │ WinCC │
│ remoteI/O │ │ 周波数変換器 │ │ 周波数変換器 │ │ トップマシン │
│ I28/Q81 │ │ PPO-05 │ │ USS/DP │ │ MPI/DP │
└─────────┘ └──────────┘ └──────────┘ └──────────┘
分布式信号 放卷/收卷/牵引 辅助传动 报警/配方/计长三、程序構造全貌:OB / FB / FC / DB
3.1 组织块 OB(事件与扫描调度)
从源码 VAR_TEMP 注释中確認存在以下 OB(標準 STEP 7 事件模型):
| OB | Type | 在本工程中的作用(据注释/调用推断) |
|---|---|---|
| OB1 | メイン·サイクル | 调用顺序控制(DB Sequence control)、FB15/FB18、各工位逻辑 |
| OB35 | 循环中断 100 ms | 核心控制环:张力計算、卷径/计长、速度斜坡、插补、压辊計算 |
| OB40 / OB41 | 硬件中断 | 编码器/零速等硬件事件(如 Zero Speed、Hardware Interrupt 2) |
| OB55 | ステータス时基中断 | status/通讯相关 |
| OB81–OB87 | 诊断/故障 OB | 电源(81)、机架/モジュール(82–86)、通讯故障 OB87(注释 Communication Fault) |
| OB100 / OB101 / OB102 | 启动 OB | 完全再起動 / 再起動 / 冷再起動(注释 Complete Restart/Restart/Cold Restart) |
| OB121 / OB122 | プログラミング/IO アクセスエラー | 程序異常与外围アクセス保护 |
3.2 機能ブロック与功能 FB / FC
源码中明确出现:FB15、FB18、FB230(见 FB230 Data DB)、FC18、FC121、FC205(帮助标志/边沿检测)。主控制运算封装在 OB35 调用的 FB/FC 中(张力、计长、速度斜坡等)。
3.3 データ块 DB = 机器的功能地图(最值钱的部分)
从 SUBBLK.DBT 的 DB 标题(TITLE)完全还原出机器功能モジュール,这是理解整台デバイス的「地图」:
① 核心控制
DB Sequence control(顺序控制)—— 含Set_Change_automatic(自动换卷/换规格),调用 FB15/FB18Control DB、DB Project constants(项目常量:空卷芯直径、最大线速度、セキュリティ门打开时限速 500 m/min、最大卷径、加减速时间常数等)Tension DB(张力)—— 多段张力设定、实际张力、张力 ON/OFFRider Roll DB(压辊)——RW_Diameter/RW_Dia_Filtered卷径、位置、PID、負荷Unwinder DB(放卷)—— 放卷直径、幅宽、侧移UW Side movement
② 运动 / 计长
Lenght Calculating DB(计长)、Rewinder/Unwinder lenght calculating、Interpolation DB(插补/卷绕曲线WF Curves)Speed setpoint ramp generator(速度斜坡)、Crawling Setpoint(爬行速度)
③ 分切 / 刀具
Knives statuses DB/Knives act pos DB(分切刀ステータス/实际位置)、Cutting Device DB(分切装置)、Trim Set DB(切边设定)、Slitting Interface(分切接口)
④ 芯管 / 卸卷物流
Core Loading/Core Transfer/Core feeding calc./Core Lock positioning/Core Guiders DB(芯管上料/传送/喂料計算/锁紧/导向)Roll Table DB(辊台)、Roll ejector DB(卸卷)、Tail Gluing DB(尾胶)
⑤ 驱动 / 维护 / 报警
Data transfer to Drives、MicromasterDB、ABB Link help data、Drives Maintenance DB(驱动データ/维护)WinCC Alarms、Semi-auto alarms DB、Vibration DB(振动监测RR_vibration)Brake generator DB、Drums DB/Drums brakes(鼓式制动)、Autostop DBWF Recipies/RR Recipe DB(卷绕曲线配方 / 复卷配方)、Measured values DB、ControlsFromHMI
结论:这是一台带「自动换卷 + 自动换规格 + 多刀分切 + 芯管自动上下料 + 尾胶」的高端分切复卷线,ではない简单单轴收卷。
四、核心控制算法(复卷机的灵魂)
以下逻辑均来自
SUBBLK.DBTソースコード内の英文注释与变量命名,非推测。
4.1 张力控制:多段张力设定(Tension)
- 多段张力设定選択(Tension setpoint selector):不同工况用不同设定值——
Threading tension Setpoint(穿带张力)Splice tension Setpoint(接纸/拼接张力,对应Splice Tension ON)Standstill Setpoint(静止张力)Set Change tension level(换卷张力)- 设定值经
Tension setpoint value scaling标度变换后Tension setpoint to Drives下发给周波数変換器; - 反馈
Actual tension from Siemens(实际张力)参与闭环; - セキュリティ/诊断:
Tension control ON/OFF request、Tension < 60% from setpoint(张力不足 60% 报警)。
4.2 卷径与计长:密度法算直径(Diameter / Length)
- 计长:
Calculate pulse widht→Calculate lenght→Lenght Counter reset(编码器脉冲换算長さ,可由 WinCC 清零Lenght counter reset from WinCC); - 卷径:
Rewinder lenght calculating/Unwinder lenght calculating算出实时直径,Rider Roll DB.RW_Diameter经RW_Dia_Filtered滤波; - 关键工程手法:用
Paper Dencity(纸张密度)参与卷径估算(质量法算直径),比纯几何法更准; - 限位:
Unwinder Diameter stop selection、Maximum rewinder roll diameter、Winder stop limit just before the max diameter(接近最大卷径自动停机)。
4.3 速度同步与セキュリティ限速链(Speed)
Speed setpoint ramp generator:速度斜坡(软启停,避免冲击);Speed Setpoint to Siemens(下发给驱动)、Crawling Setpoint(点动爬行);- セキュリティ限速链:
- セキュリティ门打开(
If safety gate is closed ... do nothing. Otherwise):线速度限到 500 m/min; - 最大线速度限到 2400 m/min(
If speed reference is more than 2400m/min... limit to 2400m/min); - 分级速度ステータス:
Web speed <30 / <150 / <600 m/min、Web speed at zero(零速)。
4.4 压辊 / 插补 / 振动监测
Rider Roll:压辊位置 + 負荷 +Rider Roll PID Data(PID 调节);Interpolation(插补):按WF Curves卷绕曲线平滑过渡;Vibration DB:复卷振动监测(RR_vibration、各测点v_8_0等),用于预测性维护。
五、I/O 与符号マッピング(1171 条符号表抽样)
符号表同时保留英文/德文アドレス(I 28.3 / E 28.3,Q 3.6 / A 3.6)。抽样关键信号:
| 类别 | 符号(注释) | アドレスサンプル |
|---|---|---|
| セキュリティ | セキュリティ门 Safety gate、急停 SL_SV_EMSTOP | — |
| 芯管 | OS/DS core lock open/close、CP16: Core locks、Core guiders up/down、Core guiders relief pressure | I/Q 多バイト |
| 压辊 | Rider roll down/up、Rider Roll Position | Q 3.6/3.7 |
| 分切 | MC8: Web cutting device turn forward/backward、Cutting device aux cylinder up/down | I/Q |
| 尾胶 | Tail gluing automatic button、Automatic Tail gluin selection | M/I |
| 液压 | Hydraulic pump 41M314 / 41M414 button | I |
| 计数 | Core size counter、Lenght counter reset from WinCC、Zero Speed | M |
| 通讯 | Hardware Interrupt 2、各类 CPxx: 调用点 | — |
I/O 经 ET200 远程站分布在
I0.0–I28.x、Q0.x–Q81.x,配合Pneumatic substation TB32(气动站)与液压泵,构成完全执行层。
六、工程亮点:7 条可复用の実践经验
1. OB35 集中做闭环:すべての实时运算(张力/卷径/速度/插补)放在 100 ms 循环中断,メイン·サイクル OB1 只做顺序与逻辑,構造清晰、实时性好。 2. 多段张力 + 接纸张力:穿带/接纸/静止/换卷分别设定,是复卷品质的关键。 3. 自动换卷/换规格(Set Change automatic):高自動化,减少停机。 4. 密度法算卷径 + 滤波:比单纯几何法稳,值得借鉴。 5. 完善的セキュリティ链:セキュリティ门→500 m/min、最大 2400 m/min、分级零速/低速ステータス、急停、振动监测。 6. 诊断完备:OB81–87 カバー电源/モジュール/通讯故障,FB13 做 DP スレーブ诊断。 7. WinCC 深度集成:报警、清零计长、配方(WF/RR Recipe)全打通。
七、怎么打开、run、并迁移到 TIA Portal
1. 软件:STEP 7 V5.x(SIMATIC Manager)+ 对应 GSD(ABB_AC80、ET200 TR06AAAB、MM440);需 STEP 7 認証。 2. open:SIMATIC Manager → open → 选 P1289_QD.s7p。 3. 缺件补齐:確認本机已装 ABB AC80、ET200、MICROMASTER 的 GSD;否则硬件组态会报红。 4. Download:先下硬件组态(含 DP スレーブ参数),再下块(OB/FB/FC/DB),最后下 MM440 parameter DB。 5. 若想用 TIA Portal:用 STEP 7 的「项目迁移」或 TIA 的「从 STEP 7 移植」Import(注意 S7-400→S7-1500 仅逻辑可迁,硬件/GSD 需重配)。
八、给エンジニア的两点提醒
- 别被文件夹名误导:这是 S7-400 经典项目,ではない S7-1200/1500;注释是英文ではない中文。若要发到技术社区/做チュートリアル,标题应写「S7-400 分切复卷机」才准确,否则读者下载后发现对不上会差评。
- 源码已可读但非標準 AWL:块源码在
SUBBLK.DBT(STEP 7 内部备忘录格式),用 STEP 7 打开即见完全 STL+注释;提取的可读快照适合快速检索关键词,但不能直接编译。
九、common problems FAQ(百度长尾需求)
Q1:シーメンス S7-400 复卷机程序用什么软件打开? A:用 STEP 7 V5.x(SIMATIC Manager)open .s7p 项目;TIA Portal 不能直接打开经典项目,需走「从 STEP 7 移植」。
Q2:复卷机的张力控制是怎么実装的? A:本工程在 OB35(100ms)里做闭环,按工况选多段张力设定(穿带/接纸/静止/换卷),标度变换后下发给周波数変換器,实际张力反馈参与闭环,并有张力<60% 报警。
Q3:卷径(直径)是怎么算出来的? A:用编码器脉冲算長さ/计长,并用「纸张密度(Paper Dencity)」做质量法估算实时直径,再经滤波(RW_Dia_Filtered),接近最大卷径自动停机。
Q4:SUBBLK.DBT 是什么文件,能直接编译吗? A:它是 STEP 7 的块源码备忘录文件,保存了 STL 源码与注释;用 STEP 7 打开工程即可看到完全块,不能直接当文本编译,但可检索。
Q5:S7-400 能迁移到 S7-1500 / TIA Portal 吗? A:逻辑(OB/FB/FC/DB)可经移植工具迁移;但硬件组态、GSD、驱动通讯需按 S7-1500 + 新驱动重配。
十、结语 + リソース
这套 S7-400 分切复卷机原厂程序,是一份难得的、可逐文件读懂的大型专机样本:它用 OB35 集中做实时闭环、用多段张力保证品质、用密度法算卷径、用完全セキュリティ链与诊断保障可靠运行,对做造纸/薄膜/印刷/分切デバイス的エンジニア非常有借鉴价值。
*本記事すべての结论均来自对工程文件的逐文件解析,未做任何外部臆测。配套可读源码快照(SUBBLK.DBT 提取的 7.4 万行 STL Text、MM440 parameter AWL 解码)可用于快速检索关键词。*
Leave a Reply