如何在 ST 语言中使用功能或功能块

概述

本部分介绍如何使用 ST 语言实现功能和功能块。

我们以函数 SetRTCDrift 和功能块 TON 为例演示实现的过程。

通过 ST 语言使用函数

以下过程描述如何用 ST 语言插入一个功能:

步骤

操作

1

通过结构化文本语言打开 POU 或创建新 POU。

注: 此处未详细介绍创建 POU 的步骤。有关详细信息,请参阅添加和调用 POU

2

创建函数所需的变量。

3

POU ST 编辑器中,使用函数 ST 语言的常规语法。常规语法为:

FunctionResult:= FunctionName(VarInput1, VarInput2,..VarInputx);

要阐释该过程,请考虑下面以图形方式表示的 SetRTCDrift 函数:

功能

图形表示形式

SetRTCDrift

此功能的 ST 语言如下所示:

功能

POU ST 编辑器中的表示形式

SetRTCDrift

PROGRAM MyProgram_ST
VAR
myDrift: SINT(-29..+29) := 5;
myDay: sec.DAY_OF_WEEK := SUNDAY;
myHour: sec.HOUR := 12;
myMinute: sec.MINUTE;
myRTCAdjust: sec.RTCDRIFT_ERROR;
END_VAR
myRTCAdjust:= SetRTCDrift(myDrift, myDay, myHour, myMinute);

通过 ST 语言使用功能块

以下过程描述如何用 ST 语言插入一个功能块:

步骤

操作

1

通过结构化文本语言打开 POU 或创建新 POU。

注: 此处未详细介绍创建 POU 的步骤。有关详细信息,请参阅添加和调用 POU

2

创建功能块所需的输入和输出变量以及实例:

  • 输入变量是功能块所需的输入参数

  • 输出变量接收功能块返回的值

3

POU ST 编辑器中,使用功能块 ST 语言的常规语法。常规语法为:

FunctionBlock_InstanceName(Input1:=VarInput1, Input2:=VarInput2,...Ouput1=>VarOutput1, Ouput2=>VarOutput2,...);

要阐释该过程,请考虑下面以图形方式表示的 TON 功能块示例:

功能块

图形表示形式

TON

下表显示了采用 ST 语言的功能块调用的示例:

功能块

POU ST 编辑器中的表示形式

TON