Вход

Просмотр полной версии : 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 30 31 [32] 33 34 35

инт
30.10.2024, 10:15
Вы должны запрограммировать, когда её включать, например, при изменении любого бита в 125 или 194 регистре.
а как это сделать можно пример. и почему когда я делаю xWrite true то при изменении real переменных передача проходит а при изменении bool переменных ничего не меняется

kondor3000
30.10.2024, 10:20
а как это сделать можно пример. и почему когда я делаю xWrite true то при изменении real переменных передача проходит а при изменении bool переменных ничего не меняется

Значит вы так программу составили, что ваш блок управляет записью только REAL переменных.
В слейве бита записи вообще нет, а в Мастере я вам давал пример, записи массива WORD по одной переменной B_zap

Евгений Кислов
30.10.2024, 10:23
Добрый день! Потребовалось управлять элементом визуализации Трассировка из кода программы, а именно сбрасывать трассировку и начинать запись званого. То есть элемент визуализации должен начинать работать как будто его только что запустили.
Для этого использую CmpTraceMgr Library.
1) Получил нужные hPacket, hRecord и их конфигурации.
2) Использование TraceMgrPacketRestart() выполняет только сброс времени трассировки.
3) Костыль в виде сохранения пустой трассировки в файл, а потом ее перезаписывание - не решает задачу, потому что трассировка рисует ерунду.
Прошу помощи, идеи заканчиваются)

Добрый день.
Насколько помню - "рисование ерунды" происходит только в течение времени, равного диапазону по оси X, дальше ситуация нормализуется.

В любом случае - штатного способа сброса трассировки в данный момент нет.

79712

Можете попробовать использовать нашу реализацию трассировки из библиотеки OwenVisuTools - там такой функционал предусмотрен.

инт
30.10.2024, 11:00
Значит вы так программу составили, что ваш блок управляет записью только REAL переменных.
В слейве бита записи вообще нет, а в Мастере я вам давал пример, записи массива WORD по одной переменной B_zap
c записью переменных BOOL разобрался .заработали BOOL .REAL.WORD передаются спасибо. а как быть с командой xWrite.
получается если в слейве бита записи нет то библиотека овен коммуникации только для для модбас мастера и в слейве ее нельзя использовать?

kondor3000
30.10.2024, 12:28
c записью переменных BOOL разобрался .заработали BOOL .REAL.WORD передаются спасибо. а как быть с командой xWrite.
получается если в слейве бита записи нет то библиотека овен коммуникации только для для модбас мастера и в слейве ее нельзя использовать?
Зачем вам и то и то одновременно?
Если вы используете биб-ку, то не используйте массив в соотнесении и наоборот.
В слейве удобнее массив, так как не нужен бит записи, в мастере на выбор, как вам удобнее.

инт
30.10.2024, 13:41
Зачем вам и то и то одновременно?
Если вы используете биб-ку, то не используйте массив в соотнесении и наоборот.
В слейве удобнее массив, так как не нужен бит записи, в мастере на выбор, как вам удобнее.
я изучаю .конечно же я использую один. просто хочу понять как работает. и все же как запустить xWrite на примере хотя бы 125 адреса не покажете?

kondor3000
30.10.2024, 13:52
я изучаю .конечно же я использую один. просто хочу понять как работает. и все же как запустить xWrite на примере хотя бы 125 адреса не покажете?

Для изучения лучше создать новый проект или ещё проще взять готовый пример на сайте. И вполне достаточно массива из 2-3 переменных с началом от 0.
Вот в эту переменную можно забить начальный адрес слейва, в Параметрах блока 79730 c_uiStartAddr :=125

а длина задаётся массивом awSlaveDada объявленным в программе.
Пример кода запуска бита записи xWrite при изменении маски бит w0 и переменной w1

IF awSlaveData[0]<>w0 OR awSlaveData[1]<>w1 THEN
xWrite:=TRUE;
// ELSE xWrite:=False; // снять комментарий после проверки, для сброса xWrite
END_IF

Код надо вставить после присвоения в программе в Маску бит w0 (или изменения целочисленной w1) и до R_Trig, который запустит присвоение из w0 в переменную массива awSlaveData[0] или целочисленной w1 в awSlaveData[1]

yaroslavcik
31.10.2024, 08:32
Здравствуйте,
CS3.5 SP17 P3
ПЛК200-03

При первой заливке прошивки словил исключение, но не могу разобраться, где его ловить
79749
Как понять где исправить?

Евгений Кислов
31.10.2024, 08:36
Здравствуйте,
CS3.5 SP17 P3
ПЛК200-03

При первой заливке прошивки словил исключение, но не могу разобраться, где его ловить
79749
Как понять где исправить?

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

yaroslavcik
31.10.2024, 09:04
отправил в телеграм сообщение

SemAndr
05.11.2024, 07:02
Добрый день! Подскажите, пожалуйста, у ПЛК200 и ПЛК210 нет ограничений по количеству опрашиваемых устройств по ModBus? 160 доступное число для опроса?

Евгений Кислов
05.11.2024, 07:13
Добрый день! Подскажите, пожалуйста, у ПЛК200 и ПЛК210 нет ограничений по количеству опрашиваемых устройств по ModBus? 160 доступное число для опроса?

Добрый день.
Явного ограничения нет.
При таком числе устройств опрос лучше настроить через библиотеку OwenCommunication.
Можете связаться со мной по телеграм (в подписи) - обсудить детали вашей конкретной задачи и нюансы, которые потребуется учесть при ее решении.

Alex2305
05.11.2024, 16:39
Добрый день.
Подскажите как решить проблему - после добавления в менеджер рецептов группы рецептов появляются 4 ошибки. Удаляешь группу ошибкт пропадают.
79850

Евгений Кислов
05.11.2024, 16:45
Добрый день.
Подскажите как решить проблему - после добавления в менеджер рецептов группы рецептов появляются 4 ошибки. Удаляешь группу ошибкт пропадают.
79850

Добрый день.
У вас какие-то проблемы с версиями библиотек.
Выложите ваш проект - посмотрим, в чем может быть дело.

Alex2305
05.11.2024, 18:18
Добрый день.
У вас какие-то проблемы с версиями библиотек.
Выложите ваш проект - посмотрим, в чем может быть дело.

Да я собственно разбирался с примером - Example_RecipesVideo_3514v3.projectarchive
Начинал проект с чистого листа.
И как дошел до создания визуализации на втором видео, получил ошибку...
Вы оказались правы - проблема в версии библиотеки.
Я понизил плейсхолдер Visu Utils до 4.1.0.0 и ошибка исчезла.
До этого пытался делать полную переустановку Codesys 3.5.17.30 (последнее что выложено на сайте OWEN для СПК210) а там по умолчанию устанавливается версия Visu Utils 4.2.0.0 и сразу же вылетает вышеописанная ошибка. Я даже папку полностью стирал при переустановке - не помогло, видимо она вшита в установщик, хотя может просто в другом месте лежит, я так глубоко не копал.
Теперь вот думаю как удалить версию Visu Utils до 4.2.0.0, чтоб в новых проектах была версия 4.1.0.0. по умолчанию.

P.S. Нашел, все библиотеки были в ProgramData, почистил, сделал чистую установку, встала библиотека 4.1.0.0. Видимо 4.2.0.0 хватанул с каким то примером, пока не понял с каким.

kondor3000
05.11.2024, 20:22
Теперь вот думаю как удалить версию Visu Utils до 4.2.0.0, чтоб в новых проектах была версия 4.1.0.0. по умолчанию.

Удалить, как и установить можно через Инсталер.
Только лучше не удалять, а в плейсхолдере менять версию, какая нужна.

Андрей Чернов
06.11.2024, 09:09
Доброго времени суток, коллеги! Создаю собственную библиотеку и хочу написать к ней документацию не отдельным файлом, а чтобы она хранилась внутри библиотеки. Не могу найти куда и как записывать, чтобы получалось как на скриншоте 79869

Евгений Кислов
06.11.2024, 09:24
Доброго времени суток, коллеги! Создаю собственную библиотеку и хочу написать к ней документацию не отдельным файлом, а чтобы она хранилась внутри библиотеки. Не могу найти куда и как записывать, чтобы получалось как на скриншоте 79869

Добрый день.
Такая документация автоматически формируется из комментариев к объектам библиотеки.
Больше тонкостей (например, поддержанные теги) описано здесь:
https://content.helpme-codesys.com/en/LibDevSummary/documentation.html

Андрей Чернов
06.11.2024, 11:15
Добрый день.
Такая документация автоматически формируется из комментариев к объектам библиотеки.
Больше тонкостей (например, поддержанные теги) описано здесь:
https://content.helpme-codesys.com/en/LibDevSummary/documentation.html

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

Andrunchic
07.11.2024, 18:25
Добрый день.
Подскажите как как сделать новое прaвило в firewall из текста программы ?
Само правило формируется при помощи библиотеки CmpSysExec , функцией SysExecute,
а команда 'service firewall restart' не проходит и соответственно правило не работает.

Если набрать данную команду через терминал то все начинает работать!
Также через SysExecute2 не проходит и много других линуксовых команд!
контроллер ПЛК200-1 Codesys 3.5 sp17

Евгений Кислов
07.11.2024, 18:32
Добрый день.
Подскажите как как сделать новое прaвило в firewall из текста программы ?
Само правило формируется при помощи библиотеки CmpSysExec , функцией SysExecute,
а команда 'service firewall restart' не проходит и соответственно правило не работает.

Если набрать данную команду через терминал то все начинает работать!
Также через SysExecute2 не проходит и много других линуксовых команд!
контроллер ПЛК200-1 Codesys 3.5 sp17

Добрый день.

Для предметного общения по вашему вопросу - напишите, пожалуйста, на support@owen.ru
Приложите ссылку на этот пост и ссылку на простейший проект с вызовами CmpSysExec, которые "не проходят".
Можете сразу перечислить те самые "много других линуксовых команд", если для них есть проекты, с которыми можно повторить проблемы.

Карбофос
09.11.2024, 10:11
Здравствуйте. Заметил такую особенность: в Кодесис 3.5.17.3 через Codesys Installer установлен Oscat Basic 3.3.3.0 с сайта Овен. Когда я пытаюсь добавить эту библиотеку в проект через менеджер библиотек, добавляется Oscat версии 3.31. Так и должно быть, или что-то идет не так?
7993879939

kondor3000
09.11.2024, 11:02
Здравствуйте. Заметил такую особенность: в Кодесис 3.5.17.3 через Codesys Installer установлен Oscat Basic 3.3.3.0 с сайта Овен. Когда я пытаюсь добавить эту библиотеку в проект через менеджер библиотек, добавляется Oscat версии 3.31. Так и должно быть, или что-то идет не так?
7993879939

У меня тоже самое, ставится 3.31, потом правой кнопкой через свойства биб-ки, можно поменять на другую версию 79941

Карбофос
09.11.2024, 11:08
У меня тоже самое, ставится 3.31, потом правой кнопкой через свойства биб-ки, можно поменять на другую версию 79941

Понял, спасибо!

Евгений Кислов
09.11.2024, 11:08
Здравствуйте. Заметил такую особенность: в Кодесис 3.5.17.3 через Codesys Installer установлен Oscat Basic 3.3.3.0 с сайта Овен. Когда я пытаюсь добавить эту библиотеку в проект через менеджер библиотек, добавляется Oscat версии 3.31. Так и должно быть, или что-то идет не так?
7993879939

https://owen.ru/forum/showthread.php?t=20069&p=434148&viewfull=1#post434148

Карбофос
10.11.2024, 11:32
Здравствуйте.
Какое-то время назад я просил помощи в добавлении функционала отправки SMS с текстом тревоги при при поступлении этой самой тревоги, решение подсказал Евгений:
https://owen.ru/forum/showthread.php?t=20069&p=408357&viewfull=1#post408357
Позже я просил помощи в ускорении формирования списка тревог через переменные, в этом мне так же помог Евгений:
https://owen.ru/forum/showthread.php?t=20069&p=437502&viewfull=1#post437502

И вот однажды мне понадобилось применить оба решения в одном проекте, но оказалось, что они не совместимы между собой (во всяком случае, не в лоб), текст СМС выглядит примерно так: "<LATCH1 %s> - максимальное аварийное".

Есть ли какое-то решение по извлечению строки из LATCH-переменной в коде программы?

Евгений Кислов
10.11.2024, 11:46
Здравствуйте.
Какое-то время назад я просил помощи в добавлении функционала отправки SMS с текстом тревоги при при поступлении этой самой тревоги, решение подсказал Евгений:
https://owen.ru/forum/showthread.php?t=20069&p=408357&viewfull=1#post408357
Позже я просил помощи в ускорении формирования списка тревог через переменные, в этом мне так же помог Евгений:
https://owen.ru/forum/showthread.php?t=20069&p=437502&viewfull=1#post437502

