ЛН
-
- В один регистр, в разные его биты. Мастер - один, ровно до тех пор,
пока ты не сообразишь (если это SCADA) что два разных тега
"записать единичку" это гонка сигналов "чтение-модификация-запись"
и результат может быть немного разный, в зависимости от того кто первый и насколько мало от него отстаёт
второй. Cкpипaч(94 знак., 09.04.2025 13:35)
- В таком случае, делается отдельно регистр с маской для установки
бит и отдельно - для снятия. Как GPIO у STM32F. - Nikolay_Po(09.04.2025 17:19)
- В таких случаях используются coil's. Или отдельные номера регистров
(это же не память, это только номера). - Cкpипaч(09.04.2025 17:41)
- Аффтор хочет перейти от побитной установки к установке нескольких битов сразу. - Boвa(11.04.2025 04:51)
- В таких случаях используются coil's. Или отдельные номера регистров
(это же не память, это только номера). - Cкpипaч(09.04.2025 17:41)
- если это возможно, значить надо ебать и пиздить пограммиста. LordN(294 знак., 09.04.2025 17:03)
- Не дело слэйва разбираться приоритетах или конфликтах команд верхнего уровня. "раб" обязан не задумываясь исполнять приказы, четко и со всем старанием и не более того. - 3m(10.04.2025 10:41)
- ...а еще, всем нужно быть здоровыми и богатыми. Передавайте битовые
команды через коилы и не испытывайте судьбу. Cкpипaч(166 знак., 09.04.2025 17:52)
- Спасибо. - Nikolay_Po(10.04.2025 09:33)
- ну, это-то точно косяк пограммиста. два логически разных устройства
в одном командном регистре - это какая-то иканомика. от слова "оно
тебе еще не раз икнется" :о) LordN(549 знак., 10.04.2025 08:30, картинка)
- Утомил ты необоснованными претензиями к программистам. Но к выводу
ты пришел верному - используй коилы или целые регистры вместо них. Паковать по несколько команды на запись в
один регистр - кроилово. - Cкpипaч(10.04.2025 10:01)
- в каком месте предложенный вариант создаст проблему? - LordN(10.04.2025 16:32)
- В СКАДЕ. Представь себе "упакованные по шеснадцать" биты управления
вытяжными вентиляторами. Cкpипaч(309 знак., 10.04.2025 16:42)
- ну хз. со скадами я не столько много работал чтобы знать все их
косяки. но если работа пусть даже со скады идёт через плк который
рулит каким-то слейвом который уже рулит вентами, то тут косяков
вроде не должно быть - LordN(10.04.2025 16:51)
- Мне лень расписывать пошагово такую фундаментальную штуку как
"неатомарная запись". Но ставить ПЛК только для того чтобы
упаковать шестнадцать бит в один регистр (по сравнению с тем чтобы
абсолютно точно также их упаковать, только с другим кодом
функции)... у богатых свои причуды. Cкpипaч(176 знак., 10.04.2025 17:09)
- Перенос выполнения алгоритмов в SCADA рабочий, но снижающий
надежность системы вариант. Делали так и потом переделывали.
Объединение битовых сигналов в регистр для многих SCADA снижает
стоимость лицензии - уменьшается количество точек ввода-вывода. - AlexG(11.04.2025 03:03)
- С этим согласен, не всё можно переносить на SCADA. У меня рынок АСМУ инженерных систем зданий, в моих проектах полно устройств, управляемых только дистанционной командой оператора, а она все равно приходит только из SCADA. - Cкpипaч(11.04.2025 08:47)
- вот-вот. теги. 32битный регистр - это один тэг. а 32 койла - это 32
тэга. LordN(342 знак., 11.04.2025 07:10)
- Коллега, прочитать 32 бита, функцией 1 или 2 - вполне себе один запрос. Осознайте наконец - вы боритесь против использования функции, специально придуманной под задачу, использованием функции, придуманной для совершенно другого :) - Cкpипaч(11.04.2025 09:00)
- А архив? А тренды? В обычном проекте, стоимость лицензии на софт, раз в десять меньше стоимости труда программиста-скадовика. Что экономим? И за счет чего? Cкpипaч(102 знак., 11.04.2025 08:44)
- Перенос выполнения алгоритмов в SCADA рабочий, но снижающий
надежность системы вариант. Делали так и потом переделывали.
Объединение битовых сигналов в регистр для многих SCADA снижает
стоимость лицензии - уменьшается количество точек ввода-вывода. - AlexG(11.04.2025 03:03)
- Мне лень расписывать пошагово такую фундаментальную штуку как
"неатомарная запись". Но ставить ПЛК только для того чтобы
упаковать шестнадцать бит в один регистр (по сравнению с тем чтобы
абсолютно точно также их упаковать, только с другим кодом
функции)... у богатых свои причуды. Cкpипaч(176 знак., 10.04.2025 17:09)
- ну хз. со скадами я не столько много работал чтобы знать все их
косяки. но если работа пусть даже со скады идёт через плк который
рулит каким-то слейвом который уже рулит вентами, то тут косяков
вроде не должно быть - LordN(10.04.2025 16:51)
- В СКАДЕ. Представь себе "упакованные по шеснадцать" биты управления
вытяжными вентиляторами. Cкpипaч(309 знак., 10.04.2025 16:42)
- в каком месте предложенный вариант создаст проблему? - LordN(10.04.2025 16:32)
- Утомил ты необоснованными претензиями к программистам. Но к выводу
ты пришел верному - используй коилы или целые регистры вместо них. Паковать по несколько команды на запись в
один регистр - кроилово. - Cкpипaч(10.04.2025 10:01)
- В таком случае, делается отдельно регистр с маской для установки
бит и отдельно - для снятия. Как GPIO у STM32F. - Nikolay_Po(09.04.2025 17:19)
- В один регистр, в разные его биты. Мастер - один, ровно до тех пор,
пока ты не сообразишь (если это SCADA) что два разных тега
"записать единичку" это гонка сигналов "чтение-модификация-запись"
и результат может быть немного разный, в зависимости от того кто первый и насколько мало от него отстаёт
второй. Cкpипaч(94 знак., 09.04.2025 13:35)