Проверил, при отключенной переменной "Опрос" программа не работает. Я раньше еще проверял, опрос это общий для всего устройства. Можно каждой переменной делать индивидуальное действие (чтение, запись, опрос) при условии, что включен общий опрос.
Вид для печати
Так пока выставлен режим сбережения на ПР и не должно меняться с прибора, это при условии, что ПР всегда пишет в прибор. Если надо будет менять, то вероятно надо писать по изменению бита записи.
У вас уставки 5 и 5_DO почему обе сетевые? так нельзя делать, если они у вас меняются в приборе....
Добрый день.
Ребят подскажите пожалуйста какую визуализацию можно прикрутить к OwenLogik
для графической проверки поведения переменных?
piligrim Scada систему на своем ПК. по другому никак, графики вам больше никто не нарисует
Подскажите пожалуйста, есть ли макрос для реализации обратной связи.
Пример - подаётся сигнал на клапан для регулировки желаемого давления на 350 бар, после подачи сигнала фактическое измеренное давление от датчика получилось 345 бар, необходимо скорректировать сигнал на величину 5 бар по датчику.
Коллеги, добрый день.
Подскажите, как это понять и как с этим бороться?
Вложение 62336
При этом при 0,26 и 0,28 все ок.
Приветствую всех. Вчера весь день убил...
В проекте использую modbus на ПР200 как master. Несколько slave: 4 частотника, датчик температуры и влажности и панель управления Cityron ПУ-3. Задача управлять вентиляционной системой и с дисплея ПР200, и со сторонней панели.
Проблема такая: в регистре панели температура уставки хранится в виде целого числа, которое нужно разделить на 10, а на экране у меня температура — число с плавающей точкой. Нужно задавать температуру как через панель, так и через ПР200. Уставка читается из панели замечательно и пишется, если переменная — целое число, т.*е. на дисплее выставлять 255/230/275… (на дисплей просто вывожу сетевую переменную), а вот если на дисплее отображать вещественное, то требуется преобразование и запись в панель не происходит. Прилагаю схему. Пробовал работать с двумя сетевыми (на чтение и запись отдельно). Пробовал "энергонезависимость", пробовал запуск чтения и записи от других переменных. Пробовал "запись в конце цикла".
Такая же проблема при отображении скорости вращения вентилятора. На дисплее ПР200 combobox (10 значений): 10/20/...100%, а у панели значения от 1 до 5.
Вложение 62364
Вложение 62365
Держите про температуру
Вложение 62367
макросы преобразования float-dec-float мои
ЗЫ.
АНИМАЦИЯ:
Аналогичное решение для управления другой переменной не подошло. У панели скорость вентилятора от 0 до 5 (0 - это Авто), а у меня combobox от 0 до 10 (0 - это Авто и дальше от 10 до 100%). Как тут быть? Линии задержки не помогают. На дисплее "пляска", т.е. постоянная перезапись.
Вложение 62373
Petera подскажите а где что поставить что бы появилась как в Ваше примере Расширенные настройки для переменной tSetd из вашего примера. Это будет работать с INT
petera спасибо. Подсказка из ерии век жив век учиь. Овен неплохо бы это описать в Helpe.
Здравствуйте!
Пытаюсь настроить передачу данных по Modbus, ПР200 в режиме Master.
У сетевой переменной выбираю "запись по изменению". ПР200 подключено к ПК, в терминале вижу, что пакет с командой на запись приходит не по изменению переменной, а циклически, с частотой интервала между запросами.
Как правильно настроить прибор, чтобы пакет отправлялся только по изменению переменной?
Хорошо бы на сам проект взглянуть.
Переменная случайно не типа "с плавающей запятой"?
Не могу подключиться к ПР200.После установки драйвера PR-XXX_UsbCDCDrv_3.4.exe и подключения прибора штатным USB-кабелем,
появляется в диспетчере устройств 12-й com-порт но с воскл. знаком жёлтым и таким сообщением:
"Не удается проверить цифровую подпись драйверов, необходимых для данного устройства. При последнем изменении оборудования или
программного обеспечения могла быть произведена установка неправильно подписанного или поврежденного файла либо вредоносной программы неизвестного происхождения. (Код 52)"
(У мен 64-разр W10Pro)
И на другом комп-ре с таким же W10Pro то же, что не так, подскажите
Извините, разобрался- надо было отключить проверку цифровой подписи в W10
Есть подозрение, что Вы наблюдаете запрос на чтение.
Попробуйте отключить функцию чтения:
Вложение 62537
А пакета с 0x03 нет вообще?
Вот Вы говорите, что подключили терминал, т.е. нашему Мастеру никто не отвечает.
Теперь давайте ответим на два вопроса:
1. Должен ли Мастер считать, что запись произведена успешно, если ведомый не ответил? И не повторять больше своих попыток?
2. После чтения значения из ведомого, которое не совпадает с текущим - считается ли это "изменением" переменной?
Здравствуйте. Подскажите как сделать такую запись в ОЛ - if(N>100){N=100};? Именно в переменную N нужно перезаписать, а не в другую...
в ту же самую у вас не получится, иначе она всегда станет 100
Есть же макросы одностороннего ограничения, не понятно, в чём проблема?!
melky, так мне и нужно, что бы при уставке значения после 100 оно оставалось 100.
Сергей0308, не видел макросов таких... пропустил наверное. Сделать такой макрос не проблема... проблема в том, что ОЛ ругается на две одинаковые входные переменные... Получилось только с записью двух переменных в одну по последней измененной. А с этой же переменной ОЛ не хочет работать. Вот думал может какой простой вариант реализации этой строки на СИ имеется.
Denis_K само определение ЕСЛИ подразумевает то, что до этого самого ЕСЛИ переменная должна изменяться. По этому у вас должно быть сравнение входной переменной всегда И ЕСЛИ она превышает 100 то должна стать 100 для дальнейшей работы в программе или иметь входное значение N если оно меньше 100.
SEL + сравнение эту задачу решает без всяких макросов.
А вот если вы сделаете комбинацию перезаписи, то однажды переменная станет 100 и никуда не вернется, так и останется 100.
SEL + сравнение эту задачу решает без всяких макросов - да это конечно понятно, но если переменная уже назначена, то ОЛ ругается на вторую одинаковую, поэтому пришлось переназначать и ограничивать входную переменную, а потом делать такой блок записи. Такой огород получается, хотя в СИ это одна строчка...