И вот однажды мне понадобилось применить оба решения в одном проекте, но оказалось, что они не совместимы между собой (во всяком случае, не в лоб), текст СМС выглядит примерно так: "<LATCH1 %s> - максимальное аварийное".

Есть ли какое-то решение по извлечению строки из LATCH-переменной в коде программы?

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

Карбофос
10.11.2024, 11:58
Добрый день.
Свяжитесь, пожалуйста, завтра утром со мной по telegram (см. в подписи) - посмотрим, как ваша ситуация выглядит сейчас и что с ней можно сделать.

Данный объект уже сдан, я там просто отказался от LATCH-переменных и переписал список тревог вручную, т.к. не было времени на более красивые решения, сейчас я просто хотел решение на будущее. Но на горизонте есть еще один объект с задачей отправки СМС, поэтому я обязательно воспользуюсь вашим предложением в рабочее время, спасибо!

Дмитрий1211
11.11.2024, 11:17
Добрый день! Помогите , кто знает.
Виртуальный контроллер в Control Vin V3 запускается из области уведомлений ( из системного трея).
Если от туда он был убран (удален значок), как его восстановить и где запустить?

Евгений Кислов
11.11.2024, 11:44
Добрый день! Помогите , кто знает.
Виртуальный контроллер в Control Vin V3 запускается из области уведомлений ( из системного трея).
Если от туда он был убран (удален значок), как его восстановить и где запустить?

Добрый день.
Можете попробовать запустить CODESYSControlSysTray.exe из директории установки CODESYS (путь в стиле C:\Program Files (x86)\CODESYS 3.5.17.30\GatewayPLC; у вас CODESYS может быть установлен по другому пути).

Если не поможет - то проще всего перезагрузить ПК.
Если это не помогает - то проще всего запускать виртуальный контроллер через меню Пуск (Все программы - CODESYS - CODESYS Control Win V3).

Дмитрий1211
11.11.2024, 12:38
Благодарю, но это уже все перепробовал. в области уведомлений виртуальный контроллер так и не появляется. только CODESYSControlSysTray появляется. К сожалению, в подобном случае гетэвей невозможно настроить. Остается только удалить и установить заново программу.Думал этого можно избежать

Дмитрий1211
11.11.2024, 15:38
значок есть, знаний не хватало, теперь заработало.
сначала gateway v3 запустил, после сontrol vin v3, только тогда соединились. спасибо за совет.
ЗЫ м.б. есть способ значок вернуть, где он при установке был в области уведомлений?

МихаилГл
11.11.2024, 15:44
значок есть, знаний не хватало, теперь заработало.
сначала gateway v3 запустил, после сontrol vin v3, только тогда соединились. спасибо за совет.
ЗЫ м.б. есть способ значок вернуть, где он при установке был в области уведомлений?

А он не к службам привязан?
Правая кнопка на "мой компьютер", управление, службы... Там чего-то такое есть...

Николай Суриков
11.11.2024, 16:05
ЗЫ м.б. есть способ значок вернуть, где он при установке был в области уведомлений?
Персонализация - Панель задач - Другие значки панели задач
Может это поможет?
79984

МихаилГл
11.11.2024, 16:08
Не, это только на скрытие значков должно влиять, они просто по стрелке разворачиваются, исчезать не должны...

Linker1989
12.11.2024, 01:48
79997
У кого то есть решение данной проблемы?

Евгений Кислов
12.11.2024, 06:11
79997
У кого то есть решение данной проблемы?

Убедитесь, что на диске С:\ не менее 20 Гб свободного места.
Переустановите в точности по видео:
https://youtu.be/3KcJWZEVXCg?si=1IsLM4b2qrCHN-X6

shvitaliy
13.11.2024, 09:38
Здравствуйте. Подскажите пожалуйста, как реализовать расчет суточного, месячного расхода (объема) от расходомера по входящему сигналу 4-20 мА?

kondor3000
13.11.2024, 09:46
Здравствуйте. Подскажите пожалуйста, как реализовать расчет суточного, месячного расхода (объема) от расходомера по входящему сигналу 4-20 мА?

Здесь делали подобное на ST, Общий расход, часовой, суточный, месячный и годовой.
https://owen.ru/forum/showthread.php?t=38925&page=5

МихаилГл
13.11.2024, 09:47
Здравствуйте. Подскажите пожалуйста, как реализовать расчет суточного, месячного расхода (объема) от расходомера по входящему сигналу 4-20 мА?

А в этом 4..20 что идёт? Накопленный расход за текущее время, мгновенный... Эти настройки от расходомера зависят и выставленных параметров. Может более точно сформулируете?

shvitaliy
13.11.2024, 10:04
Идет мгновенный расход

