西门子博图编写流量累计调用程序块
1使用西门子博图V16软件2写一个流量累计调用程序块
3使用1500PLC 编写步骤:
1. 打开西门子博图软件V16,创建一个新项目,并选择1500PLC作为目标设备。
2. 在程序块编辑器中,创建一个新的函数块(FB)。
3. 命名该函数块为“FlowAccumulation”,并定义两个输入参数:流量值(FlowValue)和时间间隔(TimeInterval)。
4. 定义一个内部变量TotalFlow,用于存储累计流量的值。初始值设置为0。
5. 在函数块中,使用一个计时器对象(TIMER)来计算时间间隔,并将其输出连接到一个数学运算对象(MATH)上。
6. 将流量值输入连接到一个乘法运算对象(MUL)上,然后将其输出连接到上述数学运算对象上。这里的目的是计算出在时间间隔内通过管道的总流量。
7. 将上述数学运算对象的输出连接到一个加法运算对象(ADD)上,再将其输出连接到累计流量变量(TotalFlow)上。这一步完成了累计流量值的更新。
8. 最后,将累计流量变量的值输出到函数块的返回值中。
9. 程序块编写完毕后,可以将其保存并导出到PLC项目中进行调用。
下面是一个示例程序块的代码:
FUNCTION_BLOCK FlowAccumulation
TITLE \'Flow Accumulation Function Block\'
VAR_INPUT
FlowValue : REAL;
TimeInterval : TIME;
END_VAR
VAR_OUTPUT
TotalFlow : REAL;
END_VAR
VAR
timeCounter : TIMER;
flowInTimeInterval : REAL;
TotalFlow : REAL := 0;
END_VAR
timeCounter(IN:=TRUE, PT:=TimeInterval);
flowInTimeInterval := FlowValue * (1.0 / TO_REAL(TIME_TO_SEC(TimeInterval)));
IF (timeCounter.Q) THEN
TotalFlow := TotalFlow + flowInTimeInterval;
END_IF
TotalFlow := ROUND(TotalFlow, 2);
TotalFlow(TO:=TotalFlow);
END_FUNCTION_BLOCK
页:
[1]