Files
FSI.Tia.V13.Prj/src/FSI Funktionen/Debug/DbgGenCpuLst.scl
2021-03-29 10:23:01 +02:00

78 lines
2.0 KiB
Plaintext

FUNCTION_BLOCK "DbgGenCpuLst"
{ S7_Optimized_Access := 'FALSE' }
VERSION : 0.1
VAR_INPUT
I_MinVal : Int; // min. Zykluszeit in ms
I_MaxVal : Int; // max. Zykluszeit in ms
END_VAR
VAR
init : Bool;
oldVal : "STIME"; // alter Zeitwert
newVal : "STIME"; // aktueller Zeitwert
rdm : Int; // Zufallszahl, die auf den alten Zeitwert addiert wird
END_VAR
BEGIN
(*#################################################################################################
Copyright (c) Fondium Singen GmbH
### Änderungshistorie ###
Datum: Version: Bearbeiter: Beschreibung:
24.10.2019 0.0 St. Maier Neuerstellung
03.02.2020 0.1 St. Maier Init-Funktion eingefügt um Fehler beim Neustart zu
vermeiden.
#################################################################################################*)
(*################################### Baustein Beschreibung #######################################
Abhängigkeiten (von anderen Fuktionen und Quellen):
- IN: EingangswerZufallszahl zwischen LOW und HIGHt
Inputs:
-
Outputs:
-
In-\Outputs:
-
Return-Value:
- Nachkommateil von x
Funktionsbeschreibung:
Dieser Baustein Simuliert eine CPU-Last bzw.verlängert die Zykluszeit über einen
Zufallsgenerator. Über die Eingangsvariablen I_Min und I_Max können die Grenzen der Zyklus-
zeit bestimmt werden.
#################################################################################################*)
IF NOT #init THEN
#newVal();
#init := true;
END_IF;
#oldVal();
#rdm := "Rdm2"(
I_OldVal := #rdm
, I_MinVal := #I_MinVal
, I_MaxVal := #I_MaxVal
, "I_STIME.tx" := #oldVal.tx
);
WHILE DWORD_TO_DINT(#newVal.tx) < DWORD_TO_DINT(#oldVal.tx) + #rdm DO
#newVal();
END_WHILE;
END_FUNCTION_BLOCK