shvitaliy
13.11.2024, 10:08
Там пример для импульса, что мне не походит ((((

МихаилГл
13.11.2024, 10:13
Идет мгновенный расход

л/с...
Ставите pou на секунду...
Расход:= Расход + данные с входа

kondor3000
13.11.2024, 10:17
Там пример для импульса, что мне не походит ((((

Что значит не подходит, на цену импульса не умножайте, а плюсуйте расход каждую секунду. Остальное тоже самое.
Время UNIX конвертируется UDINT_TO_DT (время и дата) или обратно. Вы можете использовать время и дату стазу DT или DateAndTime.

МихаилГл
13.11.2024, 10:22
Что значит не подходит, на цену импульса не умножайте, а плюсуйте расход каждую секунду. Остальное тоже самое .
Время UNIX конвертируется UDINT_TO_DT (время и дата) или обратно.

Как там в анекдоте:
Ты не мудри, ты пальцем покажи)

shvitaliy
13.11.2024, 11:02
Как там в анекдоте:
Ты не мудри, ты пальцем покажи)

Совершенно верно ))

Солнечный заяц
13.11.2024, 14:16
Здравствуйте, создаю проект для ПЛК210-03 в CDS17.3. Выбираю соответствующий шаблон для ПЛК, но проект создается уже с ошибками. ПЛК добавляется со старой версией таргет-файла (см. скрин). Обновление устройства до 3.5.17.31 не дает результата. Не могу найти, где можно обновить шаблон для ПЛК210.

Евгений Кислов
13.11.2024, 14:21
Здравствуйте, создаю проект для ПЛК210-03 в CDS17.3. Выбираю соответствующий шаблон для ПЛК, но проект создается уже с ошибками. ПЛК добавляется со старой версией таргет-файла (см. скрин). Обновление устройства до 3.5.17.31 не дает результата. Не могу найти, где можно обновить шаблон для ПЛК210.

Добрый день.
Установите актуальный пакет таргет-файлов:
https://ftp.owen.ru/CoDeSys3/03_Targets/OwenTargets-3.5.17.34.package

Солнечный заяц
13.11.2024, 14:31
Спасибо! Почему-то на сайте в разделе среды разработки отображается неактуальная версия
80023

Евгений Кислов
13.11.2024, 14:34
Спасибо! Почему-то на сайте в разделе среды разработки отображается неактуальная версия
80023

Та, что на сайте - вам тоже бы подошла. И она действительно в свое время была выпущена одновременно с упомянутой прошивкой.
Я просто дал ссылку на самую свежую.

Солнечный заяц
13.11.2024, 15:31
Та, что на сайте - вам тоже бы подошла.
3.5.17.31 у меня уже был установлен в системе. Столкнувшись с проблемой я зашел на сайт что бы проверить актуальность, загрузил установщик таргет-файла заново, запустил, но в ней не было опции установить таргет для версии CDS3.5.17.3, только для sp16 и ниже. Вероятно, потому что данная версия уже была установлена в систему, но почему-то со старым шаблоном.

Екатерина777
14.11.2024, 11:17
Здравствуйте, проблема с подключением СП310 и СПК110 по Modbus TCP, панель - мастер, плк - slave. Не получается установить между ними связь, хотя делаю все по руководству. На СП310 через внутренние регистры PSB15 и PSB54 проверяю отсутствие связи с ПЛК. В чем может быть проблема ? Может необходимость каких то драйверов, если да, то где их можно взять?800408004180041

Евгений Кислов
14.11.2024, 11:26
Здравствуйте, проблема с подключением СП310 и СПК110 по Modbus TCP, панель - мастер, плк - slave. Не получается установить между ними связь, хотя делаю все по руководству. На СП310 через внутренние регистры PSB15 и PSB54 проверяю отсутствие связи с ПЛК. В чем может быть проблема ? Может необходимость каких то драйверов, если да, то где их можно взять?800408004180041

Добрый день.
Попробуйте для начала повторить учебное видео:
https://youtu.be/Zq1G_Njl5cw?si=cW16G_kH0r3sH2ZN

Если что-то не получится - можете написать в телеграм (ссылка в подписи).

mozgichok
15.11.2024, 09:18
Здравствуйте. Инструкция страница 188. Укажите имя порта NET_0

Валенок
15.11.2024, 14:40
... а плюсуйте расход каждую секунду. ...
Насчет секунды - так себе. Аналог и так не точный, так еще и добавляете.
По изменению, но не реже секунды (или чего-то) было б точнее

МихаилГл
15.11.2024, 16:30
Насчет секунды - так себе. Аналог и так не точный, так еще и добавляете.
По изменению, но не реже секунды (или чего-то) было б точнее

Ну не знаю, на прошлой работе на 2х фабриках у нас всё так было реализовано. И расход воды, и вес по конвейеру. Расход бог с ним, не важен был, а вот вес каждый месяц в конце сверяли по счётчику наработки прибора, всё отходило в 0 почти. В пределах погрешности весов +/- 0,5 %. Так что зависит от того, как написать программу...

PS Количество весов около 20 шт.

Teinrus
18.11.2024, 10:24
Добрый день, подскажите ПЛК стал выдавать ошибку 80159 не смог найти информацию подскажите куда капать?

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


не смог найти информацию подскажите куда капать?

В сторону связи с техподдержкой (support@owen.ru) или мной (см. телеграм в подписи).

sssssaaaaabbbbb
18.11.2024, 14:49
Здравствуйте коллеги, поджскажите пожалуйста как записать файлы на CD карту в плк 210 через сам ПЛК? Нужно для того, чтоб рецепты были на карте

Евгений Кислов
18.11.2024, 16:08
Здравствуйте коллеги, поджскажите пожалуйста как записать файлы на CD карту в плк 210 через сам ПЛК? Нужно для того, чтоб рецепты были на карте

Добрый день.
Если речь о стандартном механизме рецептов CODESYS - то в менеджере рецептов в параметре Путь к файлу пропишите соответствующий путь (см. п. 9.4 по ссылке).
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Faq_v.3.4.pdf

sssssaaaaabbbbb
19.11.2024, 08:16
Добрый день.
Если речь о стандартном механизме рецептов CODESYS - то в менеджере рецептов в параметре Путь к файлу пропишите соответствующий путь (см. п. 9.4 по ссылке).
https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Faq_v.3.4.pdf

мне надо закинуть по ftp файлы на SD карту, вставленную в ПЛК210 что тут писать 80183? и правильный ли логин для входа на ftp 80184 ? этот путь прописал 80185 , 80186 но по моему не то .

Евгений Кислов
19.11.2024, 08:46
мне надо закинуть по ftp файлы на SD карту, вставленную в ПЛК210 что тут писать 80183? и правильный ли логин для входа на ftp 80184 ? этот путь прописал 80185 , 80186 но по моему не то .

1. Путь вы написали правильный (если у вас ПЛК210-0x).
2. Логин и пароль для ftp см. в том же документе, п. 9.7.

sssssaaaaabbbbb
19.11.2024, 09:27
1. Путь вы написали правильный (если у вас ПЛК210-0x).
2. Логин и пароль для ftp см. в том же документе, п. 9.7.

СПАСИБО ЕВГЕНИЙ!!!

VladimirZHTEC
20.11.2024, 13:52
добрый день? все не могу разобраться с одной проблемой... не могу через CodeSys 3.5 Sp17 Patch3 поменять адрес устройства (Unit ID), пробовал как написано в документации к программе и где менять там данной строки нету... Modbus TCP Slave Device Конфигурация (Unit ID) имеет значение 0. как можно это исправить802098020980210

capzap
20.11.2024, 14:18
добрый день? все не могу разобраться с одной проблемой... не могу через CodeSys 3.5 Sp17 Patch3 поменять адрес устройства (Unit ID), пробовал как написано в документации к программе и где менять там данной строки нету... Modbus TCP Slave Device Конфигурация (Unit ID) имеет значение 0. как можно это исправить802098020980210

как насчет почитать документацию? 80213

VladimirZHTEC
21.11.2024, 11:15
как насчет почитать документацию? 80213

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

Евгений Кислов
21.11.2024, 11:29
благодарю Вас за подсказку предложение но я писал, что прочитал документацию.... и пробовал как там приведен пример и в конце... так не получилось так как в конфигурации отсутствует раздел (Unit ID) и не получается прописать нужный адрес.... что и становится проблемой..

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

80232

Может, воспользуемся тем же сценарием - telegram + AnyDesk?

capzap
21.11.2024, 11:34
прочитал документацию.... и пробовал как там приведен пример и в конце... так не получилось так как в конфигурации отсутствует раздел (Unit ID) и не получается прописать нужный адрес.... что и становится проблемой..

попытаюсь повторить что написано в выложенном мною скрине, компонент, то бишь слейв, отвечает на любой UnitID , следовательно проблема не в установлении его, а в чем то другом, поэтому перечитывайте документацию пока не придет осознание как это работает

vitalij
21.11.2024, 13:23
Здравствуйте. будет ли работать контроллер плк210 как slave устройство сразу по двум интерфейсам по ethernet и rs232 при этом панель сп310 мастер подключена так же и по ethernet и по rs232 к контроллеру?

Евгений Кислов
21.11.2024, 13:51
Здравствуйте. будет ли работать контроллер плк210 как slave устройство сразу по двум интерфейсам по ethernet и rs232 при этом панель сп310 мастер подключена так же и по ethernet и по rs232 к контроллеру?

Добрый день.
Да, будет.

vitalij
21.11.2024, 14:04
Добрый день.
Да, будет.

а адреса регистров по интерфейсу ethernet и rs232 оди и те же? имею ввиду панель оператора по двум интерфейсам будет считывать с одних и тех же адресов регистров или все таки есть смещение адресации?

Евгений Кислов
21.11.2024, 16:15
а адреса регистров по интерфейсу ethernet и rs232 оди и те же? имею ввиду панель оператора по двум интерфейсам будет считывать с одних и тех же адресов регистров или все таки есть смещение адресации?

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

Но можно использовать блоки из библиотеки OwenCommunication - тогда получится создать слэйвы, которые совместно используют общую область памяти, и использовать одни и те же адреса регистров:
https://rutube.ru/video/944c68dd482dcd9abceddc3b4ee0cb36/?r=wd

GoodLuck
22.11.2024, 10:03
Добрый день!

В CodeSys SP17 Patch3 создаю пустой проект (без кода) с одной визуализацией для СПК210 (таргет 3.5.17.32).

При компиляции куча ошибок.

https://disk.yandex.com.am/d/bRNRRhUCn73EsA

Евгений Кислов
22.11.2024, 10:12
Добрый день!

В CodeSys SP17 Patch3 создаю пустой проект (без кода) с одной визуализацией для СПК210 (таргет 3.5.17.32).

При компиляции куча ошибок.

https://disk.yandex.com.am/d/bRNRRhUCn73EsA

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

GoodLuck
22.11.2024, 10:17
Добрый день.
https://owen.ru/forum/showthread.php?t=28167&p=373718&viewfull=1#post373718

Благодарю.

korben_um
22.11.2024, 15:03
Помогите пожалуйста с файлом для установки codesys installer. Аккаунт с моей почтой codesys заблочил, больше ссылок нигде найти не могу

Евгений Кислов
22.11.2024, 15:59
Помогите пожалуйста с файлом для установки codesys installer. Аккаунт с моей почтой codesys заблочил, больше ссылок нигде найти не могу

https://ftp.owen.ru/CoDeSys3/01_CODESYS/CODESYS%20Installer%202.3.0.exe

Pavelka16
24.11.2024, 17:25
Здравствуйте. Возникла проблема при изменении переменной типа TIME через таблицу в визуализации. В структуре имеется переменная TIME, при попытке ее изменить - выставляется 18 дней с лишним. Если задать выходную переменную напрямую как TIME, то все хорошо, но в программе такой вариант не прокатывает. Если делать ссылку на структуру и на переменную типа TIME, то надо заполнять индекс структуры (т.к. массив). Можно ли как-то извлечь индекс строки из таблицы? Я новичок в этой сфере.

Евгений Кислов
24.11.2024, 17:49
Здравствуйте. Возникла проблема при изменении переменной типа TIME через таблицу в визуализации. В структуре имеется переменная TIME, при попытке ее изменить - выставляется 18 дней с лишним. Если задать выходную переменную напрямую как TIME, то все хорошо, но в программе такой вариант не прокатывает. Если делать ссылку на структуру и на переменную типа TIME, то надо заполнять индекс структуры (т.к. массив). Можно ли как-то извлечь индекс строки из таблицы? Я новичок в этой сфере.

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

ВладиславВладимирович
25.11.2024, 10:36
Добрый день!
В плк (СПК107) организована передача данных на Овен OPC сервер по протоколу Modbus через создание ModbusTCP_Server_Device.
При обрыве связи с OPC сервером, нет возможности изменять теги, которые "отправляются" на OPC.
Так например переменную "test" можно изменять через OPC и через ПЛК только если есть связь с OPC. Если связь с OPC оборвана, то нет возможности изменять "test" даже внутри плк.

Вопрос: как изменять переменную тест при оборванной связи с OPC?
Т.е. если я управляю каким либо тегом из встроенной панели и из opc сервера, то при отключении opc, нет возможности управления ни через opc, ни через панель
Иными словами, в случае отключения opc, переменные, которые передаются на сервер (например, "test"), постоянно затираются последним значением с сервера8028980290

Евгений Кислов
25.11.2024, 10:59
Добрый день!
В плк (СПК107) организована передача данных на Овен OPC сервер по протоколу Modbus через создание ModbusTCP_Server_Device.
При обрыве связи с OPC сервером, нет возможности изменять теги, которые "отправляются" на OPC.
Так например переменную "test" можно изменять через OPC и через ПЛК только если есть связь с OPC. Если связь с OPC оборвана, то нет возможности изменять "test" даже внутри плк.

Вопрос: как изменять переменную тест при оборванной связи с OPC?
Т.е. если я управляю каким либо тегом из встроенной панели и из opc сервера, то при отключении opc, нет возможности управления ни через opc, ни через панель
Иными словами, в случае отключения opc, переменные, которые передаются на сервер (например, "test"), постоянно затираются последним значением с сервера8028980290

Добрый день.
Не смог воспроизвести описанную вами ситуацию.

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

Если галочка не установлена - то, пожалуйста, свяжитесь со мной по телеграм (см. в подписи) и продемонстрируйте ситуацию по AnyDesk.

ВладиславВладимирович
25.11.2024, 11:32
Евгений, спасибо за оперативный ответ. Сейчас находимся на другом объекте, вечером протестируем идею с таймером.

Pavelka16
25.11.2024, 19:16
Спасибо. Извините за беспокойство - я криворукий. Я нажимал в конце ввода Enter и из-за этого происходила моя проблема. Теперь тружусь над тем, чтобы через таблицу можно было менять массив типа BOOL из структуры.

ВладиславВладимирович
25.11.2024, 20:45
Евгений, попробовали и с таймером и без него. К сожалению, результата нет. 803188031980320
Если Вы не против передам контакт коллеге чтобы он смог обговорить удобное время для связи.

Евгений Кислов
26.11.2024, 06:28
По скриншотам стало понятнее.
В вашем случае надо использовать команду Фиксировать значения, а не Записать значения (либо - использовать промежуточную переменную, значение которой будет записываться в переменную Test по нужному условию).



Если Вы не против передам контакт коллеге

Я не против.

НикНикМ
26.11.2024, 11:29
Здравствуйте. При очередной загрузке проекта в виртуальный контроллер (до этого все работало) появилось сообщение: Отсутствует информация загрузки для приложения 'Application' ; и информация ошибки- С0367: Внутренняя ошибка 3, исключающая онлайн-замену! Требуется очистка приложения и загрузка. Что можно сделать с этим?

Cs-Cs
26.11.2024, 11:31
НикНикМ Сделать полную загрузку приложения в ПЛК (со сбросом всего): память для онлайн-изменений кончилась.

ВладиславВладимирович
26.11.2024, 14:09
В условиях отладки про фиксировать значение - ясно, но что делать с переменными участвующими в коде? Разве можно принудительно заставить фиксировать значения в этом случае с панели оператора на СПК?

Евгений Кислов
26.11.2024, 15:47
но что делать с переменными участвующими в коде?

А какие у вас сейчас с ними проблемы?

МихаилГл
27.11.2024, 05:05
Постоянно начало происходить сиё действие (см. заголовок)...
80342
80343
80344
80346

Замечено год назад с веб-визуализацией, но тогда это был не основной элемент работы...

И что теперь? Переходить на скаду?

PS Перезапуск PLC только помогает...
PS2 Кодесис все таки подключился (через сканировать сеть), но это все равно не помогает с восстановлением визуализации без перезагрузки. В кодесисе она работает...
PS3 После перезагрузки стала доступна вкладка ПЛК/Файлы журналов... Прикладываю. До перезапуска там было пусто.

vitalij
27.11.2024, 07:17
Здравствуйте. плк210 по ethernet соединен с МВ210-204. в соdesys 3.5 когда принудительно форсирую входа МВ210-204 то вижу как идикаторы на панели модуля загорались. прихожу на следующий день делаю те же самые процедуры, но индикаторы перестали загоротаься. в чем причина?

Cs-Cs
27.11.2024, 09:27
МихаилГл Мои варианты (лог посмотрел, увидел что идут постоянные подключения к визуализации подряд):
1. Проверять программу на ошибки, про которые я писал у себя здесь: https://cs-cs.net/codesys-kultura-koda-peremenniye-granicy-massivov#9 (заголовок 9).
Вдруг где-то ты какие-то соединения или файлы не закрываешь, и оно накапливается.
2. Почему к визуализации так ЧАСТО подключаются новые клиенты? Вон у тебя в логе номер клиента растёт 52816, 52818, 52820. При этом клиент 52816 подключается, потом отключается и вместо него подключается новый клиент 52818. И так далее.
ПО ИДЕЕ, если в CodeSys ID клиента сделан в виде WORD, то он переполнится, и всё отвалится.
Мне интересно, с чем такое связано. В теории, если браузер постоянно обновляет вкладку, то да - каждый раз он будет переподключаться заново с новым номером клиента.
ОБЫЧНО (у меня доманий СПК с 2021 года постоянно работает с ОВЕН ВП-110, которая с него отображает визуализацию) клиент должен ОДИН раз подключаться и работать.
3. По идее, это не подойдёт, но. Как-то я выпустил свой ПЛК напрямую в инет WEB-визуализацией. Было много ботов, которые пытались к нему подключаться. Он от этого тоже зависал.

МихаилГл
27.11.2024, 09:37
Номер id подключения растет как раз изза включения/выключения браузера. Я уже проследил... При этом организованы пользователи, которых при выключении браузера кодесис сам отрубает. Да и бог с ним. А id при перезагрузке может начинаться с 54000 +- ... Просто объект серьезный, а персонал... Скорее всего бабушки. Вполне могут закрыть браузер, т.к. это будет ПК. Может это косяк моего плк. Но все равно не очень радует...

Cs-Cs
27.11.2024, 10:01
Блин. Ну что за путаный ответ в стиле "Ну и пусть так и работает".
Сколько раз ббраузер включается-выключается за день? Примерно?
В ПЛК не должно быть косяков. У меня мой С 2019 года пашет по полной.
Проверяй программу или браузер.

МихаилГл
27.11.2024, 10:08
Зуб даю... Что если сегодня перезапущу контроллер, запущу веб браузер, а завтра приду и перезапущу браузер с работающей визуализацией, то он выпадет вот в такое... Вчера как раз так и сделал, а сегодня утром поймал. И это на столе. Хотя может неподключенные модули ввода/вывода буфер переполняют в шаблонах, так как больше никакой активности ни по входам, ни по работе с визуализацией нет.

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

Евгений Кислов
27.11.2024, 10:33
Здравствуйте. плк210 по ethernet соединен с МВ210-204. в соdesys 3.5 когда принудительно форсирую входа МВ210-204 то вижу как идикаторы на панели модуля загорались. прихожу на следующий день делаю те же самые процедуры, но индикаторы перестали загоротаься. в чем причина?

Добрый день.
Индикаторы загораются только при физическом включении входов.
"Форсирование" из CODESYS не могло к этому привести.
Так что то, что они не загораются - это как раз нормально.
Что именно вы наблюдали в первый раз - сложно сказать.

Евгений Кислов
27.11.2024, 10:34
Постоянно начало происходить сиё действие (см. заголовок)...

Замечено год назад с веб-визуализацией, но тогда это был не основной элемент работы...

И что теперь? .

Добрый день.
Напишите, пожалуйста, об этом на support@owen.ru, чтобы мы смогли более предметно исследовать вашу ситуацию.

yaroslavcik
27.11.2024, 19:16
Здравствуйте,

Скорее ответ был уже на этот вопрос, но поиск по форуму не помог
При добавлении нового проекта, при компиляции отображаются следующие сообщения в режиме ЭМУЛЯЦИЯ, в обычном режиме проблем нет

80381

как их убрать, т.к проект не загружается

p.s.

80382

Спасибо.

Евгений Кислов
27.11.2024, 21:00
Добрый день.
Вероятно, у вас установлен 64-битный CODESYS.
Наши компоненты (в частности, шаблоны модулей) не имеют совместимости с ним.
Напишите мне завтра утром в телеграм (см. в подписи) - обсудим, что можно сделать.

МихаилГл
28.11.2024, 06:40
Блин. Ну что за путаный ответ в стиле "Ну и пусть так и работает".
Сколько раз ббраузер включается-выключается за день? Примерно?
В ПЛК не должно быть косяков. У меня мой С 2019 года пашет по полной.
Проверяй программу или браузер.


Зуб даю... Что если сегодня перезапущу контроллер, запущу веб браузер, а завтра приду и перезапущу браузер с работающей визуализацией, то он выпадет вот в такое... Вчера как раз так и сделал, а сегодня утром поймал. И это на столе. Хотя может неподключенные модули ввода/вывода буфер переполняют в шаблонах, так как больше никакой активности ни по входам, ни по работе с визуализацией нет.

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


Добрый день.
Напишите, пожалуйста, об этом на support@owen.ru, чтобы мы смогли более предметно исследовать вашу ситуацию.

В поддержку потом напишу, вот предварительные результаты эксперимента...
1. Скрин до выхода из веб-визуализации:
80386
Контроллер куда то ломится как сумашедший, при этом примерно через 3..4 часа после запуска PLC (залил проект, сделал загрузочное, перезагрузил, запустил вебку - это то, как я запустил первоначальный проект) я заходит, там было в конце 3 стандартных записи что залогинился веб-польбзователь (старые, со временем логина, а не новые)

2. Лог до выхода из веб-визуализации "PlcLog До закрытия веб визуализации.zip"

3. Видео последовательное подробное, старался как мог...

4. Лог после перезагрузки

Итог - после длительного простоя вебка после даже второго запуска упала, но из-за непонятной занятости самого PLC...

Евгений Кислов
28.11.2024, 06:49
По логу видно, что происходит утечка дескрипторов.
Одна из известных причин такого поведения описана здесь ("вопрос 2"):
https://owen.ru/forum/showthread.php?t=28167&page=16&p=435899&viewfull=1#post435899

Если приведенное там описание не подходит под ваш случай (например - в вашем проекте нет символьной конфигурации или исключены из компиляции компонент и задача OwenCloud) - то, вероятно, причина в самом проекте (например - при работе с файлами происходит их регулярное открытие, но закрытие не выполняется).
В этом случае отправьте в письме на support ссылку на архив проекта - чтобы можно было локализовать ошибку.

МихаилГл
28.11.2024, 06:58
Благодарю, это похоже правильное направление.
Завтра посмотрю проект... Если температура спадет...

yaroslavcik
29.11.2024, 13:58
Здравствуйте,
1. Есть такая задача: проинициализировать переменные при включении плк. Т.е определить самый первый скан программы и в этот момент загрузить перменные.
В кодесиси не нашел (или плохо искал) встроенного флага определения первого скана, но наверно можно как то "приколхохить" самому. Далее хотел выделить для этого отдельный таск, который по флагу первого скана будет работать. Но тут не совсем понятно, в какой последовательности выпняются эти таска. Как то можно решить эту задачу с минимальными решениями через POU?


2.
Как можно увидеть реальное заполнение памяти пользовательскими программами и занятого места пользовательскими тегами?

80451

есть такой график, но смущает, что под пользователя выделено 250мБ памяти (многовато). где можно глянуть реальную статистику. При компиляции проекта в кодесит не всегода эти данные отображаются и можно ли им верить?

Спасибо.

Евгений Кислов
29.11.2024, 14:07
Здравствуйте,
1. Есть такая задача: проинициализировать переменные при включении плк. Т.е определить самый первый скан программы и в этот момент загрузить перменные.
В кодесиси не нашел (или плохо искал) встроенного флага определения первого скана, но наверно можно как то "приколхохить" самому. Далее хотел выделить для этого отдельный таск, который по флагу первого скана будет работать. Но тут не совсем понятно, в какой последовательности выпняются эти таска. Как то можно решить эту задачу с минимальными решениями через POU?


2.
Как можно увидеть реальное заполнение памяти пользовательскими программами и занятого места пользовательскими тегами?

80451

есть такой график, но смущает, что под пользователя выделено 250мБ памяти (многовато). где можно глянуть реальную статистику. При компиляции проекта в кодесит не всегода эти данные отображаются и можно ли им верить?

Спасибо.

Добрый день.

1. https://www.owen.ru/forum/showthread.php?t=28167&p=304642&viewfull=1#post304642
2. Цифры на скриншоте совершенно реальны (free: 145.7 Мб). Им можно верить.

viktor1974
29.11.2024, 21:09
Добрый день! Подскажите, возникла проблема. Есть массив тип данных структура переменных, одна из них это ПЕРЕЧИСЛЕНИЕ с поддержкой списка текстов, значения выводся в таблице, при попытке открыть шаблон копмиляция выдает ошибку " C0072: Операция '__PropertyInfo' невозможна над типом 'STRING(INT#16)' ", но в другом аналогичном проекте, использется все тоже самое, но ошибки нет. Что не так?

Евгений Кислов
29.11.2024, 21:19
Добрый день! Подскажите, возникла проблема. Есть массив тип данных структура переменных, одна из них это ПЕРЕЧИСЛЕНИЕ с поддержкой списка текстов, значения выводся в таблице, при попытке открыть шаблон копмиляция выдает ошибку " C0072: Операция '__PropertyInfo' невозможна над типом 'STRING(INT#16)' ", но в другом аналогичном проекте, использется все тоже самое, но ошибки нет. Что не так?

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

viktor1974
29.11.2024, 21:41
сделал выдержку из проекта, отправил на почту, могу и весь проект отправить, могу и два, где есть ошибка и где нет

Евгений Кислов
29.11.2024, 22:30
сделал выдержку из проекта, отправил на почту, могу и весь проект отправить, могу и два, где есть ошибка и где нет

Письмо получил. Отвечу в понедельник.

ВладОвен
30.11.2024, 11:46
Здравствуйте.
Подскажите, а библиотека CmpSysExec запускается только на устройствах Овен?
Я получаю ошибку, когда добавляю эту библиотеку в проект не на контроллере Овен.


80460

kondor3000
30.11.2024, 11:51
Здравствуйте.
Подскажите, а библиотека CmpSysExec запускается только на устройствах Овен?
Я получаю ошибку, когда добавляю эту библиотеку в проект не на контроллере Овен.


Биб-ки для ПЛК Овен не тестируются на других контроллерах и скорее всего работать не будут.

Николай Суриков
30.11.2024, 11:59
Биб-ки для ПЛК Овен не тестируются на других контроллерах и скорее всего работать не будут.

Где-то читал, что библиотеки, имя которых начинается на Cmp, работают только на ПЛК Овен и не поддерживают режим симуляции.

meta11ist87
30.11.2024, 17:46
Нужно считать архив суточный или месячный с Взлёт ТРСВ-043.
Исходя из документации на прибор, надо городить что-то своё через нестандартный протокол и библиотеку OwenCommunication.
Почитал описание библиотеки, стало грустно.
Дайте списать, я такое не осилю(
Может кто-то уже решал такую задачу.
80469
80470

Евгений Кислов
30.11.2024, 18:02
Нужно считать архив суточный или месячный с Взлёт ТРСВ-043.
Исходя из документации на прибор, надо городить что-то своё через нестандартный протокол и библиотеку OwenCommunication.
Почитал описание библиотеки, стало грустно.
Дайте списать, я такое не осилю(
Может кто-то уже решал такую задачу.
80469
80470

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

replayka
30.11.2024, 23:30
Добрый день!
Такая проблема при попытке соединиться с виртуальным контроллером
Пишет: В данный момент вы не обладаете достаточными правами для выполнения задачи.Введите имя и пароль пользователя обладающими данными правами пробовал admin Administrator80484

Евгений Кислов
30.11.2024, 23:47
Добрый день!
Такая проблема при попытке соединиться с виртуальным контроллером
Пишет: В данный момент вы не обладаете достаточными правами для выполнения задачи.Введите имя и пароль пользователя обладающими данными правами пробовал admin Administrator80484

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

replayka
01.12.2024, 07:49
Добрый день!
Не помогло
Что может быть?
Может с codemeter что то?

replayka
01.12.2024, 08:06
У меня в codemeter такая ситуация 80485

Антон_Б
01.12.2024, 08:49
Здравствуйте, помогите, пожалуйста, решить, на первый взгляд, простую задачку: от датчика продукции сигнал поступает на вход ПЛК, выдерживается заданная задержка, и на выход ПЛК формируется импульс 20 мс. Проблема в том, что входные импульсы поступають очень быстро, быстрее чем задержка на выход.

capzap
01.12.2024, 09:50
Здравствуйте, помогите, пожалуйста, решить, на первый взгляд, простую задачку: от датчика продукции сигнал поступает на вход ПЛК, выдерживается заданная задержка, и на выход ПЛК формируется импульс 20 мс. Проблема в том, что входные импульсы поступають очень быстро, быстрее чем задержка на выход.

Вы сами то ответ дадите на такой вопрос, не слишком ли мало исходных данных
https://owen.ru/forum/showthread.php?t=25216&p=221238&viewfull=1#post221238

Антон_Б
01.12.2024, 09:56
Я сделал так: читаю метку времени из ПЛК, кладу в буфер ФИФО из библиотеки oscat. Затем прибавляю заданную задержку, и проверяю превысило ли текущее время расчётное значение.
Как-то очень сложно. Вот и думаю, можно ли это сделать на таймерах из codesys.

Евгений Кислов
01.12.2024, 10:19
Добрый день!
Не помогло
Что может быть?
Может с codemeter что то?

Тогда напишите на support@owen.ru - вам помогут.

viktor1974
01.12.2024, 15:39
Нужно считать архив суточный или месячный с Взлёт ТРСВ-043.
Исходя из документации на прибор, надо городить что-то своё через нестандартный протокол и библиотеку OwenCommunication.
Почитал описание библиотеки, стало грустно.
Дайте списать, я такое не осилю(
Может кто-то уже решал такую задачу.
80469
80470

а там точно нестандартный протокол, у них точно поддержка MODBUS RTU, уже несколько лет опрашиваю аналогичный прибор, правда текущие параметры, не архив
"
6.3.2. Интерфейсы RS-232 и RS-485 6.3.2.1. Последовательные интерфейсы RS-232 и RS-485 обеспечивают возможность доступа к измерительным, расчетным и установочным параметрам ТВ, включая архивы. При этом возможна модификация установочных параметров. Интерфейсы поддерживают протокол ModBus RTU, принятый в качестве стандартного в приборах фирмы «ВЗЛЕТ». ТВ поддерживает обмен одновременно по обоим интерфейсам.
"

Vlaer13
01.12.2024, 15:50
Здравствуйте.
Передо мной задача создать весовой дозатор на базе ПЛК210-01 и весов ТВИ-25БПА от компании Тензо-М. Может ли ПЛК210-01 читать данные из ТВИ-25БПА по заявленному протоколу Modbus RTU, если:
"- тип протокола обмена информацией с внешними устройствами — «Вер 6.43», «Тензо-М» или Modbus RTU;
...Для связи Преобразователя с внешними устройствами ТВИ-025БПА оборудован интерфейсом «ETHERNET» на основе адаптера
«MiiNePort E1» производства компании «MOXA»"?
Предлагается с помощью утилиты «NPort Windows Driver Manager» установить на компьютере COM порт для связи с ТВИ-025БПА. Но мне-то надо читать в контроллер, а не в компьютер.

viktor1974
01.12.2024, 15:58
Добрый день! Подскажите, возникла проблема. Есть массив тип данных структура переменных, одна из них это ПЕРЕЧИСЛЕНИЕ с поддержкой списка текстов, значения выводся в таблице, при попытке открыть шаблон копмиляция выдает ошибку " C0072: Операция '__PropertyInfo' невозможна над типом 'STRING(INT#16)' ", но в другом аналогичном проекте, использется все тоже самое, но ошибки нет. Что не так?

Опишу ситуацию чуть подробней
я хочу вывести значение переменной ENUM(с поддержкой списка текстов) в текстовом виде в одном из столбцов таблицы.
в результате выводится численное значение переменной, в другом проекте помогло включение шаблона, но здесь появляется ошибка
сейчас пока пришлось продублировать список текстов, а в шаблоне убрать текстовую переменную и воспользоваться свойсвом динамические тексты, работает, но мне такой способ не нравится

Евгений Кислов
01.12.2024, 16:16
Здравствуйте.
Передо мной задача создать весовой дозатор на базе ПЛК210-01 и весов ТВИ-25БПА от компании Тензо-М. Может ли ПЛК210-01 читать данные из ТВИ-25БПА по заявленному протоколу Modbus RTU, если:
"- тип протокола обмена информацией с внешними устройствами — «Вер 6.43», «Тензо-М» или Modbus RTU;
...Для связи Преобразователя с внешними устройствами ТВИ-025БПА оборудован интерфейсом «ETHERNET» на основе адаптера
«MiiNePort E1» производства компании «MOXA»"?
Предлагается с помощью утилиты «NPort Windows Driver Manager» установить на компьютере COM порт для связи с ТВИ-025БПА. Но мне-то надо читать в контроллер, а не в компьютер.

Добрый день.
Может.

Карбофос
01.12.2024, 17:49
Здравствуйте.
Такая проблема: СПК210, когда я пытаюсь добавить ModbusTCP Slave в проект и записать туда данные Float (через объединение), при перезагрузке контроллера, примерно 2 из 3 раз, данные из Retain либо сбрасываются на дефолтные значения, либо на значения, которые были до предыдущей перезагрузки. Если компонент ModbusTCP Slave удалить, то такое поведение не наблюдается. В журнале web-конфигуратора есть сообщения:

!!!! Warning: Retain data are initialized now of [Application]
!!!! Warning: Retain size in config changed, or retain area got corrupted. Config=0xfe00, Physical=0x0

Скриншот и простейший проект с повторяющимся поведением, а так же файл журнала прилагаю (яндекс-диск)
https://disk.yandex.ru/d/YnsrXfKWqJzA0w

Евгений Кислов
01.12.2024, 17:55
Здравствуйте.
Такая проблема: СПК210, когда я пытаюсь добавить ModbusTCP Slave в проект и записать туда данные Float (через объединение), при перезагрузке контроллера, примерно 2 из 3 раз, данные из Retain либо сбрасываются на дефолтные значения, либо на значения, которые были до предыдущей перезагрузки. Если компонент ModbusTCP Slave удалить, то такое поведение не наблюдается. В журнале web-конфигуратора есть сообщения:

!!!! Warning: Retain data are initialized now of [Application]
!!!! Warning: Retain size in config changed, or retain area got corrupted. Config=0xfe00, Physical=0x0

Скриншот и простейший проект с повторяющимся поведением, а так же файл журнала прилагаю (яндекс-диск)
https://disk.yandex.ru/d/YnsrXfKWqJzA0w

Добрый день.
Отправьте, пожалуйста, эту информацию на support@owen.ru

Карбофос
01.12.2024, 18:06
Отправил..

Евгений Кислов
02.12.2024, 06:37
Опишу ситуацию чуть подробней
я хочу вывести значение переменной ENUM(с поддержкой списка текстов) в текстовом виде в одном из столбцов таблицы.
в результате выводится численное значение переменной, в другом проекте помогло включение шаблона, но здесь появляется ошибка
сейчас пока пришлось продублировать список текстов, а в шаблоне убрать текстовую переменную и воспользоваться свойсвом динамические тексты, работает, но мне такой способ не нравится

У меня в выложенном вами проекте проблема не повторяется:

80491

Но я запускал его в своем окружении (V3.5 SP20, Visu 4.7.0.0), подходящем для вашего проекта (так как вы обновляли у себя плагин визуализации).
Напишите мне в телеграм (см. в подписи) - попробуем решить проблему в вашем окружении.

Карбофос
02.12.2024, 10:49
Здравствуйте.
Такая проблема: СПК210, когда я пытаюсь добавить ModbusTCP Slave в проект и записать туда данные Float (через объединение), при перезагрузке контроллера, примерно 2 из 3 раз, данные из Retain либо сбрасываются на дефолтные значения, либо на значения, которые были до предыдущей перезагрузки. Если компонент ModbusTCP Slave удалить, то такое поведение не наблюдается. В журнале web-конфигуратора есть сообщения:

!!!! Warning: Retain data are initialized now of [Application]
!!!! Warning: Retain size in config changed, or retain area got corrupted. Config=0xfe00, Physical=0x0

Скриншот и простейший проект с повторяющимся поведением, а так же файл журнала прилагаю (яндекс-диск)
https://disk.yandex.ru/d/YnsrXfKWqJzA0w

Проблема решилась обновлением плагина Модбас до версии 4.4.0.0, спасибо ТП и инженеру Феклушкину К.И.

Валерий_Н
02.12.2024, 11:08
Добрый день. Пробую считывать IP-адрес web-клиента по руководству "Работа с визуализацией из кода программы в CODESYS V3". При декларировании переменной "fbGetVisuClientsInfo: VU.FbIterateClients;" сразу выдает ошибку "C0046: Идентификатор 'VU.FbIterateClients' не задан". Как подключить или установить библиотеку "Visu Utils". CodeSys v.3.5 SP17 Patch 3, Visualization 4.1.1.0.

Евгений Кислов
02.12.2024, 11:10
Добрый день. Пробую считывать IP-адрес web-клиента по руководству "Работа с визуализацией из кода программы в CODESYS V3". При декларировании переменной "fbGetVisuClientsInfo: VU.FbIterateClients;" сразу выдает ошибку "C0046: Идентификатор 'VU.FbIterateClients' не задан". Как подключить или установить библиотеку "Visu Utils". CodeSys v.3.5 SP17 Patch 3, Visualization 4.1.1.0.

Добрый день.
Нужно добавить библиотеку Visu Utils через менеджер библиотек.

GoodLuck
02.12.2024, 13:54
Добрый день!

В проекте организован парольный доступ.

Подскажите, возможно ли, написать ST-код для onMouseDown:
если переменная х = TRUE, то разлогиниться, иначе залогинится.

Как это сделать с помощью 2-х элементов (кнопок), понятно, а вот используя только одну кнопку...

Евгений Кислов
02.12.2024, 14:00
Добрый день!

В проекте организован парольный доступ.

Подскажите, возможно ли, написать ST-код для onMouseDown:
если переменная х = TRUE, то разлогиниться, иначе залогинится.

Как это сделать с помощью 2-х элементов (кнопок), понятно, а вот используя только одну кнопку...

Добрый день.
Если под "залогинится" подразумевается "открыть диалог авторизации пользователя" - то так не получится.
Если подразумевается "авторизовать пользователя под именем и группой, которые заранее заданы через переменные" - то можно.
См. примеры кода:
https://owen.ru/forum/showthread.php?t=28167&page=5&p=295107&viewfull=1#post295107

В этом случае pstClientData будет переменной типа VisuElems.VisuStructClientData, которую нужно объявить в интерфейсе экрана визуализации.

80499

GoodLuck
03.12.2024, 11:21
Добрый день.
Если под "залогинится" подразумевается "открыть диалог авторизации пользователя" - то так не получится.
Если подразумевается "авторизовать пользователя под именем и группой, которые заранее заданы через переменные" - то можно.
См. примеры кода:
https://owen.ru/forum/showthread.php?t=28167&page=5&p=295107&viewfull=1#post295107

В этом случае pstClientData будет переменной типа VisuElems.VisuStructClientData, которую нужно объявить в интерфейсе экрана визуализации.

80499

Добрый день!

Спасибо, за помощь, все получилось.

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

Евгений Кислов
03.12.2024, 11:25
Добрый день!

Спасибо, за помощь, все получилось.

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

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

Я рекомендую вам решить вашу задачу другими средствами.

Вероятно, сработает имитация клика на элемент (с настроенным открытием Numpad) из кода программы с помощью SelectionManager.
https://ftp.owen.ru/CoDeSys3/98_Books/CodesysVisuIecCode.pdf (п. 6)

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

yaroslavcik
04.12.2024, 15:56
Здравствуйте,
CodeSys 3/5/sp17/ 64bit


В проекте несколько раз нужно было сменить платформу с плк200 на плк210 разных модификаци, в итоге заметил, что при последней замене почему то не совпадают LeftSide и PightSide

В чем может быть причина?

80557

80558

80559

по факту платформа плк210 - 03, а левой панели присвоено 02 версия

Евгений Кислов
04.12.2024, 16:28
Здравствуйте,
CodeSys 3/5/sp17/ 64bit


В проекте несколько раз нужно было сменить платформу с плк200 на плк210 разных модификаци, в итоге заметил, что при последней замене почему то не совпадают LeftSide и PightSide

В чем может быть причина?

80557

80558

80559

по факту платформа плк210 - 03, а левой панели присвоено 02 версия

Добрый день.
Это нормально.
У ПЛК210-0x всего 2 версии левой платы: LeftSide-01 (ПЛК210-01, -02, -04) и LeftSide-02 (ПЛК210-03).

yaroslavcik
05.12.2024, 08:37
Здравствуйте,
Где можно взять библиотеку IoDrvMx210 3.5.11.10

Евгений Кислов
05.12.2024, 09:06
Здравствуйте,
Где можно взять библиотеку IoDrvMx210 3.5.11.10

Добрый день.
Она входит в состав этого пакета:
https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/01_Components/Mx210Templates_v3.5.11.10.package

yaroslavcik
05.12.2024, 09:52
еще не хватает Modbus tcp maste версии 4.2.0.0 , но ее по поиску тоже не могу найти

80575

Евгений Кислов
05.12.2024, 09:52
еще не хватает Modbus tcp maste версии 4.2.0.0 , но ее по поиску тоже не могу найти

80575

https://ftp.owen.ru/CoDeSys3/01_CODESYS/plugins/CODESYS%20Modbus%204.2.0.0.package

yaroslavcik
05.12.2024, 10:51
еще вопрос: почему то очень медленное подключение к веб интрефейсу плк

Евгений Кислов
05.12.2024, 11:06
еще вопрос: почему то очень медленное подключение к веб интрефейсу плк

Ошибки на скриншоте уйдут после компиляции проекта.
Что касается веб-интерфейса - если у вас прошивка 2.4.xxxx.xxxx, то попробуйте установить хотфикс:
https://ftp.owen.ru/CoDeSys3/10_Firmware/_hotfix/2.4.hotfix.zip

yaroslavcik
05.12.2024, 12:40
обновил, но что то пошло не так
80577

Евгений Кислов
05.12.2024, 12:42
обновил, но что то пошло не так
80577

Уточните название файла, который вы установили в контроллер.

yaroslavcik
05.12.2024, 12:47
swu-www-patch-plc210.hotfix

Евгений Кислов
05.12.2024, 12:57
swu-www-patch-plc210.hotfix

Пинг до ПЛК есть в данный момент?

yaroslavcik
05.12.2024, 12:58
да, и на веб интерфейс заходит очень долго

Евгений Кислов
05.12.2024, 13:01
да, и на веб интерфейс заходит очень долго

Но в итоге всё-таки удается зайти на веб-интерфейс?
Возможно, у вас проект CODESYS грузит CPU на 100% - тогда будет такое же поведение.

yaroslavcik
05.12.2024, 13:03
да, заходит
Про загрузку понял, учту

trejer
10.12.2024, 11:58
Установил CODESYS V3.5 SP17 Patch 3.
В CFC нет свойств связе между блоками ("Метка соединения", "Выделить подключенные контакты", "Инверсия", "S(Set)", "R(Сброс)", "REF") в верхней панели. В "Контекстном меню", по клику правой кнопки мышки, этих свойств то же нет.
Невозможно работать! Где всё это найти? В CODESYS V3.5 SP16 Patch 3 всё это есть!

Евгений Кислов
10.12.2024, 12:05
Установил CODESYS V3.5 SP17 Patch 3.
В CFC нет свойств связе между блоками ("Метка соединения", "Выделить подключенные контакты", "Инверсия", "S(Set)", "R(Сброс)", "REF") в верхней панели. В "Контекстном меню", по клику правой кнопки мышки, этих свойств то же нет.
Невозможно работать! Где всё это найти? В CODESYS V3.5 SP16 Patch 3 всё это есть!

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

sssssaaaaabbbbb
10.12.2024, 13:52
Здравствуйте коллеги!!! Подскажите пожалуйста, как так может быть? два контроллера ПЛК210 , на обоих одна и таже программа залита, но один показывает тренд, а второй пишет ошибку! 80690

Евгений Кислов
10.12.2024, 13:55
Здравствуйте коллеги!!! Подскажите пожалуйста, как так может быть? два контроллера ПЛК210 , на обоих одна и таже программа залита, но один показывает тренд, а второй пишет ошибку! 80690

Добрый день.
На том ПЛК, который не пишет тренд - выполнить в CODESYS команду Онлайн - Сброс заводской и залить проект заново.

trejer
10.12.2024, 15:56
Добрый день.
Напишите, пожалуйста, мне в телеграм (в подписи) и покажите вашу ситуацию по AnyDesk - найдем всё нужное вместе.

Под адрином всё заработало.

Евгений Кислов
10.12.2024, 16:07
Под адрином всё заработало.

Здорово, что всё получилось.
Надеюсь, ваш системный администратор не расстроился. =)

trejer
10.12.2024, 16:45
Здорово, что всё получилось.
Надеюсь, ваш системный администратор не расстроился. =)

У меня смешанные чувства...
Руль "Администратора" я конечно получил, хоть и на локальной машине.
Всё это означает, что CODESYS V3.5 SP17 под "пользователем" не работает...
В любом случае, спасибо за помощь.

Zerling
12.12.2024, 13:40
Здравствуйте. Думал заказать плк-210(03 или 13, транзисторные выходы), но сначала в кдс заглянул - не нашел где меняется частота шим. Частотой задаю уставку пчв.

shvitaliy
12.12.2024, 14:01
Добрый день. Подскажите пожалуйста. Загрузил проект в контроллер. Подключился онлайн, все ок. Этот же проект открываю на другом компьютере, пробую подключиться онлайн, просить внести изменения.
В проекте ни чего не менял. Где то читал, что за это отвечает какой-то файл, его нужно удалить. Не могу найти эту статью

Zerling
12.12.2024, 14:18
Добрый день. Подскажите пожалуйста. Загрузил проект в контроллер. Подключился онлайн, все ок. Этот же проект открываю на другом компьютере, пробую подключиться онлайн, просить внести изменения.
В проекте ни чего не менял. Где то читал, что за это отвечает какой-то файл, его нужно удалить. Не могу найти эту статью

Этот проект - только сам файл .PROJECT, без вспомогательных файлов?..

RV9WFJ
12.12.2024, 14:28
Здравствуйте. Думал заказать плк-210(03 или 13, транзисторные выходы), но сначала в кдс заглянул - не нашел где меняется частота шим. Частотой задаю уставку пчв.

Через ModBus не проще?

Zerling
12.12.2024, 14:39
Через ModBus не проще?

отклик медленный. Да и свежо воспоминание, как в связке с Мв110 температура обновлялась раз в 15 сек

shvitaliy
12.12.2024, 15:12
Этот проект - только сам файл .PROJECT, без вспомогательных файлов?..

Папку целиком скопировал и открыл проект, подключаюсь, пишет что изменились данные нужно заменить

kondor3000
12.12.2024, 15:15
отклик медленный. Да и свежо воспоминание, как в связке с Мв110 температура обновлялась раз в 15 сек

А вы не думали, что у вас явно в проекте проблемы? 20 модулей МВ110-8А за 1-2 секунды опрашиваются.

Zerling
12.12.2024, 15:26
А вы не думали, что у вас явно в проекте проблемы? 20 модулей МВ110-8А за 1-2 секунды опрашиваются.

это было давненько, еще на старой модификации спк, прога была простая. проблема с модбасом возникала только при подключении данфоса.

Евгений Кислов
12.12.2024, 15:52
Здравствуйте. Думал заказать плк-210(03 или 13, транзисторные выходы), но сначала в кдс заглянул - не нашел где меняется частота шим. Частотой задаю уставку пчв.

Добрый день.
Для ПЛК210-13 можно менять период и коэффициент заполнения ШИМ, что влияет на частоту.
В данный момент в прошивке есть нюансы, связанные с ШИМ - они описаны в самом-самом низу здесь:
https://owen.ru/forum/showthread.php?t=33976

Лучше предварительно связаться с техподдержкой (support@owen.ru), чтобы убедиться, что функционал ПЛК подойдет для вашей конкретной задачи.

Карбофос
12.12.2024, 21:02
Здравствуйте.
Есть задача, к которой я не очень понимаю с какой стороны подойти: заказчик хочет, чтобы отопление работало в рабочие и нерабочие (выходные и праздничные) дни в разных режимах, причем список праздничных дней можно было редактировать. Т.е. мне нужна функция, которая возвращает true, когда сегодня праздник или выходной, и false в другие дни.
Если с субботами-воскресеньями все понятно, то как подготовить список праздничных дней я пока не знаю. Пока склоняюсь к созданию массива дат, но не знаю, через какой элемент на экране СПК его можно вводить и редактировать. Или можно сделать как-то проще?

Николай Суриков
12.12.2024, 21:23
Здравствуйте.
Есть задача, к которой я не очень понимаю с какой стороны подойти: заказчик хочет, чтобы отопление работало в рабочие и нерабочие (выходные и праздничные) дни в разных режимах, причем список праздничных дней можно было редактировать. Т.е. мне нужна функция, которая возвращает true, когда сегодня праздник или выходной, и false в другие дни.
Если с субботами-воскресеньями все понятно, то как подготовить список праздничных дней я пока не знаю. Пока склоняюсь к созданию массива дат, но не знаю, через какой элемент на экране СПК его можно вводить и редактировать. Или можно сделать как-то проще?

OSCAT BASIC FB HOLIDAY

Карбофос
13.12.2024, 07:12
OSCAT BASIC FB HOLIDAY

Выглядит неплохо, посмотрю, спасибо!

replayka
14.12.2024, 11:01
Добрый день!
Не могу pid регулятор добавить 80784
help pls

Евгений Кислов
14.12.2024, 11:10
Добрый день!
Не могу pid регулятор добавить 80784
help pls

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

replayka
14.12.2024, 11:19
А с библиотекой util будет в эмуляции работать?

Евгений Кислов
14.12.2024, 11:20
А с библиотекой util будет в эмуляции работать?

С библиотекой Util - будет.

sssssaaaaabbbbb
16.12.2024, 08:16
Добрый день.
На том ПЛК, который не пишет тренд - выполнить в CODESYS команду Онлайн - Сброс заводской и залить проект заново.

Спасибо ЗАРАБОТАЛО!!!

Pavelka16
22.12.2024, 14:29
Добрый день. Кто-нибудь знает как сделать высоту/длину прямоугольника в визуализации зависимой от переменной? Или степень заливки менять в соответствии со значением переменной? Сейчас только имею на руках масштабирование, но это не совсем мне подходит.

Евгений Кислов
22.12.2024, 14:42
Добрый день. Кто-нибудь знает как сделать высоту/длину прямоугольника в визуализации зависимой от переменной? Или степень заливки менять в соответствии со значением переменной? Сейчас только имею на руках масштабирование, но это не совсем мне подходит.

Добрый день.
За это отвечают параметры вкладки Относительное перемещение в настройках прямоугольника.

Pavelka16
22.12.2024, 15:09
Большое спасибо. Получил как раз то, что хотел.

sssssaaaaabbbbb
23.12.2024, 12:04
Здравствуйте коллеги! Скажите пожалуйста, как можно сравнить два проекта в кодесис 35?

Евгений Кислов
23.12.2024, 12:24
Здравствуйте коллеги! Скажите пожалуйста, как можно сравнить два проекта в кодесис 35?

Добрый день.
Проект - Сравнить

80972

sssssaaaaabbbbb
23.12.2024, 12:33
Добрый день.
Проект - Сравнить

80972

Спасибо, не заметил

ВладОвен
23.12.2024, 17:56
Привет.
Подскажите, зачем нужна библиотека 3sLicense ?

Я так понял, что она вставляется в другие библиотеки, которые будут платными?
Ну т.е она отвечает за лицензирование?

Евгений Кислов
23.12.2024, 18:50
Добрый день.



Ну т.е она отвечает за лицензирование?

За получение информации о лицензировании компонента.

Задумкин Сергей
27.12.2024, 15:29
Добрый день.
Пытаюсь из кода программы поменять настройки СОМ-порта, который находится в режиме RTU Slave.
Делаю как здесь: https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Modbus_v3.1.pdf (стр. 63)
Останавливаю компонент через Modbus_Serial_Device.xEnable, меняю настройки, запускаю.
После запуска появляется xInternalError и ErrorCode = 2.
Нигде не нашел расшифровку для Modbus_Serial_Device.ErrorCode.

При этом адрес (Slave ID) меняется на ура. Проблема возникает с изменением скорости/четности.
Есть идеи из-за чего так происходит?

Евгений Кислов
27.12.2024, 16:17
Добрый день.
Пытаюсь из кода программы поменять настройки СОМ-порта, который находится в режиме RTU Slave.
Делаю как здесь: https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Modbus_v3.1.pdf (стр. 63)
Останавливаю компонент через Modbus_Serial_Device.xEnable, меняю настройки, запускаю.
После запуска появляется xInternalError и ErrorCode = 2.
Нигде не нашел расшифровку для Modbus_Serial_Device.ErrorCode.

При этом адрес (Slave ID) меняется на ура. Проблема возникает с изменением скорости/четности.
Есть идеи из-за чего так происходит?

Добрый день.
Из-за бага CODESYS - нельзя из кода поменять контроль четности на NONE.
Вчера как раз рассказывал об этом в видео:
https://www.youtube.com/watch?v=NZ7DJidW_EI

kondor3000
27.12.2024, 17:26
Добрый день.
Из-за бага CODESYS - нельзя из кода поменять контроль четности на NONE.
Вчера как раз рассказывал об этом в видео:
https://www.youtube.com/watch?v=NZ7DJidW_EI

Евгений, нельзя ли перезалить все видео на Ру-туб, на ю-туб стало невозможно ничего смотреть.
Это касается всех видео, а не только этого. По факту на Ру-туб, залито очень мало, десятая часть всех видео только.

Евгений Кислов
27.12.2024, 18:14
Евгений, нельзя ли перезалить все видео на Ру-туб, на ю-туб стало невозможно ничего смотреть.
Это касается всех видео, а не только этого. По факту на Ру-туб, залито очень мало, десятая часть всех видео только.

У меня нет таких планов.
Youtube сейчас вполне можно пользоваться, если приложить не особо значительные усилия на поиск информации о том, как это делать.
Если ситуация существенно ухудшится - я найду альтернативный вариант, но это определенно будет не rutube.

shvitaliy
29.12.2024, 22:55
Добрый день. Подскажите как сделать, ни как не получается. Есть блок на СТ, переключатель выходов при каждом импульсе на вход. Хочу добавить блокировки.
Допустим первый выход заблокирован, значит нужно переключать только второй и третий выходы.
Соответственно, если в блокировке второй, то переключать только первый и третий. Если в блокировке третий, то переключать только первый и второй.

FUNCTION_BLOCK Circle
VAR_INPUT
IN: BOOL;
END_VAR
VAR_OUTPUT
OUT1, OUT2, OUT3, OUT4: BOOL; //выходы
END_VAR
VAR
axOut: ARRAY[0..3] OF BOOL;
RTrig: R_TRIG;
x, i: INT;
END_VAR

RTrig(CLK:=IN);

IF RTrig.Q THEN

x:=x+1;
IF x>=3 THEN x:=0; END_IF

FOR i:=0 TO 3 DO
axOut[i]:= FALSE;
END_FOR

axOut[x] := TRUE;

END_IF

OUT1:= axOut[1];
OUT2:= axOut[2];
OUT3:= axOut[0];
OUT4:= axOut[3];

МихаилГл
30.12.2024, 07:34
В обработку триггера между иф и ендиф после х:=х+1 ставьте условие, например, исключаем номер 2:
Искл:= 2
Иф х=Искл зен х:=х+1 ендиф
PS исправьте еще х>=3 на х>3... Иначе 3 никогда не получите, а у вас он в выходах есть

melky
30.12.2024, 10:57
Не проще ли переключать выходы, указанные в массиве?
И если выход в блоке, просто удалять его из массива.

shvitaliy
30.12.2024, 11:02
Не проще ли переключать выходы, указанные в массиве?
И если выход в блоке, просто удалять его из массива.

А как это сделать? Поделитесь пожалуйста

melky
30.12.2024, 11:15
Ну контролировать что у вас заблокировано и вносить в массив разрешенные. Количество разрешенных параметр счетчика, по импульсу перебирать массив, сбрасывая счетчик, когда массив заканчивается, чтобы возвращаться с первому элементу массива.

shvitaliy
30.12.2024, 11:55
Ну контролировать что у вас заблокировано и вносить в массив разрешенные. Количество разрешенных параметр счетчика, по импульсу перебирать массив, сбрасывая счетчик, когда массив заканчивается, чтобы возвращаться с первому элементу массива.

ST для меня пока дремучий лес. Только изучаю

kondor3000
30.12.2024, 12:26
ST для меня пока дремучий лес. Только изучаю
Вариант кода

FUNCTION_BLOCK Circle
VAR_INPUT
IN: BOOL ;
alar1,alar2,alar3,alar4 : BOOL ;
END_VAR
VAR_OUTPUT
run : WORD; (*число запущенных котлов*)
nonorm : WORD; (*число котлов в нерабочем состоянии*)
boil1,boil2,boil3,boil4: BOOL ;
END_VAR
VAR
i, j : WORD;
main : WORD:=0; (*номер основного котла*)
amount :WORD:=1; (*необходимое число котлов*)
boiler : ARRAY[0..4] OF BOOL; (*запуск котла*)
alarm : ARRAY[0..4] OF BOOL; (*авария котла исключает его из работы*)
num : WORD:=4; (*общее число котлов*)
R_Trig1: R_TRIG;
END_VAR

// PRG
run := 0; (*Сбрасываем переменные для нового расчета*)
nonorm := 0;

alarm[1]:=alar1; alarm[2]:=alar2; alarm[3]:=alar3; alarm[4]:=alar4; (* Формируем массив аварий *)

FOR i:=1 TO num DO (*Определяем сколько котлов в нерабочем состоянии*)
nonorm := nonorm + BOOL_TO_WORD(alarm[i]);
END_FOR

R_Trig1(Clk:=IN); (* Переключаем основной котел*)
IF R_Trig1.Q THEN
main:=main+1;
IF main>num THEN main:=1; END_IF
FOR i:=0 TO num-1 DO
boiler[i]:= FALSE;
END_FOR
END_IF

WHILE alarm[main] AND nonorm < num DO main :=SEL(main=NUM, main+1,1); END_WHILE (*Назначаем основной котел*)

FOR i := main TO main+num-1 DO (*Запускаем необходимое число котлов, остальные останавливаем*)
j := SEL(i>num, i, i-num);
IF NOT alarm[j] AND run<amount
THEN boiler[j] := TRUE; run := run+1;
ELSE boiler[j] := FALSE;
END_IF
END_FOR

boil1:=boiler[1]; boil2:=boiler[2]; boil3:=boiler[3]; boil4:=boiler[4]; (* Формируем выходы *)
IF run>num THEN run:=0; END_IF

Сергей0308
30.12.2024, 12:36
В одной из тем форума подобное рассматривали:

81044

81045

И, здесь подобный алгоритм рассматривали:
https://owen.ru/forum/showthread.php?t=36564

shvitaliy
30.12.2024, 12:38
Вариант кода

FUNCTION_BLOCK Circle
VAR_INPUT
IN: BOOL ;
alar1,alar2,alar3,alar4 : BOOL ;
END_VAR
VAR_OUTPUT
run : WORD; (*число запущенных котлов*)
nonorm : WORD; (*число котлов в нерабочем состоянии*)
boil1,boil2,boil3,boil4: BOOL ;
END_VAR
VAR
i, j :UDINT;
main : WORD:=0; (*номер основного котла*)
amount : WORD:=1; (*необходимое число котлов*)
boiler :ARRAY[0..4] OF BOOL; (*запуск котла*)
alarm :ARRAY[0..4] OF BOOL; (*авария котла исключает его из работы*)
num : WORD:=4; (*общее число котлов*)
R_Trig1: R_TRIG;
END_VAR

// PRG
run := 0; (*Сбрасываем переменные для нового расчета*)
nonorm := 0;

alarm[1]:=alar1; alarm[2]:=alar2; alarm[3]:=alar3; alarm[4]:=alar4; (* Формируем массив аварий *)

FOR i:=1 TO num DO (*Определяем сколько котлов в нерабочем состоянии*)
nonorm := nonorm + BOOL_TO_WORD(alarm[i]);
END_FOR

R_Trig1(Clk:=IN); (* Переключаем основной котел*)
IF R_Trig1.Q THEN
main:=main+1;
IF main>4 THEN main:=1; END_IF
FOR i:=0 TO 3 DO
boiler[i]:= FALSE;
END_FOR
END_IF

WHILE alarm[main] AND nonorm < num DO main :=SEL(main=NUM, main+1,1); END_WHILE (*Назначаем основной котел*)

FOR i := main TO main+num-1 DO (*Запускаем необходимое число котлов, остальные останавливаем*)
j := SEL(i>num, i, i-num);
IF NOT alarm[j] AND run<amount
THEN boiler[j] := TRUE; run := run+1;
ELSE boiler[j] := FALSE;
END_IF
END_FOR

boil1:=boiler[1]; boil2:=boiler[2]; boil3:=boiler[3]; boil4:=boiler[4]; (* Формируем выходы *)
IF run>4 THEN run:=0; END_IF


Спасибо за помощь! Проверил код, отлично работает.
Подскажите пожалуйста, как прикрутить еще одно условие?
Если на входе пропадает сигнал, то активный выход отключается, все остальные условия сохраняются.

kondor3000
30.12.2024, 13:17
Спасибо за помощь! Проверил код, отлично работает.
Подскажите пожалуйста, как прикрутить еще одно условие?
Если на входе пропадает сигнал, то активный выход отключается, все остальные условия сохраняются.

Какой сигнал и на каком входе? Куда пропадает?
In просто переключает, а аварии выставляете если они есть.

shvitaliy
30.12.2024, 13:22
Какой сигнал и на каком входе? Куда пропадает?
In просто переключает, а аварии выставляете если они есть.
Если in пропадает, то активный выход отключается

kondor3000
30.12.2024, 13:28
Если in пропадает, то активный выход отключается

Не понятно куда он может пропасть, вы можете только отследить его отсутствие в течении например 10 секунд, по таймеру.
Тогда отключить выходы, можно задав main:=0; в конце ФБ, а так же сбросить последний элемент массива (маску) выходов, можно так

TOF1(IN:=In , PT:=T#10s);
IF NOT TOF1.Q THEN main:=0; boiler[4]:= FALSE; END_IF

shvitaliy
30.12.2024, 20:56
Спасибо большое

EVGEN_
08.01.2025, 13:11
Каким образом на языке ST в Кодесис можно с экономить на таймерах TON? Например, у меня идет запуск электродвигателей друг за дружкой через выдержку времени(по шагам). То есть, получается на шаге 1 таймер запустился, на 2 шаге должен остановиться и запуститься сразу для 3 шага. Я только придумал использовать 2 таймера минимум, чередуя их.

МихаилГл
08.01.2025, 13:28
Зачем на пустяках экономить... ПЛК от этого не задымиться...

melky
08.01.2025, 13:49
В CodeSys все таймеры софтовые, какой смысл в экономии, если хватает памяти? Да и в тех ПЛК, где таймеры завязаны на набор внутренних флагов их обычно дофига и надо постараться, чтобы они закончились.

EVGEN_
08.01.2025, 13:55
Не помню уже кто из форумчан меня критиковал за таймеры, скидывал скриншот своего первого проекта на ST.
Но прогеров порой не поймешь, то зачем столько таймеров, то зачем на таймерах экономить, когда памяти вагон.
Адресовано не вам, повторюсь, не помню кто, но порой кажется что некоторые камнями кидаются лишь бы "зубы поточить").

Сергей0308
08.01.2025, 17:05
Не помню уже кто из форумчан меня критиковал за таймеры, скидывал скриншот своего первого проекта на ST.
Но прогеров порой не поймешь, то зачем столько таймеров, то зачем на таймерах экономить, когда памяти вагон.
Адресовано не вам, повторюсь, не помню кто, но порой кажется что некоторые камнями кидаются лишь бы "зубы поточить").

Так дело же не в таймерах, в смысле, когда можно применить один элемент, а применяют 128, при этом разницы в алгоритме работы нет, мне кажется это неразумным!

kondor3000
08.01.2025, 17:09
Каким образом на языке ST в Кодесис можно с экономить на таймерах TON? Например, у меня идет запуск электродвигателей друг за дружкой через выдержку времени(по шагам). То есть, получается на шаге 1 таймер запустился, на 2 шаге должен остановиться и запуститься сразу для 3 шага. Я только придумал использовать 2 таймера минимум, чередуя их.

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

Простой шаговый автомат, новый TON с паузой_____ https://owen.ru/forum/showthread.php?t=38239&page=43#424
Прогр. управление 6 нагрузками 6 реж. 12 шагов _ФБ_фунции_____https://owen.ru/forum/showthread.php?t=38239&page=11#105

А так это будет на Codesys 2.3, ниже примеры, тут для наглядности основная программа на CFC.
а вообще для простого варианта, достаточно этого - Простой шаговый автомат, новый TON с паузой, там прямо на ST

melky
08.01.2025, 18:46
Зачем нужно много таймеров?

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

Все ж от программы зависит. Если программа всегда выполняется по шагам и никак иначе, то таймер можно использовать один. А если шаги предназначены для неких проверок и тоже работают как цикл, но медленнее, то одного может и не хватить.

EVGEN_
09.01.2025, 06:41
Почти закончил переписывать прогу и в конце вылез косяк. Кнопка стоп(без фиксации) привязана к триггеру, что должно было исключить данную проблему, но когда все запущено и я нажимаю кнопку стоп, то все шаги(30 и 40 шаг) где есть триггер, пролетают и прога оказывается на 20 шаге. Проблема в триггере, так как стоит его закоментить, то все отключается поочередно с выдержкой времени как и должно быть.

МихаилГл
09.01.2025, 06:53
У вас стоп триггер всегда во всех иф работает...
А последующие if сразу выполняются из-за этого.
Надо или elsif использовать, или стоп триггер скобками в нужных местах ограничить... Вы походу не ориентируетесь как or и and в одной строчке работают...

PS Стоп триггер, если это даже триггер, взведен до окончания подпрограммы (если я не переработал...)

EVGEN_
09.01.2025, 07:24
У вас стоп триггер всегда во всех иф работает...
А последующие if сразу выполняются из-за этого.
Надо или elsif использовать, или стоп триггер скобками в нужных местах ограничить... Вы походу не ориентируетесь как or и and в одной строчке работают...

PS Стоп триггер, если это даже триггер, взведен до окончания подпрограммы (если я не переработал...)

Точно, Спасибо! Скобки не помогли, а elsif все поправил

EVGEN_
09.01.2025, 07:36
Зачем лепить кучу таймеров, если нужен только один?
Вот здесь, уже давно выкладывал управление по времени на одном таймере, выход задаётся маской бит, можно включать, выключать и переключать нагрузку

Простой шаговый автомат, новый TON с паузой_____ https://owen.ru/forum/showthread.php?t=38239&page=43#424
Прогр. управление 6 нагрузками 6 реж. 12 шагов _ФБ_фунции_____https://owen.ru/forum/showthread.php?t=38239&page=11#105

А так это будет на Codesys 2.3, ниже примеры, тут для наглядности основная программа на CFC.
а вообще для простого варианта, достаточно этого - Простой шаговый автомат, новый TON с паузой, там прямо на ST

Спасибо! Но тут разбираться надо

kondor3000
09.01.2025, 07:55
Спасибо! Но тут разбираться надо

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

EVGEN_
09.01.2025, 10:25
Всего то запустить эмуляцию и посмотреть в работе, уж лучше чем лепить по таймеру, на каждый шаг )))

Осталось в принципе по мелочи и проект готов, надо будет по тестировать на различные нюансы и можно будет модернизировать прогу по таймерам. Все максимально разделил и закомментил, теперь на много проще разбираться в коде

МихаилГл
09.01.2025, 10:36
Только зачем лишние переменные типа ton-5-out, когда можно ton-5.q, а эти присвоения из таймера вообще убрать... И et тоже...

PS С переменной ton-5-in, та же история. На каждый таймер 2 лишних переменные.
Хотя если вы их еще где используете, тогда ладно...

RaisinMGN
16.01.2025, 13:10
Здравствуйте,
1. В ПЛК210-0х, ПЛК210-1х какая максимальная глубина вложения вызовов (например, глубина вложения имеет значение восемь (8), что означает, что, начиная с блока (1-й уровень вложения), Вы можете добавить еще 7 блоков "по горизонтали" (это называется вложением)?
2. Возможно ли обратиться к периферийному входу (не через образ процесса входов) и подать сигнал на периферийный выход (не через образ процесса выходов) в определённом месте программного кода на ПЛК210-0х, ПЛК210-1х?
3. Разрешенные комбинации для последовательной передачи ("pass on") параметров в Сodesys3.5? (по примеру Siemens, как на рисунке)
81351
Спасибо

Евгений Кислов
16.01.2025, 13:16
Здравствуйте,
1. В ПЛК210-0х, ПЛК210-1х какая максимальная глубина вложения вызовов (например, глубина вложения имеет значение восемь (8), что означает, что, начиная с блока (1-й уровень вложения), Вы можете добавить еще 7 блоков "по горизонтали" (это называется вложением)?
2. Возможно ли обратиться к периферийному входу (не через образ процесса входов) и подать сигнал на периферийный выход (не через образ процесса выходов) в определённом месте программного кода на ПЛК210-0х, ПЛК210-1х?
3. Разрешенные комбинации для последовательной передачи ("pass on") параметров в Сodesys3.5? (по примеру Siemens, как на рисунке)
81351
Спасибо

Добрый день.
1. Явного ограничения нет.
2. Нет.
3. Затруднительно ответить в общей форме. Лучше приведите конкретные примеры, которые вас интересуют.

RaisinMGN
16.01.2025, 13:49
В FB1 вызывается FB2, у FB1 есть входной параметр in (тип данных-Array), который передается в FB2 через входной параметр in (тип данных-Array).
Пояснение к описанию:

Вызывающий --> вызываемый
FB1 FB2
in-Array[]------------->in-Array[] (сложный тип данных)

Допустимо это для FB и FB, FC и FC, FB и FC, FC и FB?
Очень не хватает подобной таблицы в CoDeSys3.5, чтобы не идти тернистым путем собственных ошибок...

Евгений Кислов
16.01.2025, 13:58
В FB1 вызывается FB2, у FB1 есть входной параметр in (тип данных-Array), который передается в FB2 через входной параметр in (тип данных-Array).
Пояснение к описанию:

Вызывающий --> вызываемый
FB1 FB2
in-Array[]------------->in-Array[] (сложный тип данных)

Допустимо это для FB и FB, FC и FC, FB и FC, FC и FB?
Очень не хватает подобной таблицы в CoDeSys3.5, чтобы не идти тернистым путем собственных ошибок...

Допустимо для всех вариантов.

GoodLuck
19.01.2025, 19:59
Здравствуйте!

В Таблице Тревог кнопка "ACK all visible" квитирует только видимые на экране события. Если все события, которые можно квитировать не помещаются в область видимости,
необходимо несколько раз нажимать кнопку "ACK all visible".

Может, возможно программно (из кода) квитировать все события?

Евгений Кислов
19.01.2025, 20:07
Здравствуйте!

В Таблице Тревог кнопка "ACK all visible" квитирует только видимые на экране события. Если все события, которые можно квитировать не помещаются в область видимости,
необходимо несколько раз нажимать кнопку "ACK all visible".

Может, возможно программно (из кода) квитировать все события?

Добрый день.

В настройках таблицы тревог в папке Control variables есть параметр Acknowledge all для этого.
Можно привязать к нему переменную типа BOOL и привязать ее к кнопке или использовать в коде.

GoodLuck
19.01.2025, 20:56
Добрый день.

В настройках таблицы тревог в папке Control variables есть параметр Acknowledge all для этого.
Можно привязать к нему переменную типа BOOL и привязать ее к кнопке или использовать в коде.

Вы имели ввиду параметр Acknowledge all visible? Да, я привязала переменную к этому параметру, и он квитирует только видимые на экране события.

Acknowledge all - такого нет параметра.

Евгений Кислов
19.01.2025, 20:57
Вы имели ввиду параметр Acknowledge all visible? Да, я привязала переменную к этому параметру, и он квитирует только видимые на экране события.

Acknowledge all - такого нет параметра.

Какую версию CODESYS вы используете?

Я имел в виду именно то, что написал:

81420

GoodLuck
19.01.2025, 20:58
Какую версию CODESYS вы используете?

Использую SP17

Евгений Кислов
19.01.2025, 21:08
Использую SP17

Я завтра утром посмотрю, в какой момент появился параметр со скриншота.
Как альтернативный вариант - попробуйте этот код:


AlarmManager.AlarmGlobals.g_AlarmHandler.Acknowled geAll();

GoodLuck
19.01.2025, 21:27
Я завтра утром посмотрю, в какой момент появился параметр со скриншота.
Как альтернативный вариант - попробуйте этот код:


AlarmManager.AlarmGlobals.g_AlarmHandler.Acknowled geAll();

Спасибо огромное!:) Все работает!

Евгений Кислов
20.01.2025, 06:27
Спасибо огромное!:) Все работает!

Отлично. =)


