PDA

Просмотр полной версии : CODESYS V3.5. Вопросы и ответы



Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [28] 29

VIndiGO
23.01.2024, 00:35
Доброго времени коллеги, недавно начал изучать по работе кодесис, и вот такая ситуация возникла, необходимо подсчитывать время сведенного пресса те цикл программы 1000мс, и при этом необходимо отслеживать нажатие кнопки начала работы установки заливки в пресс пены, там нажатие кнопки доли секунды, и плк не успевает опросить входа, на сименсе запись раз в секунду делается через циклические прерывания, тут я так понимаю это далается через конфигуратор задач, но я не могу понять как правильно это реализовать, мб кто-то подскажет документацию, где про такие моменты можно почитать. Или мб есть какой то другой путь решения данного вопроса?

1exan
23.01.2024, 04:38
Доброго времени коллеги, недавно начал изучать по работе кодесис, и вот такая ситуация возникла, необходимо подсчитывать время сведенного пресса те цикл программы 1000мс, и при этом необходимо отслеживать нажатие кнопки начала работы установки заливки в пресс пены, там нажатие кнопки доли секунды, и плк не успевает опросить входа, на сименсе запись раз в секунду делается через циклические прерывания, тут я так понимаю это далается через конфигуратор задач, но я не могу понять как правильно это реализовать, мб кто-то подскажет документацию, где про такие моменты можно почитать. Или мб есть какой то другой путь решения данного вопроса?

Через диспетчер задач - создаёте две задачи, указываете для каждой из них свои параметры выполнения (например фиксированный цикл и свободное выполнение).
Создаёте два программных модуля (PRG) и добавляете их каждый в свою задачу.
Но вообще, скорее всего, есть более правильные методы решения вашей задачи, чем установка цикла программы в 1 сек

PetrAfonin
23.01.2024, 09:07
Свяжитесь со мной завтра утром через телеграм (в подписи) и продемонстрируйте вашу проблему по AnyDesk.

Большое спасибо за подключение и решение проблемы.
Это мой первый проект на Codesys и многие особенности открываются впервые.
Ещё раз спасибо.

VIndiGO
23.01.2024, 09:39
Думал об этом, но вот да, мб есть более правильное решение.

Formak21
24.01.2024, 15:14
Здравствуйте, имеется модуль МВ110-8А и я считываю с него значения типа REAL, но далее мне нужно их передать через TCP Slave Device другому контроллеру. В самом Slave Device мне доступно адресное пространство только под тип WORD, не подскажете как мне правильнее конвертировать REAL в два WORD (AB CD)?
Codesys 3.5 SP16 Patch 4.

Евгений Кислов
24.01.2024, 15:23
Здравствуйте, имеется модуль МВ110-8А и я считываю с него значения типа REAL, но далее мне нужно их передать через TCP Slave Device другому контроллеру. В самом Slave Device мне доступно адресное пространство только под тип WORD, не подскажете как мне правильнее конвертировать REAL в два WORD (AB CD)?
Codesys 3.5 SP16 Patch 4.

Добрый день.
Например, можете использовать ФБ REAL_TO_WORD2 из библиотеки OwenCommunication.

Formak21
24.01.2024, 15:46
Огромное спасибо, я воспользуюсь библиотечной функцией.

sco-scorpion
25.01.2024, 07:59
Добрый день.
Подскажите с помощью чего можно уловить изменение переменной rValue т.е. как только он больше 0 нужно сформировать бит для записи другого алгоритма и так же когда он = 0 тоже сформировать, пробую с помощь тригера переднего и заднего фронта и он никак не реагирует.

МихаилГл
25.01.2024, 08:02
Добрый день.
Подскажите с помощью чего можно уловить изменение переменной rValue т.е. как только он больше 0 нужно сформировать бит для записи другого алгоритма и так же когда он = 0 тоже сформировать, пробую с помощь тригера переднего и заднего фронта и он никак не реагирует.

If ... > 0 then bit:= true else bit:= false
bit - глобальная переменная
Зачем такой огород?

sco-scorpion
25.01.2024, 08:35
If ... > 0 then bit:= true else bit:= false
bit - глобальная переменная
Зачем такой огород?

По биту я отправляю команду на ПЧ, для Старта нужен бит и для Стоп тоже нужен бит, т.е. > 0 нужно сформировать бит для команды и для когда 0 тоже сформировать бит.

1exan
25.01.2024, 08:39
Добрый день.
Подскажите с помощью чего можно уловить изменение переменной rValue т.е. как только он больше 0 нужно сформировать бит для записи другого алгоритма и так же когда он = 0 тоже сформировать, пробую с помощь тригера переднего и заднего фронта и он никак не реагирует.

Вы некорректно вызываете блоки фронтов (всегда TRUE на входе)

Николай Суриков
25.01.2024, 08:46
По биту я отправляю команду на ПЧ, для Старта нужен бит и для Стоп тоже нужен бит, т.е. > 0 нужно сформировать бит для команды и для когда 0 тоже сформировать бит.

PCH_START := xValue > 0;
PCH_STOP := xValue <= 0;

sco-scorpion
25.01.2024, 08:50
Вы некорректно вызываете блоки фронтов (всегда TRUE на входе)

В 0 положении тоже true, но по идее должны улавливаться передние и задний фронт при переходе с true в false переменной xPerem.

1exan
25.01.2024, 08:57
В 0 положении тоже true, но по идее должны улавливаться передние и задний фронт при переходе с true в false переменной xPerem.

Они улавливают именно фронты (т.е. момент ИЗМЕНЕНИЯ значения на входе блока).
У вас в момент вызова блоков ВСЕГДА TRUE (изменения нет) - нужно вызывать блоки с FALSE на входе, когда условие не выполняется

МихаилГл
25.01.2024, 12:48
В 0 положении тоже true, но по идее должны улавливаться передние и задний фронт при переходе с true в false переменной xPerem.

Как и написали выше, вам надо все присвоения и условия по триггерам вынести ниже, за основное сравнение переменной... А так у вас спад фронтов никогда не выполняется.

ProgrOwist
26.01.2024, 11:20
Доброго времени суток.
Вопрос такой - при подключении модулей МВ210-101 к проекту в Codesys независимо от того, был он добавлен с нуля или скопирован, в предкомпиляции появляется такая ошибка:

C0046: Идентификатор 'Tparam_89_BF22D069_InputSettings' не задан

Что это за идентификатор такой? Причём такая ошибка появляется 16 раз по количеству каналов на модуле.

Евгений Кислов
26.01.2024, 11:21
Доброго времени суток.
Вопрос такой - при подключении модулей МВ210-101 к проекту в Codesys независимо от того, был он добавлен с нуля или скопирован, в предкомпиляции появляется такая ошибка:

C0046: Идентификатор 'Tparam_89_BF22D069_InputSettings' не задан

Что это за идентификатор такой? Причём такая ошибка появляется 16 раз по количеству каналов на модуле.

Добрый день.

Если выполнить генерацию кода - то ошибка исчезнет.
Не обращайте на нее внимания - она ни на что не влияет и связана с внутренним устройством CODESYS.

smnt
26.01.2024, 21:21
Добрый день.
Перенес проект на другой компьютер.
Теперь не могу запустить софт-плк.
При сканировании сети пишет "Никакое устройство не отвечает на запрос поиска".

Евгений Кислов
26.01.2024, 21:33
Добрый день.
Перенес проект на другой компьютер.
Теперь не могу запустить софт-плк.
При сканировании сети пишет "Никакое устройство не отвечает на запрос поиска".

Добрый день.
Если вы заинтересованы в том, чтобы разобраться с этим вопросом - то, пожалуйста, в понедельник утром свяжитесь со мной через телеграм.

smnt
26.01.2024, 21:40
Конечно заинтересован.
Просто завтра с этим ноутбуком еду на объект...
Может где то в документации это описывается?

МихаилГл
27.01.2024, 08:23
Попробуй в адресе прописать ip напрямую и просканировать. Когда с другого ПК пытаешься подключиться постоянно такое происходит. Ну и чтоб ПК был в той же подсетке надо проверить.

smnt
27.01.2024, 23:36
Попробуй в адресе прописать ip напрямую и просканировать. Когда с другого ПК пытаешься подключиться постоянно такое происходит. Ну и чтоб ПК был в той же подсетке надо проверить.
Это софт-ПЛК, а не реальный контроллер.

fergus23
05.02.2024, 07:07
Здравствуйте, столкнулись с проблемой выгрузки данных из БД в csv файл. Из программы в ".sh" скрипт берутся данные, и этим скриптом по условиям выгружаются данные в csv. Но некоторые числа типа "4.8698" после выгрузки преобразуются в дату. Как то можно это побороть ? Столбы в экселе в выгруженном файле имеют формат "общий" (кроме ячеек преобразованных в дату)
sh скрипт:

sqlite3 -header -separator ";" /mnt/ufs/media/mmcblk0p1/WRK/base.db "select * from drgm_table where (dates between '$a' and '$b') and (times between '$c' and '$d') and strftime('%s',times) % $e=0;" > /mnt/ufs/media/mmcblk0p1/Reports/$k.csv

Евгений Кислов
05.02.2024, 07:10
Здравствуйте, столкнулись с проблемой выгрузки данных из БД в csv файл. Из программы в ".sh" скрипт берутся данные, и этим скриптом по условиям выгружаются данные в csv. Но некоторые числа типа "4.8698" после выгрузки преобразуются в дату. Как то можно это побороть ? Столбы в экселе в выгруженном файле имеют формат "общий" (кроме ячеек преобразованных в дату)
sh скрипт:

sqlite3 -header -separator ";" /mnt/ufs/media/mmcblk0p1/WRK/base.db "select * from drgm_table where (dates between '$a' and '$b') and (times between '$c' and '$d') and strftime('%s',times) % $e=0;" > /mnt/ufs/media/mmcblk0p1/Reports/$k.csv

Добрый день.
Этот вопрос не имеет отношения к CODESYS.
В интернете достаточно информации про использование sqlite3 и особенности форматирования в Excel.

МихаилГл
05.02.2024, 07:13
Здравствуйте, столкнулись с проблемой выгрузки данных из БД в csv файл. Из программы в ".sh" скрипт берутся данные, и этим скриптом по условиям выгружаются данные в csv. Но некоторые числа типа "4.8698" после выгрузки преобразуются в дату. Как то можно это побороть ? Столбы в экселе в выгруженном файле имеют формат "общий" (кроме ячеек преобразованных в дату)
sh скрипт:

sqlite3 -header -separator ";" /mnt/ufs/media/mmcblk0p1/WRK/base.db "select * from drgm_table where (dates between '$a' and '$b') and (times between '$c' and '$d') and strftime('%s',times) % $e=0;" > /mnt/ufs/media/mmcblk0p1/Reports/$k.csv

Попробуйте заменить сначала . на ,

Zerling
05.02.2024, 10:21
Здравствуйте! После манипуляций с кодесис инсталлером, перестал устанавливать пакеты, к примеру
"Package Installation Error: Не удалось подтвердить подпись для следующего пакета: C:\Users\user\Downloads\CODESYS Visualization 4.3.0.0.package Для следующего пакета подпись не соответствует подписи для принятого контекста установки: C:\Users\user\Downloads\CODESYS Visualization 4.3.0.0.package"
и не только с этим пакетом.

Манипуляции - была сделана копия кдс (чтоб ставить разные пакеты), нужно было под впн выйти, чтоб подгрузились файлы . Файлы подгрузились, но вот файл конфигурации подхватить не захотел, начал ругаться на подписи. Попробовал через восстановление. Repair удалил кдс. Поставил обратно кдс - (? кэш профиль) приложения остался старый, но вот теперь не могу пакеты установить. Инсталлер понизил до версии 2.0

Serg290
05.02.2024, 13:25
Доброго дня. Кто подскажет, почему ошибки в проекте. Писали его на 3,5 17 patch3. Открываю и вылезают ошибки. Уже все библиотеки загрузил для СПК-107 73305

Евгений Кислов
05.02.2024, 13:36
Доброго дня. Кто подскажет, почему ошибки в проекте. Писали его на 3,5 17 patch3. Открываю и вылезают ошибки. Уже все библиотеки загрузил для СПК-107 73305

Добрый день.
Если создать новый проект и попробовать добавить в него экран визуализации - будут ли какие-то ошибки?

fergus23
05.02.2024, 14:04
Попробуйте заменить сначала . на ,

Нельзя, выгрузка должна быть с .

capzap
05.02.2024, 14:49
Нельзя, выгрузка должна быть с .

в csv открытом в текстовом редакторе, а не в ексель, нужное число или уже дата?

