Network 1 — 调用 SCL 功能块(LAD)

目的:在 LAD 主程序里调用一个 SCL 编写的 FB。
条件 → 动作:调用 SCLdemo,使用实例 DB SCLdemo_DB。
为什么:LAD 和 SCL 可以混用;调用框是两种语言之间的接口。
注意:Main 里没有其他逻辑,所以这个程序的行为完全取决于 SCLdemo 和点表里的 switch。
LAD 主程序调用 SCL 定时功能块:switch 接通 7 秒后 TimeDownn 置位,同时输出 Timepassed;演示 SCL 与实例 DB。
通过 TiaLink 把本示例的 5 个对象导入你当前打开的 TIA Portal 项目。导入前会先预检,默认不覆盖同名对象,导入后不会自动保存。
这是一个最小的"LAD 调用 SCL"示例:Main(OB)里只有一个调用框,真正的逻辑在 SCL 功能块 SCLdemo 里——它用 TON 做一个 7 秒延时,时间到后置位 TimeDownn,并把已计时时间写到 Timepassed。
适合已经会写 LAD、想第一次尝试 SCL 功能块的人。
| 信号 | 类型 | 含义 | 作用 |
|---|---|---|---|
switch |
M(%M0.4) | 启动条件 | TON 的输入 |
TimeDownn |
M(%M0.7) | 延时到位 | 7 秒后置位 |
Timepassed |
M(%MD12,Time) | 已计时时间 | TON 的 ET 输出 |
IEC_Timer_0_DB |
实例 DB | TON 的实例 | 计时器背景数据 |
SCLdemo_DB |
实例 DB | SCLdemo 的实例 |
FB 调用背景数据 |
点表里还有
EStop、AlarmReset、Val1~`Val4` 等大量标签,但本程序没有使用,应该是从更大的工程里带过来的。
Main 每个周期调用 SCLdemo;SCLdemo 内部执行 "IEC_Timer_0_DB".TON(...);switch=1 持续 7 秒后,Q 输出到 TimeDownn;ET(已计时时间)写到 Timepassed,可用于显示进度;switch=0 时 TON 复位,TimeDownn 归 0。
目的:在 LAD 主程序里调用一个 SCL 编写的 FB。
条件 → 动作:调用 SCLdemo,使用实例 DB SCLdemo_DB。
为什么:LAD 和 SCL 可以混用;调用框是两种语言之间的接口。
注意:Main 里没有其他逻辑,所以这个程序的行为完全取决于 SCLdemo 和点表里的 switch。
1"IEC_Timer_0_DB".TON(IN:="switch",2 PT:=t#7s,3 Q=>"TimeDownn",4 ET=>"Timepassed");5目的:用 SCL 实现一个延时接通计时。
条件 → 动作:switch=1 时 TON 开始计时,7 秒后 Q 置位;ET 持续输出已计时时间。
为什么:SCL 里调用定时器就是"实例名.功能块名(参数)"的形式;IN、PT、Q、ET 一目了然。
注意:"IEC_Timer_0_DB" 是定时器实例 DB 的名称;PT:=t#7s 是时间字面量(7 秒)。如果实例 DB 不存在,编译会报错。
switch(%M0.4)是否为 1,且持续满 7 秒。ET 是否连接到 Timepassed;TON 未启动时 ET 为 0。EStop、AlarmReset、Val1~`Val4` 等与本逻辑无关,可忽略。SCLdemo_DB 已导入。PT:=t#7s。Reset 输入,在 SCL 里复位 TimeDownn。| 名称 | 数据类型 | 地址 | 注释 |
|---|---|---|---|
| EStop | Bool | %M6.0 | |
| EStopAlarm | Bool | %M0.1 | |
| EStopNotify | Bool | %M0.0 | |
| AlarmReset | Bool | %M0.2 | |
| AlarmSilence | Bool | %M0.3 | |
| Val1 | Int | %MW2 | |
| Val2 | Int | %MW4 | |
| Val3 | Int | %MW8 | |
| Val4 | Int | %MW10 | |
| switch | Bool | %M0.4 | |
| Switch2 | Bool | %M0.5 | |
| Reset | Bool | %M0.6 | |
| Timepassed | Time | %MD12 | |
| TimeDownn | Bool | %M0.7 |
| 名称 | 数据类型 | 起始值 | 注释 |
|---|---|---|---|
| Input | |||
| Output | |||
| InOut | |||
| Static | |||
TIA 自动生成的定时器/计数器实例 DB,导入示例时会一并导入。
| 名称 | 数据类型 | 起始值 | 注释 |
|---|---|---|---|
| Static | |||
| PT | Time | ||
| ET | Time | ||
| IN | Bool | ||
| Q | Bool | ||