Мухи отдельно, котлеты туда-же. Надо разделять состояние и аварии. Аварий может быть несколько для одного обьекта. Состояния тоже свои. Я аварии пишу в отдельные слова.

Комментарии: 11

  1. Iiy

    Кстати журнал я хочу сделать чтобы сообщения были только по изменению состояния. То есть "22.04.2023/14:31 транспортер 2.4 включен" и всё. Не так чтобы оно прям каждую секунду писало все состояния всех механизмов Я решил сделать на этот объект так что у каждого механизма своё слово. Мне на много удобней. И оно универсальное. К примеру бит 4 что в задвижки что в нории и т.п. будет всегда означать что механизм участвует в прорисовке маршрута. Короче там биты этих слов пересекаются, допустим в каждого типа механизма может быть авария автомата, вот в каждом слове это будет один и тот же бит

    • Yuriy

      Слово состояния я делаю не по битам, а по значению. 0-включение запрещено 1- включен. И т.д. Таким образом состояние всегда одно. Если делать в битах может что-то задублироваться, пояится неопределенность. При изменении слова выходит сообщение, да один раз только при ищменении.

      • Iiy

        Так мне чтобы понять что у меня изменилось в слове (произошел запуск или авария) нужно знать что было до этого, не было ли оно уже запущено чтобы не писать постоянно в журнал то что уже было записано. Я просто начинал когда то с ардуино))

        • Yuriy

          Что-то ты Виталий перегрелся. Остановись, все обдумай спокойно.

          • Iiy

            Раньше у меня были слова которые отвечали за аварии всего подряд побитно, потом слова которые отвечали за режимы работы и т.д. А потом мне показалось что это фигня. И к фейсплейту удобнее подключать всего одну переменную: слово которое отвечает за весь механизм да и всё Нужно экономить powerTags)

            • Yagudron

              Так ты зааеди одну переменную на всё четверной даблфлоат и будет вообще просто

              • Iiy

                Можно с помощью одного powerTag вообще работать. Паковать туда поочередно все подряд) типа первые 6 бит это номер механизма остальные биты его все состояния И так контроллер пусть пакует в цикле по очереди все переменные в скаду а скада получает данные и распаковывает уже себе на internal tags Будет виталий-bus такой)

            • Vyacheslav

              STS, ALM, CMD - и плевать на экономию. Порядок и смысл дороже

            • Yuriy

              Ну можно в слово два байта разбить. Старший состояние, младший побитно аварии 8 шт должно хватить на аварийные состояния.

              • Evgeniy

                Вроде все там с конфигурированием бит из слова и выбором фронтов нормально

        • Yagudron

          Ну если Ардуино то неудивительно паковать все в одну кучу семёнс это такая могучая ардуина, что можно не паковать

Не нашли ответ?

Вам также может быть интересно