|
В начало
Генератор случайных чисел на CFC Нужно реализовать генератор
случайных (псевдослучайных) чисел (ГСЧ) на языке программирования CFC, вырабатывающий случайные
величины в диапазоне [0; 64]. Сам генератор случайных чисел реализуется по формуле y = (A*y0 + B) mod C, где A, B, С – константы, примерные значения для которых можно взять следующие: A=5, B=3, C=64; y0 – начальное значение случайной величины (СВ). Диапазон полученных чисел будет [0; C]. Функция «mod» возвращает остаток от деления. В
качестве начального значения «y»
возьмем число, полученное после преобразования времени из таймера TON и
преобразованного в целочисленный тип стандартной функцией TIME_TO_INT. Для удобства можно создать свой функциональный блок на языке FBD (рис.1). Входом будет служить время, получаемое из таймера TON, а на выходе будет генерироваться случайная величина. В качестве начального значения случайной величины будем брать время, приведенное к целочисленному типу. Рис.1.
Функциональный блок RANDOM Далее
разместим на рабочей области компонент таймер TON, пользовательский функциональный
блок RANDOM, вход и
выход, и соединим все как надо (рис.2). Программа работает следующим образом: при появлении на входе IN таймера
значения ИСТИНА, на его выходе ET
(Time Exit) начнется отсчет времени
в миллисекундах, который поступает на функциональный блок RANDOM, с выхода которого уже выходит
наша случайная величина в диапазоне [0; 64]. Рис.2. Программа генерации случайного числа на CFC Для визуализации работы ГСЧ можно использовать графические компоненты «Тренд» и «Прямоугольник». В компоненте «Тренд» нужно установить диапазон значений по вертикальной оси и переменную для отображения «PLC_PRG.Vihod», а также цвет линии и шаг вспомогательной сетки. Кроме того, можно сохранить сгенерированные случайные величины в отдельный файл «*.trd», если настроить в конфигурировании элемента «Тренд – Регистрация – История – Настройка». В графическом компоненте «Прямоугольник» нужно установить переменную на
ввод и переменную на изменение цвета «PLC_PRG.Knopka», а также выбрать обычный (серый)
и тревожный (зеленый) цвета. Результат работы программы показан
ниже, на рис.3. Рис.3.
Визуализация работы ГСЧ |
|