Попробуйте воспользоваться этой инструкцией:
https://faq.codesys.com/display/CDSF...not+be+created
Если не получится - рекомендую развернуть чистую виртуалку с Win7 и установить туда только V3 4 Patch1.
Связь со мной: 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
СS 3.5 Modbas RTU Master как создать канал размером 4 byte ? , поставить длину 2 не подходит создаётся два Worda . Для слэйва котороый я опрашиваю нужно именно 1 канал UDINT .
Нужно создать именно два WORD.
А дальше можно в коде сделать так:
27-10-2022 16-36-41.pngudiVar := wVar1 + SHL(wVar2, 16);
В зависимости от порядка регистров устройства - может потребоваться поменять wVar1 и wVar2 местами.
Также могу порекомендовать статью по преобразованию данных в CODESYS:
https://ftp.owen.ru/CoDeSys3/98_Book...nipulation.pdf
Связь со мной: 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
Постоянно моргает значёк на слейве то норма зеленый то красный треугольник с периодичностью появляеться надпись "Шина не запущена. Данные значения возможно не актуальны. Ситуация возникает при чтения с слайва с регистра 46266) формата UDINT. , пробовал обеднять 2 UINT ч/з
udiVar := wVar1 + SHL(wVar2, 16); и ч/з DUT , результат один. В чем может быть причина ?
Версия компилятора 3.4.0.10 ПЛК 304 ( старый )
1.png
Версия
Последний раз редактировалось BSA; 27.10.2022 в 20:26.
Попробовал в ОРС от Мастер SCADA прочитать нужные регистры все читается С ПЛК 304 не хочет
2.png
Связь со мной: 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
Как правильно инициализировать переменные?
Имеются переменные на чтение и запись каналов:
Мне надо проинициализировать переменную writeVal значением из readVal, чтобы лишний раз не вводить его на этапе визуализации.Код:VAR readVal: INT; writeVal: INT; xFirstStart: BOOL := TRUE; END_VAR
Если я делаю так, то получается, что readVal ещё не прочитан из канала, и writeVal инициализируется нулём (при следующем проходе readVal уже что-то имеет). Помогите, что я делаю не так?Код:IF xFirstStart THEN writeVal := readVal; xFirstStart := FALSE; END_IF
Последний раз редактировалось Selya; 28.10.2022 в 11:38.
По-моему, самый простой вариант - выполнить присваивание не в первом цикле задаче, а, например, с секундной задержкой (конкретное значение задержки будет зависеть от особенностей вашего слэйва, числа каналов опроса и т.д. - подберите его опытным путем).
Связь со мной: 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
Спасибо, помогло.Код: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