В начало

Генератор случайных чисел на 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. Визуализация работы ГСЧ

Adjustment program Epson ME301 XP202 XP300 XP402 (ESP)
Adjustment program Epson ME301 XP202 XP300 XP402 (ESP)


Adjustment Program Epson Artisan 835 Ver.1.0.2
Adjustment Program Epson Artisan 835 Ver.1.0.2


Adjustment program Epson L1455
Adjustment program Epson L1455