Спасибо. На канал подписан, а как то пропустил... :confused:
Вид для печати
Добрый день! Аналогичная проблема только с CDS 3.5 SP5 (для старых спк). Такая же ошибка появилась. Попытка в Менеджере библиотек загрузить отсутствующую библиотеку ничего не дает - пустое окно в библиотеках. Уже снёс все версии кодесисов, поставил 3.5 SP5 с нуля - толку нет.
Добрый день.
Установите архив репозитория (ссылка в подписи) и еще эту библиотеку:
https://ftp.owen.ru/CoDeSys3/04_Libr...mpiled-library
Эта ошибка ушла, появилась новая:
И в Modbus_TCP_Slave_Library, 1.0.0.8 (OWEN)--> Util --> CBML (не разрешено)Код HTML:------ Компиляция : Приложение: Device.Application -------
типизировать код...
[ERROR] modbus tcp slave library, 1.0.0.8 (owen): MB_handler: C0077: Неизвестный тип: 'a_Util.BLINK'
Компиляция завершена -- 1 ошибок, 52 предупреждений
Здравствуйте! Установить Codesys 3.5. По замечательной инструкции https://youtu.be/3KcJWZEVXCg . В новых проектах доступны все языки программирования, при открытии нет ошибок, НО!
Не могу открыть Codesys installer. При попытке открыть система выдает ошибку:
"невозможно запустить это приложение на вашем пк чтобы найти версию для вашего компьютера обратитесь к издателю приложения"
Система: Windows 10 32 битная.
Как-то можно указать где открыть 32-битный файл (Если он есть) или откуда-то скачать 32-битную версия? Поможет ли мне это?
Пробовал совместимости с 7-ой и 8-ой, но не помогло. От имени администратора - тоже без успешно.
Не хочется сносить и переустанавливать ОС.
Добрый день.
Версия CODESYS Installer с поддержкой 32-битных ОС должна выйти в грядущий понедельник.
Когда это случится - я добавлю ссылку на нее в этот пост.
Upd. - выход задержался, но как и обещал - выложил эту версию CODESYS Installer к нам на ftp:
https://ftp.owen.ru/CoDeSys3/01_CODE...er%201.5.0.exe
Вложение 63299 Вложение 63300
Добрый день. Устанавливал Codesys 3.5.17.30 как сказано в видео. Если директорию оставляю по умолчанию (C:\Program Files (x86)\CODESYS 3.5.17.30), то приложение запускается с предложением отправить отчет и закрывается. Сменил директорию (C:\Program Files (x86)\CODESYS 3.5.17) приложение запускается , но ругается на не установленные плагины(скриншот прилагается).
Помогите правильно организовать чтение/запись по Modbus в определённый регистр. Есть куча примеров, но я чего-то туплю.
Создаю канал Modbus Slave. Читаю Channel 0 Read Holding Registers (Код функции 03) Сдвиг READ 16#0062 Длина 1
Создаю канал на запись Channel 1 Write Single Register (Код функции 06) Сдвиг WRITE 16#0062 Длина 1
Привязываю к каналам две переменных: на чтение rmActivate: WORD и на запись wmActivate: WORD
Следует сказать, что в этом регистре по адресу 16#0062 может быть значение 0, 1 или 2. Эти значения на визуализации отображаются в виде выпадающего ComboBox'а ("Выкл.", "Вкл+Ручн.сброс", "Вкл+Автосброс").
Так вот мне надо при включении программы правильно считать значение регистра (и установить его в комбобоксе), а затем при выборе значения в ComboBox записать значение в регистр.
Я думаю, решение этой задачи пусть слишком трудоемким - потому что у комбобокса только один параметр, а у вас их два - текущее значение в регистре (rmActivate) и значение, которое хочет установить оператор (wmActivate).
По-моему, проще всего привязать к ComboBox переменную wmActivate, а рядом с ним отображать прямоугольник с текущим значением (rmActivate).
А вот если запись в регистр по триггеру по переднему фронту, то ещё и кнопку рядом рисовать? Как-то не очень решение.
По отдельности примеров много. Отдельно по визуализации (с комбобоксом), отдельно по чтению/записи (Modbus). А вот как их вместе подружить, тут я что-то в ступоре. Печалька.
Добрый день. Подскажите пожалуйста, как правильно работать с функцией IECStringUtils.FormatDateTime ?
В параметр cbpFormat отдаю указатель на строку '%t[HH:mm:ss dd. MM. yyyy]',
в параметр cbpResult отдаю указатель на строку, в которой сохранено неформатированное значение DATE_AND_TIME, полученное как TO_STRING(TargetVars.stRtc.dtDateAndTime),
в uiResultCapacity, соответственно, SIZEOF строки из парам. 2.
Но форматирование не происходит, FormatDateTime возвращает FALSE.
Тестирую на живом СПК.
Можно, отчего-ж нельзя. :-)
Но хотелось бы разобраться и с функцией IECStringUtils.FormatDateTime, что я не так делаю.
1. Эта функция не конвертирует значение, а возвращает форматированное значение системного времени.
Т.е. в cbpResult разумно передавать адрес STRING-переменной, которая в коде нигде не используется (а даже если и используется - то ее значение будет просто перезаписано после вызова функции).
2. Чтобы функция работала - нужно снять в Менеджере визуализации галочку Использовать строки Unicode.
Но для наших контроллеров это приведет к невозможности отображения в визуализации текста на кириллице.
Вложение 63381
Да уж, невероятно полезная функция...
Спасибо за совет. :-)
Здравствуйте, при установке CoDeSysV3 4Patch1 c установленным CoDeSysV3.5 sp 5 Patch 5 CoDeSysV3 4Patch1 не запускается , как быть ?
Вложение 63395 Вложение 63396
Попробуйте воспользоваться этой инструкцией:
https://faq.codesys.com/display/CDSF...not+be+created
Если не получится - рекомендую развернуть чистую виртуалку с Win7 и установить туда только V3 4 Patch1.
СS 3.5 Modbas RTU Master как создать канал размером 4 byte ? , поставить длину 2 не подходит создаётся два Worda . Для слэйва котороый я опрашиваю нужно именно 1 канал UDINT .
Нужно создать именно два WORD.
А дальше можно в коде сделать так:
Вложение 63420Цитата:
udiVar := wVar1 + SHL(wVar2, 16);
В зависимости от порядка регистров устройства - может потребоваться поменять wVar1 и wVar2 местами.
Также могу порекомендовать статью по преобразованию данных в CODESYS:
https://ftp.owen.ru/CoDeSys3/98_Book...nipulation.pdf
Постоянно моргает значёк на слейве то норма зеленый то красный треугольник с периодичностью появляеться надпись "Шина не запущена. Данные значения возможно не актуальны. Ситуация возникает при чтения с слайва с регистра 46266) формата UDINT. , пробовал обеднять 2 UINT ч/з
udiVar := wVar1 + SHL(wVar2, 16); и ч/з DUT , результат один. В чем может быть причина ?
Версия компилятора 3.4.0.10 ПЛК 304 ( старый )
Вложение 63427
Версия
Попробовал в ОРС от Мастер SCADA прочитать нужные регистры все читается С ПЛК 304 не хочет :(
Вложение 63433
Как правильно инициализировать переменные?
Имеются переменные на чтение и запись каналов:
Мне надо проинициализировать переменную writeVal значением из readVal, чтобы лишний раз не вводить его на этапе визуализации.Код:VAR
readVal: INT;
writeVal: INT;
xFirstStart: BOOL := TRUE;
END_VAR
Если я делаю так, то получается, что readVal ещё не прочитан из канала, и writeVal инициализируется нулём (при следующем проходе readVal уже что-то имеет). Помогите, что я делаю не так?Код:IF xFirstStart THEN
writeVal := readVal;
xFirstStart := FALSE;
END_IF
По-моему, самый простой вариант - выполнить присваивание не в первом цикле задаче, а, например, с секундной задержкой (конкретное значение задержки будет зависеть от особенностей вашего слэйва, числа каналов опроса и т.д. - подберите его опытным путем).
Спасибо, помогло.Код:VAR
readVal: INT;
writeVal: INT;
xFirstStart: BOOL;
T1: TON;
END_VAR
T1(IN := TRUE, PT := T#1S, Q => xFirstStart);
IF xFirstStart THEN
writeVal := readVal;
xFirstStart := FALSE;
END_IF
Как-то криво работает OnValueChanged у ComboBox'а. Вешаю на него триггерную переменную для инициализации записи в канал по переднему фронту - зависает вся система намертво, до перезагрузки. Если же активирую этот триггер в кнопке на визуализации, то отрабатывает штатно.
Нет, вроде не пытаюсь. Только триггер активирую. Вот, посмотрите
В настоящий момент там у них крайняя версия CODESYS 32 3.5.14.40. Думаете в этом дело?
Добрый день! Как обновить проект через веб-конфигуратор СПК110 (spk1xxm01 1.2.0803.1220). В документе "CODESYS V3.5 Вопросы и ответы (FAQ) 24.05.2022
версия 3.0" есть пункт "Загрузка zip-архива с проектом". В своем случае данного пункта не нахожу
Добрый день.
В вашей прошивке этот функционал еще не был поддержан - он появился в прошивке 2.4.0923.1000.
Есть ли другая возможность удаленно залить проект?