Я завтра утром посмотрю, в какой момент появился параметр со скриншота.

Посмотрел - он появился в плагине визуализации 4.2.0.0.

81422

sssssaaaaabbbbb
20.01.2025, 10:57
Здравствуйте коллеги. НА ПЛК210 можно сделать SQL3 и разместить там рецепты. Хочу поинтересоваться вопросом : если сделать SQL3 на ПЛК210 , то можно ли рецепты сделать на флешке, чтоб можно было бы менять эти флешки и ПЛК210 бы сам их подхватывал?

Евгений Кислов
20.01.2025, 11:08
Здравствуйте коллеги. НА ПЛК210 можно сделать SQL3 и разместить там рецепты. Хочу поинтересоваться вопросом : если сделать SQL3 на ПЛК210 , то можно ли рецепты сделать на флешке, чтоб можно было бы менять эти флешки и ПЛК210 бы сам их подхватывал?

Добрый день.
Можно.

ВладОвен
21.01.2025, 11:30
Здравствуйте.
Подскажите есть ли способ в IDE узнать из какой части кода вызывается конкретный метод?
Допустим, есть метод, который включает лампу на семафоре. Вот она зажглась. Но кто в программе вызвал этот метод?
Как это определить?

Евгений Кислов
21.01.2025, 11:59
Здравствуйте.
Подскажите есть ли способ в IDE узнать из какой части кода вызывается конкретный метод?
Допустим, есть метод, который включает лампу на семафоре. Вот она зажглась. Но кто в программе вызвал этот метод?
Как это определить?

