На вход EN реакции нет( касательно АНР)
Вид для печати
Здравствуйте.
Не могу в Windows 10 соединиться с СПК105.
Вместо сетевого адаптера "Owen SPK" соединение распознаётся как COM порт.
Что делать?
Добрый день!
Есть среда 3.5, установленная стандартно, в ней сделал проект. Сейчас установил среду на другом компе, открываю проект - а там куча ошибок, библиотек нет типа, зашел в плейсхолдеры, там все установил. Менеджер библиотек больше не ругается, но ругается на устройство PCL210, ошибка "устройство не установлено в систему", при этом если на устройство нажать правой кнопкой и выбрать "загрузить недостающее описание устройства", то пишет "файл не найден".
Вопроса два:
1. Что сделать, чтоб проект заработал?
2. Почему при аналогично установленной среде нельзя тупо открыть проект и запустить, без плясок с бубном?
Попробуйте сохранять архив проекта со всеми библиотеками и таргетами. Открывая такой файл Вам предложит обновить все настройки, просто согласитесь.
Без бубна - мы не танцуем....
А таргеты ставил на новой среде-то?
Добрый день.
Подскажите пожалуйста, как в CS3.5 реализовать что то подобное как в OWL "Линия задержки на один цикл"
Суть вопроса:
Сравнение переменной в текущем и предыдущем цикле, если переменная изменилась, то выход истина на один цикл.
Добрый день. Спасибо за предыдущий ответ, очень помог.
Подскажите ещё пожалуйста, есть ли в CS3.5 аналоги ФБ из OWL: SelChF и SelChB ???
Здравствуйте.
Посоветуйте как привязать программу к СПК1хх, чтоб ее нельзя было перенести на другой контроллер никаким способом?
Можно ее привязать к заводскому номеру СПК?
Здравствуйте! У меня большой вопрос по работе Retain переменных. Контроллер СПК110. Имеется функциональный блок, который считает время наработки, и в зависимости от прошедшего количества рабочих часов активизирует индикатор на СПК о необходимости проведения регламентных работ. Ранее переменные, отвечающие за часы, минуты наработки, были выходными переменными функционального блока, и когда я в теле основной программы привязывал к этим выходам переменные и объявлял их Retain, они при выключении питания не сохранялись. Затем я их объявил Retain уже внутри ФБ, и значения этих переменных стали сохраняться. НО у меня есть еще переменная внутри ФБ, которая привязана к выходу CV счетчика CTU и показывает количество проведенных регламентных работ, и соответственно должна быть тоже энергонезависимой, но когда я ее объявляю Retain внутри ФБ, то значение ее все равно не сохраняется при сбросе питания. Помогло только объявление всего ФБ как Retain. Почему такое происходит? одни переменные, объявленные внутри ФБ как Retain сохраняются,другие не сохраняются?Вложение 50594
Добрый день.
Чтобы осознать происходящее - надо всегда помнить о том, что по умолчанию выход CV счетчика CTU не является энергонезависимым.
После перезагрузки CV = 0 (помним, что он не энергонезависимый) - и это значение копируется в RETAIN-переменную программы.Цитата:
Ранее переменные, отвечающие за часы, минуты наработки, были выходными переменными функционального блока, и когда я в теле основной программы привязывал к этим выходам переменные и объявлял их Retain, они при выключении питания не сохранялись.
Тут все логично и не требует объяснений.Цитата:
Затем я их объявил Retain уже внутри ФБ, и значения этих переменных стали сохраняться.
После перезагрузки CV = 0 (помним, что он не энергонезависимый) - и это значение копируется в RETAIN-переменную ФБ.Цитата:
НО у меня есть еще переменная внутри ФБ, которая привязана к выходу CV счетчика CTU и показывает количество проведенных регламентных работ, и соответственно должна быть тоже энергонезависимой, но когда я ее объявляю Retain внутри ФБ, то значение ее все равно не сохраняется при сбросе питания.
После этого ВСЕ переменные ФБ стали энергонезависимыми. В том числе - экземпляр счетчика, и, соответственно, его выходная переменная CV также стала энергонезависимой.Цитата:
Помогло только объявление всего ФБ как Retain. Почему такое происходит? одни переменные, объявленные внутри ФБ как Retain сохраняются,другие не сохраняются?
С точки зрения практической части - посмотрите этот пример, он позволил бы не писать свой код для данной задачи:
https://owen.ru/forum/showthread.php...l=1#post336945
Евгений, спасибо за быстрый ответ!
Разместил здесь сообщение, исчезло бесследно, но в личке 1 ответ есть. Где искать само сообщение?
Я его перенес сюда:
https://owen.ru/forum/showthread.php?t=10555&page=795
так как оно не касается данной темы (CODESYS V3.5)
Странная ситуация. Дано CDS 3.5 SPK107 и CDS 2.3 PLC110. Определено несколько структур, которые есть и там и там. Структуры в CDS 3.5 и CDS 2.3 одинаковы. Но когда я смотрю их размер (sizeof) там и там, то у некоторых структур размер одинаковый, а у некоторых он отличается в CDS 2.3 в большую сторону. Как такое возможно?
Чтобы понять это - стоит почитать любую подробную статью про выравнивание данных.
Начать можно с википедии:
https://en.wikipedia.org/wiki/Data_structure_alignment
По практической составляющей вопроса - в CODESYS V3 можно управлять выравниванием с помощью атрибута, указываемого при создании структуры:
https://help.codesys.com/webapp/_cds...rsion=3.5.16.0
Согласен. А как управлять выравниванием в 2.3? Или как правильно выровнять в 3.5, чтобы это согласовывалось с 2.3? Мне нужно этими структурами обмениваться по Modbus и, соответственно, резервировать адресное пространство.
Чтобы согласовывалось - надо использовать {attribute 'pack_mode' := '0'}
А в ФБ собственного сочинения можно такую вкладку сделать?Вложение 50770
Эта вкладка используются для работы с переменными, объявленными как VAR_INPUT CONSTANT
https://help.codesys.com/webapp/_cds...lock-instances
Всем добра!
объявил массив переменной длины: arr1: array[*] of int;
нигде не могу найти как в него добавлять и удалять элементы. Подскажите.
Спасибо.
[ATTACH=CONFIG]50883
Подскажите пожалуйста, что это за предупреждение?
Добрый день, уважаемые коллеги, а кто-нибудь связывал устройство защиты двигателя УБЗ-302 с контроллером в среде CDS 3.5 . У меня почему-то нет доверия, какие там подводные камни ожидаются? Может какое-нибудь другое устройство защиты двигателя посоветуете?
Я связывал многократно. Проблема одна - по RS485 он не работает с некоторыми контроллерами, а по RS232 все хорошо.
А с ПЛК210 будет он работать?
По rs232 точно будет. По rs485 не знаю.
Уважаемые специалисты, ткните носом. Codesys 3.5 управление вент. установкой. Включение и выключение по одному и тому же регистру modbus. Как сделать переключение вкл-выкл в визуализации через клавишный выключатель, при этом при старте контроллера читать актуальное состояние. С обычной кнопкой проблем особых нет. Статус и включение можно разделить. А через клавишный выключатель не получается.
Да не то что бы не получается, я в принципе не понимаю как это сделать.
Вложение 51039
Создано 2 канала.
В программе есть переменная.
Vent_Room1_On_Status: BOOLEAN;
Хотелось бы выполнить задачи:
1. Считать состояние установки при старте контролера (и делать это постоянно).
2. В визуализации используя клавишный выключатель реализовать передачу команды на включение установки и соответственно чтобы его положение изменилось на "Включено"
3. При выключении установки с ее пульта изменить состояние в визуализации на выключено.
С обычной кнопкой это получается без проблем, там событий много обрабатывается. А у клавишного выключателя только привязка к одной переключаемой переменной.
Если с обычной кнопкой все получается - то поверх клавишного выключателя расположите элемент Невидимый ввод (из группы Стандартные элементы управления).
На него повесьте все события, а выключатель будет использоваться только для индикации состояния переменной.
Спасибо огромное!
Еще вопрос. Поправьте если я не прав.
При использовании тригерной переменной для канала modbus, ее необходимо вернуть в значение false Это можно сделать с помощью блока типа TON. Какая должна быть задержка? Не менее длины цикла основной программы?
Если работа с триггерной переменной производится в задаче цикла шины (см. здесь п. 4) - то достаточно сгенерировать единичный импульс через R_TRIG.
Универсальный вариант, который позволяет не зависеть от особенностей работы драйверов и настроек проекта - это циклически читать значение, которое записывается по триггеру.
Если считанное значение равно заданному, то триггер точно можно сбросить.
Евгений, невидимый ввод отлично работает, спасибо!
Видимо вопрос правильнее было помещать в визуализацию...
При наложении элементов друг на друга, фокус ввода всегда на верхнем элементе, на нижний событие уже не попадет?