WAGO: Status byte |
Ответить |
Автор | |
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 17 Июнь 2004 Категория: Russian Federation Online Status: Offline Публикации: 35 |
Опубликовано: 11 Июль 2007 12:19 |
Добрый день! Я использую в проекте c WAGO 750-814 аналоговый модуль WAGO 750-474 (2 канала 4-20 мА). Данные с модуля получаем без проблем. Но у него еще есть диагностика "зашкала" и "обрыва". Так называемый Status byte. (Стр. 12 описания на 750-474) Подскажите, по какому адресу (в какой области памяти) он находится и что нужно сделать, что бы его прочитать? |
|
Действительный член Присоединился: 27 Сентябрь 2006 Online Status: Offline Публикации: 125 |
|
Бит 15 = 0 Значение тока - биты 14..3 Бит 2 не используется Бит 1 = 1 и бит 0 = 1 - ток < 4 мА - delta (delta от 0,1 до 2 мА) (обрыв) Бит 1 = 0 и бит 0 = 1 - ток > 20 мА (зашкаливание)
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 17 Июнь 2004 Категория: Russian Federation Online Status: Offline Публикации: 35 |
|
Думаю, Вы ошибаетесь, это не касается модуля 750-474. Читаем в документации: Bit width: 2*16 bits data, 2*8 bits control/status (option) т.е. "The analog input module 750-474 and its variations transmit 16-bit measured values and 8 status bits per channel." (Аналоговый входной модуль 750-474 изменения передает 16- бит измеряемой величины и 8 битов статуса за канал.) А вот в какой области памяти находится этот самый "2*8 bits control/status (option)" нигде в документации я не нашел. В этом и вопрос! Но все равно, большое спасибо за попытку помочь. |
|
Действительный член Присоединился: 27 Сентябрь 2006 Online Status: Offline Публикации: 125 |
|
Да, перепутал с 454 |
|
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
|
|
|
Действительный член Присоединился: 01 Июнь 2006 Категория: Russian Federation Online Status: Offline Публикации: 464 |
|
Я вынужден был из-за большой пересортицы по токовым датчикам использовать модули 0-20мА у которых статус есть только на зашкал по верхней границе, использовал FB для обработки сигнала, меня такое решение устроило собственно: Объявленные переменные: (*Функциональный блок первичной обработки аналогового сигнала*) (*Ориентированный для внутренних вычислений*) FUNCTION_BLOCK rAI_chanel_4_20mA_452 VAR_INPUT (*Входное значение переменной в полном десятичном коде*) AI_Input :WORD; (*ЛИНЕЙНОЕ КАЛИБРОВОЧНОЕ СМЕЩЕНИЕ*) AI_Calib:WORD; (*Верхняя граница технологического диапазона*) Tech_HLimit:REAL; (*Нижняя граница технологического диапазона*) Tech_LLimit:REAL; END_VAR VAR_OUTPUT (*Достижение верхнего предела по току*) W_HiLimit: BOOL; (*Достижение нижнего предела по току*) W_LowLimit: BOOL; (*Текущее значение по току*) AI_value: REAL; (*Текущее технологическое значение*) Tech_value:REAL; (*ТИП ДАТЧИКА*) TYPE_DAT:STRING(10); END_VAR VAR (*Входное значение бита статуса канала*) AI_Status: BOOL; AI: REAL; (*Внутренняя переменная для хранения результатов битового сдвига*) AI_HLimit: REAL:=4095; (*Верхний предел по току 20mA*) AI_LLimit: REAL:=819; (*Нижний предел по току 4mA*) END_VAR Тело Блока: AI_Status:=AI_Input.0; AI:=SHR(AI_Input,3);(*Битовый сдвиг вправо для удаления неиспользуемых битов*) AI:=AI+ AI_Calib; IF AI<AI_LLimit AND AI_Status=FALSE THEN (*Состояние нижнего предела*) W_HiLimit:=FALSE; W_LowLimit:=TRUE; AI_value:=4; Tech_value:=Tech_LLimit; ELSIF AI>=AI_LLimit AND AI_Status=FALSE THEN (*Состояние НОРМА*) W_HiLimit:=FALSE; W_LowLimit:=FALSE; (*Расчет токового значения*) AI_value:=20 * AI / AI_HLimit; (*Расчет технологического значения*) (*Tech_value:=((AI_value - 4) * (Tech_HLimit - Tech_LLimit))/(16);*) Tech_value:=(((AI - AI_LLimit))*(Tech_HLimit - Tech_LLimit ))/(AI_HLimit - AI_LLimit) + Tech_LLimit; ELSIF AI_Input>32760 AND AI_Status=TRUE THEN (*Состояние верхнего предела*) W_HiLimit:=TRUE; W_LowLimit:=FALSE; AI_value:=20; Tech_value:=Tech_HLimit; END_IF; TYPE_DAT:=El_4_20mA;
|
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |