Страница 156 из 481 ПерваяПервая ... 56106146154155156157158166206256 ... ПоследняяПоследняя
Показано с 1,551 по 1,560 из 4801

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

  1. #1551

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    я то не знаю ТЗ!
    Оно как и раньше. Есть 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 лет и точно знаю что персонал который монтирует данные решения и который потом ими пользуется умом не блещут, и если что то пойдет не так будут кричать "памагице усе сламалася". Вот и решил подстраховать себя и попробовать подучится.
    Что непонятно: я предполагал, что считывается битовая маска входов(состояния кнопок) с модуля дискретного ввода, одного модуля на 16 входов хватит на 2 поста, на 32 входа хватит на 4 поста, у вас как-то всё иначе, модулями дискретного ввода там пока и не пахнет!
    Я на модулях пробовал, делал весь алгоритм тапок на пр, а у модулей ввода/вывода собирал битовую маску кнопок и отправлял битовую маску какую подсветить, но очень большие задержки уже при 3 пультах, а когда модули вывода повесил на этот же 485 все совсем грустно стало, тоесть ты нажимаешь кнопку и держишь ее пока она не начнет светиться, и держать нужно до 3х секунд, так естественно никто делать не будет.
    Вот потому у меня и приходят 2 сетевые переменные с двух пультов и я их одинаково обрабатываю, и да пульты могут быть на значительном расстоянии, потому один модуль на 2 пульта не подходит.
    И булевы переменные для настройки второго поста необходимо сделать другими, отличными от переменных для настройки первого поста, ну иначе - настройки первого и второго постов будут одинаковыми, надеюсь понятно написал!

    Я специально только эту часть программы тестирую отдельно от основной, что бы проще было разбираться, а булевы одинаковые что бы не возиться при тестах создавая их, а настройка второго пульт нужна что бы проверить как работает.

  2. #1552
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

    Цитата Сообщение от Saint999 Посмотреть сообщение
    эту часть программы тестирую отдельно от основной, что бы проще было разбираться, а булевы одинаковые что бы не возиться при тестах
    а как тестируете, сможете вообще показать таблицу истинности всего этого действа, тут же чисто булева логика ни каких таймеров, ни каких задержек на N-циклов

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

    По умолчанию

    Цитата Сообщение от 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.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

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

    По умолчанию

    Цитата Сообщение от 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 пульта не подходит.



    Я специально только эту часть программы тестирую отдельно от основной, что бы проще было разбираться, а булевы одинаковые что бы не возиться при тестах создавая их, а настройка второго пульт нужна что бы проверить как работает.
    Не понял, Вы отказались от модулей дискретного ввода и используете для каждого пульта отдельное ПР?
    Не вижу разницы, с чего считывать битовую маску состояния кнопок с модуля дискретного ввода или с ПР, мне кажется, это то же самое, имею ввиду по быстродействию, за счёт чего Вы выигрыш в быстродействии получили(хотите получить)?
    Ну, тогда, если для каждого пульта отдельное ПР Вам и разделять регистр на байты не нужно, каждый байт будет и так в отдельной переменой!

    Вот поправил:

    EEPROM_1.1.PNG

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

  5. #1555

    По умолчанию

    Цитата Сообщение от Сергей0308 Посмотреть сообщение
    Не понял, Вы отказались от модулей дискретного ввода и используете для каждого пульта отдельное ПР?
    Да
    Не вижу разницы, с чего считывать битовую маску состояния кнопок с модуля дискретного ввода или с ПР, мне кажется, это то же самое, имею ввиду по быстродействию, за счёт чего Вы выигрыш в быстродействии получили(хотите получить)?
    Пр при нажатии генерит битовую маску и держит ее в ячейке модбас (кнопки у нас с фиксацией), модуль генерит битовую маску пока нажата кнопка и в это время нужно успеть ее забрать, не успел забрать пока нажата, он сгенерит с отпущенной кнопкой, пока 1-2 пульта нормально, потом начинаются задержки, а задержка это время сколько нужно держать кнопку нажатой.

    Ну, тогда, если для каждого пульта отдельное ПР Вам и разделять регистр на байты не нужно, каждый байт будет и так в отдельной переменой!
    Вот я и не разделял, а спросил что я делаю в этих кодированиях, потому как если подать значение сетевой переменной напрямую на sel вход макроса у меня ничего не заработало, значения констант то я не поменял)

    Вот поправил:

    EEPROM_1.1.PNG

    EEPROM_1.1.owl

    Так работает, единственное у меня булевы переменные энергонезависимые с настройкой первую кнопку настроено 1 и 2, на вторую 1 и 3, на 3 - 1 и 4, а у модуля переключаются выводы:
    1 и 3
    1 и 4
    1 и 5

    Правда и в моем примере выше так же было (

  6. #1556

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    а как тестируете, сможете вообще показать таблицу истинности всего этого действа, тут же чисто булева логика ни каких таймеров, ни каких задержек на N-циклов
    Я погуглил про таблицы истинности, и не совсем понимаю как можно создать таблицу всего этого устройства/программы.

    А тестирую просто собрал 4 пульта 1 центральный, 2 модуля 16р подключил кучу кнопок с подсветкой, в меню понастовлял дублирование номеров программ что бы проще было и все это сижу и нажимаю и смотрю за реакцией.
    если что то не так запускаю отладку и пробую понять что я делаю не правильно.

  7. #1557

    По умолчанию

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

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

    По умолчанию

    Цитата Сообщение от Saint999 Посмотреть сообщение
    Да

    Пр при нажатии генерит битовую маску и держит ее в ячейке модбас (кнопки у нас с фиксацией), модуль генерит битовую маску пока нажата кнопка и в это время нужно успеть ее забрать, не успел забрать пока нажата, он сгенерит с отпущенной кнопкой, пока 1-2 пульта нормально, потом начинаются задержки, а задержка это время сколько нужно держать кнопку нажатой.


    Вот я и не разделял, а спросил что я делаю в этих кодированиях, потому как если подать значение сетевой переменной напрямую на sel вход макроса у меня ничего не заработало, значения констант то я не поменял)




    Так работает, единственное у меня булевы переменные энергонезависимые с настройкой первую кнопку настроено 1 и 2, на вторую 1 и 3, на 3 - 1 и 4, а у модуля переключаются выводы:
    1 и 3
    1 и 4
    1 и 5

    Правда и в моем примере выше так же было (
    Нулевой бит соответствует первому выходу, в макросе записи бит всё правильно настроено:

    2020-06-26.png

    Возможно Вы булевы переменные сдвинули, замечу например булева переменная с номером "0" отвечает за настройки первого выхода! Может, чтобы понятней было можно начать с булевой переменной с номером "1", тогда хотя бы первые 8 переменных будут совпадать с номером выхода!
    Последний раз редактировалось Сергей0308; 26.06.2020 в 14:00.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  9. #1559
    Banned
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,664

    По умолчанию

    Цитата Сообщение от Saint999 Посмотреть сообщение
    Я погуглил про таблицы истинности, и не совсем понимаю как можно создать таблицу всего этого устройства/программы.
    у Вас есть восемь входов и восемь выходов, к примеру на этом рисунке.
    Далее где угодно, например в exel рисуете таблицу с со следующей первой строкой I8,I7,I6,I5,I4,I3,I2,I1,Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8
    Затем заполняете колонки Ix единичками/ноликами поразрядно с 0 до 255
    Когда все занесли, начинаете заполнять поля колонок с Qx, в зависимости от состояния входов в каждой строке таблицы
    В итоге можете сами написать логику, например воспользовавшись советом или сюда выложить, тут останется только предложить решение, без лишних вопросов о приоритетности, о ситуациях не озвученных в ТЗ и т.п.

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

    По умолчанию

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

    2020-06-26 (2).png

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

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

    Или так:

    Фильтр.PNG

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

Страница 156 из 481 ПерваяПервая ... 56106146154155156157158166206256 ... ПоследняяПоследняя

Похожие темы

  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

Ваши права

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