fc105编程怎么使用

时间:2025-01-23 16:43:39 游戏攻略

在西门子S7-300 PLC编程中,使用FC105功能块处理模拟量输入的步骤如下:

打开库

在编程界面下,打开“Libraries” -> “Standard Library” -> “Ti-S7 Converting Blocks”,在这里可以找到FC105功能块。

调入OB1

将FC105功能块从库中调入OB1中,以便在程序中调用。

定义管脚

IN:模拟量模块的输入通道地址,在硬件组态时分配。

HI_LIM:现场信号的最大量程值。

LO_LIM:现场信号的最小量程值。

BIPOLAR:极性设置,如果现场信号为+10V~-10V(有极性信号),则设置为1;如果现场信号为4MA~20MA(无极性信号),则设置为0。

OUT:现场信号值(带工程量单位),信号类型是实数,所以要用MD200来存放。

RET_VAL:FC105功能块的故障字,可存放在一个字里面。

配置SCALE功能

FC105的SCALE功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。将结果写入OUT。

常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR设置:

BIPOLAR:K1 = -27648.0,K2 = +27648.0。

UNIPOLAR:K1 = 0.0,K2 = +27648.0。

如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。

示例程序

```西门子

PROGRAM FC105_Example

VAR

IN_Value: INT;

HI_Limit: INT := 100;

LO_Limit: INT := 0;

Bipolar: BOOL := FALSE;

OUT_Value: REAL;

RET_Val: WORD;

END_VAR

IF Bipolar THEN

K1 := -27648.0;

K2 := 27648.0;

ELSE

K1 := 0.0;

K2 := 27648.0;

END_IF;

OUT_Value := SCALE(IN_Value, K1, K2, LO_Limit, HI_Limit);

// 输出结果

WRITE: OUT_Value;

END_PROGRAM

```

在这个示例中,`IN_Value` 是从模拟量模块读取的整数值,`HI_Limit` 和 `LO_Limit` 分别定义了信号的最大和最小量程值,`BIPOLAR` 设置了信号的极性。`OUT_Value` 是经过FC105转换后的工程量值,最后通过 `WRITE` 语句输出。

通过以上步骤,你可以在西门子S7-300 PLC中成功编程使用FC105功能块处理模拟量输入。