Serg290
05.02.2024, 15:26
Да. ошибки есть. В новом проекте для СПК-107 не могу визуализацию создать :( 73306 И еще. Как так может быть? 73307 Открываю в 3,5 17 patch3, а он мне чушь пишет...

Евгений Кислов
05.02.2024, 16:20
Да. ошибки есть. В новом проекте для СПК-107 не могу визуализацию создать :( 73306 И еще. Как так может быть? 73307 Открываю в 3,5 17 patch3, а он мне чушь пишет...

У вас CODESYS установился без плагинов.
Удалите и установите в точности по инструкции:
https://youtu.be/3KcJWZEVXCg?si=V4pFbqvPyWb5GPed

Serg290
05.02.2024, 16:48
Спасибо. Пробую. ПОЛУЧИЛОСЬ!

ГЛЮКОNIC
06.02.2024, 00:33
Из темы Как считать информацию о тревогах ПЧВ AFD-E? (Modbus-функции 0x07 и 0x08) не совсем понял сам пример, то есть достаточно привязать переменную слово состояние и Ошибки и Тревоги (флаги), но как объяснить функциональному блоку какой именно порт нужно открывать ? - сам пример не включает в себя шаблон ПЧВ AFD-E с привязанными к нему переменными и я затупил, результат я понял если Флаг Тревоги, значит Цифра которая показывается относится к тревоге, или Флаг аварии значит Авария. Останется допилить пример и сделать логику чтобы вывести аварию и цифру

МихаилГл
06.02.2024, 00:42
Из темы Как считать информацию о тревогах ПЧВ AFD-E? (Modbus-функции 0x07 и 0x08) не совсем понял сам пример, то есть достаточно привязать переменную слово состояние и Ошибки и Тревоги (флаги), но как объяснить функциональному блоку какой именно порт нужно открывать ? - сам пример не включает в себя шаблон ПЧВ AFD-E с привязанными к нему переменными и я затупил, результат я понял если Флаг Тревоги, значит Цифра которая показывается относится к тревоге, или Флаг аварии значит Авария. Останется допилить пример и сделать логику чтобы вывести аварию и цифру

Вы всё таки решили свой опрос реализовать? Я завтра, вернее уже сегодня, гляну как у меня реализовано подключение и скину скрины.

fergus23
06.02.2024, 08:53
в csv открытом в текстовом редакторе, а не в ексель, нужное число или уже дата?

После выгрузки пока не могу посмотреть. Скорее всего как и в базе - нужное число с "." а потом эксель уже сам заменяет. Как вариант попробую дописывать в конец "00"

МихаилГл
06.02.2024, 12:25
Из темы Как считать информацию о тревогах ПЧВ AFD-E? (Modbus-функции 0x07 и 0x08) не совсем понял сам пример, то есть достаточно привязать переменную слово состояние и Ошибки и Тревоги (флаги), но как объяснить функциональному блоку какой именно порт нужно открывать ? - сам пример не включает в себя шаблон ПЧВ AFD-E с привязанными к нему переменными и я затупил, результат я понял если Флаг Тревоги, значит Цифра которая показывается относится к тревоге, или Флаг аварии значит Авария. Останется допилить пример и сделать логику чтобы вывести аварию и цифру

Как и обещал, возможно поможет... Здесь по RS485 со своим протоколом. Но вам придется парсить ответ...
73314

ГЛЮКОNIC
06.02.2024, 17:17
Как и обещал, возможно поможет... Здесь по RS485 со своим протоколом. Но вам придется парсить ответ...
73314

спасибо, гляну в свободное время, на форуме есть пример, но я не понял куда переменные совать, вернее не уверен что я правильно понял, а ошибку создавать нет возможности.

МихаилГл
06.02.2024, 17:23
Как и обещал, возможно поможет... Здесь по RS485 со своим протоколом. Но вам придется парсить ответ...
73314

Кстати, заметил баг в кодесисе. Если вкладка устройства скрыта таким образом, то при попытке добавить новое окно визуализации через эту вкладку у меня пытается создасться текстовый список или что-то из этого, но не визуализация. Когда Фиксируешь панель, то всё нормально. Другие элементы не проверял.

DmitriiAnyushin
07.02.2024, 08:57
Добрый день!
Codesys 3.5 SP17 СПК107 (v17). При создании проекта визуализации при нажатии кнопки привязал действие "Открытая конфигурация пользователя", но в запущенном проекте при нажатии никаких действий не происходит (я так полагаю должно окно управления пользователями открываться). Под одним из созданных пользователей изначально залогинился. Другие действия (логин, отключение, изменения пароля) работают как надо. Подскажите пожалуйста, что я делаю не так и какой функционал у данной кнопки?
Спасибо!

73353

Евгений Кислов
07.02.2024, 09:02
Добрый день!
Codesys 3.5 SP17 СПК107 (v17). При создании проекта визуализации при нажатии кнопки привязал действие "Открытая конфигурация пользователя", но в запущенном проекте при нажатии никаких действий не происходит (я так полагаю должно окно управления пользователями открываться). Под одним из созданных пользователей изначально залогинился. Другие действия (логин, отключение, изменения пароля) работают как надо. Подскажите пожалуйста, что я делаю не так и какой функционал у данной кнопки?
Спасибо!

Добрый день.
Нужно залогиниться под пользователем, для группы которого установлена эта опция:

73354

chm
08.02.2024, 15:03
Здравствуйте.
Почему при вызове функции/блока из библиотеки на одном компе надо указывать, из какой библиотеки функция - вроде Библиотека.ИмяФункции(параметры)... , а на другом - <Библиотека.> писать не нужно?
Встречал это и с самописными библиотеками и со штатными.

Евгений Кислов
08.02.2024, 17:20
Здравствуйте.
Почему при вызове функции/блока из библиотеки на одном компе надо указывать, из какой библиотеки функция - вроде Библиотека.ИмяФункции(параметры)... , а на другом - <Библиотека.> писать не нужно?
Встречал это и с самописными библиотеками и со штатными.

Добрый день.
Необходимость использования пространства имен библиотеки определяется этой галочкой:

73446

Почему у вас эта необходимость зависит от конкретного ПК - мне сложно прокомментировать.

Nsft
11.02.2024, 16:57
Здравствуйте. Я начинаю осваивать 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 при симмуляции на ПЛК не выдает результат (скорее всего я что-то не понимаю в его работе). Можете подсказать?

Евгений Кислов
11.02.2024, 17:09
Добрый день.


Из-за того что он bid endian, мне необходимо изменить порядок байт

Вы точно в этом уверены?
Если да - то в библиотеке PlsServices есть функция SwapWord (в папке Utilities - Swapping).

Nsft
11.02.2024, 17:16
При общении с данным счетчиком через ПР205 в настройках прибора в Owen Logic я выставлял настройку "Старшим байтом вперед" в разделе "Мастер Modbus". При данной настройке, ПР205 выдавал верные значения. На основании этого я и решил произвести данную операцию.

Евгений Кислов
11.02.2024, 17:20
При общении с данным счетчиком через ПР205 в настройках прибора в Owen Logic я выставлял настройку "Старшим байтом вперед" в разделе "Мастер Modbus". При данной настройке, ПР205 выдавал верные значения. На основании этого я и решил произвести данную операцию.

Эта галка там стоит по дефолту (и спецификация Modbus определяет, что регистры передаются старшим байтом вперед).
Предположу, что в CODESYS вам не потребуется менять порядок байт.

Nsft
11.02.2024, 17:29
В таком случае, должно быть достаточно встроенной функции Word_to real. Можете подсказать где найти Plc Services Library, просто не смог найти?

Евгений Кислов
11.02.2024, 17:36
В таком случае, должно быть достаточно встроенной функции Word_to real. Можете подсказать где найти Plc Services Library, просто не смог найти?

Менеджер библиотек - Добавить библиотеку - включить отображение библиотек плоским списком (средняя и правая кнопки после строки поиска).

ETL_Роман
12.02.2024, 15:49
Добрый день
Существует способ загрузки пользовательского приложения с SD-карты. Существует возможность сделать Бэкап настроек и приложения и в случае необходимости загрузить его с ПК.
А можно ли этот архив Бэкапа .tar скинуть на SD-карту и совершить восстановление через эту карту без необходимости подключаться через WEB-конфигуратор? Если да, то как?

Евгений Кислов
12.02.2024, 16:28
Добрый день
Существует способ загрузки пользовательского приложения с SD-карты. Существует возможность сделать Бэкап настроек и приложения и в случае необходимости загрузить его с ПК.
А можно ли этот архив Бэкапа .tar скинуть на SD-карту и совершить восстановление через эту карту без необходимости подключаться через WEB-конфигуратор? Если да, то как?

Добрый день. Какая у вас версия прошивки контроллера?

ETL_Роман
12.02.2024, 16:30
plc210 2.4.0601.0905

Евгений Кислов
12.02.2024, 16:35
plc210 2.4.0601.0905

В вашей случае, к сожалению, без веб-конфигуратора не обойтись.
А какая у вас ситуация? Как бы вам был полезен описанный функционал?

ETL_Роман
12.02.2024, 16:39
В вашей случае, к сожалению, без веб-конфигуратора не обойтись.
А какая у вас ситуация? Как бы вам был полезен описанный функционал?

В случае замены ПЛК из комплекта ЗИП было бы чуть удобнее вставить SD-карту и чтобы все настройки и приложение подгрузились без необходимости искать ноутбук, провод, объяснять человеку как подключиться, где Бэкап найти, как загрузить
Вы говорите "В вашем случае" а есть прошивки где такой функционал существует?

Евгений Кислов
12.02.2024, 16:43
В случае замены ПЛК из комплекта ЗИП было бы чуть удобнее вставить SD-карту и чтобы все настройки и приложение подгрузились без необходимости искать ноутбук, провод, объяснять человеку как подключиться, где Бэкап найти, как загрузить
Вы говорите "В вашем случае" а есть прошивки где такой функционал существует?

В прошивках 3.5.xxxx.xxxx (для ПЛК210-1x - новой аппаратной модификации) мы поддержали возможность автоматического развертывания резервной копии после прошивки с накопителя.
См. здесь п. 3 в новых функциях:
https://owen.ru/forum/showthread.php?t=33976&p=424209&viewfull=1#post424209

ETL_Роман
12.02.2024, 16:47
В прошивках 3.5.xxxx.xxxx (для ПЛК210-1x - новой аппаратной модификации) мы поддержали возможность автоматического развертывания резервной копии после прошивки с накопителя.
См. здесь п. 3 в новых функциях:
https://owen.ru/forum/showthread.php?t=33976&p=424209&viewfull=1#post424209

А, ну супер, что это будущий функционал, а не прошлый, от которого ушли. Спасибо

Карбофос
13.02.2024, 10:35
Здравствуйте.

Подскажите, можно ли каким-либо образом создавать аварию в менеджере тревог из кода, вместо добавления строчек в таблицу менеджера тревог?
Ну вот например: есть у меня в проекте 30 датчиков, для каждого нужно прописать 5 тревог (ав. высокое, пред. высокое, пред. низкое, ав. низкое, отказ датчика). Соответственно, нужно только по ним в таблицу менеджера тревог прописать 150 строчек. Через код это было бы гораздо быстрее.

Евгений Кислов
13.02.2024, 10:47
Здравствуйте.

Подскажите, можно ли каким-либо образом создавать аварию в менеджере тревог из кода, вместо добавления строчек в таблицу менеджера тревог?
Ну вот например: есть у меня в проекте 30 датчиков, для каждого нужно прописать 5 тревог (ав. высокое, пред. высокое, пред. низкое, ав. низкое, отказ датчика). Соответственно, нужно только по ним в таблицу менеджера тревог прописать 150 строчек. Через код это было бы гораздо быстрее.

Добрый день.
Возможно, это видео будет полезным:
https://youtu.be/heTqwXGgzbs?si=QlpJ0EhFzjNJ4Jnn

Карбофос
13.02.2024, 11:20
Добрый день.
Возможно, это видео будет полезным:
https://youtu.be/heTqwXGgzbs?si=QlpJ0EhFzjNJ4Jnn

Да, думаю, это отлично ляжет на мою задачу. Спасибо!

Карбофос
13.02.2024, 12:20
В общем, рано обрадовался. Мне необходимо, чтобы тревога не уходила мгновенно, а оставалась активной, пока событие ее вызвавшее не уйдет - причем идти очевидным путем и добавлять вторую запись в таблицу вида "тревога ушла" совершенно не вариант, потому что при большом количестве таких событий все превратится в нечитаемую кашу. Это реализуемо?

МихаилГл
13.02.2024, 12:25
В общем, рано обрадовался. Мне необходимо, чтобы тревога не уходила мгновенно, а оставалась активной, пока событие ее вызвавшее не уйдет - причем идти очевидным путем и добавлять вторую запись в таблицу вида "тревога ушла" совершенно не вариант, потому что при большом количестве таких событий все превратится в нечитаемую кашу. Это реализуемо?

Реализуйте механизм программно без этой утилиты.

PS. Могу дать вариант реализации... Я привык к программному решению.

Карбофос
13.02.2024, 12:32
Реализуйте механизм программно без этой утилиты.

PS. Могу дать вариант реализации... Я привык к программному решению.

Без утилиты - в смысле без компонента "AlarmConfiguration"? Как в итоге это будет выглядеть?

МихаилГл
13.02.2024, 12:43
Без утилиты - в смысле без компонента "AlarmConfiguration"? Как в итоге это будет выглядеть?

Ну как и положено. Пришла авария (темно красный индикатор). Нажали подтвердить при активной аварии, она квитировалась (бледно розовый). Если ушла то потухнет. Но без времени. Обычно с регистрацией времени завязывают какой-нибудь 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

Карбофос
13.02.2024, 12:47
Ну как и положено. Пришла авария (темно красный индикатор). Нажали подтвердить при активной аварии, она квитировалась (бледно розовый). Если ушла то потухнет. Но без времени. Обычно с регистрацией времени завязывают какой-нибудь SQL сервер. Я вот ни архивы, ни историю в ПЛК стараюсь не писать. Боюсь или память переполнится, или ресурс перезаписи исчерпает себя.

Понял. Нет, без времени меня точно не поймут. Но спасибо за участие! Пока подожду ответа Евгения.

МихаилГл
13.02.2024, 12:57
Понял. Нет, без времени меня точно не поймут. Но спасибо за участие! Пока подожду ответа Евгения.

Кстати, а можно ли в данном компоненте отключать какие-либо аварии без использования среды программирования? Честно не знаю, так как не работал. А вот плюсы программных реализаций как раз в том, что вы можете ими вертеть как пожелаете, можете вывести из списка аварий, можете включить. Только для этого должно быть соответствующее инженерное окно настроек быть нарисовано в визуализации.

ГЛЮКОNIC
13.02.2024, 13:08
Была ли уже идея сделать своего рода ключ администратора для ПЛК и СПК (мысль такая) Берём флешку уже готовую, в СПК жмём кнопку применить параметры администратора (если флешки нет то и кнопка в инвизе) и у нас доступ к сервисным настройкам которые сами сделали (вместо ручного ввода логина и пароля) я задумался с библиотекой CAA File будет копирования какого-то текста для запуска таймера обратного отсчёта и последующей деактивации. Вдруг кто-то подобное реализовал, а я начал изобретать колесо заново.

Евгений Кислов
13.02.2024, 13:19
В общем, рано обрадовался. Мне необходимо, чтобы тревога не уходила мгновенно, а оставалась активной, пока событие ее вызвавшее не уйдет - причем идти очевидным путем и добавлять вторую запись в таблицу вида "тревога ушла" совершенно не вариант, потому что при большом количестве таких событий все превратится в нечитаемую кашу. Это реализуемо?

В рамках того варианта, который рассматривается в видео - нет, потому что одна строка группы тревог (со способом наблюдения "событие") будет являться репрезентацией нескольких тревог разных экземпляров ФБ.
Поэтому невозможно "держать" тревоги в таблице, пока они активны - надо сразу отправлять их в историю.

Евгений Кислов
13.02.2024, 13:22
Была ли уже идея сделать своего рода ключ администратора для ПЛК и СПК (мысль такая) Берём флешку уже готовую, в СПК жмём кнопку применить параметры администратора (если флешки нет то и кнопка в инвизе) и у нас доступ к сервисным настройкам которые сами сделали (вместо ручного ввода логина и пароля) я задумался с библиотекой CAA File будет копирования какого-то текста для запуска таймера обратного отсчёта и последующей деактивации. Вдруг кто-то подобное реализовал, а я начал изобретать колесо заново.

У нас есть пример, как считать серийный номер подключенного к контроллеру USB-накопителя:
https://owen.ru/forum/showthread.php?t=28167&page=9&p=340323&viewfull=1#post340323

На его базе можно решить описанную вами задачу.

fergus23
14.02.2024, 06:43
Здравствуйте, появилась такая проблема с ПЛК 200. Есть программа, которая с датчиков в БД sqlite на SD флешку записывает данные. Данные записывались с 01.01.2024г по 13.02.2024г. 5го февраля скачивали "выгрузку" (эксель файл), в нем были данные за 03.02.2024. Вчера (т.е. 13.02.2024) скачали с SD карты всю базу, а в базе пропали записи в промежутке между 26.01.2024 и 13.02.2024г - вопрос, как такое могло произойти ?
Файл Бд сейчас весит 60.9 мб, может быть есть какие то ограничения на размер бд или количество строк в ней ?

При старте ПЛК запускается dir2.sh скрипт для очистки данных из бд:


IF NOT(xIsPlcStarted) THEN

StartDate:=EndDate:=TO_DATE(TargetVars.stRtc.dtDat eAndTime);
StartTime:=EndTime:=TargetVars.stRtc.sGetFormatTim e;
zapros:='bash /root/dir2.sh'; //проверка и очистка базы sql перед стартом
plc_prg.xSendCommand:=TRUE;

fb_Rtrig(CLK:=xSendCommand);
fb_SE3(xExecute:=xSendCommand, sCommand:=zapros);

в нем такой запрос:


sqlite3 /mnt/ufs/media/mmcblk0p1/WRK/drgm_base.db "delete from drgm_table where dates < strftime('%d.%m.%Y','now','-3 month')"

fergus23
14.02.2024, 08:24
При загрузке любого проекта старых версий в ПЛК и нажатии на кнопку "старт (F5)" в codesys , внизу мигает красная ошибка "Программа загружена - ИСКЛЮЧЕНИЕ" что это такое и как посмотреть, исправить ?

Евгений Кислов
14.02.2024, 08:42
что это такое?

Информация об исключении.


как посмотреть, исправить ?

См. статью про отладку в подписи.

fergus23
14.02.2024, 09:08
При попытке скачать с SD карты вставленной в ПЛК200 базу данных весом 45мб - ПЛК сам перезагружается не дав докачать файл через ftp. Из за чего такое происходит ?

Евгений Кислов
14.02.2024, 09:32
При попытке скачать с SD карты вставленной в ПЛК200 базу данных весом 45мб - ПЛК сам перезагружается не дав докачать файл через ftp. Из за чего такое происходит ?

Сложно сказать, не видя деталей происходящего.
Напишите, пожалуйста, на support@owen.ru.
К письму приложите проект, файл .db и пошаговую инструкцию по воспроизведению проблемы.

fergus23
14.02.2024, 09:51
Сложно сказать, не видя деталей происходящего.
Напишите, пожалуйста, на support@owen.ru.
К письму приложите проект, файл .db и пошаговую инструкцию по воспроизведению проблемы.

Через раз удается скачать базу по ftp без перезагрузки ПЛК. Скрипт, что использован для очистки БД от записей старше 3х месяцев как оказалось вообще не работает. Вопрос - куда делись данные за февраль месяц ? Что могло произойти ? (руками их никто точно не мог стереть)

Евгений Кислов
14.02.2024, 09:59
Вопрос - куда делись данные за февраль месяц ? Что могло произойти ? (руками их никто точно не мог стереть)

Правильно ли я понимаю, что вы решили, что они куда-то делись, не найдя их в .csv файле?

yaroslavcik
14.02.2024, 10:55
Здравствуйте,

Как настроить CodeSys, что бы в режиме отладки, при изменении значения (вручную) значение не фиксировалось и не всплывало окно действий (...отменить фиксацию ..., ...изменить значение... и т.д.). Т.е. в режиме отладки нужно изменить значение вручную и по заложенному алгоритму оно должно измениться, а сейчас нужно снимать фиксацию без изменения значения.

kondor3000
14.02.2024, 10:59
Здравствуйте,

Как настроить CodeSys, что бы в режиме отладки, при изменении значения (вручную) значение не фиксировалось и не всплывало окно действий (...отменить фиксацию ..., ...изменить значение... и т.д.). Т.е. в режиме отладки нужно изменить значение вручную и по заложенному алгоритму оно должно измениться, а сейчас нужно снимать фиксацию без изменения значения.

Нажимайте Ctrl+F7, тогда фиксации не будет, а просто применение нового значения.

fergus23
14.02.2024, 11:04
Правильно ли я понимаю, что вы решили, что они куда-то делись, не найдя их в .csv файле?

Нет, я скачал с SD карты саму базу в формате "db" и открыл ее программой DB Browser for SQLite
73568
Данные с 01.02.2024 по 13.02 пропали

Евгений Кислов
14.02.2024, 11:31
Нет, я скачал с SD карты саму базу в формате "db" и открыл ее программой DB Browser for SQLite
73568
Данные с 01.02.2024 по 13.02 пропали

Ок. Эту информацию тоже укажите в вашем письме на support@owen.ru

ProgrOwist
15.02.2024, 13:07
Добрый день! Где в Codesys 3.5.18.30 я могу настроить адекватное отображение кириллицы в окне визуализации?

P.S. Нашёл. Нужно открыть "Менеджер визуализации" и в окне "Установки" поставить галочку у "Использовать строки Unicode".

Евгений Кислов
15.02.2024, 13:10
Добрый день! Где в Codesys 3.5.18.30 я могу настроить адекватное отображение кириллицы в окне визуализации?

Добрый день.
Если речь о статическом тексте - нужно поставить галочку про Unicode в менеджере визуализации.
Если речь о строковых переменных - то используйте тип WSTRING, а не STRING.

Belletein
15.02.2024, 14:39
Добрый день
Столкнулся с проблемой: не работает виртуальный плк 3.5 v17
Как можно сбросить пароль вирт. контроллера, или где посмотреть его?

Видел этот вопрос в 2017 году, может, удалось найти решение?73590

Евгений Кислов
15.02.2024, 16:50
Добрый день
Столкнулся с проблемой: не работает виртуальный плк 3.5 v17
Как можно сбросить пароль вирт. контроллера, или где посмотреть его?

Видел этот вопрос в 2017 году, может, удалось найти решение?73590

Добрый день.
https://owen.ru/forum/showthread.php?t=28167&p=401060&viewfull=1#post401060

Pronto72
16.02.2024, 13:05
Добрый день. В программе используется управление пользователями. Для персонализации действий/настроек/отображения с помощью функции определяется какой именно пользователь пользуется этим экземпляром визуализации или диалога.
Все прекрасно работает с кнопками, текстовыми полями и т.д... Но не хочет работать с элементом Бегунок. При этом при замене Бегунка на Полосу прокрутки все работает.

Евгений Кислов
16.02.2024, 13:31
Добрый день. В программе используется управление пользователями. Для персонализации действий/настроек/отображения с помощью функции определяется какой именно пользователь пользуется этим экземпляром визуализации или диалога.
Все прекрасно работает с кнопками, текстовыми полями и т.д... Но не хочет работать с элементом Бегунок. При этом при замене Бегунка на Полосу прокрутки все работает.

Добрый день.
Это баг, он известен, но еще не исправлен:

73624

Art_BS
19.02.2024, 16:11
Здравствуйте! После манипуляций с кодесис инсталлером, перестал устанавливать пакеты, к примеру
"Package Installation Error: Не удалось подтвердить подпись для следующего пакета: C:\Users\user\Downloads\CODESYS Visualization 4.3.0.0.package Для следующего пакета подпись не соответствует подписи для принятого контекста установки: C:\Users\user\Downloads\CODESYS Visualization 4.3.0.0.package"
и не только с этим пакетом.

Манипуляции - была сделана копия кдс (чтоб ставить разные пакеты), нужно было под впн выйти, чтоб подгрузились файлы . Файлы подгрузились, но вот файл конфигурации подхватить не захотел, начал ругаться на подписи. Попробовал через восстановление. Repair удалил кдс. Поставил обратно кдс - (? кэш профиль) приложения остался старый, но вот теперь не могу пакеты установить. Инсталлер понизил до версии 2.0

Добрый день!
Мне удалось решить проблему подтверждения подписи повторной установкой Codesys. Перед повторной установкой полностью удалил Codesys вместе с Installer.

sssssaaaaabbbbb
21.02.2024, 08:14
Добрый день уважаемые коллеги, подскажите пожалуйста, что за глюк с визуализацией? У меня ПЛК210 на CODESYS V3.5 SP17 Patch 3. На панели ВП110 некоторые и прямоугольники становятся белыми и кнопки с белой окантовкой. Причем в самом CODESYS и в браузере Edge все хорошо. Можно ли убрать этот эффект. Пробовал фон менять не получается.7373173732 Причем когда захожу в настройки панели. нажимаю на рисунок - ДОМИК, то все работает хорошо потом.

Евгений Кислов
21.02.2024, 08:55
Добрый день уважаемые коллеги, подскажите пожалуйста, что за глюк с визуализацией? У меня ПЛК210 на CODESYS V3.5 SP17 Patch 3. На панели ВП110 некоторые и прямоугольники становятся белыми и кнопки с белой окантовкой. Причем в самом CODESYS и в браузере Edge все хорошо. Можно ли убрать этот эффект. Пробовал фон менять не получается.7373173732 Причем когда захожу в настройки панели. нажимаю на рисунок - ДОМИК, то все работает хорошо потом.

Добрый день.
Выложите, пожалуйста, простейший проект, в котором это можно будет воспроизвести.

sssssaaaaabbbbb
21.02.2024, 09:33
Добрый день.
Выложите, пожалуйста, простейший проект, в котором это можно будет воспроизвести.

Евгений в том и дело, что в обычных проектах. как бы все работает, я могу этот скинуть в облако

Евгений Кислов
21.02.2024, 09:34
Евгений в том и дело, что в обычных проектах. как бы все работает, я могу этот скинуть в облако

Хорошо, давайте смотреть на вашем.

sssssaaaaabbbbb
21.02.2024, 12:19
Хорошо, давайте смотреть на вашем.

https://cloud.mail.ru/public/cmBz/Kqz1azxhu скачивайте

Евгений Кислов
21.02.2024, 12:21
https://cloud.mail.ru/public/cmBz/Kqz1azxhu скачивайте

Пожалуйста, перевыложите на хостинг, который не требует авторизацию для скачивания.

sssssaaaaabbbbb
21.02.2024, 13:09
Пожалуйста, перевыложите на хостинг, который не требует авторизацию для скачивания.

Извините , вот. https://disk.yandex.ru/d/7cO0TXJN3jN8rA

Евгений Кислов
21.02.2024, 13:26
Извините , вот. https://disk.yandex.ru/d/7cO0TXJN3jN8rA

Cпасибо. Я посмотрю и отпишусь.

Евгений Кислов
21.02.2024, 14:05
В присланном проекте показанные на фото поля отображения времени всегда будут невидимыми:

73757

Так что не очень ясно, что у вас вообще происходит и что вы ожидаете.

Разбираться в текущем проекте крайне затруднительно (я несколько минут искал в дереве проекта SCR_Work_Main).
Я предлагаю вам вырезать из него по фрагменту до тех пор, пока проблема не перестанет проявляться.
После этого верните последний фрагмент - вы получите проект, в котором проблема воспроизводится, но который будет меньше и проще вашего текущего проекта.

И вот эту упрошенную версию, пожалуйста, выложите.

DmitriiAnyushin
21.02.2024, 16:40
Добрый день!
Использую СПК107 (3.5.17). Хочу подключить МВ210 по Modbus TCP (модуля на данный момент нет - имитирую). Добавил компонент Ethernet в конфигурацию, в него добавил Modbus_TCP_Master и модули МВ210-214 (как в видео примере и документации с сайта). Шаблоны загрузил как и написано в руководстве https://owen.ru/product/codesys_v3/documentation версия 3.5.11.10
При запуске проекта выдает на вкладке "Соотнесение входов/выходов" пишет "Шина не запущена. Данные значения, возможно, неактуальны". Запросы на слэйв не отправляются. На вкладке "Состояние" - пишет "Не запущено l Ошибка исправлена"
Для примера создал то же самое для Modbus RTU (ситуация прежняя). С примерами с сайта аналогичная ситуация (все устройства обновлял до СПК107 (3.5.17))
Подскажите пожалуйста, с чем это может быть связано? Если версии СПК и шаблонов МВ должны совпадать, то где взять версию шаблонов 3.5.17? Спасибо!

Евгений Кислов
21.02.2024, 17:16
Добрый день!
Использую СПК107 (3.5.17). Хочу подключить МВ210 по Modbus TCP (модуля на данный момент нет - имитирую). Добавил компонент Ethernet в конфигурацию, в него добавил Modbus_TCP_Master и модули МВ210-214 (как в видео примере и документации с сайта). Шаблоны загрузил как и написано в руководстве https://owen.ru/product/codesys_v3/documentation версия 3.5.11.10
При запуске проекта выдает на вкладке "Соотнесение входов/выходов" пишет "Шина не запущена. Данные значения, возможно, неактуальны". Запросы на слэйв не отправляются. На вкладке "Состояние" - пишет "Не запущено l Ошибка исправлена"
Для примера создал то же самое для Modbus RTU (ситуация прежняя). С примерами с сайта аналогичная ситуация (все устройства обновлял до СПК107 (3.5.17))
Подскажите пожалуйста, с чем это может быть связано? Если версии СПК и шаблонов МВ должны совпадать, то где взять версию шаблонов 3.5.17? Спасибо!

Добрый день.
С некорректными настройками в CODESYS и/или имитаторе.
Версия шаблонов не обязана совпадать с версией СПК.

DmitriiAnyushin
22.02.2024, 11:22
Да, имитатор подкачал.
Сегодня другой ПЛК создал как slave - все заработало.
Большое спасибо!

viktor1974
22.02.2024, 16:20
Здравствуйте! После манипуляций с кодесис инсталлером, перестал устанавливать пакеты, к примеру
"Package Installation Error: Не удалось подтвердить подпись для следующего пакета: C:\Users\user\Downloads\CODESYS Visualization 4.3.0.0.package Для следующего пакета подпись не соответствует подписи для принятого контекста установки: C:\Users\user\Downloads\CODESYS Visualization 4.3.0.0.package"
и не только с этим пакетом.

Манипуляции - была сделана копия кдс (чтоб ставить разные пакеты), нужно было под впн выйти, чтоб подгрузились файлы . Файлы подгрузились, но вот файл конфигурации подхватить не захотел, начал ругаться на подписи. Попробовал через восстановление. Repair удалил кдс. Поставил обратно кдс - (? кэш профиль) приложения остался старый, но вот теперь не могу пакеты установить. Инсталлер понизил до версии 2.0

Добрый день! Похожая история, получилось решить?

Андрей999
26.02.2024, 09:16
Всем добрый день! Прошу помощи - подсказки или направления поиска.

Задача следующая: есть устройство, которое обменивается по ModBus RTU c ПК (на ПК установлено специальное ПО). В линию подключается ПЛК ОВЕН 200-02-CS своим интерфейсом. Стоит задача запрограммировать ПЛК на прослушку сети. То есть сам ПЛК не посылает запросы и ответы, но все запросы и ответы слушает и записывает в архив. В интернете не нашел подобных решений. Возможно ли вообще это реализовать на ПЛК ОВЕН 200-02-CS?

Евгений Кислов
26.02.2024, 09:28
Всем добрый день! Прошу помощи - подсказки или направления поиска.

Задача следующая: есть устройство, которое обменивается по ModBus RTU c ПК (на ПК установлено специальное ПО). В линию подключается ПЛК ОВЕН 200-02-CS своим интерфейсом. Стоит задача запрограммировать ПЛК на прослушку сети. То есть сам ПЛК не посылает запросы и ответы, но все запросы и ответы слушает и записывает в архив. В интернете не нашел подобных решений. Возможно ли вообще это реализовать на ПЛК ОВЕН 200-02-CS?

Добрый день.
Мы уже реализовали это в библиотеке OwenCommunication - см. ФБ MB_SerialSlave.
https://owen.ru/forum/showthread.php?t=31816&p=365616&viewfull=1#post365616

Андрей999
26.02.2024, 10:28
Большое спасибо!

ARTAL
27.02.2024, 09:32
Добрый день! Подскажите по работе ПИД регулятора. 73921 Регулятор не реагирует ни на какие входные значения, выходной сигнал Y всегда на нуле. Вход с ручной уставкой работает. Уставка SP 120. PV регулирую при помощи задатчика тока. Вход EN подвязан на кнопку.

Евгений Кислов
27.02.2024, 09:46
Добрый день! Подскажите по работе ПИД регулятора. 73921 Регулятор не реагирует ни на какие входные значения, выходной сигнал Y всегда на нуле. Вход с ручной уставкой работает. Уставка SP 120. PV регулирую при помощи задатчика тока. Вход EN подвязан на кнопку.

Добрый день.
PV_TIME не может быть константой.
PV_TIME - это



Циклическое время обновления входа PV в сотых долях секунды (1 = 0.01 с). Контроллеры и модули ввода-вывода ОВЕН имеют соответствующие каналы, которые могут быть привязаны к данному входу.
При использовании другого оборудования пользователь должен самостоятельно реализовать увеличение значения данного входа.

ARTAL
27.02.2024, 10:40
"Контроллеры и модули ввода-вывода ОВЕН имеют соответствующие каналы, которые могут быть привязаны к данному входу."

Я правильно понял что это канал "Циклическое время" к котором я привязал переменную?
73923

Евгений Кислов
27.02.2024, 11:19
"Контроллеры и модули ввода-вывода ОВЕН имеют соответствующие каналы, которые могут быть привязаны к данному входу."

Я правильно понял что это канал "Циклическое время" к котором я привязал переменную?
73923

Да, речь именно о них.

ARTAL
27.02.2024, 11:25
Да, речь именно о них.

Все работает, Спасибо!

Khudyakoff
28.02.2024, 12:15
Здравствуйте. При подключении к СПК110 каскадного КТР121.03.10 нужно добавить канал modbus для ввода и отображения уставки температуры в одном поле СПК. 73950
В этом случае можно использовать функцию 23 73954
Или нужно добавить два канала с одним номером регистра но
с функцией чтения 373952
и функцией записи 16 73953

Евгений Кислов
28.02.2024, 12:16
Добрый день.


Или нужно добавить два канала с одним номером регистра но

Вот этот вариант. КТР (как и другие наши приборы) не поддерживает функцию 23.

Khudyakoff
28.02.2024, 12:20
Спасибо !

приборист
01.03.2024, 09:23
Добрый день.
При установке файлов через Codesys Installer выходит ошибка "Verifiation of zip archive failed"
Из темы FAQ поставил Codesys Installer 2.2.2 - не помогло.
В чем может быть проблема?
74007

Евгений Кислов
01.03.2024, 09:33
Добрый день.
При установке файлов через Codesys Installer выходит ошибка "Verifiation of zip archive failed"
Из темы FAQ поставил Codesys Installer 2.2.2 - не помогло.
В чем может быть проблема?
74007

Добрый день.
Свяжитесь со мной через телеграм, пожалуйста - посмотрим, в чем дело.

Seryu1506
04.03.2024, 19:51
Добрый день, я студент 4 курса, выполняю дипломную работу в Codesys 3.5. На данный момент, в свою программу на языке ST я вписываю значения точек вручную в два массива, массив для X и Y. Как усовершенствовать этот процесс чтобы точки брались из файла exel в большом количестве, также автоматически рассчитывалось их количество.

Евгений Кислов
04.03.2024, 19:57
Добрый день, я студент 4 курса, выполняю дипломную работу в Codesys 3.5. На данный момент, в свою программу на языке ST я вписываю значения точек вручную в два массива, массив для X и Y. Как усовершенствовать этот процесс чтобы точки брались из файла exel в большом количестве, также автоматически рассчитывалось их количество.

Добрый день.
На каком именно устройстве вы запускаете ваш проект?

Seryu1506
04.03.2024, 23:05
Без контроллера, онлайн эмуляция

ГЛЮКОNIC
04.03.2024, 23:06
можно ли заменить контроллер Сименс с шиной управления profinet и заменить его ПЛК210 и в нём использовать profinet в режиме слэйв ? - Очень надо Мимикрировать под другой контроллер где контроллеров в системе 3, хочу начать с 1-го а потом и второго, не уверен что мозгов хватит заменить контроллер с базовой программой

МихаилГл
05.03.2024, 00:45
можно ли заменить контроллер Сименс с шиной управления profinet и заменить его ПЛК210 и в нём использовать profinet в режиме слэйв ? - Очень надо Мимикрировать под другой контроллер где контроллеров в системе 3, хочу начать с 1-го а потом и второго, не уверен что мозгов хватит заменить контроллер с базовой программой

У вас удалённые входа/выхода на станции ЕТ? Тогда скорее нет. У овен'а нет лицензий на профинет. И сертифицирован ли он под этот протокол хз.

Шлюз модбас тср - профинет скорее тоже не поможет, так как он через степ 7 или тиа портал конфигурируется. Хотя если контроллер овен 210 как слэйв то возможно получится. Но как потом удаленку импортозамещать?

Евгений Кислов
05.03.2024, 08:09
Без контроллера, онлайн эмуляция

В режиме эмуляции с файлами работать не получится.
Можно на ПК написать скрипт, который будет преобразовывать файл с точками в объявление массива, которое вы будете копипастить в область объявления в CODESYS.

С файлами можно работать, если вместо эмуляции использовать виртуальный контроллер CODESYS Control Win V3.
Если будут какие-то уточняющие вопросы по поводу его запуска - напишите, пожалуйста, мне в телеграм (в подписи).

capzap
05.03.2024, 08:45
Добрый день, я студент 4 курса, выполняю дипломную работу в Codesys 3.5. На данный момент, в свою программу на языке ST я вписываю значения точек вручную в два массива, массив для X и Y. Как усовершенствовать этот процесс чтобы точки брались из файла exel в большом количестве, также автоматически рассчитывалось их количество.

смотрите в сторону экспорт/импорт. Сперва экспортируете взятый ПОУ с небольшим количеством введенного в xml, копируете содержимое в строку в питоне, также в файле питона через пандас загружаете екселевский файл и заполняете массив и расчитанное количество элементов, после записываете строку в тот же файл экспорта, в конце импортируете обратно в проект

qroot
05.03.2024, 18:43
ПЛК210 работал примерно год. Затем завис. Пришлось перезапустить его. После перезапуска лог фалы почему-то начинаются с последнего запуска, как такое возможно? Можно ли как-то посмотреть причину зависания?

Евгений Кислов
05.03.2024, 22:14
как такое возможно?

В старых прошивках логи CODESYS хранились в RAM.


Можно ли как-то посмотреть причину зависания?

Уже нет.

qroot
06.03.2024, 10:11
В старых прошивках логи CODESYS хранились в RAM.



Уже нет.

Как настроить сохранение логов ПЛК после перезагрузки?

Евгений Кислов
06.03.2024, 10:30
Как настроить сохранение логов ПЛК после перезагрузки?

Зависит от прошивки вашего ПЛК.
Свяжитесь, пожалуйста, со мной завтра утром по телеграм - разберемся.

qroot
06.03.2024, 10:52
Зависит от прошивки вашего ПЛК.
Свяжитесь, пожалуйста, со мной завтра утром по телеграм - разберемся.

Хорошо. ПЛК210 и ПЛК200 прошивка 2.4.+

ЕвгенийД
06.03.2024, 11:09
Может кто-то сталкивался с такой проблемой. Codesys 3.5 установлен - работал нормально. Прошелся по обучающему примеру из Stepik до визуализации. Запускаю программу Codesys и она без сообщений сбрасывается. Под загруженной системой с правами администратора запускается. Что может быть?

Андрей999
07.03.2024, 14:41
Добрый день.
Мы уже реализовали это в библиотеке OwenCommunication - см. ФБ MB_SerialSlave.
https://owen.ru/forum/showthread.php?t=31816&p=365616&viewfull=1#post365616

Здравствуйте еще раз! Пытался настроить слежение. Выдает ошибку. Не понимаю почему он ругается, ведь адрес буфера присутствует.
74167

Cs-Cs
07.03.2024, 15:44
Здравствуйте еще раз! Пытался настроить слежение. Выдает ошибку. Не понимаю почему он ругается, ведь адрес буфера присутствует Там прям на скриншоте виден код ошибки: INVALID_DATA_POINTER.

Евгений Кислов
07.03.2024, 16:24
Здравствуйте еще раз! Пытался настроить слежение. Выдает ошибку. Не понимаю почему он ругается, ведь адрес буфера присутствует.
74167

Добрый день.
На входы pData и szSize требуется передать указатель на буфер самого слэйва и его (буфера) размер в байтах соответственно.

Андрей999
07.03.2024, 16:49
Там прям на скриншоте виден код ошибки: INVALID_DATA_POINTER.

Да, но ведь я подал адрес на pSpyData. Получается надо одинаковый адрес и размер буфера подавать на szSize, pData и pSpyData, szSpyData? Но ведь первая пара используется для чистого Slave, а вторая для "прослушки"? Или я что-то не понял?

Евгений Кислов
07.03.2024, 17:22
Да, но ведь я подал адрес на pSpyData. Получается надо одинаковый адрес и размер буфера подавать на szSize, pData и pSpyData, szSpyData? Но ведь первая пара используется для чистого Slave, а вторая для "прослушки"? Или я что-то не понял?

Не одинаковые, а разные. Это два разных буфера.

Андрей999
07.03.2024, 19:22
Не одинаковые, а разные. Это два разных буфера.

Да, кажется понял. То есть по сути блок копирует данные из запросов к определенному регистру, поэтому этот регистр надо указывать? Я так понял функция определяется автоматически. А что делать, если адрес данных - 0х0000 [0], а блок ругается на нулевой адрес ?

Евгений Кислов
07.03.2024, 19:36
Да, кажется понял. То есть по сути блок копирует данные из запросов к определенному регистру, поэтому этот регистр надо указывать? Я так понял функция определяется автоматически. А что делать, если адрес данных - 0х0000 [0], а блок ругается на нулевой адрес ?

Никаких регистров указывать не надо.
Если блог "ругается на нулевой адрес" - значит, вы что-то делаете не так.
Продемонстрируйте эту ошибку скриншотом.

alixx
07.03.2024, 21:22
Добрый день. Подскажите такой момент. При создании экземпляра структуры с помощью оператора __NEW по условию, возможно ли обращение к предыдущему экземпляру, если условия срабатывает повторно? Нужно ли для этого создавать отдельную переменную или массив? Что происходит с зарезервированной для экземпляра памятью, если я создаю ещё один экземпляр, но не сохраняю адрес предыдущего в отдельный указатель?

Евгений Кислов
07.03.2024, 21:35
Добрый день. Подскажите такой момент. При создании экземпляра структуры с помощью оператора __NEW по условию, возможно ли обращение к предыдущему экземпляру, если условия срабатывает повторно? Нужно ли для этого создавать отдельную переменную или массив? Что происходит с зарезервированной для экземпляра памятью, если я создаю ещё один экземпляр, но не сохраняю адрес предыдущего в отдельный указатель?

Добрый день.

1. Да.
2. Нужно сохранить указатель, полученный при вызове __NEW.
3. Ничего.

Cs-Cs
07.03.2024, 21:36
alixx Попробую ответить схематически (не до конца уверен в точности ответов).
Если тут всё работает так же, как в СИ-подобных языках, то __NEW просто всегда выделяет новую память. Старая остаётся выделенной до тех пор, пока программа не закончит работу (то есть, ПЛК не выключат). Это будет приводить к утечкам памяти. Например, через какое-то время свободная память кончится - и программа в ПЛК даст сбой.
Поэтому так обычно не делают. Обычно, если надо просто указать какой-то адрес чего-то для буфера - то этот буфер объявляют как переменную и потом при помощи оператора ADR() указывают её адрес (для приёма данных, например).

alixx
07.03.2024, 21:44
То есть если использовать только один указатель, непосредственно для сохранения адреса, то при повторном срабатывании условия он перепишется и его значение будет утеряно навсегда...А не будет ли ошибкой создать в самой структуре переменную типа DWORD и сохранять адрес в ней же?

Евгений Кислов
07.03.2024, 22:05
То есть если использовать только один указатель, непосредственно для сохранения адреса, то при повторном срабатывании условия он перепишется и его значение будет утеряно навсегда...А не будет ли ошибкой создать в самой структуре переменную типа DWORD и сохранять адрес в ней же?

Скорее всего, это закончится исключением.
См. также XY problem в подписи.

alixx
07.03.2024, 22:07
alixx Обычно, если надо просто указать какой-то адрес чего-то для буфера - то этот буфер объявляют как переменную и потом при помощи оператора ADR() указывают её адрес (для приёма данных, например).

А если неизвестно сколько раз сработает условие. Как сохранить неизвестное количество указателей?

Cs-Cs
08.03.2024, 15:36
А если неизвестно сколько раз сработает условие. Как сохранить неизвестное количество указателей? Чтобы ответить, нужно понимать, зачем вообще создавать новые блоки памяти и указатели для них. Расскажи полностью всю идею, потому что ВСЕ стандартные идеи укладываются в стандартный ADR(), а именно:
* Создание буферов для приёма данных из портов.
* Создание буферов для склеивания и перестановки всяких байт в памяти.
* Передача или обработка (подсчёт CRC, например) данных и буферов памяти.
* Передача структур или буферов в разные куски программы или FB.
Всё-всё это работает через ADR прям вот прекрасно (я перешёл с СИ на ПЛК и привык с адресами, указателями и буферами работать).
Для чего нужен __NEW?

Андрей999
09.03.2024, 18:05
Никаких регистров указывать не надо.
Если блог "ругается на нулевой адрес" - значит, вы что-то делаете не так.
Продемонстрируйте эту ошибку скриншотом.

Вот:
74194

Евгений Кислов
09.03.2024, 19:20
Вот:
74194

Повторите то, что вы сделали для буфера Spy.
Объявите массив, используйте операторы ADR и SIZEOF для того, чтобы передать на входы pData и szSize нужные значения.

vdv22
10.03.2024, 09:12
Добрый день , хочу запустить 2 виртуальных контроллера и проверь связь между ними с помощью сетевых переменных. Сделал проект , запустил ,но связи нет.
По настройка вроде все правильно -можете помочь разобраться?

Евгений Кислов
10.03.2024, 09:13
Добрый день , хочу запустить 2 виртуальных контроллера и проверь связь между ними с помощью сетевых переменных. Сделал проект , запустил ,но связи нет.
По настройка вроде все правильно -можете помочь разобраться?

Добрый день.
В вашем случае виртуальные контроллеры должны запускаться на разных ПК.

kondor3000
10.03.2024, 10:01
Добрый день , хочу запустить 2 виртуальных контроллера и проверь связь между ними с помощью сетевых переменных. Сделал проект , запустил ,но связи нет.
По настройка вроде все правильно -можете помочь разобраться?

Связь по ТСР можно спокойно организовать, у слейва ставите адрес 127.0.0.1 (слейв адрес 1), 74208 Массивы в мастере 74209
у мастера 127.0.0.2, порт 502 везде, адреса регистров должны быть одинаковые, всё работает на одном компе.
На скрине связь по ТСР, передача массивом из 16 регистров чтения и 16 для записи ( групповой опрос 12 WORD и 2 REAL). Запись мастер производит по биту b_Zap.
Так же прекрасно читается мигающий секундный бит 0, запакованный в маску 0 регистра из слейва.

vdv22
10.03.2024, 10:15
И тогда еще вопрос - возможно ли с помощью opc сервера связать несколько контроллеров для обмена ? и как это можно сделать.

Евгений Кислов
10.03.2024, 10:29
И тогда еще вопрос - возможно ли с помощью opc сервера связать несколько контроллеров для обмена ? и как это можно сделать.

Что вы вкладываете во фразу "связать несколько контроллеров для обмена". Какого рода должна быть эта связь?

vdv22
10.03.2024, 11:56
один контроллер мастер -им опрашиваются и управляются

Евгений Кислов
10.03.2024, 11:58
один контроллер мастер -им опрашиваются и управляются

Наши контроллеры не поддерживают работу в режиме OPC UA Client.
С виртуальным контроллером (и другими контроллерами, для которых эта опция лицензирована) - такой вариант возможен.

Поддерживаемые нашими ПЛК способы связи между собой описаны в данном документе:
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_PlcCommunication_v3.0.pdf

Также возможен упоминавшийся выше вариант с Modbus.

Андрей_ТМЗ
11.03.2024, 12:48
Здравствуйте. В процессе установки CoDeSys 3.5.14.30 вылезает ошибка 2753 "geteway.exe is not marked for installation". В чем может быть проблема? уже раз 10 пытался установить. Операционная система Windows 10 Pro x64

Евгений Кислов
11.03.2024, 13:08
Здравствуйте. В процессе установки CoDeSys 3.5.14.30 вылезает ошибка 2753 "geteway.exe is not marked for installation". В чем может быть проблема? уже раз 10 пытался установить. Операционная система Windows 10 Pro x64

Добрый день.
Что дальше происходит?
Установка на этом прерывается?

Андрей_ТМЗ
11.03.2024, 13:14
Добрый день.
Что дальше происходит?
Установка на этом прерывается?

Да. Собственно вот эта ошибка.

Евгений Кислов
11.03.2024, 13:22
Да. Собственно вот эта ошибка.

Что происходит после нажатия на кнопку ОК? Ярлык CODESYS создается на рабочем столе?

Андрей_ТМЗ
11.03.2024, 14:27
Что происходит после нажатия на кнопку ОК? Ярлык CODESYS создается на рабочем столе?

После нажатия ОК вылезает окно с кнопкой Finish (см. скриншот). Окно закрывается и ярлык не создаётся. Также прилагаю лог-файл. Кроме того попробовал установить на компьютере с ОС Windows 7, установка прошла без проблем.

Андрей999
11.03.2024, 14:35
Повторите то, что вы сделали для буфера Spy.
Объявите массив, используйте операторы ADR и SIZEOF для того, чтобы передать на входы pData и szSize нужные значения.

Сделал как сказали. Не совсем понял, как можно нужный адрес передать указателем на массив. Не получается. Вроде даже он читает запросы на линии, а данные не складывает.
74240

Евгений Кислов
11.03.2024, 15:43
Сделал как сказали. Не совсем понял, как можно нужный адрес передать указателем на массив. Не получается. Вроде даже он читает запросы на линии, а данные не складывает.
74240

Напишите мне завтра утром в телеграм (в подписи) и предоставьте доступ по AnyDesk - поможем вам всё настроить.

Khudyakoff
11.03.2024, 17:17
Здравствуйте. Подскажите, пожалуйста, может есть какие то готовые библиотеки или ФБ для создания температурного графика и последующей передачи уставки на пид регулятор. Или какие то примеры погодозависимого регулирования?

kondor3000
11.03.2024, 17:58
Здравствуйте. Подскажите, пожалуйста, может есть какие то готовые библиотеки или ФБ для создания температурного графика и последующей передачи уставки на пид регулятор. Или какие то примеры погодозависимого регулирования?

Здесь ST вариант функции PLA (кусочно-линейная аппроксимация) график по 10 точкам зависимости температуры уставки от уличной температуры.
Для Лоджика и CDS https://owen.ru/forum/showthread.php?t=35489&page=5
Для CDS https://owen.ru/forum/showthread.php?t=10555&page=531&p=220263&viewfull=1#post220263

Seryu1506
11.03.2024, 20:07
Подскажите, пожалуйста, как можно реализовать решение системы уравнений состоящую из 3 уравнений и 3 неизвестных. ( требуется для реализации МНК, уравнение параболы)

МихаилГл
11.03.2024, 20:17
Подскажите, пожалуйста, как можно реализовать решение системы уравнений состоящую из 3 уравнений и 3 неизвестных. ( требуется для реализации МНК, уравнение параболы)

Ну это обычная математика. В 2х уравнениях делаешь умножение, чтоб при вычитании из 1го два неизвестных параметра исчезли. Ну или поочерёдно по одному параметру исключать.
https://resolventa.ru/spr/algebra/system.htm

capzap
11.03.2024, 20:26
Подскажите, пожалуйста, как можно реализовать решение системы уравнений состоящую из 3 уравнений и 3 неизвестных. ( требуется для реализации МНК, уравнение параболы)

У Вас самого то какие познания в этой сфере, МНК и в овенлоджик в квадратиках получалось делать

Khudyakoff
12.03.2024, 06:08
А ввод элементов массива т.е. изменение графика во время работы возможен?

kondor3000
12.03.2024, 09:03
А ввод элементов массива т.е. изменение графика во время работы возможен?

Если сделаете переменные на входах функции PLA , а не константы, то возможен.
Для работы функции Важно, переменные должны быть отсортированы по X в порядке возрастания.

trejer
12.03.2024, 09:20
Здравствуйте. Подскажите, пожалуйста, как работать с быстрыми выходами (ПЛК210-03-CS)? Нужно формировать один импульс от 5 мСек до 10 сек. С дискретностью 100 мкСек.

Андрей999
12.03.2024, 13:29
Напишите мне завтра утром в телеграм (в подписи) и предоставьте доступ по AnyDesk - поможем вам всё настроить.

Спасибо большое! Подключились, настроили, показали и объяснили!

bango
12.03.2024, 16:23
наталкнулся на вот такой код
INTERFACE I_Observer EXTENDS __System.IQueryInterface
не пойму как это реализовать в Ассистенте ввода этой команды нет. Впервые вижу такую реализацию наблюдателя.

Евгений Кислов
12.03.2024, 16:50
наталкнулся на вот такой код
INTERFACE I_Observer EXTENDS __System.IQueryInterface
не пойму как это реализовать в Ассистенте ввода этой команды нет. Впервые вижу такую реализацию наблюдателя.

Надо ввести __System.IQueryInterface вручную в поле Расширение для в окне создания интерфейса.

bango
12.03.2024, 17:00
Спасибо за ответ. Чем дальше тем все страшней эта прога меня разачировывает. :confused:

Андрей_ТМЗ
13.03.2024, 07:10
Здравствуйте. В процессе установки CoDeSys 3.5.14.30 вылезает ошибка 2753 "geteway.exe is not marked for installation". В чем может быть проблема? уже раз 10 пытался установить. Операционная система Windows 10 Pro x64

В общем решил проблему. На ноутбуке кроме КДС для ПЛК210 также был установлен софт для ПЛК фирмы Schneider Electric. Как я понимаю они базируются на одном и том же КДС с некоторыми изменениями. Так вот, Gateway от Schneider каким-то образом блокировал установку Gateway от КДС 3.5.14 для ОВЕН. Помогло полное удаление софта от Schneider.

СергейНовосиб
13.03.2024, 12:59
Schneider не есть ГУД! Как-то в начале 2000, мне принесли комп домашний с установленной игрушкой. Так вот, при включении загружалась игрушка, а при выходе завершал работу компа. И получается - или играешь, или не играешь. Другого не дано. Так и тут - или Schneider или ничего.:)

Sergey B.
13.03.2024, 15:46
Здравствуйте! Возникла проблема с обнаружением контроллера при заливке программы. ( ПЛК 210-02CS прошивка plc210 2.4.0601.0905)
1 Залил программу алгоритм выполнялся, но не отвечали правые DI контроллера.
2 Решено было залить программу, которая работала на другом контроллере.
3 загрузка произошла, начал обратно заливать обратно свой проект. установить соединение не удалось. Пробовал с разных ноутбуков. При перезагрузке контроллера, он определяется (мигает), но при попытке загрузить выдает ошибку соединения и больше Codesys его не определяет.

С чем может быть связаны данные ошибки.

Евгений Кислов
13.03.2024, 15:50
Здравствуйте! Возникла проблема с обнаружением контроллера при заливке программы. ( ПЛК 210-02CS прошивка plc210 2.4.0601.0905)
1 Залил программу алгоритм выполнялся, но не отвечали правые DI контроллера.
2 Решено было залить программу которая работала на другом контроллере.
3 загрузка произошла, начал обратно заливать обратно свой проект. установить соединение не удалось. Пробовал с разных ноутбуков. При перезагрузке контроллера, он определяется (мигает), но при попытке загрузить выдает ошибку соединения и больше Codesys его не определяет.

С чем может быть связаны данные ошибки.

Добрый день.
Сходу сложно выдвигать гипотезы.
Напишите, пожалуйста, на support@owen.ru - вам помогут.

trejer
14.03.2024, 10:22
Здравствуйте. Подскажите, пожалуйста, как работать с быстрыми выходами (ПЛК210-03-CS)? Нужно формировать один импульс от 5 мСек до 10 сек. С дискретностью 100 мкСек.

Вопрос снят.

bango
14.03.2024, 11:17
Подскажите адекватную программу по созданию uml. Преребрал кучу программ, и не понимаю как у них язык поворачивается назвать программы для программистов, а создать композицию или реализацию это просто какойто хитрый танец с бубном.

capzap
14.03.2024, 11:23
Подскажите адекватную программу по созданию uml. Преребрал кучу программ, и не понимаю как у них язык поворачивается назвать программы для программистов, а создать композицию или реализацию это просто какойто хитрый танец с бубном.

почему Вам не пойти бы на другие форумы, где работают с диаграммами, здесь CFC не имеет ни каких родственных связей с UML, если Вы верите что собрав диаграмму получится сформировать код для плк, Вас ждет разочарование ни кто этого не делает

bango
14.03.2024, 12:03
Вы верите что собрав диаграмму получится сформировать код для плк
нет но если есть эта диограмма то можно одним взглядом понять как это работает и не надо копатся в 1000 строчном коде чтобы сказать это хорошее решение или это полный отстой.

Вас ждет разочарование ни кто этого не делает
для меня это открытие. Я недавно изучаю эту программу и мне кажется это неплохой наглядный инструмет. Но за ответ спасибо.

capzap
14.03.2024, 12:46
нет но если есть эта диограмма то можно одним взглядом понять как это работает и не надо копатся в 1000 строчном коде чтобы сказать это хорошее решение или это полный отстой.

для меня это открытие. Я недавно изучаю эту программу и мне кажется это неплохой наглядный инструмет. Но за ответ спасибо.

не натягивайте сову на глобус, UML показывает взаимодействие человека интерфейсов и блоков, а копаются в 1000 сторчках бизнес-логики, это рзные сферы. Займитесь полезным, читайте документацию про языкам МЭК 61131-3

bango
14.03.2024, 12:52
А есть адэкватные книги только не надо ссылаться на F1.

sssssaaaaabbbbb
14.03.2024, 14:55
Здравствуйте коллеги, CODESYS V3.5 SP17 Patch 3 перестал запускаться, картинка вот такая 74343, переустанавливал (устанавливался без ошибок), перезагружал, чистил папку C:\Users\S\AppData\Roaming\CODESYS\ и папку C:\Program Files (x86)\CODESYS 3.5.17.30\ но также все осталось, подскажите, в чем может быть проблема?

МихаилГл
14.03.2024, 15:09
Здравствуйте коллеги, CODESYS V3.5 SP17 Patch 3 перестал запускаться, картинка вот такая 74343, переустанавливал (устанавливался без ошибок), перезагружал, чистил папку C:\Users\S\AppData\Roaming\CODESYS\ и папку C:\Program Files (x86)\CODESYS 3.5.17.30\ но также все осталось, подскажите, в чем может быть проблема?

Было такое. Обычно на двкхмониторном ПК иногда проявляется, когда проект на одномониторном открываешь. Случайно помогло частое кликанье по вкладке. Хотя может это не этот случай. Но там тоже переустановка не помогла.

sssssaaaaabbbbb
14.03.2024, 15:46
Было такое. Обычно на двкхмониторном ПК иногда проявляется, когда проект на одномониторном открываешь. Случайно помогло частое кликанье по вкладке. Хотя может это не этот случай. Но там тоже переустановка не помогла.

может еще есть способы? не получилось просто кликать долго

МихаилГл
14.03.2024, 16:01
А сам кодесис пустой нормально запускается? Или тоже всё свёрнуто и никак не развернуть?

sssssaaaaabbbbb
14.03.2024, 16:53
А сам кодесис пустой нормально запускается? Или тоже всё свёрнуто и никак не развернуть?

Как раз пустой кодесис и не запускается, уже 7 раз переустановил, все с компа уже удалил, что можно

МихаилГл
14.03.2024, 17:12
Ну вот мне случайность помогла. Хотя когда я наводил на ярлык на миниатюре было не чёрное изображение, а как будто нормально запущенного кодесиса. Альт + таб ведёт себя так, как будто это невидимое окно открывается? Т.е. вкладка активируется а на дисплее пусто?

DmitriiAnyushin
14.03.2024, 19:31
Добрый день! Проконсультируйте пожалуйста.
На объекте установлен СПК107 (версия 1.0.1229.1031). Проект был создан в Codesys 3.5 SP11 (около пяти лет назад). Возникла необходимость обновить проект. Отрыл его при помощи Codesys 3.5 SP17 (SP11 давным давно удалил). Выбрал в проекте target 3.5.11.54 (в соответствии с таблицей https://owen.ru/forum/showthread.php?t=33954), так архива проекта не было, а из без архива Codesys определ устройство как неопознанное. При попытке подключиться ноутбк СПК обнаруживает (с target 3.5.11.57 даже не находил), но при попытке подключения запрашивает имя пользователя и пароль (Administrator / Administrator лии Owner без пароля не подходят).
Подскажите пожалуйста, в чем может быть проблема и как поступить в данной ситуации? Спасибо!
74354

74355

74353

Евгений Кислов
14.03.2024, 19:33
Добрый день! Проконсультируйте пожалуйста.
На объекте установлен СПК107 (версия 1.0.1229.1031). Проект был создан в Codesys 3.5 SP11 (около пяти лет назад). Возникла необходимость обновить проект. Отрыл его при помощи Codesys 3.5 SP17 (SP11 давным давно удалил). Выбрал в проекте target 3.5.11.54 (в соответствии с таблицей https://owen.ru/forum/showthread.php?t=33954), так архива проекта не было, а из без архива Codesys определ устройство как неопознанное. При попытке подключиться ноутбк СПК обнаруживает (с target 3.5.11.57 даже не находил), но при попытке подключения запрашивает имя пользователя и пароль (Administrator / Administrator лии Owner без пароля не подходят).
Подскажите пожалуйста, в чем может быть проблема и как поступить в данной ситуации? Спасибо!
74353

Добрый день.
Напишите завтра утром в телеграм, пожалуйста (в подписи) - посмотрим, что у вас произошло.

Nerion
14.03.2024, 23:51
Добрый вечер!
Можно ли в устройстве OwenRTC сделать переменным для настройки времени начальные значения? Или в текстовых полях. Не добавляя промежуточных переменных. ПЛК СПК110м01

Евгений Кислов
15.03.2024, 07:19
Добрый вечер!
Можно ли в устройстве OwenRTC сделать переменным для настройки времени начальные значения? Или в текстовых полях. Не добавляя промежуточных переменных. ПЛК СПК110м01

Добрый день.

74364

По аналогии допишите остальные нужные разряды.

Андрей999
15.03.2024, 19:05
Здравствуйте! Столкнулся вот с чем. При попытке считывания нескольких регистров флагов READ_COILS получаю значения отличные от тех, которые получаю при чтении этих же регистров по одному. С чем это может быть связано? Использую функцию FB MB_SerialRequest, регистры флагов представлены в приборе байтовыми значениями.

Евгений Кислов
15.03.2024, 22:15
Здравствуйте! Столкнулся вот с чем. При попытке считывания нескольких регистров флагов READ_COILS получаю значения отличные от тех, которые получаю при чтении этих же регистров по одному. С чем это может быть связано? Использую функцию FB MB_SerialRequest, регистры флагов представлены в приборе байтовыми значениями.

Добрый день.
Указатель на что вы передаете на вход pData?

Андрей999
16.03.2024, 08:52
Добрый день.
Указатель на что вы передаете на вход pData?

Указатель на экземпляр структуры из байт. Количество байт в структуре равно количеству запрашиваемых регистров флагов.

Евгений Кислов
16.03.2024, 09:26
Указатель на экземпляр структуры из байт. Количество байт в структуре равно количеству запрашиваемых регистров флагов.

Вам надо в структуре использовать тип BIT, а не BYTE. Блок возвращает Coils в виде битовой маски.
п. 1.1.3:
https://ftp.owen.ru/CoDeSys3/98_Books/CodesysMemoryManipulation.pdf

Андрей999
16.03.2024, 16:21
Вам надо в структуре использовать тип BIT, а не BYTE. Блок возвращает Coils в виде битовой маски.
п. 1.1.3:
https://ftp.owen.ru/CoDeSys3/98_Books/CodesysMemoryManipulation.pdf
Осталось так же. Первый байт верно, второй не считывает. Может быть поможет тип данных в приборе, вообще он обозначен как байтовый...
74424

Евгений Кислов
16.03.2024, 16:40
Осталось так же. Первый байт верно, второй не считывает. Может быть поможет тип данных в приборе, вообще он обозначен как байтовый...
74424

Cудя по документу - в данном приборе coils используются для работы не с отдельными битами (как это обычно бывает), а с 8-битными значениями, так что ваш вариант с BYTE в структуре был правильным - вернитесь к нему.

Вероятно, ключевую роль играет примечание в документации:



ПРИМЕЧАНИЕ. Все указанные переменные содержат в себе не значения параметров, а порядковые номера (индексы) в списке разрешенных значений, начиная нумерацию с 0. Списки значений приведены в описании меню
прибора.
Например, чтобы установить скорость обмена 9600, в переменную
"Скорость обмена" (обмотки 0х0113-0х0120) необходимо записать значение 5.
Для установки сетевого адреса равным 10 в переменную "сетевой адрес"
(0х0145-0х0152) нужно записать значение 9 и т.д.
Для переменных, список значений которых задан диапазоном, начинающимся с 0 (например, для Dpoint 0…3) порядковый номер и значение совпадают.

ГЛЮКОNIC
18.03.2024, 00:05
Вопрос по Овен Архивер, рекомендуется не более 2-х в проекте использовать, совет нужен есть типовые печи, но есть на 4 точки и 3 отпускная печь, есть с так-же где есть Маслянная ванна и нагревательная печь 1 Канал а есть 3 - если использовать 5 Овен Архиверов и назначить разные включения записи но дерикторию и тд одно и тоже ? - Конфликт будет в файле ?

Евгений Кислов
18.03.2024, 06:13
Вопрос по Овен Архивер, рекомендуется не более 2-х в проекте использовать, совет нужен есть типовые печи, но есть на 4 точки и 3 отпускная печь, есть с так-же где есть Маслянная ванна и нагревательная печь 1 Канал а есть 3 - если использовать 5 Овен Архиверов и назначить разные включения записи но дерикторию и тд одно и тоже ? - Конфликт будет в файле ?

Конфликт возможен, так что лучше отказаться от этой идеи.

ultra76
18.03.2024, 10:37
Коллеги, добрый день.

Создал структуру со ссылками на переменные:
TYPE AUTO_MODE_STEP :
STRUCT
Actuator_1: POINTER TO BOOL;
Actuator_2: POINTER TO BOOL;
Actuator_3: POINTER TO BOOL;
END_STRUCT
END_TYPE

Хочется оптимизировать код, сделать массив:
TYPE AUTO_MODE_STEP :
STRUCT
Actuator: ARRAY [1..3] OF POINTER TO BOOL;
END_STRUCT
END_TYPE

Но когда прописываю экземпляр структуры, то получаю ошибку: 'Assign' требуется вместо '['.

74457

Возможно ли вообще указать массив в структуре?

Евгений Кислов
18.03.2024, 10:55
Коллеги, добрый день.

Создал структуру со ссылками на переменные:
TYPE AUTO_MODE_STEP :
STRUCT
Actuator_1: POINTER TO BOOL;
Actuator_2: POINTER TO BOOL;
Actuator_3: POINTER TO BOOL;
END_STRUCT
END_TYPE

Хочется оптимизировать код, сделать массив:
TYPE AUTO_MODE_STEP :
STRUCT
Actuator: ARRAY [1..3] OF POINTER TO BOOL;
END_STRUCT
END_TYPE

Но когда прописываю экземпляр структуры, то получаю ошибку: 'Assign' требуется вместо '['.

74457

Возможно ли вообще указать массив в структуре?

Добрый день.
Чтобы работать со структурой - нужно объявить ее экземпляр.
Вы уверены, что сделали это?

ultra76
18.03.2024, 11:47
Создал структуру AUTO_MODE_STRUCT_SAMPLE

74458

Объявил экземпляр:
Auto_Mode_SAMPLE: ARRAY[1..3] OF AUTO_MODE_STRUCT_SAMPLE

74459

Евгений Кислов
18.03.2024, 12:29
Создал структуру AUTO_MODE_STRUCT_SAMPLE

74458

Объявил экземпляр:
Auto_Mode_SAMPLE: ARRAY[1..3] OF AUTO_MODE_STRUCT_SAMPLE

74459

При инициализации массивов нельзя использовать индексы.
Посмотрите видео:
https://youtu.be/KjVlFH2lF4k?si=NqOuj5xNViDVowzs

Андрей999
19.03.2024, 17:23
Здравствуйте, скажите, а кроме как SpyMode невозможно организовать прослушивание линии при помощи ПЛК200?
Нужно поймать специализированную функцию 0х07. Я так понимаю при помощи SpyMode это не сделать?

Евгений Кислов
19.03.2024, 17:26
Здравствуйте, скажите, а кроме как SpyMode невозможно организовать прослушивание линии при помощи ПЛК200?
Нужно поймать специализированную функцию 0х07. Я так понимаю при помощи SpyMode это не сделать?

Не сделать.
Вам потребуется работать с COM-портом напрямую.
См. пример:
https://youtu.be/F_unaGOBC08?si=Sl8bWqSEuO13uJeW

ETL_Роман
21.03.2024, 10:03
Добрый день.
При установке файлов через Codesys Installer выходит ошибка "Verifiation of zip archive failed"
Из темы FAQ поставил Codesys Installer 2.2.2 - не помогло.
В чем может быть проблема?
74007

Евгений, вы в итоге смогли выяснить в чем проблема? Столкнулся с тем же самым. И при установке уже скаченного плагина и при импорте конфигурации с использованием VPN. Installer использовал и обновленный до 2.2.0 версии и боле старую версию

Евгений Кислов
21.03.2024, 10:19
Евгений, вы в итоге смогли выяснить в чем проблема? Столкнулся с тем же самым. И при установке уже скаченного плагина и при импорте конфигурации с использованием VPN. Installer использовал и обновленный до 2.2.0 версии и боле старую версию

Нет - приборист со мной не связался.

ГЛЮКОNIC
22.03.2024, 00:09
вышел релиз CODESYS v3.5 sp20 не понимаю пока смысл, не видно прямо таких крутых изменений, просто CODESYS V3.5 стал тяжелее

Cs-Cs
22.03.2024, 08:35
вышел релиз CODESYS v3.5 sp20 не понимаю пока смысл, не видно прямо таких крутых изменений, просто CODESYS V3.5 стал тяжелее Ах ты, торопыга! =) Ведь пофиг же: если ОВЕН не выпустит под этот релиз прошивку - то кой в нём смысл? =)

СергейНовосиб
22.03.2024, 08:38
Исправляют старые косяки и делают новые, и добавляют не совсем понятные вещи, что это приводит к увеличению объема программы. :)

