使用ST语言开发用户库
ST用户库是使用结构化文本(ST)语言开发的用户自定义功能模块集合,包含功能块(FUNCTION_BLOCK)和函数(FUNCTION)等POU(程序组织单元)。
ST用户库的特点
- 文本化编程:使用IEC 61131-3标准的ST语言
- 高灵活性:适合实现复杂的算法和逻辑
- 易于维护:结构化的代码便于阅读和修改
- 代码复用:可以在多个项目中重复使用
创建ST用户库
操作步骤
- 创建开发语言为ST的用户库
- 点击模块名称,进入"模块设置"界面

添加ST文件
创建POU
- 在创建的用户库节点上鼠标右键点击,选择添加POU,弹出ST程序文件类型选择:

- 选择创建的POU类型(ST功能块或ST函数),输入POU名称:

编辑POU
- 点击确定,ST功能块(函数)文件创建成功,并打开ST文件编辑界面,在编辑界面实现POU功能逻辑:

查看POU信息
- 点击ST文件编辑界面中的"POU"按钮,可以查看定义的POU功能块(函数)对应的POU描述信息:

POU类型说明
ST函数 (FUNCTION)
函数是无状态的程序单元,接收输入参数并返回一个值。
函数示例:
ST功能块 (FUNCTION_BLOCK)
功能块是有状态的程序单元,可以维护内部状态,有输入和输出参数。
功能块示例:
删除功能块/函数
操作步骤
- 在项目树中选择要删除的POU
- 右键点击,选择删除POU
- 在确认对话框中点击确定,即可删除POU
注意
删除POU后,相关的引用将失效,请确保没有其他代码依赖该POU。
重命名POU
- 在项目树中选择要重命名的POU
- 右键点击,选择重命名POU
- 输入新的POU名称,点击确定
提示
重命名POU时,相关的引用也会被更新,确保在代码中使用新的名称。
POU编程规范
命名规范
| 类型 | 命名规则 | 示例 |
|---|---|---|
| 函数 | 首字母大写,驼峰命名 | CalculateValue |
| 功能块 | 首字母大写,驼峰命名 | MotorController |
| 变量 | 小写开头,驼峰命名 | currentValue |
| 常量 | 全大写,下划线分隔 | MAX_LIMIT |
代码结构
FUNCTION_BLOCK ExampleFB
(* 输入变量 *)
VAR_INPUT
input1: INT;
input2: BOOL;
END_VAR
(* 输出变量 *)
VAR_OUTPUT
output1: REAL;
output2: BOOL;
END_VAR
(* 内部变量 *)
VAR
temp: INT;
status: BOOL;
END_VAR
(* 程序逻辑 *)
(* ... *)
END_FUNCTION_BLOCK
注意事项
注意
- 语法规范:严格遵循IEC 61131-3标准语法
- 变量声明:所有变量必须先声明后使用
- 数据类型匹配:确保赋值操作的数据类型一致
- 避免递归调用:不要在函数或功能块中递归调用自身
- 错误处理:添加适当的错误处理和边界检查
提示
- 使用缩进提高代码可读性
- 添加必要的注释说明
- 遵循模块化设计原则
- 定期测试和验证功能
通过以上内容,您可以在WasomeCodeX_AI中使用ST语言开发用户库。