Добрый день.
Вы можете передать методу в качестве одного из аргументов название "источника вызова" метода (например, через __POUNAME (https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_operator_pouname.html)) и потом вывести его на экран визуализации, в лог или куда угодно.
Или же сделать это одновременно с вызовом метода (например, в следующей строке кода).

ВладОвен
21.01.2025, 16:41
Спасибо. Это сработало.

Diogen
23.01.2025, 17:54
Добрый день! Подскажите пожалуйста по функции SysTimeRtcGet из библиотеки SysTimeRtс, для применения на виртуальном ПЛК CoDeSys Control Win V3. Как правильно её применять, для использования системного времени в программе? Сложность в том, что системное время отображается некорректно ( к примеру время из функции показывает 15.23 на самом же деле время 16.10 ).
Запись в программе выглядит следующим образом: tdVar:= TO_TOD (SysTimeRtc.SysTimeRtcGet (dwErrorCode)*1000 ); . Без умножения на 1000 на выходе совсем даже не приблизительное время, а с умножением со стабильной разницей в 47 мин. )). Как устроена эта функция неведомо, и описание её работы очень скудно. Примеры её применения мною не обнаружены, поэтому надеюсь на вашу помощь в изучении этого вопроса.
Задача состоит в том, чтобы время с выхода этой функции применить в программе, для работы оборудования в определённые часы. Например, чтобы с 0 до 6 часов оно работало в одном режиме, а с 6ти до 23.59 в другом.

