Страница 1131 из 1178 ПерваяПервая ... 131631103110811121112911301131113211331141 ... ПоследняяПоследняя
Показано с 11,301 по 11,310 из 11771

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #11301

    По умолчанию

    Цитата Сообщение от vsa Посмотреть сообщение
    Давно хотел работать с групповой записью. Напомните ссылкой место, где можно подробнее изучить этот режим. Но для формирования строки, которую в дальнейшем нужно отправить в рядом расположенные регистры, необходимо сформировать. А это дополнительные операции. А это дополнительное время. Или я ошибаюсь?
    Вот ссылка чтения, записи через String.
    https://owen.ru/forum/showthread.php...l=1#post244022

    Несколько строк присвоения, никак не повлияют на длительность цикла программы, кроме того разложить по массивам переменные (если их много) можно, например циклом FOR
    Пример чтения 7 модулей 8АС и отправки всего в слейв https://owen.ru/forum/showthread.php?t=10555&page=987
    Для эмуляции с предустановленными значениями https://owen.ru/forum/showthread.php...&page=988#9875
    Последний раз редактировалось kondor3000; 16.02.2025 в 16:12.

  2. #11302

    По умолчанию

    А можно для ПЛК11-60М на один порт RS-484 закрепить несколько UMD с одним и тем же ModuluSlaveAddress, но с разными параметрами Polling time?
    Было бы не плохо таким образом не перегружать Modbus частыми опросами. Например, в моем случае, для одного внешнего устройства несколько регистров чтения (101 и 103) в одном UMD имеют Polling time=200 ms, а регистр (153) в другом UMD Polling time=4000 ms. И тогда код программы в ПЛК не нужно нагружать искусственными задержками опроса регистров внешнего устройства. Или это все так не работает?

  3. #11303

    По умолчанию

    Можно. Я тоже так делаю. Есть процессы, параметры которых меняются очень медленно. Нет смысла считывать их очень часто. А есть, наоборот, надо чаще.

  4. #11304

    По умолчанию

    Цитата Сообщение от vsa Посмотреть сообщение
    А можно для ПЛК11-60М на один порт RS-484 закрепить несколько UMD с одним и тем же ModuluSlaveAddress, но с разными параметрами Polling time?
    Было бы не плохо таким образом не перегружать Modbus частыми опросами. Например, в моем случае, для одного внешнего устройства несколько регистров чтения (101 и 103) в одном UMD имеют Polling time=200 ms, а регистр (153) в другом UMD Polling time=4000 ms. И тогда код программы в ПЛК не нужно нагружать искусственными задержками опроса регистров внешнего устройства. Или это все так не работает?
    Где-то это может быть оправдано, но если доразберётесь с групповыми запросами через string, то может и не понадобится это.
    А как вы хотели делать "искусственные задержки"?

  5. #11305

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Где-то это может быть оправдано, но если доразберётесь с групповыми запросами через string, то может и не понадобится это.
    А как вы хотели делать "искусственные задержки"?
    Пока с групповыми запросами я еще не разбирался, возможно Вы правы. Но для редко опрашиваемых регистров я и предложил отдельный UND c большим Polling time, а для часто опрашиваемых регистров Polling time имеет маленькое значение. А "искусственную задержку" я бы осуществлял обычными таймерами TON. Но они в таком случае не потребуются. О чем и был вопрос. EFrol положительно ответил. Возьму на вооружение.

  6. #11306

    По умолчанию

    Иногда надо и реже 1-го раза в 10 секунд. Тогда можно использовать режим "По команде". Я опрашиваю так кристаллизаторы 1 раз каждые 4 минуты. https://owen.ru/uploads/373/plc1xx_p...ation_v2.0.pdf
    Owen.jpg
    А если представить, что один ПЛК110-60 управляет несколькими цехами одновременно:
    Drawing1.jpg
    то используются все доступные средства.
    И в полне себе работает. Вот уже лет 8.

  7. #11307

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Иногда надо и реже 1-го раза в 10 секунд. Тогда можно использовать режим "По команде". Я опрашиваю так кристаллизаторы 1 раз каждые 4 минуты. https://owen.ru/uploads/373/plc1xx_p...ation_v2.0.pdf
    Owen.jpg
    А если представить, что один ПЛК110-60 управляет несколькими цехами одновременно:
    Drawing1.jpg
    то используются все доступные средства.
    И в полне себе работает. Вот уже лет 8.
    Спасибо за ответ. Учту в своих изысканиях.
    Последняя иллюстрация достойная рамки и на стену! Класс!!!

  8. #11308

    По умолчанию

    Сразу не бросайте тапки. Что-то никак не могу придумать реализацию T-триггера на языке ST. Был бы оператор GOTO, то мог бы смоделировать, этого оператора в ST нет.
    Представьте, имеются переменные IN, OUT : BOOL. Как сделать так, чтобы после первого сигнала на IN (TRUE) выставилось TRUE на OUT, а после следующего TRUE на IN должен появится сигнал FALSE на OUT и т.д. Короче, обычный T-триггер. Перебрал триггеры: RS, SR, F_TRIG и R_TRIG, но ничего красивого не выходит. Если можно, подскажите.

  9. #11309
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,575

    По умолчанию

    Цитата Сообщение от vsa Посмотреть сообщение
    Сразу не бросайте тапки. Что-то никак не могу придумать реализацию T-триггера на языке ST. Был бы оператор GOTO, то мог бы смоделировать, этого оператора в ST нет.
    Представьте, имеются переменные IN, OUT : BOOL. Как сделать так, чтобы после первого сигнала на IN (TRUE) выставилось TRUE на OUT, а после следующего TRUE на IN должен появится сигнал FALSE на OUT и т.д. Короче, обычный T-триггер. Перебрал триггеры: RS, SR, F_TRIG и R_TRIG, но ничего красивого не выходит. Если можно, подскажите.
    помимо стандартной библиотеки есть еще oscat, там представлены всевозможные триггеры
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  10. #11310

    По умолчанию

    Цитата Сообщение от vsa Посмотреть сообщение
    Сразу не бросайте тапки. Что-то никак не могу придумать реализацию T-триггера на языке ST. Был бы оператор GOTO, то мог бы смоделировать, этого оператора в ST нет.
    Представьте, имеются переменные IN, OUT : BOOL. Как сделать так, чтобы после первого сигнала на IN (TRUE) выставилось TRUE на OUT, а после следующего TRUE на IN должен появится сигнал FALSE на OUT и т.д. Короче, обычный T-триггер. Перебрал триггеры: RS, SR, F_TRIG и R_TRIG, но ничего красивого не выходит. Если можно, подскажите.
    Нужна внутренняя переменная, чтобы выделять фронт на входе. По входному фронту инвертируйте значение выхода

Страница 1131 из 1178 ПерваяПервая ... 131631103110811121112911301131113211331141 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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