Вы сделайте как нарисовано и всё сами поймёте. Проверяйте в эмуляции. Скрин на 4 бита 1 Сетевая с Маской и кнопками.jpg
Ваш пример тоже будет работать для 1 бита. Только передать по сети вы ничего не сможете. Даже если сделаете сетевую переменную.
Последний раз редактировалось kondor3000; 28.08.2023 в 22:55.
Спасибо за примеры.Хотел уточнить в вашем втором примере при нажатие на дискретный вход на выходе появляется еденица тоесть блок экстракт читает состояние входа из сетевой переменной.Но при отжатие кнопки на входе выход остается замкнут нужно повторно нажать на вход что бы выход выкл.Не совсем удобно для упр входами.
2.Я добавил своб переменную вкл насос со второго входа в этом случая я могу ее передать по сети и читать ее состояние а так же вкл и выкл через скаду?В эмуляции вроде все работает в овен лоджик а как будет на скада пока не проверял.Мысль я понял вы упаковали дискретные входы в битовую маску и передали ее по сети где на выходе блок экстракт из битовой маски выделяет нужный бит которыйScreenshot_9.png вкл на входе пр, я так понял.
Схему на R-Trig и XOR, удобно применять для управления светом, кнопку нажали свет горит, ещё раз нажали свет погас. Иначе придётся применять переключатель.
Если вы поставите кнопку без R-Trig у вас будет только импульс, пока держите кнопку. Как сделать решать вам.
Скаду можно заменить на время ОПС сервером или эмуляцией панели.
Последний раз редактировалось kondor3000; 31.08.2023 в 15:03.
Разбирался с битами и байтами сделал себе расчет в экселе и стало понятно более менее.Но все же не пойму у меня имеется простая программа пуск стоп насоса и авария.Мне нужно в скаде не только читать состояние входа переключателя но и управлять им через скаду то есть вкл вход 1 пуск и выкл вход 2 стоп, получается на вход 1 в нулевую ячейку регистра подаем 1 и 0 переписываем на 1 выход вкл теперь мне нужно видеть состояние выхода понятно что блок экстракт распаковал стояние входа в 1 и вкл выход.Если будет большая сложная программа как мне упаковывать входы и выходы если к ним уже привязаны переменные булевские.Вот на скрине простая программа как мне передать значения входов в скаду и выходов.Что бы через входа управлял выходами и видел их состояние. Screenshot_11.png
Вы опять выкинули макрос SelChgI и вернулись к тому, с чего начинали, зачем я вам 5 постов написал?
Если у вас 1 вход, один выход и 1 авария, можно их все передать одной маской.
Если большой проект и вам надо отдельно входы и отдельно выходы, сделайте 2 маски ( если надо ещё и маску аварий) и передавайте.
16 входов, 16 выходов и 16 аварий вы можете передать через 3 регистра.
Последний раз редактировалось kondor3000; 04.09.2023 в 21:23.
Screenshot_13.pngСкажите вот так правильно будет?Можно подробнее описания блока SelChgl1?А то справка не информативна.
Последний раз редактировалось kondor3000; 05.09.2023 в 07:42.
Если вам не сложно покажите на примере моем кнопки пуск стоп и авария как бы вы это сделали.Я думал что могу упаковать блоком путбит состояния бита каждого входа а потом его распаковать тот бит который отвечает за вкл за выкл и за аварию и передать это все в сетевую целочисленную переменную.
Вот пример, Пуск и Стоп это Нулевой бит, Авария - первый бит 1 Передача бит.jpg