Добрый день.
У меня проблема не воспроизводится.
Вложение 60685 Вложение 60686 Вложение 60687
Выложите, пожалуйста, простейший проект, в котором я смогу ее увидеть.
Вид для печати
Добрый день.
У меня проблема не воспроизводится.
Вложение 60685 Вложение 60686 Вложение 60687
Выложите, пожалуйста, простейший проект, в котором я смогу ее увидеть.
Да действительно, Ваш вариант работает. Прошу простить за неточность. Вопрос относится к переменным, объявленным в глобальных списках (Global Variables List - не знаю как правильно по-русски). Вот с ними как раз эта проблема. Ну, не то чтобы совсем проблема - неудобно.
Это известная особенность, которая не запланирована к исправлению (в тикете написано только про readwrite, но, похоже, это касается всех типов доступа).
Вложение 60693
В целом, использование глобальных переменных за редкими исключениями не рекомендуется - это затрудняет понимание потока данных в пределах проекта.
...поэтому обычно PLC_PRG состоит из вызова нескольких программ, каждая из которых включает в себя вызовы функциональных блоков и т.д.
Это называется "декомпозицией" и "разделением ПО на уровни абстракции".
Вы, вероятно, живете не в одном большом помещении а-ля школьный спортзал вместе со всеми остальными жителями вашего этажа, а в отдельной изолированной квартире - что, согласитесь, довольно удобно - хотя очевидно, что построить полую бетонную коробку проще, чем строить стены для каждой квартиры и т.д.
Точно так же хороший стиль программирования подразумевает стремление к структуризации и модульности ПО.
Здравствуйте,
Не совсем понимаю, почему не могу записать бит в переменной типа WORD, а считать могу , приведенный скрин текста находится в функциональном блоке. Далее я создал локальную переменную в PRG, при этом читать и записывать биты могу без проблем
Вложение 60695
где чего не так делаю?
ошибка С0020 () не является корректным заявлением
Здравствуйте, как изменить размер шрифта в визуализации CDS3.5sp16, при вводе значений?Изображение:
Добрый день.
Свойства текста - Шрифт.
Вложение 60719
Здравствуйте.
Подскажите, по какому принципу можно построить многозадачную программу на ПЛК с CodeSys?
Например, необходимо управлять стендом(станком) с двумя столами. Т.е. пока оператор обслуживает один стол, на другом идет процесс обработки(тестирования). А потом все меняется между собой.
Как делаются такие проекты? Как реализовывается визуализация?
Спасибо.
Вложение 60721Вложение 60722
К сожалению, это не подходит. Требуется сохранить размер шрифта при отображении и увеличить шрифт во время ввода. Почему-то у заказчика, в веб-визуализации, при вводе значения уставки, шрифт становится значительно меньше (примерно в 2 раза), чем при обычном отображении. Вероятно, из-за настроек масштабирования браузера или ОС. Может быть есть какие настройки в шаблонах визуализации или еще где-то?
Настроек для решения проблем другого ПО (браузера или ОС) в CODESYS нет.
Можно обойтись костылем: наложить два прямоугольника с разным размером шрифта друг на друга.
В нижнем - только отображение, в верхнем задать Отображение/Атрибуты заливки/Невидимый и настроить ввод в ту же самую переменную.
Доброе время суток всем!
-- -- -- -- -- -- -- -- -- --
CODESYS V3.5 SP14 Patch 3 *** PLC210-04; plc210 1.3.0309.1257 *** Версия ядра ПЛК 3.5.14.30
Сигнальные модули: MU210-410, MV210-212
-- -- -- -- -- -- -- -- -- --
Вопрос о времени отклика (наверное?) и можно ли его улучшить.
Простой опыт:
1) Собрана схема: на дискретный вход подключена кнопка + последовательно контрольная лампочка. Жмём кнопку - видим подтверждение нажатия по включенной лампочке.
2) В программе дискретные входы пересылаются на дискретные выходы.
Наблюдаю следующее: на некоторые нажатия дискретный выход не реагирует, как будто ПЛК "не замечает" нажатие кнопки, хотя оно видно по включившейся лампочке (на дискретном входе индикация тоже появляется).
Можно ли как-то... ускорить реакцию ПЛК в данном случае?
https://disk.yandex.com/i/H77hDbBBJW_5sQ
https://disk.yandex.com/d/xYaZhzpS-4gMKA
Как-то так. Я поспешил, дискретный вход реагирует, а дискретный выход - нет (точнее, не всегда).
Что из этого физически подключено к ПЛК и при этом корректно настроено (скорость, адрес и т.д.)?
Вложение 60763
В настоящий момент из этого ничего не подключено.
Доброе время суток всем!
Сделал следующее.
1) Чтобы не удалять из проекта неиспользуемые пока порты, отключил им флаги Enable. Визуально, эффекта это не дало.
2) Удалил порты из проекта. Визуально, тоже что-то разница с исходным вариантом незаметна.
https://disk.yandex.com/i/FU9w5UfsxaPjAw
Frants А это что? Полоумный дом опять?
1. Если прям совсем точно надо всё-всё отключить, но не удалить - в свойствах устройства (в конектсном меню команда "Свойства") на одной из вкладок есть её более адски жёсткая галочка: "исключить из компиляции". Она уж точно "удаляет" устройство из проекта. Но вместе со всеми переменными, привязками IO.
2. Я немного спец по полоумным домам на ОВЕНе (а точнее - по автоматизации света и защиты от протечек), поэтому туплю: а почму на скриншоте показаны модули RS-485, а на видео - модули Mx120 по LAN?
3. Советую зайти в мой профиль, поискать созданные мной темы и особенно заглянуть в эту: https://owen.ru/forum/showthread.php?t=34129 (в её конец), в которой было дофига всего написано про Modbus, про приёмы быстрого опроса устройств и реакции на короткие нажатия по счётчикам импульсов.
Здравствуйте, подскажите пожалуйста, как в проекте узнать, какой объем переменных RETAIN запищется в память при отключении(нужно узнать сколько это займет в килобайтах, т.к. память контроллера ограничена)?
sssssaaaaabbbbb Все, какие есть.
О чём был вопрос:
а) О том, что у памяти есть ресурс, и от частой перезаписи она сдохнет? - Нет, у новых ОВЕНских ПЛК это решено тем, что переменные пишутся в стойкую память NVRAM и только при отключении питания.
б) О том, что у памяти есть ограничение по размеру? - А сколько у тебя переменных? У меня щас RETAIN - около 200 штук и ещё + 40 больших FB с кучей внутренних переменных. Всё пишется хорошо, не сбоит.
Евгений Кислов Ага, снова значит скорость опроса.
Я тебе обещаю - как доделаю программу на Майлиху и сдам щит - напишу статью про опрос в CodeSys. Про Modbus потом, но хоть какой-то FAQ - сделаю!
Результат можно наблюдать здесь https://disk.yandex.com/i/sF41ngRCJg4bZA
DI3 => DO1
Привет! Поясню. RS-485 был показан потому, что предполагали замедление реакции из-за отсутствующих слэйвов RTU и потерь времени на их опрос. А модули LAN - с них и началось, отклик не очень. Модуль DI кнопку видит чётко, вопросов нет. Но до модуля DO - доходит слишком долго.
Спасибо за Вашу ссылку, надо бы заглянуть.
Можно посмотреть в сообщениях компиляции после выполнения команды Генерация кода.
Наибольший непрерывный промежуток памяти - это размер свободной RETAIN-памяти (в тестовом проекте я специально объявил большой массив RETAIN-переменных, поэтому осталось так мало доступной памяти).
Вложение 60793
Я так понимаю, что у шаблонов нет параметра для настройки цикла опроса?Цитата:
Проблема редуцирована переводом обмена с шаблонов на стандартные компоненты Modbus с добавлением опроса только тех параметров, что необходимы в рамках решаемой задачи.