Евгений Кислов
23.01.2025, 18:56
Добрый день.


dtVar:= TO_DT(SysTimeRtc.SysTimeRtcGet(dwErrorCode) ); // получаем системное время в виде значения типа DT

Если нужен именно TOD - то см. ниже пример от kondor3000.

Diogen
23.01.2025, 21:45
Здравствуйте! Да, нужен именно ТОD, но как "делить" на разряды и "собирать" из них TOD, я не знаю. Может где-то пример есть ?

kondor3000
23.01.2025, 23:10
Здравствуйте! Да, нужен именно ТОD, но как "делить" на разряды и "собирать" из них TOD, я не знаю. Может где-то пример есть ?

У меня работает конвертация DT_TO_TOD, ничего не раскладывая 81535

Diogen
24.01.2025, 22:21
Это отлично, благодарю за подсказку ! Меня терзают смутные сомнения по поводу дальнейших действий и в целом поведения функции SysTimeRtcGet. Выходит мне нужно конвертировать 2 раза ( сперва DWORD_TO_DT, затем DT_TO_TOD) ? Почему не выходит корректная конвертация с одного перевода? Особенности конвертации или я что-то неверно исполняю?

Евгений Кислов
24.01.2025, 22:24
Это отлично, благодарю за подсказку ! Меня терзают смутные сомнения по поводу дальнейших действий и в целом поведения функции SysTimeRtcGet. Выходит мне нужно конвертировать 2 раза ( сперва DWORD_TO_DT, затем DT_TO_TOD) ? Почему не выходит корректная конвертация с одного перевода? Особенности конвертации или я что-то неверно исполняю?

