<< Click to Display Table of Contents >> Navigation: Приложения > Библиотека OSCAT > OSCAT.Функциональные блоки > OSCAT.ФБ.Обработка сигналов > AIN1 (OSCAT) |
ФБ AIN1 преобразует дискретное значение выхода АЦП в значение REAL, соответствующее измеряемой величине (поданной на вход АЦП). С помощью своих настроек ФБ может быть сконфигурирован для работы с широким кругом АЦП, в том числе для индикации ошибок.
Вид ФБ в редакторе программ языка FBD:
Входы и выходы ФБ:
Название |
Тип |
Описание |
Входы |
||
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.