...потому что включен контроль множественной записи выходов.
А код, значит, в переменную modbusAOBuf пишет из разных мест. А это неправильно.
...потому что включен контроль множественной записи выходов.
А код, значит, в переменную modbusAOBuf пишет из разных мест. А это неправильно.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
А почему в первом контроллере нет предупреждений? Где проверить включение контроля записи?
Массив modbusAOBuf подвязан к регистрам временного хранения Modbus TCP Slave Device. В программе в него записываю данные. На первом контроллере все работает.
Последний раз редактировалось Sk007; 18.03.2025 в 10:49.
Скорее всего выключены. Они включаются в Установках проекта. У меня сейчас под рукой нет CodeSys, поэтмоу точно не скажу.
Ну вот в этом случае надо выключить это предупреждение.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
Вот тогда не знаю. Я их везде включаю и стараюсь делать так, чтобы под них не попадаться.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
Здравствуйте
Можно ли написать универсальный функциональный блок?
Попытаюсь объяснить, что я имею ввиду
Есть несколько структур расширенные друг другом:
PHP код:TYPE BlankDevice :
STRUCT
Name: WSTRING(30); // Название
byStatus: Status; // Статус узла
END_STRUCT
END_TYPE
PHP код:TYPE SimpleDevice EXTENDS BlankDevice :
STRUCT
xOutRun: REFERENCE TO BOOL REF= xOutRun; // Ссылка на значение Пуск
END_STRUCT
END_TYPE
PHP код:TYPE MediumDevice EXTENDS SimpleDevice :
STRUCT
xInRun: REFERENCE TO BOOL REF= xInRun; // Ссылка на значение В работе
END_STRUCT
END_TYPE
PHP код:TYPE ComplexDevice EXTENDS MediumDevice:
STRUCT
xInAlarm: REFERENCE TO BOOL REF= xInAlarm; // Ссылка на значение Авария
END_STRUCT
END_TYPE
Если я пишу функциональный блок для обработки структуры FrequencyDivicePHP код:TYPE FrequencyDivice EXTENDS ComplexDevice :
STRUCT
xOutResetAlarm: REFERENCE TO BOOL REF= xOutResetAlarm; // Ссылка на значение Сброс аварии
uiOutSpeed: REFERENCE TO UINT REF= uiOutSpeed; // Ссылка на значение Скорость
rInCurrent: REFERENCE TO REAL REF= rInCurrent; // Ссылка на значение Ток
END_STRUCT
END_TYPE
В этот функциональный блок я не могу отправить структуру ну например MediumDevice, компилятор выдаст ошибку.PHP код:FUNCTION_BLOCK FB_ FrequencyDivice
VAR_INPUT
stIn: REFERENCE TO FrequencyDivice;
END_VAR
Подскажите можно ли как-то это реализовать с возможностью знать из функционального блока с какой структурой к нему обратились.
Что-то не очень хочется для каждой структуры писать свой функциональный блок.
Я не волшебник, я только учусь...
Подскажите люди добрые. Известная проблема с трендами когда отключаешь питание на СПК и звезды встали не так потом вылетает ошибка "Some kind of disk I/O error occurred. Check disk space".
Поменять все тренды на ОВеновские пока не могу. А вот если при выключении питания вручную или по событию дать предварительно команду "poweroff" через системную библиотеку, то все файлы корректно закроются и ошибка уйдет? Или?
По крайней мере, это серьезно уменьшит вероятность её проявления.А вот если при выключении питания вручную или по событию дать предварительно команду "poweroff" через системную библиотеку, то все файлы корректно закроются и ошибка уйдет? Или?
Связь со мной: 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
Подскажите можно ли как-то это реализовать с возможностью знать из функционального блока с какой структурой к нему обратились.Код:FUNCTION_BLOCK FB_FrequencyDevice VAR_INPUT pstIn: POINTER TO BYTE; // указатель на любую структуру eDeviceType: DEVICE_TYPE; // Тип структуры: DEVICE_TYPE.BLANK, DEVICE_TYPE.MEDIUM, DEVICE_TYPE.COMPLEX и т. д. END_VAR
Связь со мной: 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
Спасибо
Изучаю Data Type: ANY, ANY_<type>
Данный тип вроде также с указателями работает
Я не волшебник, я только учусь...