Потому что функция SysTimeRtcGet возвращает дату и время, а не время суток (TOD).

Diogen
24.01.2025, 23:12
Если я правильно понимаю, то функция SysTimeRtcGet возвращает DWORD а не дату и время. Но опыт показал, что переводя результат этой функции в время суток - получается несоответствие. А вот двойная конвертация (DWORD_TO_DT, затем DT_TO_TOD) возвращает вполне адекватное время . Только нужно его подкорректировать ещё каким-то средством, потому как получается системное -2ч.
81558

kondor3000
24.01.2025, 23:20
Если я правильно понимаю, то функция SysTimeRtcGet возвращает DWORD а не дату и время. Но опыт показал, что переводя результат этой функции в время суток - получается несоответствие. А вот двойная конвертация (DWORD_TO_DT, затем DT_TO_TOD) возвращает вполне адекватное время . Только нужно его подкорректировать ещё каким-то средством, потому как получается системное -2ч.


Для Москвы код будет таким, время TOD + 3 часа.

TOD1:=TO_TOD (TO_DT(SysTimeRtc.SysTimeRtcGet(dwErrorCode))) +T#3h ;

Diogen
25.01.2025, 00:00
Для Москвы код будет таким, время TOD + 3 часа.

TOD1:=TO_TOD (TO_DT(SysTimeRtc.SysTimeRtcGet(dwErrorCode))) +T#3h ;


