鸿信自动化 信捷指令讲堂 指令讲堂 资料下载 第 52 课
第 52 课

ST 结构化文本(二):数据类型与变量

6 段 · 共 1:48 · 数字人讲师示范 · 完全免费

ST 里每个量都有类型。这一课讲 BOOL / INT / REAL / ARRAY 等数据类型,以及变量怎么声明、存在哪。

正在加载数字人讲师…
讲师模型较大(约 87MB),首次打开需要等待。加载完后数字人会自动开始讲解,这段时间可以先往下读讲稿。
已等待 0 秒
等待中… 在仿真器里打开

本课讲稿

1/6变量声明:给数据起名字0:17

ST 里可以先给数据起名字。`VAR speed:INT; END_VAR` 声明一个整数变量 speed,再用 `speed := 5;` 赋值。编译器把 speed 安排在 D0——变量名就是我们给寄存器起的外号。

2/6INT 整数与 D 寄存器0:18

INT 就是 16 位有符号整数,范围 -32768 到 32767,落在 D 区。`temp := 100 + 23;` 一行算出 123。整数运算的规则和梯形图里的四则运算完全一样,只是写法不同。

3/6BOOL 布尔与 M 区0:21

开关量用 BOOL 类型。`VAR run:BOOL; END_VAR run := X0;` 让 run 跟着 X0 变。编译器把 run 安排在 M500——BOOL 变量落在 M 区,赋值就是让线圈通断。

4/6布尔表达式:AND 与 NOT0:15

布尔变量可以直接参与逻辑运算:`ready := X0 AND NOT X1;` 表示 X0 通、且 X1 没通时 ready 为 1。AND 是串联、NOT 是常闭,和梯形图触点一一对应。

5/6常量:K 十进制与 H 十六进制0:16

数字可以带前缀:K 是十进制,H 是十六进制。十六进制的 H1F 换成十进制是 31,所以 K16 加 31 等于 47。信捷手册里的常数都这么写,ST 照单全收。

6/6综合:用 ST 写启保停0:20

压轴戏:用 ST 写启保停。`motor := X0 OR (motor AND NOT X1);` 等号右边的 motor 读的是自身上一拍的值——不用画自锁触点,变量自己会记住。按一下 X0 启动,松开仍然保持;X1 一通立刻断开。