Ну и каков период повторения ? Плотность распределения вероятности какая ?
Вид для печати
Сыграть бы на автомате с таким рандомом ))Цитата:
random := DWORD_TO_REAL(TIME_TO_DWORD( TIME()) MOD 1000)/1000;
С вероятностью 90-95% Xn > Xn-1
Мечта дровосека..
Замечания справедливые.
Тогда можно объединить идею с таймером и алгоритм Peterа.
Проблема уже была решена: http://www.owen.ru/forum/showthread....E5%F2%F0%EE%E2
Пишу дипломную работу в среде CODESYS v.3.5. SP5.
Надо выдавать рандомное значение на определенном интервале.
PROGRAM PLC_PRG
VAR
temp_real: real; //температура помещения с датчика
temp_max: REAL:=23; // верхний предел температуры
temp_min: REAL:=16; //нижний предел температуры
temp_error: BOOL:=0;
vlag_real: REAL; //влажность помещения
vlag_max: REAL:=70; //максимальная допустимая влажность
vlag_min: REAL:=30; //минимальная допустимая влажность
vlag_error: BOOL:=0;
END_VAR
Так вот temp_real надо выдавать в пределах от 16 до 23.Не пойму, как это сделать.
Надо отметить, что я провожу только лишь эмуляцию и с реальным контроллером дело иметь не буду.
Спасибо за ответ. Но я не пойму, как это реализовать именно в CODESYS v.3.5 на ST. Если говорить о моей компетентности в программировании, то она нулевая, т.к. уже второй день сижу ковыряюсь с ,казалось бы, легкой темой. Подключил библиотеку BASIC(OSCAT), там есть функция рдм,рдм2,как ее применить можно?
вроде как здесь должен быть окончательный вариант для ST, правда для КДС2.3
Спасибо уж точно не мне, я только выбил исходники