Показано с 1 по 10 из 11

Тема: Нет ошибки с аналогового входа ПЛК150 при обрыве токового датчика

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию Я уже свою функцию накатал которая успешно выдает три ошибки - обрыв, и превышение

    Можете написать как реализовали ошибку-"Обрыв"?

  2. #2

    По умолчанию

    Цитата Сообщение от Stas Посмотреть сообщение
    Можете написать как реализовали ошибку-"Обрыв"?
    Вот экспортированный функциональный блок. На вход подаете или WORD с кодом ошибки и REAL со значением если ошибка содержится в нем. Ну и если у вас токовый вход то REAL обязательно. На выходе получаете биты ошибок.
    Функциональный блок обработки ошибок аналоговых входов

    Есть только маленькая проблема, у меня если на МВА8 на один вход приходит сигнал, на остальных уже почему-то тоже что-то появляется, наводки какие-то. Соответственно в этом случае толку с этого функционального блока нету. Но я все равно использую даже с МВА8.

    P.S. Да забыл сказать, шкалу я всегда задаю в ПЛК, почему-то все просят универсальность. Поэтому с МВА8 я читаю только 4-20 в REAL.

  3. #3

    По умолчанию

    DECODE_FLOAT корректно работает с ПЛК154 (токовые входы)?

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

    По умолчанию

    Цитата Сообщение от volodya Посмотреть сообщение
    DECODE_FLOAT корректно работает с ПЛК154 (токовые входы)?
    Про ПЛК154 не скажу, с ним не работал, но ПЛК160 для датчика 4-20 мА, обрыв не покажет, а покажет "Сигнал на входе меньше возможного".
    Что вполне логично. Ведь датчик может быть и 0-20 мА и 0-5 мА. Как отличить в этом случае обрыв датчика от нижнего значения диапазона измерения?
    Идеология у обоих ПЛК я думаю одинаковая
    Я сделал свой блок для обработки результатов измерения датчиков 4-20 мА
    Код:
    FUNCTION_BLOCK DECODE_AI
    VAR_INPUT
    	ai: REAL;		(*Датчик*)
    END_VAR
    VAR_OUTPUT
    	Rezultat: REAL;		(*Результат*)
    	Cod_Err: BYTE;		(*Код ошибки измерения*)
    	Err: BOOL;		(*Наличее ошибки измерения*)
    END_VAR
    VAR
    	pt:POINTER TO DWORD;
    	bar:BYTE;
    END_VAR
    
    Err:=TRUE;	(*Установить ошибку измерений*)
    pt:=ADR(ai);
    bar:=DWORD_TO_BYTE(SHR(pt^,24));
    CASE bar OF
    16#F1: Cod_Err:=bar-240; Rezultat:=3.5;	(*Результаты измерения не верны*)
    16#F6: Cod_Err:=bar-240; Rezultat:=3.5;	(*Результаты измерения не готовы*)
    16#F7: Cod_Err:=bar-240; Rezultat:=3.5;	(*Канал отключен в конфигурации*)
    16#FA: Cod_Err:=bar-240; Rezultat:=21;	(*Сигнал на входе больше возможного*)
    16#FB: Cod_Err:=bar-240; Rezultat:=3.5;	(*Сигнал на входе меньше возможного*)
    16#FC: Cod_Err:=bar-240; Rezultat:=21;	(*Перегрузка в канале измерения тока*)
    16#FD: Cod_Err:=bar-240; Rezultat:=3.5;	(*Обрыв датчика*)
    ELSE
    Err:=FALSE;
    Cod_Err:=0;	(*Нет ошибок измерений*)
    Rezultat:=ai;
    END_CASE
    Минимальные и максимальные значения переменной Rezultat 3.5 и 21 потому, что в конфигурации аналоговых входов задаю MinFV=4,00 MaxFV=20.00 Т.е так, как приходит с датчика. Масштабирование диапазона измерения в программе, а не в конфигурации.
    Что бы показания на панели не мельтешили, сигнал с выхода этого функц.блока пропускаю через OSCATовскую функцию ROUND, оставляю например 2 знака после запятой.
    Реально проверил только коды F7, FA, FB, FC остальные отловить не удалось.
    При обрыве датчика будет код FB. А код FD, похоже не для моего контроллера (ПЛК160), но этот код то же оставил.
    Код ошибки у меня идет на панель для динамического текста и там дешифруется
    Текст 1 - "Результаты измерения не верны"
    Текст 6 - "Результаты измерения не готовы"
    Текст 7 - "Канал отключен в конфигурации"
    Текст 10 - "Сигнал на входе больше возможного"
    Текст 11 - "Сигнал на входе меньше возможного"
    Текст 12 - "Перегрузка в канале измерения тока"
    Текст 13 - "Обрыв датчика"
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  5. #5

    По умолчанию

    petera, спасибо за ответ

Ваши права

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