AIN1 (OSCAT)

<< Click to Display Table of Contents >>

Navigation:  Приложения > Библиотека OSCAT > OSCAT.Функциональные блоки > OSCAT.ФБ.Обработка сигналов >

AIN1 (OSCAT)

ФБ AIN1 преобразует дискретное значение выхода АЦП в значение REAL, соответствующее измеряемой величине (поданной на вход АЦП). С помощью своих настроек ФБ может быть сконфигурирован для работы с широким кругом АЦП, в том числе для индикации ошибок.

Вид ФБ в редакторе программ языка FBD:

AIN1_OSCAT

Входы и выходы ФБ:

Название

Тип

Описание

Входы

in

DWORD

На вход подается дискретное значение выхода АЦП.

sign_bit

INT

Вход sign_bit должен быть равен номеру бита, в котором АЦП передает знак. sign_bit=255 (значение по умолчанию) означает, что АЦП не передает знаковый бит. Наличие/отсутствие знакового бита индицируется на BOOL-выходе sign – соответственно TRUE/FALSE.

error_bit

INT

Номер бита, в котором АЦП передает флаг ошибки. По умолчанию равен 255.

error_code_en

BOOL

Вход разрешает обработку общей ошибки по фиксированному значению. По умолчанию равен FALSE.

error_code

DWORD

Присваивается значение для обработки общей ошибки по фиксированному значению.

overflow_bit

INT

Номер бита, в котором АЦП передает флаг переполнения. По умолчанию равен 255.

overflow_code_en

BOOL

Вход разрешает обработку ошибки переполнения по фиксированному значению. По умолчанию равен FALSE.

overflow_code

DWORD

Присваивается значение для обработки ошибки переполнения по фиксированному значению.

Bit_0

INT

Определяет позицию начала входных данных.

Bit_N

INT

Определяет позицию конца входных данных.

out_min

REAL

Нижняя граница диапазона входного значения при масштабировании.

out_max

REAL

Верхняя граница диапазона входного значения при масштабировании.

code_min

DWORD

Нижняя граница диапазона входного значения.

code_max

DWORD

Верхняя граница диапазона входного значения.

error_output

REAL

Значение указывается для обработки общей ошибки и общей ошибки по фиксированному значению.

overflow_output

REAL

Значение указывается для обработки ошибки переполнения и ошибки переполнения по фиксированному значению.

Выходы

out

REAL

Преобразованное значение выхода АЦП. Равен входу error_output, если значение in содержит установленный флаг ошибки или in=error_code. Если значение in содержит установленный флаг переполнения,  выход = overflow_output (если error=FALSE; в противном случае out=error_output).

sign

BOOL

Флаг использования знакового бита. sign=TRUE - использование знакового бита.  Если  TRUE, то out инвертируется.

error

BOOL

Флаг ошибки.

overflow

BOOL

Флаг переполнения.

Обработка ошибок

Поскольку АЦП могут сигнализировать о наличии ошибки с помощью передачи флага ошибки в некотором бите или с помощью передачи некоторого фиксированного значения (вне рабочего диапазона), ФБ AIN1 поддерживает оба эти механизма как для общей ошибки АЦП, так и для ошибки переполнения АЦП. По умолчанию, ошибки не обрабатываются (значения по умолчанию входов ERROR_BIT, ERROR_CODE_EN, OVERFLOW_BIT и OVERFLOW_CODE_EN блокируют все 4 механизма обработки ошибок).

Обработка общей ошибки:

  Для обработки общей ошибки -вход ERROR_BIT должен быть равен номеру бита, в котором АЦП передает флаг ошибки. Кроме того, нужно задать необходимое значение -входу ERROR_OUTPUT. Если значение IN содержит установленный флаг ошибки - выход ERROR принимает значение TRUE, а выход OUT – значение ERROR_OUTPUT.

  Для обработки общей ошибки по фиксированному значению нужно присвоить это значение входу ERROR_CODE, разрешить обработку (присвоить входу ERROR_CODE_EN значение TRUE) и задать необходимое значение входу ERROR_OUTPUT. Если IN=ERROR_CODE, то ERROR=TRUE и OUT=ERROR_OUTPUT.

Ошибка переполнения обрабатывается аналогично:

  Для обработки ошибки переполнения вход OVERFLOW_BIT должен быть равен номеру бита, в котором АЦП передает флаг переполнения. Кроме того, нужно задать необходимое значение входу OVERFLOW_OUTPUT. Если значение IN содержит установленный флаг переполнения, выход OVERFLOW принимает значение TRUE, а выход OUT – значение OVERFLOW_OUTPUT (если ERROR=FALSE; в противном случае OUT=ERROR_OUTPUT).

  Для обработки ошибки переполнения по фиксированному значению нужно присвоить это значение входу OVERFLOW_CODE, разрешить обработку (присвоить входу OVERFLOW_CODE_EN значение TRUE) и задать необходимое значение входу OVERFLOW_OUTPUT. Если IN=OVERFLOW_CODE, то OVERFLOW=TRUE и OUT=OVERFLOW_OUTPUT (если ERROR=FALSE; в противном случае OUT=ERROR_OUTPUT).

Пример

В данном примере показано конфигурирование ФБ AIN1 для 8-разрядного АЦП без передачи знакового бита и без обработки ошибок. В качестве модели АЦП используется функция AOUT1 (OSCAT), функция AIN (OSCAT) показана для сравнения с ФБ AIN1.

AIN1_OSCAT_1