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

Тема: Конфигурирую ПЛК Мастером Модбас

  1. #1
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию Конфигурирую ПЛК Мастером Модбас

    Конфигурирую ПЛК100 как Мастера в сети Модбас.
    Есть несколько вопросов, ответы на которые в документации на ПЛК не нашел.

    1) Как работать с регистрами Слейва, которые реализованы как двунаправленные регистры?
    В слейве поддерживаются команды 0х03 и 0х10, с помощью которых можно обращаться к одной и той же переменной для ее чтения Мастером или ее записи от Мастера.
    В Конфигураторе же одну переменную я могу объявить либо регистром вывода, либо регистром ввода. Значит, на один регистр в области ввода-вывода Слейва мы заводим 2 регистра в области ввода-вывода Мастера. Так? Других вариантов нет?
    И тогда, чтобы изменить значение регистра Слейва, мы записываем новое значение в регистр вывода области обмена ПЛК, а для слежения за изменением регистра Слейва мы организовуем опрос регистра ввода. Я верно понимаю?
    Кстати, из этого следует, что описанный в КДС класс I&O в ПЛК100 не реализован?

    2) Режим работы модуля Мастер. Предположим, в Слейве есть 32 регистра, которые нужны контроллеру. Но они нужны не все "равномерно".
    Есть группа регистров (назовем их оперативные), которые нужны часто, скажем, каждые 20 мс.
    Есть группа регистров, которые нужны в специальном режиме работы ПЛК (скажем, режим задания параметров). Они однократно считываются, редактируются и записываются по событиям в жизни программы.
    Возможно, будут еще какие-то группы со своими особенностями доступа со стороны ПЛК.

    Таким образом, режимы работы Мастера с регистрами Слейва различны. Для оперативных регистров это может быть опрос по времени, для других - по команде.
    А физически устройство-слейв одно и то же. Как разделить в конфигураторе регистры?

    а) Следует ли заводить несколько виртуально разных Modbus(Master)-устройств

    б) или несколько Universal Modbus device в рамках одного Modbus(Master)?

    в) Или же в рамках одного Universal Modbus device выделять переменные, опрашиваемые по команде, из числа Register input(output) module State - а будут ли остальные подэлементы этого Universal Modbus device опрашиваться по времени?

    Было бы очень желательно не посылать меня... к примерам. Вопросы достаточно конкретные, ИМХО, чтобы на них ответить ручками.

    Спасибо!

  2. #2
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Наверное, мне следует задавать вопросы более четко. Попробую.

    Итак, речь идет о работе ПЛК100 в режиме Мастер Модбаса, последовательное соединение. Работу организовую через Конфигуратор ПЛК.

    Устройство-Слейв пока всего одно.

    Вопросы.

    1) Как можно узнать, что запрос мастера отработан, что респонс получен?

    2) Как узнать об ошибках, отличных от ошибки таймаута? В описании Конфигуратора ПЛК100, Приложение В.2 сказано всего о двух кодах в канале Last Error:

    OK
    NO_DEVICE

    Где я увижу остальные ошибки, которые могут быть? В респонсе ведь есть некоторая информация, я как-то не пойму, как ее прочесть.
    Последний раз редактировалось drvlas; 05.02.2011 в 10:51. Причина: Краткость и конкретность :)

  3. #3
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    1.
    После запроса выполнять проверку LastAddress и LastError.
    И? Что в LastError появится? Я так понимаю, что запортить его каким-нить недопустимым значением (их осталось всего 254) и ждать аж до полного окея??

    Цитата Сообщение от Валенок Посмотреть сообщение
    На данный момент я лично вижу только один способ :
    настройка всех модулей данного адреса как by command - тогда можно выловить необходимое условие.
    Ну или ... state для всех - но это практически то же самое.
    Знаешь, я как-то пришел ук тому же (по иным причинам). Сейчас буду пробовать именно так: все свои переменные ввода-вывода делать именно state (слово, отсутствующее напрочь в документации, господа советователи "читать"), все обращения с командой и ожиданием их отработки. Это уже шаг к следующему:
    Цитата Сообщение от Валенок Посмотреть сообщение
    ...написание своей библиотечки.
    Так-то оно так, но обидно же. Сделали ребята штуку, неплохую по задумке, распространили ее хорошо. И недоделали.
    Разве что использование стандартных ОС (Линукс там в новых?) сделает работу с периферией культурненькой...

    А мне, например, так и непросто сварганить качественный Мастер. В своем АЦП я использовал австрийскую имплементацию Слейва, и то с трудом. Так что пока буду осваивать штатные ОВЕНовские средства. Пер ..., как говорят латиняне
    Последний раз редактировалось drvlas; 05.02.2011 в 23:01.

  4. #4
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Так Овен этого арийско-говорящяго хоть как-то слышит ?
    Я говорю об уважаемом товарище Christian Walter с его имплементацией здеся.

    Как раз подошел к моменту истины. Ща буду втыкать. Без осцилла чувствую себя как голый на медведя

Ваши права

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