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

Тема: Как определить адреса тэгов

  1. #1

    По умолчанию Как определить адреса тэгов

    Из видео-примера для настройки Master OPC Universal Modbus Server по ModbusTCP не понятно как определять адреса тэгов. В конфигурации проекта для ОВЕН ПЛК100 у меня заданы переменные для передачи по Modbus TCP. Например первая переменная вот так выглядит: VAR1 AT%QW8.1.0:WORD. Я не понимаю как при настройке OPC сервера связать например, тэг с переменной VAR1?

  2. #2

    По умолчанию

    Если я правильно понял, то за нулевой адрес 0x00 принимается адрес первой переменной в ModBus(slave)? Дальше если у меня идут тоже 2-байтовые переменные - то я назначаю адреса тэгам в OPC-сервере 0x01, 0x02 ...?

  3. #3

    По умолчанию

    Хочу ещё уточнить. В документации на которую выше ссылались , есть рисунок 3.8. Там отображён адрес в памяти внутри ПЛК и адрес регистра ModBus. Какой из этих адресов задаётся в OPC Universal Modbus Server? И как мне реализовать побитовое чтение OPC сервером состояние восьми дискретных входов ПЛК100? Вот что самое интересное, когда собирался связаться с ОВЕН мне здесь и в техподдержке в один голос все трубили, что мониторинг по Ethernet для MasterScada+OPC+ПЛК ОВЕН реализовывается на ура. Когда я начал сейчас заниматься, ни один не может конкретно объяснить, как реализовать чтение дискретных входов ПЛК100 через Master OPC Universal Modbus Server.
    Последний раз редактировалось super100; 22.08.2013 в 19:42.

  4. #4

    По умолчанию

    Цитата Сообщение от super100 Посмотреть сообщение
    В документации на которую выше ссылались , есть рисунок 3.8. Там отображён адрес в памяти внутри ПЛК и адрес регистра ModBus. Какой из этих адресов задаётся в OPC Universal Modbus Server?
    Посмотрите также предыдущий раздел документации - про выравнивание переменных в памяти.

    Цитата Сообщение от super100 Посмотреть сообщение
    И как мне реализовать побитовое чтение OPC сервером состояние восьми дискретных входов ПЛК100?
    Считать явно состояние дискретных входов не получится.
    Если состояние дискретных входов - это все что вам нужно считать, то добавьте в модуль Modbus (Slave) подэлемент "2 byte". Назначьте этому подъэлементу переменную, например Input_Status.
    Теперь в эту биты этой сетевой переменной, вам нужно записывать состояние входов из программы Codesys. На языке ST, это выглядит примерно так:
    Input_Status.0:=Input1;
    Input_Status.1:=Input2;
    Input_Status.2:=Input3;
    и т.д.
    Чтобы опросить эту переменную в OPC сервере добавьте тег региона Holding_Registers, адрес тега будет 0 (если перед этой переменной в Codesys не было других переменных).

    А дальше вытащить из нее биты можно либо в самом ОРС, либо в MasterSCADA при помощи ФБ "Распаковка 32-битного значения" (что лучше).
    Спасибо.

  5. #5

    По умолчанию

    Вы пишете, что адрес тега будет 0 (если перед этой переменной в Codesys не было других переменных). Имеется в виду только переменные, которые в модуле Modbus (Slave) ? Переменные, описывающие дискретные входа/выхода ПЛК100 не учитываются?

  6. #6
    Пользователь Аватар для smk1635
    Регистрация
    06.09.2010
    Адрес
    Брянск
    Сообщений
    1,241

    По умолчанию

    Цитата Сообщение от super100 Посмотреть сообщение
    Вы пишете, что адрес тега будет 0 (если перед этой переменной в Codesys не было других переменных). Имеется в виду только переменные, которые в модуле Modbus (Slave) ?
    Верно, имено в Modbus Slave.
    Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда. (Закон Линуса)

  7. #7

    По умолчанию

    Очень признателен всем за помощь. Разобрался. Распаковал в ФБ 32 битную переменную (разложил на отдельные биты). На мнемосхеме каждый бит отобразил. Проблема теперь как при единичном состоянии одного из битов подавать звуковой сигнал? Оператор должен видеть не только визуально сигнал аварийного срабатывания но и слышать. На каждый из 8 дискретных входов ПЛК100 подключена сигнализация. Как привязать звук ?

  8. #8

    По умолчанию

    Звук в MasterSCADA можно воспроизводить при появлении сообщений. Но вам больше подойдет вариант воспроизводить звук при помощи скрипта.
    Пример скрипта есть в этой теме:
    http://www.owen.ru/forum/showthread....83318#poststop
    Спасибо.

Похожие темы

  1. Ответов: 7
    Последнее сообщение: 18.06.2013, 11:11
  2. Ответов: 12
    Последнее сообщение: 19.04.2011, 12:50
  3. Ответов: 2
    Последнее сообщение: 05.09.2010, 17:27
  4. Ответов: 3
    Последнее сообщение: 04.02.2010, 14:08
  5. Вопрос: как в codesys определить ip plc
    от SCOBA в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 13.07.2009, 14:44

Ваши права

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