Вопрос: как из программы изменить диапазон элемента Стрелочный индикатор?
Ответ: привязка переменных к параметрам Начало шкалы и Конец шкалы поддерживается начиная с версии CODESYS V3.5 SP14 Patch 3.
Вопрос: как из программы изменить диапазон элемента Стрелочный индикатор?
Ответ: привязка переменных к параметрам Начало шкалы и Конец шкалы поддерживается начиная с версии CODESYS V3.5 SP14 Patch 3.
Последний раз редактировалось Евгений Кислов; 25.06.2021 в 11:39.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Вопрос: почему в редакторе визуализации при добавлении на экран элемента Индикатор (лампа) добавляется Стрелочный индикатор?
Примечание: это проявляется в версии CODESYS V3.5 SP5 Patch 5 при использовании русскоязычного интерфейса.
Ответ: если вы наблюдает такой эффект - значит, перетаскиваете элемент из Панели элементов на экран визуализации при зажатой клавише мыши (drag-and-drop).
В данном случае для корректного добавления элемента следует произвести один клик на Панель элементов (выделив элементов) и один клик - на экран визуализации (разместив элемент).
Последний раз редактировалось Евгений Кислов; 25.06.2021 в 11:39.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Вопросы:
1. Как запускать таймеры TON/TOF по импульсу на входе IN?
2. Как реализовать таймер с возможностью установки паузы?
3. Как реализовать таймер обратного отсчета?
Ответ: см. пример (создан в 3.5 SP7 Patch4). В его состав входит:
1. Демонстрация запуска таймера TON по импульсу с помощью конструкции типа
где xStart - переменная, по импульсу которой происходит запуск таймера. Для сброса таймера необходимо вызвать его со значением FALSE на входе IN.Код:fbTon (IN := xStart OR fbTon.IN);
2. ФБ таймеров с возможностью установки паузы (TONP, TOFP).
3. ФБ таймеров обратного отсчета (TONR, TOFR).
Последний раз редактировалось Евгений Кислов; 25.06.2021 в 11:24.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Вопрос: что можно использовать вместо ФБ Сhange_Real_Time_Clock из библиотеки SPK_Tools?
Примечание: для контроллеров, программируемых в CODESYS V3.5 SP11 Patch 5 или выше, работа с системным временем реализована через узел OwenRTC таргет-файла.
Ответ: действительно, библиотека SPK_Tools не рекомендуется к использованию. Основная часть ее функционала была перенесена в узлы таргет-файлов (начиная с версии 3.5.4.26).
Тем не менее, узел для работы с системным временем в настоящий момент отсутствует (но его создание запланировано). Пока что можно воспользоваться примером (создан в 3.5 SP7 Patch4).
В его состав входит ФБ REAL_TIME_CLOCK, чей функционал полностью перекрывает функционал ФБ Сhange_Real_Time_Clock.
Последний раз редактировалось Евгений Кислов; 25.06.2021 в 11:25.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Вопрос: как вывести сообщение в лог CODESYS из программы?
Ответ: рассмотрим самый простой способ:
12-03-2018 10-41-18.jpgКод:VAR xWriteToLog: BOOL; sMessage: STRING:='Hello, world!'; END_VAR IF xWriteToLog THEN VisuElems.Visu_Output(sMessage, VisuElems.LogClass.LOG_INFO); xWriteToLog:=FALSE; END_IF
Второй аргумент функции определяет жесткость (класс) сообщения:
12-03-2018 10-52-57.jpg
Обратите внимание, что в проект должна быть добавлена визуализация. Кириллический текст не поддерживается.
Более подробную информацию о работе с логами CODESYS см. в данной статье и видео.
Последний раз редактировалось Евгений Кислов; 18.05.2024 в 15:33.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Вопрос: как переинициализировать компонент ModbusCom?
Примечание: это может потребоваться при зависании порта (например, из-за воздействия помехи от силового оборудования).
Ответ: В случае необходимости контролировать процесс обмена данными можно воспользоваться переменными диагностики.
Для этого в нужном месте программы введите имя компонента из дерева проекта, поставьте точку и из выпадающего списка выберите нужную переменную диагностики:
0.jpg
Компонент Modbus Master содержит переменную xResetComPort, по переднему фронту которой происходит переинициализация порта.
Рассмотрим несколько вариантов воздействия на эту переменную:
1. Если опрос организован исключительно через шаблоны, то можно контролировать их переменные xError (обратите внимание, что требуется добавить постфикс _Modbus к названию устройства для доступа к ним) или привязать переменные к каналам Флаг ошибки. На скриншоте ниже приведены оба варианта (в реальном проекте, конечно, разумнее использовать только один из способов).
resetcom01.jpg
2. Если опрос организован через стандартные компоненты Modbus Slave, то можно контролировать их переменные xError (в этом случае доступ осуществляется по названию устройства, без постфикса).
resetcom02.jpg
3. Если опрос организован и через шаблоны, и через стандартные компоненты Modbus Slave, то можно использовать переменную xAllSlavesOk компонента Modbus Master (обратите внимание, что в этом случае переинициализация порта будет происходить при появлении ошибки у любого устройства. В некоторых ситуациях это решение является не самым удачным - например, если из-за проблем на полевом уровне (помехи/некорректная топология сети/etc.) возникновение ошибок, не связанных с зависанием порта, неизбежно, а их частота - высока.
3.jpg
Последний раз редактировалось Евгений Кислов; 27.02.2023 в 14:16.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Последний раз редактировалось Евгений Кислов; 25.06.2021 в 11:41.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Вопрос: при запуске CODESYS возникает следующая ошибка. Что нужно сделать?
20-04-2018 14-08-26.jpg
Ответ: перейдите в папку C:\ProgramData\CODESYS и удалите все файлы с разрешением .opt.
18-05-2018 13-51-00.png
После этого запустите CODESYS, создайте и сохраните новый проект. В результате .opt файлы будут автоматически пересозданы.
Последний раз редактировалось Евгений Кислов; 25.06.2021 в 11:12.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Вопрос: Как работать с длинными строками?
Ответ: Функции библиотеки Standard позволяют работать только со строками, длина которых не превышает 255 символов. В случае необходимости работы с более длинными строками используйте библиотеку StringUtils.
Пример использования функции StrConcatA:
Код:PROGRAM PLC_PRG VAR sLongStr1: STRING(4096) := 'длинная строка 1'; sLongStr2: STRING(4096) := 'длинная строка 2'; sVeryLongStr: STRING(8192); xConcat: BOOL; END_VAR IF xConcat THEN // склеить sLongStr1 и sLongStr2 в sVeryLongStr STU.StrConcatA(ADR(sLongStr1), ADR(sVeryLongStr), SIZEOF(sVeryLongStr) ); STU.StrConcatA(ADR(sLongStr2), ADR(sVeryLongStr), SIZEOF(sVeryLongStr) ); xConcat := FALSE; END_IF
Последний раз редактировалось Евгений Кислов; 13.08.2021 в 18:05.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Вопрос: как сделать резервную копию проекта, если нет исходников (файла .project или .projectarchive).
Комментарий: описанные ниже способы подходят только для контроллеров, программируемых в CODESYS V3.5 SP11 Patch 5 или выше.
Ответ: есть два способа:
1. С использованием среды CODEYS - вкладка Backup&Restore в узле Device (см. видео). В этом случае в состав бэкапа войдут энергонезависимые переменные.
2. Без использования среды CODESYS - подключить к контроллеру USB или SD-накопитель, перейти в конфигуратор и на вкладке Накопители для нужного накопителя нажать кнопку Резервная копия, нажать Сохранить, установить галочку Добавить проект СODESYS в резервную копию и нажать кнопку Сохранить резервную копию. На накопителе будет создан файл backup_spk1xxm01_<метка_времени_создания_резервной _копии>.tar.gz, который содержит резервную копию настроек контроллера и проекта CODESYS, но не предоставляет доступа к исходным кодам проекта.
Также создать резервную копию можно в web-конфигураторе на вкладке Система/Резервное копирование.
Последний раз редактировалось Евгений Кислов; 25.06.2021 в 12:30.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk