Страница 186 из 191 ПерваяПервая ... 86136176184185186187188 ... ПоследняяПоследняя
Показано с 1,851 по 1,860 из 1908

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

  1. #1851

    По умолчанию

    Суть проблемы описана выше

  2. #1852
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,534

    По умолчанию

    Цитата Сообщение от Alex469 Посмотреть сообщение
    Приветствую всех. С месяц назад мной был задан вопрос касательно одной задачи. На что были получены отличные ответы от уважаемого petera с конкретными примерами. Вкратце напомню, что речь шла о ПР100 в режиме слейв, которое должно было управлять двумя устройствами по командам от модбас мастера с использованием обратного таймера. Сейчас потребовалось решить аналогичную задачу, но при этом ПР100 должно работать в режиме мастер. Я было взял уже наработанный пример для слейва, "сделал" из слейва мастера и понял, что схема НЕ работает. Прилагаю два проекта: для слейва (от petera) и мою "переделку" для мастера (я здесь даже упростил и оставил только одно устройство).
    Вижу где кроется "закавыка" (в обработке сетевой переменной Start_MB), но никак это "закавыку" не могу победить. А посему прошу помощи знатоков.
    Еще раз поясню, что ус-во, подключенное к выходу Q1 должно включаться по значению переменной Start_MB = 1. И должно выключаться по Start_MB = 0, либо по истечению заданного (не нулевого) времени.
    При этом важно, что если выключение устройства происходит по истечению времени, то переменная Start_MB должна обязательно устанавливаться в 0.
    Нет ПРки под рукой, проверить не могу

    попробуйте включить "Запись в конце цикла"
    Захват-1.png

    ЗЫ
    В Вашем случае думаю можно упростить
    Захват-2.png
    Последний раз редактировалось petera; 20.11.2020 в 12:52.
    26 лет деятельности в области промышленной безопасности

  3. #1853

    По умолчанию

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

  4. #1854
    Пользователь
    Регистрация
    05.10.2020
    Адрес
    Питер
    Сообщений
    31

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Нет ПРки под рукой, проверить не могу
    попробуйте включить "Запись в конце цикла
    ЗЫ
    В Вашем случае думаю можно упростить
    Отлично. Работает. Упрощенный вариант тоже (который мне больше понравился). Огромное спасибо!
    Последний раз редактировалось Alex469; 20.11.2020 в 14:05.

  5. #1855
    Пользователь
    Регистрация
    05.10.2020
    Адрес
    Питер
    Сообщений
    31

    По умолчанию

    Цитата Сообщение от bayk Посмотреть сообщение
    Поправка, чтобы функция "запись в конце цикла" стала активной переменная должна обязательно быть подключена к экранному элементу, или переменная должна быть энергонезависимой, тогда функция автоматически будет работать, если я ничего не путаю
    В моем случае это сетевая переменная (ПРка в режиме мастер). Соответственно функция "запись в конце цикла" для данной переменной активна.

  6. #1856
    Пользователь
    Регистрация
    05.10.2020
    Адрес
    Питер
    Сообщений
    31

    По умолчанию

    Очередной вопрос: в ПР100 есть 6 цифровых входов I1,...,I6. ПР100 в режиме модбас мастер. Нужно сформировать сетевую слейв переменную Err_MB целого типа по следующему алгоритму.
    Если все входы равны 0, то Err_MB = 0. Если хотя бы один вход стал равен 1, то переменная Err_MB должна стать равна номеру входа, на котором появился 1.
    При этом важно, что бы в переменной Err_MB должен зафиксироваться номер первого сработавшего входа. Т.е. если сначала сработал вход I3, а потом вход I5, то Err_MB должна остаться = 3.
    Более того, как только Err_MB изменилась из 0 в номер сработавшего входа, то изменить ее в 0 потом можно только слейвом (по модбас).

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

    По умолчанию

    Цитата Сообщение от Alex469 Посмотреть сообщение
    Очередной вопрос: в ПР100 есть 6 цифровых входов I1,...,I6. ПР100 в режиме модбас мастер. Нужно сформировать сетевую слейв переменную Err_MB целого типа по следующему алгоритму.
    Если все входы равны 0, то Err_MB = 0. Если хотя бы один вход стал равен 1, то переменная Err_MB должна стать равна номеру входа, на котором появился 1.
    При этом важно, что бы в переменной Err_MB должен зафиксироваться номер первого сработавшего входа. Т.е. если сначала сработал вход I3, а потом вход I5, то Err_MB должна остаться = 3.
    Более того, как только Err_MB изменилась из 0 в номер сработавшего входа, то изменить ее в 0 потом можно только слейвом (по модбас).
    Не до конца ясно, как должно работать в тех или иных случаях, например должно ли сбрасываться при наличии активных аварий(ошибок), у меня можно сбросить и следующая авария(ошибка) появится только после пропадании всех и возникновении вновь или логика при одновременном нажатии более одного входа(у меня приоритет у более старшего входа), короче, наверно примерно так:

    Авария_3.PNG

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

  8. #1858
    Пользователь
    Регистрация
    05.10.2020
    Адрес
    Питер
    Сообщений
    31

    По умолчанию

    Сергей0308, спасибо огромное, практически то, что нужно. Особенно интересно решение с приоритетами при одновременном нажатии более одного входа. Вот только не пойму назначение переменной IN1_8.
    Если я понял правильно, то в OUT_w формируется код аварии (от 1 до 8). Как правильно сбрасывать это код в 0? Записью 0 в локальную переменную Q ? Или формированием некоторого значения (какого ?) в IN1_8 ?
    Какова связь между срабатыванием входов и значением переменной IN1_8 ?

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

    По умолчанию

    Цитата Сообщение от Alex469 Посмотреть сообщение
    Сергей0308, спасибо огромное, практически то, что нужно. Особенно интересно решение с приоритетами при одновременном нажатии более одного входа. Вот только не пойму назначение переменной IN1_8.
    Если я понял правильно, то в OUT_w формируется код аварии (от 1 до 8). Как правильно сбрасывать это код в 0? Записью 0 в локальную переменную Q ? Или формированием некоторого значения (какого ?) в IN1_8 ?
    Какова связь между срабатыванием входов и значением переменной IN1_8 ?
    Насколько я смог понять, Вы хотели сбрасывать код ошибки(1-8) только по сети?!
    В данном случае, для примера ПР200(мастер) считывает 51 регистр модуля дискретного ввода(слейв) и если на его первом входе появляется "1" сбрасывает значение ошибки в "0". Можно одним регистром передавать до 16 дискретных сигналов! Короче, сброс происходит значением "1" в сетевой переменной IN1_8, так как такой весовой коэффициент у первого входа(нулевого бита), у второго входа(первого бита) это будет "2" у третьего входа - "4", у четвёртого входа - "8", у пятого входа - "16", у шестого входа - "32", у седьмого входа - "64" и у восьмого входа - "128", если сброс сделать с этих входов, всё!

    Для передачи кода ошибки(диапазона 0-6) достаточно задействовать три бита(диапазон 0-7)!
    Последний раз редактировалось Сергей0308; 28.11.2020 в 20:23.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  10. #1860
    Пользователь
    Регистрация
    05.10.2020
    Адрес
    Питер
    Сообщений
    31

    По умолчанию

    Сергей0308, спасибо за пояснение. Я понял назначение данной переменной в Вашем примере.

Страница 186 из 191 ПерваяПервая ... 86136176184185186187188 ... ПоследняяПоследняя

Похожие темы

  1. Вопросы новичка!!!
    от sau в разделе ПЛК1хх
    Ответов: 12
    Последнее сообщение: 03.07.2019, 15:50
  2. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 15:39
  3. ПЛК 110 - Вопросы новичка?
    от di-s в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 06.09.2011, 15:12
  4. Вопросы полного новичка
    от Korion в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 09.02.2010, 10:08
  5. Вопросы новичка по ПЛК
    от Ollegator в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 07.07.2009, 10:29

Ваши права

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