По просьбе наших посетителей, данный материал перенесен с сайта plc4good.org.ua, в связи с полной его потерей. Всё возражения принимаются через форму обратной связи.
plc4good.org.ua/view_post.php?id=226
Этот блок генерирует шумовой сигнал. Может использоваться для демонстрации в проектах примеров реакции на действительные сигналы. Может применяться в демонстрациях, выставочных моделях и т.д.
Блок который официально никому не нужен 🙂
Выдержка из документации на блок (Advanced Process Library (V8.0 SP2) Function Manual, 06/2013) (pdf, 200Kb) – Файл удален.
Name: FB1863
Symbolic Name: NoiseGen
Symbol Comment: Noise Generator
Family: Genrator
Version: 5.0
Author: AdvLib80
Last modified: 04/13/2011 Size: 358 byte
FUNCTION_BLOCK FB11863 // FB1863
TITLE =‘Noise Generator’
AUTHOR : AdvLib80
FAMILY : Genrator
NAME : NoiseGen
VERSION : ‘2.0’VAR_INPUT
StdDev : REAL := 1.000000e+000, //standard deviation of the noise signal (variance=StdDev^2)
Offset { S7_edit := ‘para’ } : REAL := 2.000000e+001, //meanvalue of the noise signal
Enable : BOOL := TRUE, //noise-enabling
Restart : BOOL := TRUE, //complete restart
<span,color:blue’>END_VAR</span,color:blue’>
<span,color:blue’>VAR_OUTPUT</span,color:blue’>
Noise : STRUCT //output noise sample
Value : REAL , // Value
ST : BYTE := B#16#80, // Signal Status
END_STRUCT,
END_VAR
VAR
xn : DINT ,
m : DINT , //parameter
d : REAL ,
_reserve : ARRAY [0 .. 7 ] OF BYTE := B#16#0,
END_VAR
VAR_TEMP
xnp1 : DINT ,
produkt : DINT ,
ynp1 : REAL ,
i : INT ,
END_VAR
BEGINIF Restart
THEN
xn:= 11,
Restart:=false,
Noise.Value:=0.000000e+000,
m:=59049,
d:=DINT_TO_REAL(m/9),
ELSE
IF Enable
THEN
produkt:=5*xn+1,
xnp1:=produkt MOD m,FOR i:= 1 TO 9 BY 1 DO
IF INT_TO_REAL(i–1)*d <,= DINT_TO_REAL(xnp1) AND INT_TO_REAL(i)*d –1.0 >,= DINT_TO_REAL(xnp1)
THEN
ynp1:=INT_TO_REAL(i),
END_IF,END_FOR,
ynp1:=(ynp1–5.130000e+000) / 2.592716e+000 – 6.595402e-003,
Noise.Value:=ynp1 * StdDev + Offset,
xn:=xnp1,
ELSE
Noise.Value:=0.000000e+000,
END_IF,,
END_IF,END_FUNCTION_BLOCK
Функция восстановлена без совпадения по checksum, но генерирует идентичную последовательность чисел с оригинальной.
Опознать тип алгоритма генерации чисел не удалось, если кто узнал – подскажите.
Оригинальная библиотека PCS7 (Advanced Process Library (V8.0 SP2) (zip, 3.5Mb) https://disk.yandex.ru/d/coPfDcmguE-eEg
Оцените статью!