Генератор случайных чисел на CFC

 

            Нужно реализовать генератор случайных (псевдослучайных) чисел (ГСЧ) на языке программирования CFC, вырабатывающий случайные величины в диапазоне [0; 64].

            Сам генератор случайных чисел реализуется по формуле:

 

y = (A*y0 + B) mod C,

 

где A, B, С – константы;

y0 – начальное значение случайной величины (СВ).

 

Примерные значения для которых можно взять следующие: A=5, B=3, C=64;

            Диапазон полученных чисел будет [0; C].

            Функция «mod» возвращает остаток от деления. В качестве начального значения «y» возьмем число, полученное после преобразования времени из таймера TON и преобразованного в целочисленный тип стандартной функцией TIME_TO_INT.

            Для удобства можно создать свой функциональный блок на языке FBD (рис.1). Входом будет служить время, получаемое из таймера TON, а на выходе будет генерироваться  случайная величина. В качестве начального значения случайной величины будем брать время, приведенное к целочисленному типу.

Функциональный блок RANDOM

Рис.1. Функциональный блок RANDOM

 

            Далее разместим на рабочей области компонент таймер TON, пользовательский функциональный блок RANDOM, вход и выход, и соединим все как надо (рис.2).

Программа работает следующим образом: при появлении на входе IN таймера значения ИСТИНА, на его выходе ET (Time Exit) начнется отсчет времени в миллисекундах, который поступает на функциональный блок RANDOM, с выхода которого уже выходит наша случайная величина в диапазоне [0; 64].

Программа генерации случайного числа на CFC

Рис.2. Программа генерации случайного числа на CFC

 

            Для визуализации работы ГСЧ можно использовать графические компоненты «Тренд» и «Прямоугольник». В компоненте «Тренд» нужно установить диапазон значений по вертикальной оси и переменную для отображения «PLC_PRG.Vihod», а также цвет линии и шаг вспомогательной сетки. Кроме того, можно сохранить сгенерированные случайные величины в отдельный файл «*.trd», если настроить в конфигурировании элемента «Тренд – Регистрация – История – Настройка».

В графическом компоненте «Прямоугольник» нужно установить переменную на ввод и переменную на изменение цвета «PLC_PRG.Knopka», а также выбрать обычный (серый) и тревожный (зеленый) цвета.

            Результат работы программы показан ниже, на рис.3.

Визуализация работы ГСЧ

Рис.3. Визуализация работы ГСЧ

Epson L382, L386, L486 Adjustment Program
Epson L382, L386, L486 Adjustment Program


Рукописный шрифт из почерка SergeyP
Рукописный шрифт из почерка SergeyP


Очень красивые Шрифты популярных ЛОГОТИПОВ мировых комп
Очень красивые Шрифты популярных ЛОГОТИПОВ мировых комп