AlexBut
22.03.2024, 11:07
Здравствуйте!
Загружаю готовый проект без подключения к контроллеру а он пишет, что не установлено устройство MV210-202,
хотя я пакет Mx210Templates_v3.5.11.10.package запускал и он сообщил, что установился и "загрузка отсутствующих устройств" не выполняется(файл не найден)? Может нужен другой *.package?
И ругается на модули OSCAT_BASIC.WORD_OF_DWORD? Я так понимаю тоже библиотека нужна?

Евгений Кислов
22.03.2024, 11:16
Загружаю готовый проект без подключения к контроллеру а он пишет, что не установлено устройство MV210-202,
хотя я пакет Mx210Templates_v3.5.11.10.package запускал и он сообщил, что установился и "загрузка отсутствующих устройств" не выполняется(файл не найден)? Может нужен другой *.package?

Добрый день.
Вам нужен этот пакет:
https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/01_Components/Mx210Templates_v3.5.11.9.package

Nikolay.L
22.03.2024, 11:49
Почему в CFC вместо использования блока MOVE с EN/ENO не сделают присвоение напрямую в элементе вывода? По мне так было бы логичнее и занимало бы меньше места.74599

Евгений Кислов
22.03.2024, 11:57
Почему в CFC вместо использования блока MOVE с EN/ENO не сделают присвоение напрямую в элементе вывода? По мне так было бы логичнее и занимало бы меньше места.74599

