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

Тема: Адресация переменных из PLC в ОPC

  1. #1

    По умолчанию Адресация переменных из PLC в ОPC

    Подскажите пожалуйста, правильно ли я все понимаю.
    Раньше (старые проекты) для связи OPC сервера с PLC я в Ресурсы/конфигурация ПЛК создавал подэлемент Modbus (slave) и по TCP передавал нужные мне переменные.
    Неудобств много:
    1) я обязан соблюдать иерархию переменных, чтобы в OPС обратиться по адресу к нужной
    2) Если я например хочу под проект заложить 250 переменных "ИЗ ПЛК в скаду" и 250 "ИЗ скады в ПЛК" ( т.к. OPC на 500 точек), то при использовании старого метода, мне в конфигурации ПЛК нужно создать 250 переменных выходных из ПЛК(даже если используется пока 100), чтобы обратиться к правильному адресу первой входной переменной в ПЛК.
    Так как в OPC для удобства дерево переменных разделено на INPUTs и OUTPUTS, хочется чтобы все OUTPUTS начинались с определенного адреса

    В чем собственно вопрос, могу ли я объявлять переменные уходящие в OPC в "Глобальных переменных" ? Если да, то я прописываю их по подобию "Переменная AT%QW2 WORD;" ?
    Тогда я не понимаю где мне указать что связь по TCP и Modbus Slave

    Разъясните пожалуйста.

  2. #2

    По умолчанию

    Просто объявить глобальную переменную Переменная AT%QW2 WORD; не получится. В конфигурации ПЛК нужно будет создать переменную с этим адресом. Если не хочешь пользоваться конфигуратором, то надо переходить на библиотеки.

  3. #3

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    Просто объявить глобальную переменную Переменная AT%QW2 WORD; не получится. В конфигурации ПЛК нужно будет создать переменную с этим адресом. Если не хочешь пользоваться конфигуратором, то надо переходить на библиотеки.
    Да я в принципе не против конфигуратора, не считая опросника, это уж давно все в код со структурами перешло, я как минимум хочу "в ручную" менять адрес переменной, чего в конфигураторе не возможно.

    Получается для моих хотелок, а это:
    1) не париться о иерархии переменных (пересчет адреса в ОПС, в зависимости от типа) и т.д.
    2) разделить адресацию до 250 входы, с 251 выходы

    Мне придется уйти от использования конфигуратора?

  4. #4

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    И какие проблемы ?

    Еще и с адресами возитесь ?
    Постарался объяснить как смог. Я не хочу возиться, поэтому и спрашиваю.
    Знаю способ только с конфигурацией ПЛК, там можно просто списком добавлять переменные, но только имея этот список я могу в ОПС обратиться к нужной, так как у нее определенные адрес, зависящий от того в каком месте списка в ПЛК будет стоять эта переменная. От этого и хочу избавиться, и поэтому спрашиваю на форуме.

  5. #5

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Одной достаточно. Структурной.
    Аналогичная структура с другой стороны снимает вопросы адресации. Но при программировании а не конфигурировании.
    Можно любой пример? ссылку на литературу? Codesys + Universal OPC server + Masterscada, я не понимаю про структурную переменную.
    Требуется чтобы переменная созданная в PLC имела определенный адрес, по которому я смогу прочитать ее в OPC

  6. #6
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    А разве переменная в Конфигурации ПЛК не имеет определенного адреса?

  7. #7

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    А разве переменная в Конфигурации ПЛК не имеет определенного адреса?
    Да вот если бы я это нашел, не создавал бы тему)) она имеет номер в списке, но и byte и dword будут иметь просто номер в списке переменных, а это в OPC либо 4 битовых маски, либо один dword, вся проблема в том что приходится очень внимательно следить за формированием этого списка, и где то в excel хранить таблицу (ну я так например выхожу из ситуации). Не удобно. Без-имени-223.jpg

  8. #8
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    Vitorgan адресация начинается с 0 с учетом выравнивания. Масса тем по этому поводу со скринами как и что.
    OPC, нормальный, должен поддерживать групповые запросы, даже если регистр пуст, просто пустой не связываете с данными.

    И да, в некоторых случаях надо делать раздельные регистры для чтения и записи, например если запись возможна с панели и одновременно из Scada.

    Где-то в РЭ по программированию это все есть.

  9. #9

    По умолчанию

    Про выравнивание знаю, мне оно в принципе не нужно, так как:
    1)через OPC передаю только 4byte (dword)
    2)в скаде разделяю на нужные мне.

    Если мне нужно передать 2 wordа, то я в иерархии списка в конфигурации их друг за другом и ставлю. и идут они в списке как две переменных, OPC сервером просто читаю сразу Dword состоящий из этих двух)

    Вопрос был в удобстве составления этого списка в конфигураторе, т.к. для удобства добавления в последующем новых переменных, я мог спокойно продолжать список инпутов в плк из скады, и в обратную сторону, но чтобы в итоге, Inputs занимали по 250 регист, а outputs с 250 по 500. Но как я понял, из примера Ув.Валенка, все равно придется создать все 500 переменных. Его пример облегчает визуальный доступ к нужной переменной.

Похожие темы

  1. Адресация переменных по Modbus
    от Uniqum в разделе ПЛК1хх
    Ответов: 22
    Последнее сообщение: 16.09.2022, 14:16
  2. Адресация булевух переменных в облаке
    от KIB52 в разделе Облачный сервис OwenCloud
    Ответов: 4
    Последнее сообщение: 20.02.2020, 16:11
  3. Адресация переменных
    от Vitorgan в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 24.07.2016, 22:01
  4. Адресация переменных по стандарту МЭК 61131-3
    от DrDWoo в разделе Помощь Разработчикам
    Ответов: 8
    Последнее сообщение: 27.12.2013, 12:32
  5. адресация глобальных переменных
    от Назаров Александр в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 24.12.2009, 12:01

Ваши права

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