Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Чтение регистра из модуля ввода

  1. #1

    По умолчанию Чтение регистра из модуля ввода

    Добрый день
    Есть связка ПЛК-160-30 [M2] и модуль дискретного ввода MB110. Все сконфигурировал и могу обращаться к входам модуля через точку: module_in.0, module_in.1 и тд.
    Вопрос: можно ли привязать каждый вход модуля к отдельной переменной (module_id1, module_id2 и тд)? (также как это работает в самом ПЛК-160, там для каждого входа/выхода можно задать свою переменную)

  2. #2
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,317

    По умолчанию

    .............
    Последний раз редактировалось Валенок; 16.09.2021 в 13:38.

  3. #3

    По умолчанию

    Да, сейчас сконфигурировано так, что я читаю битовую маску всех входов (регистры 99 и 100).
    Но в документациии к модулю я вижу что можно считать состояние каждого отдельного входа (Значение на входе № 1 - регистр 101, Значение на входе № 2 - регистр 102 и тд).
    Вот не пойму как сконфигурировать модуль так, чтоб считывать каждый отдельный регистр в отдельную переменную.
    Сейчас вот так:
    Снимок экрана 2021-09-14 в 10.45.57.png

  4. #4

    По умолчанию

    Ну если в ПЛК руками разобрать.
    Я так делаю: беру маску и через точки присваиваю её биты булевым переменным (типа - кнопки, лампы) - и с ними работаю
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  5. #5

    По умолчанию

    Цитата Сообщение от koroan Посмотреть сообщение
    Да, сейчас сконфигурировано так, что я читаю битовую маску всех входов (регистры 99 и 100).
    Но в документациии к модулю я вижу что можно считать состояние каждого отдельного входа (Значение на входе № 1 - регистр 101, Значение на входе № 2 - регистр 102 и тд).
    Вот не пойму как сконфигурировать модуль так, чтоб считывать каждый отдельный регистр в отдельную переменную.
    Сейчас вот так:
    Снимок экрана 2021-09-14 в 10.45.57.png
    Не понимаю чем вас не устраивает
    Код:
      
    Bit1:=module_in.0;  
    Bit2:=module_in.1;  
    ............
    Bit16:=module_in.15;
    и т. д., как вы хотели каждой переменной присвоен бит. Этим вариантом все пользуются).
    Но если очень надо, можно в каждый регистр вместо RegistrInput добавить по 2 шт. 8 BitInput, но это неточно))), есть и третий вариант, тут Petera писал в соседних темах.
    Последний раз редактировалось kondor3000; 14.09.2021 в 16:14.

  6. #6

    По умолчанию

    Вот я отмечусь тоже.
    Я так делаю:
    IOVars-1.gif IOVars-2.gif IOVars-3.gif
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  7. #7

    По умолчанию

    Вот нашёл ещё вариант, пост № 5 от Petera.
    https://owen.ru/forum/showthread.php...l=1#post187668
    Последний раз редактировалось kondor3000; 14.09.2021 в 16:18.

  8. #8

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Не понимаю чем вас не устраивает
    Код:
      
    Bit1:=module_in.0;  
    Bit2:=module_in.1;  
    ............
    Bit16:=module_in.15;
    и т. д., как вы хотели каждой переменной присвоен бит. Этим вариантом все пользуются).
    Но если очень надо, можно в каждый регистр вместо RegistrInput добавить по 2 шт. 8 BitInput, но это неточно))), есть и третий вариант, тут Petera писал в соседних темах.
    Не хотел делать именно так, потому что это лишние операции присваивания в программе. Аналогично в модуле вывода в конце программы нужно делать
    module_out.0 := leftLampState;
    вместо того, чтобы в коде программы сделать leftLampState := TRUE; и все (для этого мне и нужно переменную leftLampState привязать к определенному входу / выходу, тогда сразу после leftLampState := TRUE состояние выхода будет меняться )

  9. #9

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    но ведь конфигуратор не далает групповые запросы, если его не попросить, а время потраченное на последовательный опрос регистров несоизмеримо больше чем в плк присвоить из слова биты булевым переменным и обратно
    Да, согласен. Тогда остается вариант, как Petera предложил (но там небольшой хак)

  10. #10

    По умолчанию

    Цитата Сообщение от koroan Посмотреть сообщение
    Да, согласен. Тогда остается вариант, как Petera предложил (но там небольшой хак)
    А второй вариант проверить?

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Связь модуля вывода и модуля ввода.
    от Linker1989 в разделе Мх210
    Ответов: 27
    Последнее сообщение: 22.05.2020, 09:15
  2. Чтение и запись одного регистра ПР200 через OwenCloud (ПЕ210)
    от arty в разделе Среда программирования OWEN Logic
    Ответов: 28
    Последнее сообщение: 15.05.2020, 10:03
  3. Ответов: 7
    Последнее сообщение: 20.01.2019, 11:25
  4. Чтение/запись из одного регистра
    от Николай_бел в разделе ПЛК1хх
    Ответов: 23
    Последнее сообщение: 14.10.2016, 13:53
  5. выбор модуля ввода
    от kriklivtsev в разделе Разработки
    Ответов: 1
    Последнее сообщение: 17.02.2010, 12:58

Ваши права

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