Показано с 1 по 10 из 4481

Тема: разные вопросы новичка

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,438

    По умолчанию

    Цитата Сообщение от Saint999 Посмотреть сообщение
    Оно как и раньше. Есть 8 пультов, на них прошивка Ваша: кто первый встал того и тапки, я ее только для 8 кнопок сделал и битовую маску от них передаю "центральному контроллеру"
    Алгоритм работы такой: нажали кнопку 1 светится 1, нажали 2 светится 2 и тд, стоп всегда главный.

    2020-06-26_09-32_OWEN Logic.jpg
    MSO1.owl

    Центральный контроллер собирает битовые маски нажатых кнопок всех постов и в зависимости от настройки, которую я пытаюсь сделать вот уже неделю), включает на модулях дискретного вывода МУ110-224.16Р выходы (например: на первую кнопку настроено 1 и 2, на вторую 1 и 3, на 3 - 1 и 4 и тд., и вот эту настройку хотелось бы менять через меню), один модуль на 2 пульта.
    Считаем наработку по первой кнопке каждого поста, так же считаем ее включения, на экраны выводим общий пробег/включения и пробег включения до ТО.
    Есть настройка сколько у нас пультов и какие выходы активны при нажатии какой кнопки (пока я сделал настройку каждой программы для всех пультов одновременно и сделал это не очень красиво, потому и начал с битовыми операциями разбираться что Вы предложили, а вот с командоаппаратом не разобрался)
    Обрабатываем и отображаем всевозможные аварии, на данный момент сделано отслеживание связи с модулями, в последующем планирую добавить залипания пускателей, обработку датчиков давления, температуры и тд.

    Отдельным пунктом выделю использование RFID карточек для доступа к пульту, потому как пример реализации есть, но я совсем не понимаю как он работает и разбираться буду очень долго с ним.

    За проект мне не платят и по сути достаточно было бы сделать на первую кнопку настроено 1 и 2, на вторую 1 и 3, на 3 - 1 и 4 и тд. и никаких настроек и аварий, но так как я с этим работаю уже 12 лет и точно знаю что персонал который монтирует данные решения и который потом ими пользуется умом не блещут, и если что то пойдет не так будут кричать "памагице усе сламалася". Вот и решил подстраховать себя и попробовать подучится.

    Я на модулях пробовал, делал весь алгоритм тапок на пр, а у модулей ввода/вывода собирал битовую маску кнопок и отправлял битовую маску какую подсветить, но очень большие задержки уже при 3 пультах, а когда модули вывода повесил на этот же 485 все совсем грустно стало, тоесть ты нажимаешь кнопку и держишь ее пока она не начнет светиться, и держать нужно до 3х секунд, так естественно никто делать не будет.
    Вот потому у меня и приходят 2 сетевые переменные с двух пультов и я их одинаково обрабатываю, и да пульты могут быть на значительном расстоянии, потому один модуль на 2 пульта не подходит.



    Я специально только эту часть программы тестирую отдельно от основной, что бы проще было разбираться, а булевы одинаковые что бы не возиться при тестах создавая их, а настройка второго пульт нужна что бы проверить как работает.
    Понятней не стало, приходится спросить ещё раз: логику мы создали, от каждого поста должно одновременно приходить не более одного бита в состоянии "1", но если всё же придёт более одного взведённого бита, мало ли что: ошибка, сбой, помеха! Так вот какое состояние выходов предпочтительно для такого(аварийного) случая:
    1. Состояние выходов соответствует старшему поступившему биту, имеющему приоритет;
    2. все выходы выключены.
    Как бы логично предусмотреть и логику(в данном случае - состояния выходов) для аварийных случаев, ну я так думаю!
    Ещё как вариант, требующий небольшой доработки имеющейся логики - состояния выходов не меняется, соответствует преведущему, не аварийному состоянию кнопок!
    Последний раз редактировалось Сергей0308; 26.06.2020 в 10:59.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  2. #2

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Понятней не стало, приходится спросить ещё раз: логику мы создали, от каждого поста должно одновременно приходить не более одного бита в состоянии "1", но если всё же придёт более одного взведённого бита, мало ли что: ошибка, сбой, помеха! Так вот какое состояние выходов предпочтительно для такого(аварийного) случая:
    1. Состояние выходов соответствует старшему поступившему биту, имеющему приоритет;
    2. все выходы выключены.
    Как бы логично предусмотреть и логику(в данном случае - состояния выходов) для аварийных случаев, ну я так думаю!
    Ещё как вариант, требующий небольшой доработки имеющейся логики - состояния выходов не меняется, соответствует преведущему, не аварийному состоянию кнопок!
    А можно как то сделать фильтр, что бы оставалось предыдущее состояние, если что то включено то оставлять его, а если все выключено то и не включать ничего?
    Это я так понимаю что нужен список возможных вариантов команд, а остальное фильтруем?

  3. #3
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,438

    По умолчанию

    Цитата Сообщение от Saint999 Посмотреть сообщение
    А можно как то сделать фильтр, что бы оставалось предыдущее состояние, если что то включено то оставлять его, а если все выключено то и не включать ничего?
    Это я так понимаю что нужен список возможных вариантов команд, а остальное фильтруем?
    Здесь всё проще будет, наподобие как мы с кнопками делали для выбора нажатой кнопки пульта, если будет время и желание вечером на досуге это попробую сделать!
    Как-то примерно так, вот проект для демонстрации подправил, для реализации наших хотелок:

    2020-06-26 (2).png

    Ну да что-то типа фильтра получилось, команды с более чем одной нажатой кнопкой не воспринимаются, сохраняется преведущее состояние!

    Не более одной одновременно нажатой кнопки.owl

    Или так:

    Фильтр.PNG

    Фильтр.owl
    Последний раз редактировалось Сергей0308; 28.06.2020 в 01:08.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  4. #4

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Здесь всё проще будет, наподобие как мы с кнопками делали для выбора нажатой кнопки пульта, если будет время и желание вечером на досуге это попробую сделать!
    Мне если честно уже стыдно писать, я уже голову задурил своей безграмотностью.
    Но нравится мне другое, я несколько лет что то делал с ардуиной (для дома естественно) и даже и 0,0001 части от той информации что я за эти две недели не почерпнул. Я сижу сейчас с калькулятором в режиме программист биты счелкаю что бы в эмуляторе в 10 виде задать значение. Я даже и представить себе не мог что я до такого дойду. Спасибо Вам большое!

  5. #5
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,438

    По умолчанию

    Цитата Сообщение от Saint999 Посмотреть сообщение
    Мне если честно уже стыдно писать, я уже голову задурил своей безграмотностью.
    Но нравится мне другое, я несколько лет что то делал с ардуиной (для дома естественно) и даже и 0,0001 части от той информации что я за эти две недели не почерпнул. Я сижу сейчас с калькулятором в режиме программист биты счелкаю что бы в эмуляторе в 10 виде задать значение. Я даже и представить себе не мог что я до такого дойду. Спасибо Вам большое!
    Ну тогда у меня есть макрос ПЗУ на 257 ячеек памяти, что, кстати, более чем 16 раз превосходит ваши потребности, можно наверно и сократить его и(или) немного переделать, короче, берёте этот макрос и всё! Всё остальное(почти всё) придётся выкинуть за ненадобностью, там Вам калькулятор как раз может пригодится, недостатки тоже есть, один из них невозможность изменить логику без перезаливки программы, но Вы вроде писали, что это не критично, если это так, то костюмчик, как по Вам шитый!

    2020-06-26 (1).png

    2-вариант, универсальный.owl
    Последний раз редактировалось Сергей0308; 26.06.2020 в 17:30.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  6. #6
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,438

    По умолчанию

    Цитата Сообщение от Saint999 Посмотреть сообщение
    А можно как то сделать фильтр, что бы оставалось предыдущее состояние, если что то включено то оставлять его, а если все выключено то и не включать ничего?
    Это я так понимаю что нужен список возможных вариантов команд, а остальное фильтруем?
    Вот в проект фильтр добавил:

    2020-06-26 (3).png

    EEPROM_1.2.owl
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

Похожие темы

  1. ПЛК 110 - Вопросы новичка?
    от di-s в разделе ПЛК1хх
    Ответов: 21
    Последнее сообщение: 15.04.2025, 16:38
  2. Вопросы новичка!!!
    от sau в разделе ПЛК1хх
    Ответов: 42
    Последнее сообщение: 02.05.2022, 19:57
  3. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  4. Вопросы полного новичка
    от Korion в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 09.02.2010, 10:08
  5. Вопросы новичка по ПЛК
    от Ollegator в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.07.2009, 09:29

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •