Можете с помощью RDM2 генерировать два значения: из диапазона 20...23 и из диапазона 0...1. Если 1 - то к первому значению прибавляете 0.5. Ну или более сложную логику рандомизации, если требуется.
Вид для печати
Добрый день.
См. здесь:
https://www.owen.ru/forum/showthread...l=1#post304642
Добрый день.
Codesys 3.5 SP17 Patch 3
Есть необходимость сделать указатель на BOOL. Читая различные источники так и не понял допустимо ли это? В книге Сергея Романова написано, что "POINTER TO BOOL не работает и указатель должен ссылаться, как минимум, на BYTE". Но BOOL, как известно, по памяти занимает этот самый BYTE. Где то написано, что нельзя ссылаться на BIT, а про BOOL ничего не сказано.
Смысл этого вот в чем. Есть двумерный массив состояний дискретных входов модулей ввода вида aDiscreteInputs[<номер модуля>, <номер входа>] OF BOOL; Все элементы массива привязаны через соотнесение входов/выходов.
Есть типовые сигналы, которые из проекта в проект могут быть поданы на разные входы модулей. С выходами то же самое. Хочется иметь универсальный код, который легко адаптировать под проект щита по входам и выходам. В дальнейшем есть идея сделать их настраиваемыми в веб-визуализации (что то типа "Клапан открыт: Номер модуля А ___, Номер входа DI ___" и т.д.)
Пока пришло в голову такое:
PROGRAM PLC_PRG
VAR
pt_x_Opened: POINTER TO BOOL; //Клапан открыт
pt_x_Closed: POINTER TO BOOL; //Клапан закрыт
pt_x_ON: POINTER TO BOOL; //Открыть
pt_x_OFF: POINTER TO BOOL; //Закрыть
В самой программе при инициализации выполняем один раз:
pt_x_Opened := ADR(aDiscreteInputs[1,1]);
pt_x_Closed := ADR(aDiscreteInputs[1,2]);
pt_x_ON := ADR(aDiscreteOutputs[2,3]);
pt_x_OFF := ADR(aDiscreteOutputs[2,4]);
Ну а дальше оперировать уже сигналами через разыменовывание
IF pt_x_Opened^ THEN и т.д.
pt_x_OFF^ := TRUE; и т.д.
Это для примера. Сигналов на самом деле много, все они упакованы в структуры, а структуры в массивы.
Имеет ли такая реализация право на существование? Компилятор вроде не ругается пока.
Здравствуйте, подскажите как можно реализовать обрыв связи с слайв устройством, на языке FBD
Добрый день.
Вы имеете в виду диагностику обрыва связи?
См. здесь в п. 3.4 и 4.6:
https://ftp.owen.ru/CoDeSys3/11_Docu...odbus_v3.1.pdf
Возможно, поможет Application start.
Здравствуйте уважаемые коллеги. Знаете ли вы как прочитать эту переменную(Error Counter)?Вложение 69330