Страница 11 из 158 ПерваяПервая ... 9101112132161111 ... ПоследняяПоследняя
Показано с 101 по 110 из 1740

Тема: CODESYS V3.5. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.)

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    10.04.2010
    Адрес
    Алтайский край,г.Рубцовск
    Сообщений
    956

    По умолчанию

    Дак а какой смысл писать заново Ваши блоки собраны на этой бибке, я же не просто отключил выхода 8А. а пересобрал ФБ, всего 16 регистров
    CASE marker OF


    0: get_modbus(
    Enable:=trig.Q1 , (* разрешение работы блока *)
    Mode:=Modd , (*режим передачи*)
    DevAddr:=Addr , (*адрес*)
    FirstAddr:=RegAddr1 , (*номер регистра*)
    Quantity:=2, (*количество регистров*)
    ComHandle:=handle ,(*номер COM-порта*)
    TimeOut:=TimeOut , (*Таймаут T#50ms*)
    Buffer:=Buffer , (* буфер данных *)
    Complete=>cmpl , (* скопировать признак завершения операции *)
    Exception=>Err , (* скопировать регистр ошибок *)
    ByteCnt=>DataSize ); (*кол-во считанных байтов *)




    IF cmpl THEN
    IF Err=0 THEN (*Если нет ошибок, то получаем данные из буфера*)
    inp1:=0;

    ptr_x:=ADR(inp1);
    ptr_x^:=buffer[7];
    ptr_x:=ptr_x+1;
    ptr_x^:=buffer[6];
    ptr_x:=ptr_x+1;
    ptr_x^:=buffer[5];
    ptr_x:=ptr_x+1;
    ptr_x^:=buffer[4];

    marker:=1;
    ErrCount:=0;
    ELSE
    IF (ErrCount >= ErCL) THEN
    marker:=1;
    ErrCount:=0;

  2. #2

    По умолчанию

    Т.е. вы все же используете библиотеку Modbus?

    Т.к. раньше вы писали "ModbasOwenLib" - я подумал, что вы используете "ModulsOwenLib" (как наиболее похожую по названию).

    В вашем случае я бы порекомендовал связаться с техподдержкой. На стр. 171 документа перечислены материалы, которые желательно предоставить при обращении.

  3. #3

    По умолчанию

    Все примеры в документе иллюстрируют чтение одного канала с каждого устройства. Можно в документе как-то описать момент опроса нескольких каналов с одного устройства?

  4. #4

    По умолчанию

    Цитата Сообщение от vyachko Посмотреть сообщение
    Все примеры в документе иллюстрируют чтение одного канала с каждого устройства. Можно в документе как-то описать момент опроса нескольких каналов с одного устройства?
    Я так понимаю, речь о примере с библиотекой Modbus - потому что при опросе через конфигуратор процесс опроса нескольких каналов не должен вызывать вопросов, а библиотека ModulsOwenLib опрашивает модули целиком.

    В том случае, если нужно опросить несколько каналов модуля через библиотеку Modbus, у вас есть два варианта:

    1. Считать групповым запросом все нужные данные (при условии, что нет "дырок" в карте регистров) и дальше в программе разобрать их;
    2. Считывать каждый канал по отдельности. В этом случае просто посмотрите, как реализован последовательный опрос двух модулей (например, рис. 6.12) - вам необходимо сделать то же самое, только вместо опроса двух модулей у вас будет два раза опрос разных регистров одного и того же модуля.

  5. #5

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Я так понимаю, речь о примере с библиотекой Modbus - потому что при опросе через конфигуратор процесс опроса нескольких каналов не должен вызывать вопросов, а библиотека ModulsOwenLib опрашивает модули целиком
    Да, всё правильно, извиняюсь, что не уточнил.
    Поясню почему возникает некоторая неоднозначность в части ModulsOwenLib. В тексте документе отражена особенность нумерации устройств (с учётом конфигурации по протоколу OWEN), и помня об этом при переработке примера 5.9 под чтение двух каналов первое, что приходит в голову, это необходимость последовательно изменять номер адреса (Addr), так же в тексте не увидел, что библиотека ModulsOwenLib опрашивает модули целиком. Это касается и описания библиотеки Modbus (в примерах тоже адреса начальные и не нашёл про групповое чтение).
    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    1. Считать групповым запросом все нужные данные (при условии, что нет "дырок" в карте регистров) и дальше в программе разобрать их;
    Я и стал прорабатывать этот вариант для МВ110-8А (читаем 10 регистров начиная со 2-го для получения данных с 1-го и 2-го канала), но возник ламерский вопрос: Как правильнее сделать преобразование WORD_TO_REAL для двух каналов одного устройства в этом случае?
    Спрашиваю, так, как в железе пока проверить не могу (в закупке).

  6. #6

    По умолчанию

    Цитата Сообщение от vyachko Посмотреть сообщение
    Да, всё правильно, извиняюсь, что не уточнил.
    Поясню почему возникает некоторая неоднозначность в части ModulsOwenLib. В тексте документе отражена особенность нумерации устройств (с учётом конфигурации по протоколу OWEN), и помня об этом при переработке примера 5.9 под чтение двух каналов первое, что приходит в голову, это необходимость последовательно изменять номер адреса (Addr), так же в тексте не увидел, что библиотека ModulsOwenLib опрашивает модули целиком. Это касается и описания библиотеки Modbus (в примерах тоже адреса начальные и не нашёл про групповое чтение).

    Я и стал прорабатывать этот вариант для МВ110-8А (читаем 10 регистров начиная со 2-го для получения данных с 1-го и 2-го канала), но возник ламерский вопрос: Как правильнее сделать преобразование WORD_TO_REAL для двух каналов одного устройства в этом случае?
    Спрашиваю, так, как в железе пока проверить не могу (в закупке).
    1. Нет, адреса изменять не надо. Вы сейчас как раз описали методику опроса по протоколу Овен - но этот документ о Modbus, а в Модбасе устройство определяется одним адресом. По поводу принципа работы ModulsOwenLib - спасибо за замечание, в следующей версии опишем это в явном виде. По поводу группового опроса через библиотеку Modbus - в принципе, в примере как раз показан групповой опрос модуля 8А (считываются 4 регистра, с 2 по 5).

    2. В принципе, точно также, как и для одного. После чтения данных вы получаете массив байт. Вы знаете, в каких байтах лежат ваши REAL. Если вы читаете 10 регистров, начиная со второго - то это байты 4-7 (первый REAL, как в примере) и 16-19 (второй REAL). Записываете байты первого REAL в объединение, меняя их порядок - опять же, как в примере. Забираете из объединения значение с плавающей точкой в нужную переменную. Теперь точно также записываете в объединение байты второго REAL, поменяв их порядок - и забираете из объединения второе значение.

    Т.е. в случае увеличения числа опрашиваемых каналов и модулей примеры концептуально не изменятся - просто увеличится кол-во типовых кусков кода.

  7. #7
    Пользователь Аватар для Эдуард_Н
    Регистрация
    22.09.2014
    Адрес
    Курган
    Сообщений
    1,620

    По умолчанию

    Далее МВ110-8А был посажен на один порт, остальные на другой и о, чудо! все заработало.
    Но это же не нормально! К примеру у меня на одном порту модули, а к другому прицеплен модем, и как тогда выкручиваться?

  8. #8
    Пользователь
    Регистрация
    11.11.2015
    Адрес
    Ивановская обл.
    Сообщений
    258

    По умолчанию

    не получается скачать документ из первого поста!!

  9. #9

    По умолчанию

    Цитата Сообщение от zamnarzanom Посмотреть сообщение
    не получается скачать документ из первого поста!!
    Нажмите на него левой кнопкой мыши.

  10. #10
    Пользователь
    Регистрация
    11.11.2015
    Адрес
    Ивановская обл.
    Сообщений
    258

    По умолчанию

    зАГРУЖАЕТСЯ несколько страниц первых и всё.

Страница 11 из 158 ПерваяПервая ... 9101112132161111 ... ПоследняяПоследняя

Похожие темы

  1. Настройка ПР200, управление 3-мя устройствами через RS-485
    от Orbes в разделе Среда программирования OWEN Logic
    Ответов: 20
    Последнее сообщение: 15.05.2017, 16:45
  2. СП3ХХ Пример настройка обмена с ПЛК на CODESYS 2.3
    от Denis_Kay в разделе СП3хх, СП270
    Ответов: 6
    Последнее сообщение: 02.03.2017, 15:12
  3. Ответов: 43
    Последнее сообщение: 13.04.2015, 14:05
  4. Универсальная функция для обмена с устройствами OwenIO и всеми любимый LabView.
    от Алексей Крагель в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 30.05.2014, 13:38

Ваши права

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