Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Обрыв с косяком на МВА

  1. #1
    Пользователь
    Регистрация
    29.10.2008
    Адрес
    Минск
    Сообщений
    63

    По умолчанию Обрыв с косяком на МВА

    Доброго времени суток.
    Сегодня провел значительное время на решение неприятной задачи.Ответ так и не нашел
    суть:
    подключаю ПЛК 100 р-м target 2.0-4 к МВА8 через протокол Овен.
    на МВА конфигурирую датчики температуры(термосопротивление), задаю диапазон измеряемых величин, тип датчика.
    считываю значение датчиков через конфигуратор, результат отличный, считываю значения с ПЛК, зачение опять отличное, обрываю датчик а значения в ПЛК остаются старые! через конфигуратор МВА видно что датчик отключен, а через ПЛК застревает последнее значение!

    что за притча!!?

    по идее МВА должен слать код ошибки, но этого нету...

    я нутром понимаю, дело в какой то насторойке, но в какой и где??
    Программа исключается, брал не использованную переменную, МВА тоже маловероятно, через конфигуратор все нормально...
    подкиньте идейку пожалуйста

  2. #2

    Thumbs up

    Трабл в понимании межсетевого обмена...
    Вам необходимо с помощью блока Decoad Float отслеживать ошибку - она закодирована в переменной, которую Вы получаете по сети.

    А сеть в принципе отбрасывает неверные принятые значения, и хранить последнее нормальное. Особенности построения сетей.

    В случае работы по ModBus необходимо опрашивать дополнительный регистр, чтобы понимать, что на входе ошибка...

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

    По умолчанию

    подключил DECODE_FLOAT

    PROGRAM PLC_PRG
    VAR
    DECODE_FLOAT1: DECODE_FLOAT;
    out:REAL;
    err: BYTE;
    END_VAR

    DECODE_FLOAT1(value:=a1,DEF_VALUE:=0);
    out:=DECODE_FLOAT1.OUT_VALUE;
    err:=DECODE_FLOAT1._ERR;

    ,где
    a1:real; получаю из прибора по протоколу овен
    обрываю термопару на МВА,
    кода ошибки нет, err=0!!!
    out выдает последнее удачное значение
    в чем косяк???

  4. #4
    Пользователь
    Регистрация
    29.10.2008
    Адрес
    Минск
    Сообщений
    63

    По умолчанию

    Почитал форумы, ФБ DECODE_FLOAT работает некорректно. При обрыве датчика этот блок(DECODE_FLOAT), не выдает код ошибки. Я конечно при помощи переменных Last Error и Last Adress достал код ошибки и адрес где она произошла, но это не совсем то что надо.

    А если обрыв будет на 2-х и более датчиках? то переменные Last Error и Last Adress укажут на последний обрыв, а код ошибки и адреса будет постоянно меняться,
    как же поймать несколько ошибок??

  5. #5

    По умолчанию

    Цитата Сообщение от Anton_Minsk Посмотреть сообщение
    Почитал форумы, ФБ DECODE_FLOAT работает некорректно. При обрыве датчика этот блок(DECODE_FLOAT), не выдает код ошибки. Я конечно при помощи переменных Last Error и Last Adress достал код ошибки и адрес где она произошла, но это не совсем то что надо.

    А если обрыв будет на 2-х и более датчиках? то переменные Last Error и Last Adress укажут на последний обрыв, а код ошибки и адреса будет постоянно меняться,
    как же поймать несколько ошибок??
    Last error и last adress не имеют отношения к датчикам. Это переменные, отображающие режим работы сети, и соответственно ее обрыв, если таковой случился. Информации о датчиках они не несут.

    Где вы прочитали об ошибках ФБ? и за какой датой было это сообщение? С тех пор много было подправлено.

  6. #6

    По умолчанию

    Блок Decoad Float очень хорошо работает - сам проверял.
    Единственное его ограничение - то, что он не работает в режиме эмуляции, что при наладке сети не существенно.
    На вход подаете полученное значение и величину, которую нужно передавать на выход блока при наличии ошибки.
    Если ошибки в данных нет - блок возвращает 0 - ошибок нет.
    Если есть - на выход подается предустановленное значение на втором входе блока, на выход статуса причина ошибки.
    В чем не корректность?
    Или трабл сравнить сигнальный выход: если не 0, то датчик ошибка и делаю...
    Читайте документацию господа.
    Я даже аналоговые входы ПЛК предлагаю пропускать через этот блок, чем самому анализировать - что если сигнал изменился за заданное время на интервал больше такого то - тогда обрыв или что то еще...

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

    По умолчанию

    Уважаемые Кирилл и Андрей, я вам проект скину, посмотрите свежим взглядом, таргет 2.0-4, подкл. МВА8
    куда кидать кстати??
    о, Кирилу скинул проект
    Есть еще один вариант, у меня библиотечка PID Regulator 9.1.07, может в свежих версиях как то по другому?
    киньте мне на ящик может версию по свежее dubrava123собякаточкаcom

    а при помощи Last error и Last adres легко ловить тип ошибки и где она произошла, кстати в документации, это все описанно:
    МВА8 Руководство эксплуатации
    6.4Исключительные ситуации
    таблица 6.

    я ловлю ошибок уже почти решил, может подскажете как по адресу записать значение средствами кодесиса??
    Последний раз редактировалось Anton_Minsk; 26.11.2008 в 13:20.

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

    По умолчанию

    Опишу как работает у меня этот DECODE_FLOAT:
    реаловские значения с датчика подаю на вход Value,
    на вход DEF_VALUE подаю любую константу, к примеру 2
    считываю значение с _ERR.
    когда датчик работает нормально, _ERR=0
    когда датчик обрывается или закорачивается все равно _ERR=0!!!

  9. #9

    По умолчанию

    Значит так.
    Тут в умах путаница чрезвычайная. А в описании конфигурации всё подробно описано:
    Овен мастер, когда опрашивает прибор, делает это по 1 переменной за раз, и выводит в три переменные своего статуса адрес, хеш и результат. Если в ответе прибора код исключительной ситуации (например обрыв датчика), то в статусе мастера для этой переменной появляется соответствующий код, который можно дешифровать и использовать.

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

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Значит так.
    Тут в умах путаница чрезвычайная. А в описании конфигурации всё подробно описано:
    Овен мастер, когда опрашивает прибор, делает это по 1 переменной за раз, и выводит в три переменные своего статуса адрес, хеш и результат. Если в ответе прибора код исключительной ситуации (например обрыв датчика), то в статусе мастера для этой переменной появляется соответствующий код, который можно дешифровать и использовать.
    Золотые слова! Все так и обстоит,именно это я и пытаюсь сказать ,
    а слова Кирила
    "Last error и last adress не имеют отношения к датчикам. Это переменные, отображающие режим работы сети, и соответственно ее обрыв, если таковой случился. Информации о датчиках они не несут."
    мне непонятны, что вы хотели этим сказать, Кирилл?

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

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