Добрый день.
Приведенный пример противоречит синтаксису языка CFC.
Если цель заключается в том, чтобы сэкономить место - то можно полностью перейти на язык ST.

ГЛЮКОNIC
22.03.2024, 14:45
Ах ты, торопыга! =) Ведь пофиг же: если ОВЕН не выпустит под этот релиз прошивку - то кой в нём смысл? =)

Так я своё мнение высказал что привык к Sp17 и думаю не надо обновляется как по мне - если в 21-й версии кардинального не выкатят, я что в sp18 что в sp19 не вдохновился особо.

Godlike_S
22.03.2024, 17:22
Евгений, доброго дня! Подтвердите мое предположение: счётчики перезагрузок в WatchDog не сразу принимают свои значения, а через некоторое время (цикл, два-три, десять…)?
Почему столь специфичный вопрос: есть задача отслеживать перезагрузку контроллера (и от чего она произошла), для этого я создал дополнительно энергонезависимые переменные, в которые пишутся значения счетчиков. После перезагрузки происходит сравнение, и если какой-то счётчик увеличил значение, выводим сообщение. Но это так, лирика, суть вопроса: при старте ПЛК значения счётчика, которые были не нулевыми (это значение сохраняется в энергонезависимую переменную), генерируют сигнал сообщения, такое может произойти в ситуации, которую я выше описал (происходит сравнение не нулевого значения энергонезависимой переменной с нулевой переменной счётчика). Решил проблему задержкой работы участка кода, который отвечает за сравнение, после этого все заработало как надо.
Скажите пожалуйста, мои предположения верны?