Благодарю Вам душевно! Это верно, коротко и главное работает! Я в восторге - зарррабоооталаааа!!! Сколько пришлось повозиться, чтобы решить эту задачку, но спасибо добрым людям, и долгие вам лета!
Кстати, тем кому придётся когда-то как мне заморочиться - следует знать, что некорректная конвертация этой функции, даёт неверные результаты выражений с её использованием. Это нужно учитывать прежде, чем грешить на свои ошибки в коде.

ОтветыВажнееЗнаний
29.01.2025, 16:42
Столкнулись с такой проблемой 81632. Установлена версия 3.5 SP 17.30. Добавлена Библиотека ПЛК200 3.5 SP 17.31. Запускаем в корпоративной сети с ПК, где работает сотрудник без административного доступа. При создании нового проекта в любом шаблоне режим только для чтения выставляется по автомату и плюсом красные application. От имени администратора каждый раз запускать не вариант, даже если бы и работало, возможно только для единоразовой настройки. Расположение этого файла ставим на рабочий стол, где у пользователя есть доступ на создание и изменение файлов. В любом другом расположении учетной записи этого пользователя тоже не работает

vorobev22rus
02.02.2025, 17:36
Добрый день! Не работает ALT+3 вкладка с сообщениями не открывается... Уже все обыскал, как открыть окно с сообщениями?

МихаилГл
02.02.2025, 17:39
У вас случайно автоскрытие вкладок не включено? Значек гвоздя у крестика закрытия окна. Если включено, то возможны артефакты неоткрытия выбираемых окон и открытия совсем других...

Скрин выше. Основная вкладка "устройства" так глючит...

vorobev22rus
02.02.2025, 17:39
На Astra IDE (тот же Codesys) та же комбинация открывает и закрывает панель сообщений.

vorobev22rus
02.02.2025, 17:41
На тех окнах которые открыты - не видно. Просто случайно закрыл сообщения....

kondor3000
02.02.2025, 20:02
На тех окнах которые открыты - не видно. Просто случайно закрыл сообщения....

Смотрите скрин, сообщения скрыты внизу слева 81686
Щёлкните по панели мышью и закрепите гвоздиком.

МихаилГл
02.02.2025, 20:13
Смотрите скрин, сообщения скрыты внизу слева 81686
Щёлкните по панели мышью и закрепите гвоздиком.

Я тут поэкспериментировал. Если это окно вытащить наружу и сдвинуть за пределы экрана, то оно исчезает.. Вернее оно так же за пределами монитора. Вытащил его мышкой, когда подвел к краю экрана, индикатор изменил свое изображение. Похоже у ТС так же. Думаю что врят ли он не заметил сжатое окно.

PS Где то должна быть строка меню: восстановить интерфейс по умолчанию...

vorobev22rus
03.02.2025, 05:10
Я тут поэкспериментировал. Если это окно вытащить наружу и сдвинуть за пределы экрана, то оно исчезает.. Вернее оно так же за пределами монитора. Вытащил его мышкой, когда подвел к краю экрана, индикатор изменил свое изображение. Похоже у ТС так же. Думаю что врят ли он не заметил сжатое окно.

PS Где то должна быть строка меню: восстановить интерфейс по умолчанию...

Выглядит это дело так (см.вложение)
Попробую поискать восстановление интерфейса81696

vorobev22rus
03.02.2025, 05:32
Я тут поэкспериментировал. Если это окно вытащить наружу и сдвинуть за пределы экрана, то оно исчезает.. Вернее оно так же за пределами монитора. Вытащил его мышкой, когда подвел к краю экрана, индикатор изменил свое изображение. Похоже у ТС так же. Думаю что врят ли он не заметил сжатое окно.

PS Где то должна быть строка меню: восстановить интерфейс по умолчанию...

Окно является активным при нажатии ctrl + TAB81697

МихаилГл
03.02.2025, 05:41
Окно является активным при нажатии ctrl + TAB81697

Мышь по краям экрана поводи, может отыщешь. Там индикатор должен измениться в месте нахождения окна. Или как вариант второй монитор подключить. Двухмониторный режим у кодесиса тоже хромает. Иногда основное окно исчезает, когда сохранишь проект на другом мониторе и выключишь его потом.