Добрый день.
Если создать новый проект и попробовать добавить в него экран визуализации - будут ли какие-то ошибки?
Вид для печати
Да. ошибки есть. В новом проекте для СПК-107 не могу визуализацию создать :( Вложение 73306 И еще. Как так может быть? Вложение 73307 Открываю в 3,5 17 patch3, а он мне чушь пишет...
У вас CODESYS установился без плагинов.
Удалите и установите в точности по инструкции:
https://youtu.be/3KcJWZEVXCg?si=V4pFbqvPyWb5GPed
Спасибо. Пробую. ПОЛУЧИЛОСЬ!
Из темы Как считать информацию о тревогах ПЧВ AFD-E? (Modbus-функции 0x07 и 0x08) не совсем понял сам пример, то есть достаточно привязать переменную слово состояние и Ошибки и Тревоги (флаги), но как объяснить функциональному блоку какой именно порт нужно открывать ? - сам пример не включает в себя шаблон ПЧВ AFD-E с привязанными к нему переменными и я затупил, результат я понял если Флаг Тревоги, значит Цифра которая показывается относится к тревоге, или Флаг аварии значит Авария. Останется допилить пример и сделать логику чтобы вывести аварию и цифру
Как и обещал, возможно поможет... Здесь по RS485 со своим протоколом. Но вам придется парсить ответ...
Вложение 73314
Кстати, заметил баг в кодесисе. Если вкладка устройства скрыта таким образом, то при попытке добавить новое окно визуализации через эту вкладку у меня пытается создасться текстовый список или что-то из этого, но не визуализация. Когда Фиксируешь панель, то всё нормально. Другие элементы не проверял.
Добрый день!
Codesys 3.5 SP17 СПК107 (v17). При создании проекта визуализации при нажатии кнопки привязал действие "Открытая конфигурация пользователя", но в запущенном проекте при нажатии никаких действий не происходит (я так полагаю должно окно управления пользователями открываться). Под одним из созданных пользователей изначально залогинился. Другие действия (логин, отключение, изменения пароля) работают как надо. Подскажите пожалуйста, что я делаю не так и какой функционал у данной кнопки?
Спасибо!
Вложение 73353
Добрый день.
Нужно залогиниться под пользователем, для группы которого установлена эта опция:
Вложение 73354
Здравствуйте.
Почему при вызове функции/блока из библиотеки на одном компе надо указывать, из какой библиотеки функция - вроде Библиотека.ИмяФункции(параметры)... , а на другом - <Библиотека.> писать не нужно?
Встречал это и с самописными библиотеками и со штатными.
Добрый день.
Необходимость использования пространства имен библиотеки определяется этой галочкой:
Вложение 73446
Почему у вас эта необходимость зависит от конкретного ПК - мне сложно прокомментировать.
Здравствуйте. Я начинаю осваивать codesys, поэтому прошу не бить тапками)
Мне необходимо опрашивать счетчик Wb_map3e (slave) по modbus через СПК (master). У него регистры в формате u16 big endian, то есть если я правильно понимаю word с длиной в 1 регистр. Из-за того что он bid endian, мне необходимо изменить порядок байт (xSwapBytes - данная функция присутствует в 2word_to_real и swapData в OwenCommunication). После этого мне необходимо произвести умножение на коэффициент, для получения итогового значения типа real. У меня возникает недопонимание как это произвести в данной среде, так как для использования 2word_to_real необходимо 2 регистра word, а swapData при симмуляции на ПЛК не выдает результат (скорее всего я что-то не понимаю в его работе). Можете подсказать?
Добрый день.
Вы точно в этом уверены?Цитата:
Из-за того что он bid endian, мне необходимо изменить порядок байт
Если да - то в библиотеке PlsServices есть функция SwapWord (в папке Utilities - Swapping).
При общении с данным счетчиком через ПР205 в настройках прибора в Owen Logic я выставлял настройку "Старшим байтом вперед" в разделе "Мастер Modbus". При данной настройке, ПР205 выдавал верные значения. На основании этого я и решил произвести данную операцию.
В таком случае, должно быть достаточно встроенной функции Word_to real. Можете подсказать где найти Plc Services Library, просто не смог найти?
Добрый день
Существует способ загрузки пользовательского приложения с SD-карты. Существует возможность сделать Бэкап настроек и приложения и в случае необходимости загрузить его с ПК.
А можно ли этот архив Бэкапа .tar скинуть на SD-карту и совершить восстановление через эту карту без необходимости подключаться через WEB-конфигуратор? Если да, то как?
plc210 2.4.0601.0905
В случае замены ПЛК из комплекта ЗИП было бы чуть удобнее вставить SD-карту и чтобы все настройки и приложение подгрузились без необходимости искать ноутбук, провод, объяснять человеку как подключиться, где Бэкап найти, как загрузить
Вы говорите "В вашем случае" а есть прошивки где такой функционал существует?
В прошивках 3.5.xxxx.xxxx (для ПЛК210-1x - новой аппаратной модификации) мы поддержали возможность автоматического развертывания резервной копии после прошивки с накопителя.
См. здесь п. 3 в новых функциях:
https://owen.ru/forum/showthread.php...l=1#post424209
Здравствуйте.
Подскажите, можно ли каким-либо образом создавать аварию в менеджере тревог из кода, вместо добавления строчек в таблицу менеджера тревог?
Ну вот например: есть у меня в проекте 30 датчиков, для каждого нужно прописать 5 тревог (ав. высокое, пред. высокое, пред. низкое, ав. низкое, отказ датчика). Соответственно, нужно только по ним в таблицу менеджера тревог прописать 150 строчек. Через код это было бы гораздо быстрее.
Добрый день.
Возможно, это видео будет полезным:
https://youtu.be/heTqwXGgzbs?si=QlpJ0EhFzjNJ4Jnn
В общем, рано обрадовался. Мне необходимо, чтобы тревога не уходила мгновенно, а оставалась активной, пока событие ее вызвавшее не уйдет - причем идти очевидным путем и добавлять вторую запись в таблицу вида "тревога ушла" совершенно не вариант, потому что при большом количестве таких событий все превратится в нечитаемую кашу. Это реализуемо?
Ну как и положено. Пришла авария (темно красный индикатор). Нажали подтвердить при активной аварии, она квитировалась (бледно розовый). Если ушла то потухнет. Но без времени. Обычно с регистрацией времени завязывают какой-нибудь SQL сервер. Я вот ни архивы, ни историю в ПЛК стараюсь не писать. Боюсь или память переполнится, или ресурс перезаписи исчерпает себя.
Код:FOR i:= 1 TO 32 DO
IF TMP_MEC.ALA_CUR[i] THEN TMP_MEC.ALA_MEM[i]:= TRUE; END_IF //Взвод бита аварии в память
IF TMP_MEC.ALA_MEM[i] AND TMP_MEC.COM_RES THEN TMP_MEC.ALA_CON[i]:= TRUE; END_IF //Взвод бита подтветждения аварии
IF TMP_MEC.ALA_CON[i] AND NOT TMP_MEC.ALA_CUR[i] THEN
TMP_MEC.ALA_MEM[i]:= FALSE; //Сброс бита аварии из памяти при отсутствии аварии после подтверждения
TMP_MEC.ALA_CON[i]:= FALSE; //Сброс бита подтветждения аварии при отсутствии аварии после подтверждения
END_IF
IF NOT(NOT TMP_MEC.ALA_MEM[i] OR (TMP_MEC.PAR_DIS[i] AND TMP_MEC.COM_DIS[i])) THEN
TMP_MEC.STA_REA:= FALSE; //Сброс бита готовности
TMP_MEC.STA_ALA:= TRUE; //Взведение бита аварии
END_IF
END_FOR
Кстати, а можно ли в данном компоненте отключать какие-либо аварии без использования среды программирования? Честно не знаю, так как не работал. А вот плюсы программных реализаций как раз в том, что вы можете ими вертеть как пожелаете, можете вывести из списка аварий, можете включить. Только для этого должно быть соответствующее инженерное окно настроек быть нарисовано в визуализации.
Была ли уже идея сделать своего рода ключ администратора для ПЛК и СПК (мысль такая) Берём флешку уже готовую, в СПК жмём кнопку применить параметры администратора (если флешки нет то и кнопка в инвизе) и у нас доступ к сервисным настройкам которые сами сделали (вместо ручного ввода логина и пароля) я задумался с библиотекой CAA File будет копирования какого-то текста для запуска таймера обратного отсчёта и последующей деактивации. Вдруг кто-то подобное реализовал, а я начал изобретать колесо заново.
В рамках того варианта, который рассматривается в видео - нет, потому что одна строка группы тревог (со способом наблюдения "событие") будет являться репрезентацией нескольких тревог разных экземпляров ФБ.
Поэтому невозможно "держать" тревоги в таблице, пока они активны - надо сразу отправлять их в историю.