Евгений Кислов
22.03.2024, 17:37
Евгений, доброго дня! Подтвердите мое предположение: счётчики перезагрузок в WatchDog не сразу принимают свои значения, а через некоторое время (цикл, два-три, десять…)?
Почему столь специфичный вопрос: есть задача отслеживать перезагрузку контроллера (и от чего она произошла), для этого я создал дополнительно энергонезависимые переменные, в которые пишутся значения счетчиков. После перезагрузки происходит сравнение, и если какой-то счётчик увеличил значение, выводим сообщение. Но это так, лирика, суть вопроса: при старте ПЛК значения счётчика, которые были не нулевыми (это значение сохраняется в энергонезависимую переменную), генерируют сигнал сообщения, такое может произойти в ситуации, которую я выше описал (происходит сравнение не нулевого значения энергонезависимой переменной с нулевой переменной счётчика). Решил проблему задержкой работы участка кода, который отвечает за сравнение, после этого все заработало как надо.
Скажите пожалуйста, мои предположения верны?

Добрый день.
Запись значений в каналы узлов таргет-файла (в т.ч. узла Watchdog) действительно происходит после инициализации соответствующих компонентов - и, действительно, это может произойти позже первого цикла пользовательской задачи.

Godlike_S
22.03.2024, 17:46
Понял, спасибо, развеяли мои сомнения :)

