А что может из себя представлять привод: мотор, группа шестеренок, импульсный датчик Вот и весь привод.
Мне нужно проблему в Codesys решить....... :confused:
Вид для печати
Похоже на, что ответа так и не получу......
Приветствую, нарисуйте на lad как зацепить DERIVATIVE к примеру. Интересует подключение аналоговых входов
Вложение 67740
10++
Спасибо большое
Портирую прогу от ПЛК160 на ПЛК160 М02.
В руководстве
https://ftp.owen.ru/CoDeSys23/06_Doc...LC160(M02).pdf
сказано "Откройте старый проект и его копию для переноса", т.е. два проекта одновременно. А вот что-то не получается! ЧЯДНТ?
Да, надеетесь правильно, имена разные. V 2.3.9.41
ЗЫ; Оппс-с-с. Нужно вторым экземпляром CDS открывать, а я одним пытался...
Здравствуйте. если в конфигурации плк добавляю два слейва. один rs232 другой TCP. по rs232 добавляю переменные по 4 byte. Вопрос данные переменные они становятся доступны и по слейву TCP? то есть мне не надо вводить эти же переменные по данному интерфесу Вложение 67840
спасибоВложение 67843
Добрый день
Проблема с загрузкой программы в старый ПЛК160 по Ethernet. Проект нормально открывается, программа компилируется без ошибок. Подключение к ПЛК происходит нормально, но при загрузке выскакивает сообщение "Ошибка связи #0. Произошло отключение". Интересно, что программа сделанная на родном ПК загружается нормально, а вот программа сделанная на стороннем ПК не загружается. Может ли это быть связано с тем что на стороннем ПК стоит таргет отличный от таргета, установленного на родном ПК ?
Newcomer Да, тарегты стоит проверить, так как они же есть обычной версии и версии 2.0. Обычно CodeSys сразу на это ругается, но вдруг там что-то не то и не так.
Надо поставить все таргеты и открыть исходную программу, нужный таргет сам подтянется. Либо 160М, либо 160М[v02], есть ещё 160L, либо160L[v02]Вложение 67909
Потом просто смотрите какой подтянулся.
У старого корпус с синими наклейками, у переходной модели и нового корпус с тёмными стёклами, без синего. Кажется так.
Добрый день!
Подскажите,есть ли вариант на ST реализовать работу по уставке с дельтой, при достижении температурой значения меньше t_Set-d_delta нагрев включается, а при достижении температуры уставки t_Set выключается? как ни крутил, по алгоритму вроде верно пишу,а физически выход отключается при величине больше t_Set-d_delta
Функция написана в таком виде Вложение 67924
или подскажите как сделать функцию на CFC, а потом использовать в её в ST
Хранить данные нужно чтобы на следущий цикл было предыдущее значение? А как внутри PLS_PRG использовать функциональный блок, можно простенький пример с объявлением и в самой программе?не сочтите за хамство,справку читать умею, но даже простеньких примеров на ST категорически не хватает...
P.S. А есть RS триггер на ST? думал его функционал так и реализуется, одно условие на 1,второе на 0, чем важнее приоритет, тем "выше" условие в цикле.
Так же как и функцию, только ФБ надо объявить вверху (можно с номером 1, 2, 3, если блоков несколько) и вызвать в программе. Скрин Вложение 67930
Вызвать любой блок в ST, можно нажав F2 и выбрав его. Свой блок будет в Пользовательских ФБ, а библиотечный в Стандартных ФБ
Все входы надо поместить в INPUT, а выходы в OUTPUT, если они нужны.
А триггеры на ST, будут например такиеИли ещё прощеКод:IF Res THEN (* RS триггер, приоритет сброса *)
Q:=FALSE;
ELSIF Set THEN
Q:=TRUE;
END_IF
(*
IF Set THEN (* SR триггер, приоритет установки *)
Q:=TRUE;
ELSIF Res THEN
Q:=FALSE;
END_IF *)
Код:RS1: RS; (* Объявление *)
RS1(SET:=Set1 , RESET1:=Res1 , Q1=>Q1 ); (* В программе *)
Здравствуйте. Хотел уточнить вопрос по параметру Polling Time. Если в Universal module задать этот параметр 100 мс и в этом универсале модуле добавить 20 регистров, то 20*100 и получаем на самом деле 2000 ms Polling time?
Вложение 67951
Поэтому и надо делать обмен групповыми запросами, до 40 регистров за одну передачу, с помощью String https://owen.ru/forum/showthread.php...l=1#post244022
А Polling Time можно спокойно уменьшить до 10 ms, и того меньше чем за секунду возможно передать больше 4000 регистров
Разговор был про 20 разных UMD по 1 регистру (100 ms в каждом). Сколько в итоге займёт опрос?
Я так думаю, что открытие 20 портов не меньше секунды + опрос 20 устройств ещё пусть 200 ms, в итоге где то 1,2 секунды минимум, а по факту будет все 2000 ms
Про 1 UMD и 20 регистров понятно, займёт 200 ms
В визуализации, для занесения цифровых данных в переменную,
её надо выбрать мышкой, ввести с клавиатуры значение, и нажать ввод.
Переменных много, и их можно выбрать мышкой.
Как вводить ОДНУ переменную, без выбора мышкой?
Только одну переменную с клавиатуры, и нажимать ввод?
Нашёл документ CoDeSys visu (owen.ru) стр. 64.
Но там придётся "покурить" хорошенько. :)
Всё оказалось не так сложно, как в доке описано! :)Цитата:
'Дополнения' 'Клавиатурный ввод' ('Extras' 'Keyboard usage')
Здесь можно назначить быстрые комбинации клавиш для управления элементами визуализации.
Например, можно сопоставить комбинацию клавиш <CTRL>+<F2> в online режиме, нажатию (посредством
мыши или сенсорного экрана) на определенный элемент визуализации.
Назначение комбинаций клавиш быстрого ввода оптимизирует использование клавиатуры.
По умолчанию клавиши <Tab>, <Space> и <Enter> (<табуляция>, <пробел>, и <ввод>)
позволяют в online режиме выбирать элемент визуализации.
Посмотреть в списке окон: 'Дополнения' 'Список элементов' номер нужного окна.
У меня это "#193", "Скругленный прямоугольник" {X,Y,W,H}.
Если эллемент выделен в редактое, то на него сразу указанно в списке.
Выбрать пункт: 'Дополнения' 'Клавиатурный ввод'.
действие "TEXT", клавиша "VK_SPACE", выражение "#193"
В нужную переменную после нажатия пробела,
напрямую вводится нужное число после "Ввода"!
День добрый, возникла такая проблема. Необходимо функцию вызывать раз в 100 мс. Вопрос, как можно это сделать, каким таймером и каким подключением. С данной средой работаю впервые и в распоряжении имеется ПЛК 150.
BLINK->RTIG->вызов ФБ.
Здравствуйте!
ПЛК160 2021 г.в. с последней прошивкой.
Сбрасывается программа после отключения питания. Загружаю правильно: очистить всё, компилировать всё, создание загр. проекта, подключение, заводской сброс, отключение, подключение, загрузка проекта, загрузка исх. текстов.
Так же не работает сброс с рычажка на корпусе.
Подскажите, в чём м.б. дело? Неисправность, Какой-нибудь переключатель внутри? Что-то ещё?
Проект Очисить всё, компилировать всё и сохранить. Подключиться к ПЛК, создать загрузочный проект, включить тумблер Старт и запустить проект Старт из программы.
После можно отключиться и перезагрузить ПЛК. Проверить снова подключившись.
Тумблер Старт и Стоп срабатывает только после перезагрузки по питанию,
чтобы прога не остановилась, если шаловливые ручёнки его выключат ненароком во время работы.
не, увы.
Уже не уверен, что с прошивкой всё в порядке:
PLCInfo
PLC model MODEL PLC 160
Версия ПО метр: 2.0
Binary VERSION 1.2.42
Need Target version >= 3.12
Compiled: 14:40:51 Feb 8 2021
STM32 binary version 114
Правильно ли я понимаю, что прошивку нужно обновить до v.2.17.0_PLC160 и взять таргет Install_Target_v2.12_for_PLC110_PLC160?
Это не обязательно, работать должно и так.
У вас программа проверена вообще, проблем с таргетами и подключением, загрузкой нет? Выходы аналоговые настроены правильно?
Можно попробовать ещё это, отформатировать память https://owen.ru/forum/showthread.php...597#post409597
Программа загружается и работает. Всё хорошо пока не отключаю питание.
В общем обновил последней прошивкой с сайта (UpdateCore). Написало Ok и после перезагрузки ПЛК превратился в кирпич.
Взял 2-й, такой же. То же самое. Обновлять уже не хочется. PlcInfo пишет Need Target version >= 3.12. На странице контроллера выложена 3.3, в разделе с CoDeSys 2.12. Зашёл в архив и на шёл там Target 3.18. Но это не мопогло.