跳到主要内容

使用ST语言开发用户库

ST用户库是使用结构化文本(ST)语言开发的用户自定义功能模块集合,包含功能块(FUNCTION_BLOCK)和函数(FUNCTION)等POU(程序组织单元)。

ST用户库的特点

  • 文本化编程:使用IEC 61131-3标准的ST语言
  • 高灵活性:适合实现复杂的算法和逻辑
  • 易于维护:结构化的代码便于阅读和修改
  • 代码复用:可以在多个项目中重复使用

创建ST用户库

操作步骤

  1. 创建开发语言为ST的用户库
  2. 点击模块名称,进入"模块设置"界面
模块创建

添加ST文件

创建POU

  1. 在创建的用户库节点上鼠标右键点击,选择添加POU,弹出ST程序文件类型选择:
添加POU菜单
  1. 选择创建的POU类型(ST功能块ST函数),输入POU名称:
创建POU

编辑POU

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

查看POU信息

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

POU类型说明

ST函数 (FUNCTION)

函数是无状态的程序单元,接收输入参数并返回一个值。

函数示例:

ST编辑界面

ST功能块 (FUNCTION_BLOCK)

功能块是有状态的程序单元,可以维护内部状态,有输入和输出参数。

功能块示例:

ST编辑界面

删除功能块/函数

操作步骤

  1. 在项目树中选择要删除的POU
  2. 右键点击,选择删除POU
  3. 在确认对话框中点击确定,即可删除POU
注意

删除POU后,相关的引用将失效,请确保没有其他代码依赖该POU。

重命名POU

  1. 在项目树中选择要重命名的POU
  2. 右键点击,选择重命名POU
  3. 输入新的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

注意事项

注意
  1. 语法规范:严格遵循IEC 61131-3标准语法
  2. 变量声明:所有变量必须先声明后使用
  3. 数据类型匹配:确保赋值操作的数据类型一致
  4. 避免递归调用:不要在函数或功能块中递归调用自身
  5. 错误处理:添加适当的错误处理和边界检查
提示
  • 使用缩进提高代码可读性
  • 添加必要的注释说明
  • 遵循模块化设计原则
  • 定期测试和验证功能

通过以上内容,您可以在WasomeCodeX_AI中使用ST语言开发用户库。