Андрей999
22.03.2024, 19:47
Не сделать.
Вам потребуется работать с COM-портом напрямую.
См. пример:
https://youtu.be/F_unaGOBC08?si=Sl8bWqSEuO13uJeW

Спасибо, то, что надо!

sssssaaaaabbbbb
25.03.2024, 18:04
Здравствуйте коллеги!!! Есть код

IF wPIDTmpr_In_PIDOnOff[nZ] = 16#02 THEN // 16#02 - регулирование включить
xPIDSTD_Zone_Reset[nZ]:= FALSE;
xPWM_Reset[nZ]:= FALSE;
iPIDTmpr_Out_PIDStatus[nZ]:= 1;

Подскажите пожалуйста что означает решетка в этом значении( 16#02 ) и почему после решетки стоит 02
При этом все работает

kondor3000
25.03.2024, 18:16
Здравствуйте коллеги!!! Есть код

IF wPIDTmpr_In_PIDOnOff[nZ] = 16#02 THEN // 16#02 - регулирование включить
xPIDSTD_Zone_Reset[nZ]:= FALSE;
xPWM_Reset[nZ]:= FALSE;
iPIDTmpr_Out_PIDStatus[nZ]:= 1;

Подскажите пожалуйста что означает решетка в этом значении( 16#02 ) и почему после решетки стоит 02
При этом все работает

16# означает шестнадцатиричная система счисления, 2 значение.
Не знаю, кто писал код, но в шестнадцатиричнной системе (HEX) и десятичной (DEC), число 2 так и останется 2.
Перевод систем можно сделать калькулятором в режиме программист.
Точно также переводятся адреса регистров.

AlexBut
26.03.2024, 11:52
Спасибо! Нашёл и установил Mx210Templates_v3.5.11.10
А OSCAT - проект не компилируется из-за ФБ OSCAT-скачиваю с https://owen.ru/product/codesys_v2/libraries,
получается oscat_basic_333.lib (600 кБ) но не устанавливается в CODESYS V3.5 ?

Да и когда 2 раза щёлкаешь на ошибке появляется менеджер библиотек и в нём ссылка на BASIC 3.3.3.0 (OSCAT),
но и оттуда не устанавливается?

Николай Суриков
26.03.2024, 11:54
Спасибо! Нашёл и установил Mx210Templates_v3.5.11.10
А OSCAT - проект не компилируется из-за ФБ OSCAT-скачиваю с https://owen.ru/product/codesys_v2/libraries,
получается oscat_basic_333.lib (600 кБ) но не устанавливается в CODESYS V3.5 ?

Да и когда 2 раза щёлкаешь на ошибке появляется менеджер библиотек и в нём ссылка на BASIC 3.3.3.0 (OSCAT),
но и оттуда не устанавливается?
https://owen.ru/product/codesys_v3/libraries
https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/02_Libraries/OSCATBasic.package

AlexBut
26.03.2024, 12:14
Ещё позвольте вопрос- у меня контроллер ПЛК210, я знаю его адрес эзернет 192.168.0.10 , могу зайти на его веб-страницу,
но не могу подключиться с Gateway localhost port 1217 и не могу подключиться по USB по адресу 172.16.0.1 с
Gateway 172.16.0.2(адрес моего комп-ра в вирт сети owen) порт 1217.
Хотя оба адреса 192.168.0.10 и 172.16.0.1 пингуются.
Перезагружался в режиме отключения проверки подписи драйверов- тоже.
Что делаю не так?
Спасибо

Евгений Кислов
26.03.2024, 12:17
Ещё позвольте вопрос- у меня контроллер ПЛК210, я знаю его адрес эзернет 192.168.0.10 , могу зайти на его веб-страницу,
но не могу подключиться с Gateway localhost port 1217 и не могу подключиться по USB по адресу 172.16.0.1 с
Gateway 172.16.0.2(адрес моего комп-ра в вирт сети owen) порт 1217.
Хотя оба адреса 192.168.0.10 и 172.16.0.1 пингуются.
Перезагружался в режиме отключения проверки подписи драйверов- тоже.
Что делаю не так?
Спасибо

Добрый день.
Напишите, пожалуйста, мне в телеграм (в подписи) и предоставьте доступ по AnyDesk - разберемся.

AlexBut
26.03.2024, 12:43
https://owen.ru/product/codesys_v3/libraries
https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/02_Libraries/OSCATBasic.package

Да спасибо, что спрашивал заработало.
Но ------ Компиляция : Приложение: Device.Application -------
типизировать код...
генерировать код...
[WARNING] Прошивка ПЛК200 20.01: Менеджер библиотек [Device: Plc Logic: Application]: C0100: Библиотека CmpTargetVisu не добавлена в Менеджер библиотек, либо не найдено корректной лицензии

В репозитарии библиотек нахожу её CmpTargetVisu и в "деталях" вижу, что лицензия не требуется, но не могу установить?

Где взять Библиотека CmpTargetVisu - или обязательно лицензия?

Спасибо

Евгений Кислов
26.03.2024, 12:59
Да спасибо, что спрашивал заработало.
Но ------ Компиляция : Приложение: Device.Application -------
типизировать код...
генерировать код...
[WARNING] Прошивка ПЛК200 20.01: Менеджер библиотек [Device: Plc Logic: Application]: C0100: Библиотека CmpTargetVisu не добавлена в Менеджер библиотек, либо не найдено корректной лицензии

В репозитарии библиотек нахожу её CmpTargetVisu и в "деталях" вижу, что лицензия не требуется, но не могу установить?

Где взять Библиотека CmpTargetVisu - или обязательно лицензия?

Спасибо

ПЛК210 не нужна ни эта библиотека, ни "лицензия".
Факт присутствия этого сообщения указывает на наличие в проекте другой ошибки (какой именно - надо разбираться).
Давайте все же свяжемся по телеграм, пока я еще сегодня доступен.

Или вы можете написать на support@owen.ru - вам помогут.

AlexBut
27.03.2024, 12:23
ПЛК210 не нужна ни эта библиотека, ни "лицензия".
Факт присутствия этого сообщения указывает на наличие в проекте другой ошибки (какой именно - надо разбираться).
Давайте все же свяжемся по телеграм, пока я еще сегодня доступен.

Или вы можете написать на support@owen.ru - вам помогут.

Оказалось:
Если вместо Mx210Templates_v3.5.11.9.package установить Mx210Templates_v3.5.11.10.package,
(и сделать обновить устройство иначе подчёркивание MV210-202)то при компиляции сразу появляются более сотни ошибок типа "идентификатор не определён".Откатил *.package к 9 версии и ок

Спасибо

Евгений Кислов
27.03.2024, 14:14
Оказалось:
Если вместо Mx210Templates_v3.5.11.9.package установить Mx210Templates_v3.5.11.10.package,
(и сделать обновить устройство иначе подчёркивание MV210-202)то при компиляции сразу появляются более сотни ошибок типа "идентификатор не определён".Откатил *.package к 9 версии и ок

Спасибо

...поэтому мы и пишем, что так делать нельзя.
https://owen.ru/forum/showthread.php?t=31176&p=413131&viewfull=1#post413131 (красный текст)

ВладОвен
28.03.2024, 09:38
Привет. Подскажите, а есть ли библиотека, которая может посчитать контрольную сумму одного из POU проекта?
Допустим у меня есть один важный POU, который контролируется мои заказчиком. И вот он хочет, что-бы во вкладке об информации проекта он мог видеть КС одного из POU. Он хочет быть уверенным, что я там ничего не изменил.

iv.kmz
28.03.2024, 09:42
Здравствуйте!

Как обстоят дела со 104-м протоколом в CoDeSys 3.5 для ПЛК200/210?

Евгений Кислов
28.03.2024, 10:02
Здравствуйте!

Как обстоят дела со 104-м протоколом в CoDeSys 3.5 для ПЛК200/210?

Добрый день.
У этих контроллеров нет поддержки данного протокола.

Евгений Кислов
28.03.2024, 10:05
Привет. Подскажите, а есть ли библиотека, которая может посчитать контрольную сумму одного из POU проекта?
Допустим у меня есть один важный POU, который контролируется мои заказчиком. И вот он хочет, что-бы во вкладке об информации проекта он мог видеть КС одного из POU. Он хочет быть уверенным, что я там ничего не изменил.

Добрый день.
Штатно такой возможности нет.

iv.kmz
28.03.2024, 10:46
Добрый день.
У этих контроллеров нет поддержки данного протокола.

видел поддержку этого протокола у Regul в Astra.IDE. Может быть можно использовать какие-то стандартные IEC-вские библиотеки?

С учётом растущих требований к 104 протоколу в ОЛ окологосударственных заказчиков планируется ли его реализация в продукции ОВЕН?

Евгений Кислов
28.03.2024, 10:54
видел поддержку этого протокола у Regul в Astra.IDE. Может быть можно использовать какие-то стандартные IEC-вские библиотеки?

С учётом растущих требований к 104 протоколу в ОЛ окологосударственных заказчиков планируется ли его реализация в продукции ОВЕН?

1. Есть плагин с поддержкой поддержкой работы по МЭК-104 в режиме сервера (https://store.codesys.com/de/iec-60870-5-104-server.html), но он требует активации платной лицензии, а у наших контроллеров не поддержан механизм активации подобных лицензий.
2. Планируется, но не в рамках модификаций с CODESYS.
Поддержка МЭК-104 есть у этих контроллеров:
https://owen.ru/product/plk210_kr
https://owen.ru/product/plk110_30_tl

Задумкин Сергей
28.03.2024, 15:54
Добрый день! Вопрос к знатокам.
Есть у меня функциональный блок, реализующий интерфейс, так что это типа класс. Этот класс занимается емкостью с топливом (она же РГС). В емкости этой стоит датчик уровня ПМП-118, который опрашивается по Modbus RTU. В Modbus_Master_COM_Port, соответственно, созданы Modbus Slave'ы с этими датчиками (на всякий случай - емкостей три и датчиков три).
Так вот, не соображу на что сослаться во входных переменных ФБ так, чтобы при вызове конкретного экземпляра передать в него конкретного слэйва. Все это для того, чтобы диагностикой обмена заниматься уже в ФБ.


FUNCTION_BLOCK classRGS IMPLEMENTS itfRGS
VAR_INPUT
refRGS: REFERENCE TO RGS;
IntakeKE: itfGZOF;
SupplyKE: itfGZOF;
BypassKE: itfGZOF;
ModbusSlave: REFERENCE TO ......???
END_VAR
VAR_OUTPUT
END_VAR
VAR
END_VAR

P.S.
Как сделать по-другому и прощу я знаю. Интересует можно ли сделать так так я хочу?

Евгений Кислов
28.03.2024, 16:02
ModbusSlave: REFERENCE TO ......???


REFERENCE TO IoDrvModbus.ModbusSlaveComPort;

Задумкин Сергей
28.03.2024, 16:11
REFERENCE TO IoDrvModbus.ModbusSlaveComPort;

Большое спасибо! Работает!

Олег_71
29.03.2024, 13:25
Здравствуйте. Подскажите пожалуйста, как в CFC реализовать возможность, есть входной аналоговый сигнал(мв210-101) 4..20мa он визуализируется и нужно что бы на выходе другова аналогового блока(му210-502) был точно такой же сигнал 4..20ма . Заранее спасибо.
74835

kondor3000
29.03.2024, 14:15
Здравствуйте. Подскажите пожалуйста, как в CFC реализовать возможность, есть входной аналоговый сигнал(мв210-101) 4..20мa он визуализируется и нужно что бы на выходе другова аналогового блока(му210-502) был точно такой же сигнал 4..20ма . Заранее спасибо.
74835

Чтобы правильно посчитать, нужны Max и Min вашего токового входа. Далее забиваете на блок Skale
ваши Max и Min, а на выход 0-1000.
Например на входе 20.36, пределы входа 0-100, а на выход 0-1000, тогда на выходе будет 204. Смотри скрин 74836

Функцию Scale можете сделать сами, код простой


Scale :=(In1-Min1)*(Max2-Min2) / ((MAX1-MIN1) + MIN2)+0.5 ;

Олег_71
29.03.2024, 15:53
Спасибо! Буду разбираться как создать данную функцию.

kondor3000
29.03.2024, 17:26
Спасибо! Буду разбираться как создать данную функцию.

Лучше конечно потренироваться и сделать функцию самому. 74842
Если не получится, можно добавить биб-ку OSCAT_BASIC 3.3.3 (или 3.3.4) и добавить функцию SCALE_R 74856

Godlike_S
31.03.2024, 19:26
Вечер добрый!
Кто-нибудь использовал библиотеку ONTIME из OSCAT BASIC последней редакции? После обновления проекта на SP17 по ходу перестал работать вход RST, не происходит сброса таймеров наработки и кол-ва циклов… Только у меня такая ситуация?
P.S. И объект за 2000 км…

Евгений Кислов
31.03.2024, 19:48
Вечер добрый!
Кто-нибудь использовал библиотеку ONTIME из OSCAT BASIC последней редакции? После обновления проекта на SP17 по ходу перестал работать вход RST, не происходит сброса таймеров наработки и кол-ва циклов… Только у меня такая ситуация?
P.S. И объект за 2000 км…

В вашем понимании поcледняя - это какая?

Godlike_S
31.03.2024, 20:06
Евгений, вечер добрый!
Завтра попробую выяснить…

siv4@yandex.ru
01.04.2024, 09:37
Так и не получается запустить систему в режиме эмуляции - никакое устройство не отвечает на запрос поиска... Все файлы csv удалил из папки, пароли и логины пробовал разные: Administrator и Owner - все то же самое - не видит устройство. Где копать и как исправить? Новичок в Codesys 3.5

Евгений Кислов
01.04.2024, 09:49
Так и не получается запустить систему в режиме эмуляции - никакое устройство не отвечает на запрос поиска... Все файлы csv удалил из папки, пароли и логины пробовал разные: Administrator и Owner - все то же самое - не видит устройство. Где копать и как исправить? Новичок в Codesys 3.5

Добрый день.
Свяжитесь со мной по telegram (в подписи) и обеспечьте доступ по AnyDesk.

Николай Суриков
01.04.2024, 09:52
Так и не получается запустить систему в режиме эмуляции - никакое устройство не отвечает на запрос поиска... Все файлы csv удалил из папки, пароли и логины пробовал разные: Administrator и Owner - все то же самое - не видит устройство. Где копать и как исправить? Новичок в Codesys 3.5

https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_FirstStart_v3.0.pdf
Стр. 40

Евгений Кислов
01.04.2024, 10:00
Так и не получается запустить систему в режиме эмуляции - никакое устройство не отвечает на запрос поиска... Все файлы csv удалил из папки, пароли и логины пробовал разные: Administrator и Owner - все то же самое - не видит устройство. Где копать и как исправить? Новичок в Codesys 3.5

Вопрос решен при удаленном подключении (https://owen.ru/forum/showthread.php?t=28167&p=401060&viewfull=1#post401060 + https://ftp.owen.ru/CoDeSys3/99_ForumFiles/CODESYS_V3.5_SP17_features_forum.pdf п. 10)

Godlike_S
01.04.2024, 11:33
Евгений, выяснил, версия OSCAT BASIC 3.31, ревизия ФБ 2.4

Евгений Кислов
01.04.2024, 12:10
Евгений, выяснил, версия OSCAT BASIC 3.31, ревизия ФБ 2.4

Это не последняя версия. Используйте 3.3.3.0 (https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/02_Libraries/OSCATBasic.package) или 3.3.4.0 (https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/02_Libraries/OSCATBasic_v3.3.4.0.package).

В них ревизия ФБ 2.5, в которой исправлена наблюдаемая вами ошибка.

sco-scorpion
01.04.2024, 13:02
Добрый день. Подскажите где можно почитать или объясните как правильно задавать приоритет нескольким программам и вызов этих программ?

Евгений Кислов
01.04.2024, 14:01
Добрый день. Подскажите где можно почитать или объясните как правильно задавать приоритет нескольким программам и вызов этих программ?

Добрый день.
Начните с этого:
https://ftp.owen.ru/CoDeSys3/98_Books/CodesysTaskManagment.pdf

Олег_71
01.04.2024, 18:54
Лучше конечно потренироваться и сделать функцию самому. 74842
Если не получится, можно добавить биб-ку OSCAT_BASIC 3.3.3 (или 3.3.4) и добавить функцию SCALE_R 74856

Спасибо огромное за помощь! Что щас делаю не так?

https://imageup.ru/img203/thumb/24787411.jpg (https://imageup.ru/img203/4787411/2.jpg.html)

https://imageup.ru/img178/thumb/bez-imeni4787412.jpg (https://imageup.ru/img178/4787412/bez-imeni.jpg.html)