Показано с 1 по 9 из 9

Тема: Адреса переменных для опроса OPC-сервером

  1. #1

    По умолчанию Адреса переменных для опроса OPC-сервером

    Здравствуйте все! Я новичок в этом деле, поэтому прошу снисхождения за, возможно, глупый вопрос.

    Есть контроллер ПЛК110...[M02], у него куча переменных. Надо организовать опрос некоторых из них через OPC-сервер (в данном случае MasterOPC Universal Modbus Server), для этого в кодесисе в конфигурации ПЛК я настроил ModBus(slave) на протокол Modbus/TCP, добавил переменные, как-то передал им значения из других переменных. Вопрос - как можно узнать их адреса, по которым будет проводиться опрос?

    В одном документе я прочитал, что, мол, надо их нумеровать по порядку, начиная с 0, с учетом выравнивания памяти (типа адреса двухбайтовых переменных должны начинаться с адресов, кратных двум, четырехбайтновых - четырем). Я так и сделал, но опрос у меня не ладится, и я подозреваю, что проблема с адресами. Неужели нигде нельзя посмотреть точный адрес переменной, надо вручную считать? И если надо считать, то надо ли учитывать другие переменные (например, переменные модулей ввода и вывода)?

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

    По умолчанию

    Цитата Сообщение от Juan Esteban Посмотреть сообщение
    Здравствуйте все! Я новичок в этом деле, поэтому прошу снисхождения за, возможно, глупый вопрос.

    Есть контроллер ПЛК110...[M02], у него куча переменных. Надо организовать опрос некоторых из них через OPC-сервер (в данном случае MasterOPC Universal Modbus Server), для этого в кодесисе в конфигурации ПЛК я настроил ModBus(slave) на протокол Modbus/TCP, добавил переменные, как-то передал им значения из других переменных. Вопрос - как можно узнать их адреса, по которым будет проводиться опрос?

    В одном документе я прочитал, что, мол, надо их нумеровать по порядку, начиная с 0, с учетом выравнивания памяти (типа адреса двухбайтовых переменных должны начинаться с адресов, кратных двум, четырехбайтновых - четырем). Я так и сделал, но опрос у меня не ладится, и я подозреваю, что проблема с адресами. Неужели нигде нельзя посмотреть точный адрес переменной, надо вручную считать? И если надо считать, то надо ли учитывать другие переменные (например, переменные модулей ввода и вывода)?
    По порядку, начиная с 0 с учетом выравнивания памяти (типа адреса четырех байтовых переменных должны начинаться с адресов, кратных двум)
    Последний раз редактировалось petera; 24.12.2020 в 10:37.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #3

    По умолчанию

    Ага, то есть Float-переменные занимают два регистра Modbus - наверное, в этом моя ошибка, я их считал по порядку.

  4. #4

    По умолчанию

    А еще вопрос. Вот я задал эти переменные. Как правильно сделать так, чтобы значения внутренних переменных передавались OPC-переменным, а при их изменении со стороны OPC-сервера соответственно значения передавались внутренним переменным? Я сделал две POU, которые передают значения - каждая в свою сторону, и запускаю их циклически через конфигуратор задач с разным приоритетом. Но при этом способе почему-то происходит мигание. Например, внутренняя переменная изначально равна 1, а при запуске начинается мигание 0 - 1 - 0 - 1. Почему так происходит? Ведь по идее, значение 1 должно в первом проходе записаться в OPC-переменную и обратно так же должно передваться 1? Или это как-то связано с тем, что эти переменные являются энергонезависимыми?
    Последний раз редактировалось Juan Esteban; 23.12.2020 в 13:14.

  5. #5

    По умолчанию

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

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

    По умолчанию

    petera а разве не будет работать 2 ворда с адресами 0 и 1

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

    По умолчанию

    Цитата Сообщение от жекон Посмотреть сообщение
    petera а разве не будет работать 2 ворда с адресами 0 и 1
    Естественно будут
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Тогда причем кратность 2?

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

    По умолчанию

    Цитата Сообщение от жекон Посмотреть сообщение
    Тогда причем кратность 2?
    ХА!
    Нашел свою оплошность, копи/пасте подвело
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Похожие темы

  1. адреса переменных в ПР 110 и ИП 320
    от сергей тверь в разделе Программируемые реле
    Ответов: 60
    Последнее сообщение: 03.11.2016, 18:15
  2. Адреса переменных
    от clombus в разделе Сервисное ПО
    Ответов: 3
    Последнее сообщение: 12.01.2011, 12:59
  3. адреса модбас переменных
    от Smpl в разделе Сетевые технологии
    Ответов: 7
    Последнее сообщение: 04.02.2010, 11:17
  4. адреса переменных в/в в плк150
    от Пастух в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 05.06.2009, 15:42
  5. Остановка опроса OPC CodeSys сервером!
    от Ден в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 19.03.2009, 15:37

Ваши права

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