三菱 PLC ST 语言说明
一、语法介绍
(一)变量定义
- 基本数据类型
- 布尔型(BOOL):只有两个值,
TRUE
(1)和 FALSE
(0),常用于表示开关量状态,如按钮的按下与松开。
- 整型(INT):用于表示整数,范围根据 PLC 型号不同有所差异,例如 -32768 到 32767。
- 实数型(REAL):用于表示浮点数,可精确到一定小数位,如
3.14
。
- 变量声明语法
VAR
VariableName : DataType := InitialValue;
END_VAR
(二)运算符
- 算术运算符
- 逻辑运算符
- 比较运算符
(三)控制结构
- IF - THEN - ELSE 语句:用于条件判断执行不同的代码块。
VAR
temperature : REAL := 25.0;
BEGIN
IF temperature > 30.0 THEN
// 当温度大于 30 时执行的代码
// 例如启动冷却风扇
CoolingFan := TRUE;
ELSE
// 当温度小于等于 30 时执行的代码
CoolingFan := FALSE;
END_IF;
END
- CASE 语句:根据表达式的值选择执行不同的分支。
VAR
operationMode : INT := 2;
BEGIN
CASE operationMode OF
1: // 模式 1 执行的代码
// 例如设置设备为低速运行
Speed := 100;
2: // 模式 2 执行的代码
// 设置设备为中速运行
Speed := 200;
3: // 模式 3 执行的代码
// 设置设备为高速运行
Speed := 300;
ELSE
// 其他情况执行的代码
Speed := 0;
END_CASE;
END
- FOR 循环:用于重复执行一段代码指定的次数。
VAR
i : INT;
sum : INT := 0;
BEGIN
FOR i := 1 TO 10 DO
sum := sum + i;
END_FOR;
// sum 的值为 55
END
二、常用案例
(一)电机起保停控制
// 定义变量区域
VAR
// 启动按钮输入,连接到 PLC 的某个输入点,假设为 X0
StartButton : BOOL := FALSE;
// 停止按钮输入,连接到 PLC 的某个输入点,假设为 X1
StopButton : BOOL := FALSE;
// 过载保护输入,连接到 PLC 的某个输入点,假设为 X2
Overload : BOOL := FALSE;
// 电机输出,连接到 PLC 的某个输出点,假设为 Y0
MotorOutput : BOOL := FALSE;
END_VAR
// 主程序部分
PROGRAM MAIN
// 启动逻辑
IF StartButton AND NOT StopButton AND NOT Overload THEN
// 如果启动按钮按下,停止按钮未按下且无过载,启动电机
MotorOutput := TRUE;
END_IF;
// 停止逻辑
IF StopButton OR Overload THEN
// 如果停止按钮按下或者出现过载,停止电机
MotorOutput := FALSE;
END_IF;
END_PROGRAM
(二)计数器案例
// 定义变量区域
VAR
// 计数脉冲输入,假设连接到 X3
CountPulse : BOOL := FALSE;
// 复位按钮输入,假设连接到 X4
ResetButton : BOOL := FALSE;
// 计数值
CounterValue : INT := 0;
END_VAR
// 主程序部分
PROGRAM MAIN
IF ResetButton THEN
// 复位计数器
CounterValue := 0;
ELSIF CountPulse THEN
// 上升沿检测,每来一个脉冲计数加 1
CounterValue := CounterValue + 1;
END_IF;
END_PROGRAM
三、注意事项
(一)变量作用域
- 在功能块(FB)或函数(FC)内定义的变量,作用域仅限于该功能块或函数内部。
- 在程序(PROGRAM)中定义的变量,作用域为整个程序。避免不同程序或功能块中变量名冲突。
(二)数据类型匹配
- 进行运算或赋值操作时,确保参与运算的变量数据类型匹配。例如,不能将布尔型变量赋值给整型变量,除非进行适当的类型转换。
- 不同 PLC 型号对数据类型的支持和范围可能略有不同,编写程序前需了解目标 PLC 的具体规格。
(三)内存管理
- PLC 的内存资源有限,避免定义过多不必要的变量,尤其是大型数组或结构体变量,以免耗尽内存。
- 注意及时释放不再使用的内存,例如在使用动态内存分配函数(如果支持)后,要进行相应的释放操作。
(四)程序调试
- 使用 PLC 编程软件提供的调试工具,如监视变量值、设置断点等,逐步排查程序中的逻辑错误。
- 在程序中添加适当的注释,方便理解和调试,尤其是复杂的逻辑部分。
李枭龙8 个月前
AI生成文章:请以上所有知识进行深入分析,确定主要知识点,为每个知识点撰写详细说明并附上具有代表性且带有清晰注释的代码示例,接着根据内容拟定一个准确反映文档核心的标题,最后严格按照 Markdown 格式进行排版,确保文档规范美观,以满足初学者学习使用的需求。
李枭龙1 年前
X Lucas