Добрый день.
Сочувствую.В проекте активно используется синхронизация многопоточного доступа
Какое именно поведение TEST_AND_SET вы считает корректным, а какое - нет?и возникают ситуации, похожие на некорректное срабатывание TEST_AND_SET .
Добрый день.
Сочувствую.В проекте активно используется синхронизация многопоточного доступа
Какое именно поведение TEST_AND_SET вы считает корректным, а какое - нет?и возникают ситуации, похожие на некорректное срабатывание TEST_AND_SET .
Связь со мной: 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? :-)
> Какое именно поведение TEST_AND_SET вы считает корректным, а какое - нет?
Корректное -- соответствующее документации, некорректное -- не соответствующее.
Тут беда ещё в том, что отладке всё это многопоточное поддаётся чуть лучше, чем никак, потому твёрдой уверенности в том, что TEST_AND_SET чудит, у меня нет. Но "защищённые" данные портятся так, если бы TEST_AND_SET не выполняла атомарность.
Всё вполне нормально, если она используется там, где действительно нужна, а не в фундаменте системы автоматизации очередной абстрактной фабрики.Так всё плохо с синхронизацией многопоточности в CoDeSys?
В принципе, даже "защищенные" данные можно легко испортить в любом фрагменте кода с массивами, указателями и т.д.Но "защищённые" данные портятся так, если бы TEST_AND_SET не выполняла атомарность.
Отладка кода вдвое сложнее, чем его написание. Так что если вы пишете код настолько умно, насколько можете, то вы по определению недостаточно сообразительны, чтобы его отлаживать. (с) Брайан КерниганТут беда ещё в том, что отладке всё это многопоточное поддаётся чуть лучше, чем никак
Еще рекомендую обратить внимание на три слова на обложке одной известной книги.
Последний раз редактировалось Евгений Кислов; 15.05.2023 в 17:49.
Связь со мной: 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
> там, где действительно нужна
Обмен данными с устройствами Modbus.
> даже "защищенные" данные можно легко испортить в любом фрагменте кода с массивами
Есть и на это подозрение, я ошибусь с бОльшей вероятностью, чем разработчики компилятора.
Снимок экрана (204).pngСнимок экрана (205).pngСнимок экрана (206).png Добрый день. Пожалуйста помогите. Дайте идею. Смысл такой выбираю цвет, выбираю на другой панели светильник при его активации заливается новый цвет, а старый сбрасывается. Светильников 10шт. Цветов 16, но может быть и больше. Начал писать через IF. Все получается , но представьте сколько потрачу времени. Дайте совет. Пожалуйста.
С блоком я понимаю, но у меня еще есть 16 цветов и на каждый цвет я сейчас использую SR. На данный момент я вижу, чтобы создать блок надо отработать 16 SRок. Здесь наверно уже никак не спастись, придется все 16 расписывать?
Здравствуйте, подскажите, возможно ли сделать кнопку "Задать время с ПК", которая устанавливала бы текущую время и дату с компьютера в ПЛК ? Если возможно, то как ?
При выборе цвета SR его цепляет и держит, кнопка записи отпускается. А сброс происходит при нажатии другой кнопки и там тоже самое. Вот теперь подскажите пожалуйста как правильно написать массив в RESET . Пишу RESET:=MassivNameColor[2].bUstavColor, а нужно типа RESET:=MassivNameColor[2..16].bUstavColor, а единица работает. Дает ошибку могу писать только Резеты через запятую все 15штук. Но чувствую, что можно правильно написать, только я не знаю.