
- •Автоматизация физического эксперимента
- •Раздел 1. Планирование и обработка результатов эксперимента. 13
- •Раздел 2. Аппаратные и программные средства 57
- •Введение
- •Раздел 1. Планирование и обработка результатов эксперимента. Виды погрешностей измерения и способы их учета
- •Учет и компенсация систематической составляющей погрешности
- •Методы калибровки
- •Учет случайной составляющей погрешности
- •Определение центров распределения
- •Оценка случайной составляющей погрешности и доверительного интервала погрешности.
- •Выявление и устранение случайных промахов
- •Проведение и обработка результатов однофакторного эксперимента
- •Подбор вида модели
- •Определение коэффициентов уравнения регрессии.
- •Условия применения мнк [5]
- •Проверка адекватности уравнения регрессии результатам опытов
- •Планирование и обработка результатов полного многофакторного эксперимента
- •Определение вида частных зависимостей
- •Определение общего вида математической модели.
- •Определение числовых значений коэффициентов модели.
- •Отбор наиболее значимых факторов
- •Отбор наиболее значимых факторов с использованием коэффициентов значимости
- •Уточнение числовых значений коэффициентов модели
- •Проверка адекватности модели экспериментальным данным
- •Раздел 2. Аппаратные и программные средства автоматизации эксперимента интерфейсы в компьютерных системах измерения и управления
- •Высокоскоростные локальные компьютерные системы измерения и управления с интерфейсом isa и pci
- •Мобильные системы сбора данных и управления с интерфейсом usb
- •Аналого-цифровой канал (ацк)
- •Карта битов для ла-20usb:
- •Распределенные системы промышленной автоматизации с интерфейсом rs-232.
- •Распределенные системы удаленного сбора данных и управления с интерфейсом rs-485
- •Сложные распределенные системы удаленного сбора данных и управления на базе интерфейса camac.
- •Проектирование аппаратных средств измерения и управления
- •Выбор шага квантования по уровню
- •Расчет интервала дискретности по времени t.
Распределенные системы промышленной автоматизации с интерфейсом rs-232.
Основное назначение интерфейса RS232C - сопряжение компьютера с аппаратурой передачи данных (модемами) с целью организации передачи данных между двумя удаленными компьютерами или между компьютером и оконечным оборудованием данных.
Другое назначение интерфейса - сопряжение компьютера с радиально подключаемыми системными ПУ: ГМ "Мышь", принтером, дисплеем, графопостроителем в случае, если они находятся на относительно большом удалении от компьютера и/или требуемая скорость обмена данными невысока (максимально возможная скорость обмена для RS232C - 112,5 Кбит/сек).
Третье назначение интерфейса RS232C - сопряжение двух компьютеров, находящихся на небольшом удалении (до 17м) для обмена данными. Эта связь имеет название Commander Link.
Технические характеристики интерфейса RS232C:
Вместимость - 1.
Пропускная способность - от 50 до 112,5 Кбит/сек.
Единица обмена - от 5 до 8 бит.
Максимальная протяженность линий интерфейса - 17м.
Количество линий интерфейса минимальное - 2.
Способ передачи данных - последовательный, по битам.
О
бмен
данными организуется с помощью двух
контроллеров RS232C
(рис. 67).
Микроконтроллер
Рис. 67
Основная функция контроллера - преобразование данных из параллельной формы в последовательную в определенном формате, формирование вспомогательных сигналов ошибки, контроля четности/нечетности. Формат данных в кодовой посылке приведен на рис. 68. для кода 01010011(2) = 53h. Особенностью интерфейса является повышенные в сравнении с ТТЛ уровни сигнала логической 1 и 0. Нижнему уровню сигнала в RS232C соответствует напряжение от минус 5 до -15В или ток 0мА, верхнему - напряжение от + 5 до +15В или ток 20мА.
МЗР
- младший знаковый разряд;
СЗР - старший знаковый разряд
Рис. 68
Этим обеспечивается высокая помехоустойчивость при передаче данных на большое расстояние. Длительность тактового интервала сотавляет от 1/50 до 1/112,5 сек. Длительность фронта сигнала - не более 1 мкс. Длительность стартового бита - 1 тактовый интервал, стопового - от 1,5 до 2 тактовых интервалов.
Контроллер RS232C выполняется на микросхеме UART (Universal Asynchronous Receiver/Transmitter) типа Intel 8250 или 16550. Отечественная микросхема - БИС КР580ИК51.
БИС последовательного интерфейса КР580ИК51 называется также универсальным синхронно-асинхронным приемопередатчиком (УСАПП). Назначение управляющих и информационных входов и выходов УСАПП:
D0…D7 - линии ввода/вывода данных;
RD - вход разрешения чтения данных или слова состояния из УСАПП (в компьютер или микропроцессор);
WR - вход разрешения записи данных, слова состояния или директивной команды в УСАПП (из компьютера или микропроцессора);
C/D - выбор регистров УСАПП. При C/D=0 происходит обращение к регистру данных, при C/D=1 - к регистру состояния.
CS - выбор кристалла. Подключение УСАПП к шине данных;
DSR - готовность передатчика терминала;
CTS - готовность приемника терминала;
TxD - передаваемые данные;
RxD - принимаемые данные;
CLK - вход синхроимпульсов.
Все сигналы соответствуют стандартным уровням ТТЛ.
Для подключения ПУ пользователя к компьютеру с использованием интерфейса RS232C могут быть использованы порты СОМ1 и СОМ2, имеющиеся в IBM PC.
Управление контроллерами интерфейса RS232C в IBM PC производится через выделенные порты ввода/вывода (ПВВ) на шине ISA. Каждому контроллеру выделено 8 ПВВ. Контроллеру с логическим именем СОМ1 выделены ПВВ 3F8h - 3FFh, контроллеру с логическим именем СОМ2 выделены ПВВ 2F8h - 2FFh, линии запроса на прерывание IRQ4 и IRQ3, линии командного прерывания INT0Ch и INT0Bh соответственно.
Назначение битов в регистрах приведено ниже .
Порт 3F8h (Base+0). Соответствует регистру передаваемых данных.
В зависимости от состояния старшего бита управляющего слова, заносимого в управляющий регистр 3FBh, назначение порта 3F8h меняется. Если бит равен 1, порт 3F8h используется для вывода значения младшего байта делителя частоты тактового генератора (старший байт выводится через порт 3F9h (Base+1)), если бит равен 0 - порт используется для ввода/вывода данных. Число, которое необходимо занести в делитель, приведено в таблице 27.
Табл. 27
-
Число в делителе
Скорость передачи, бод
1040
110
768
150
384
300
192
600
96
1200
48
2400
24
4800
12
9600
6
19200
3
38400
2
57600
1
115200
Порт 3F9h (Base+1). Соответствует регистру управления прерыванием.
D0 – разрешение прерывания при готовности принимаемых данных.
D1 – разрешение прерывания после передачи байта данных (когда буфер передачи пуст).
D2 – разрешение прерывания при обнаружении состояния BREAK или при ошибке.
D3 – разрешение прерывания по изменению состояния входных линий CTS, DSR, RI, DCD.
D4-D7 – равны нулю.
Порт 3FBh (Base+3) Соответствует управляющему регистру.
D1, D0 – длина слова в битах. 00 – 5 бит, 01 – 6 бит, 10 – 7 бит, 11 – 8 бит.
D2 – количество стоповых бит. 0 – 1 бит, 1 – 2 бита.
D4,D3 – контроль на четность/нечетность. Х0 – нет контроля, 01 – контроль на нечетность, 11 – контроль на четность.
D5 – фиксация четности. При установке этого бита бит четности всегда принимает значение 0, если биты D3, D4 равны 11, и 1, если они равны 01.
D6 – установка перерыва. Вызывает вывод строки нелей в качестве сигнала BREAK.
D7 – установка режима. 1 – порты 3F8h и 3F9h используются для загрузки делителя частоты тактового генератора, 0 – основной режим (порты 3F8h и 3F9h используются как регистр данных и регистр управления прерыванием соответственно).
Порт 3FDh (Base+5). Соответствует регистру состояния линии.
D0 – данные получены и готовы для чтения. Сбрасывается после чтения данных.
D1 – ошибка переполнения при приеме. Был принят новый байт данных, а предыдущий еще не был прочитан, т.е. предыдущий байт потерян.
D2 – ошибка четности при приеме. Сбрасывается после чтения состояния линии.
D3 – ошибка синхронизации (не принята стоповая посылка).
D4 – обнаружен запрос на прерывание передачи (BRAK – длинная строка нулей).
D5 – буферный регистр передатчика пуст, в него можно заносить очередной байт.
D6 – регистр сдвига передатчика пуст, передача закончена.
D7 – тайм-аут.
Программирование операций управления аппаратурой при использовании интерфейса RS232C.
Основной режим передачи данных при работе с аппаратурой измерения и управления - асинхронный. По линиям интерфейса передаются команды управления аппаратурой или данные. В библиотеке базовых функций для этого достаточно иметь 3 функции:
а) инициализации;
б)записи;
в)чтения.
Функция инициализации
Описание: функция обеспечивает задание выбор СОМ порта и задание режима работы: количество битов (от 5 до 8) в передаваемом слове данных, количество стоповых битов (1,5 или 2), наличие или отсутствие бита паритета (контроля на четность/нечетность), тактовая частота передачи битов.
Тело функции:
outportb(Base+3,0x80);/*запись кода установки режима загрузки делителя частоты тактового генератора в управляющий регистр*/
outportb(Base,0xff);/*запись младшего байта кода делителя частоты*/
outportb(Base+1,0xff00>>8);/* запись старшего байта кода делителя частоты */
outportb(Base+3,<слово режима>);/*запись кода формата данных*/
outportb(Base+1,0);/*запрет прерываний*/
Функция записи (вывода одного слова данных)
while((inportb(Base+5) & 0x20) = = 0) /*ожидание готовности*/
{
t++; /*параметр t нужен, если предусматривать выход из функции "по таймауту" при зацикливании*/
if (t>lTimeout) return; /*Это пример выхода из функции при зацикливании*/
}
outportb(Base,data); /*передача*/
Функция чтения (ввода одного слова данных)
while((inportb(Base+5) & 0x01) = = 0) /*ожидание готовности*/
{
t++
}
data = outportb(Base); /*прием*/
В библиотеке базовых функций для работы с аппаратурой при использовании интерфейса RS232 желательно иметь также функции передачи строки символов:
Функция записи строки символов
i=0;t=0;
while cCmd[i] ! = NULL
{
while ((inportb(Base+5) & 0x20) = = 0)
{
t++ /*Цикл предусмотрен для организации выхода по тайм-ауту (при зацикливании)*/
}
outportb(Base,cCmd[i]);/*Вывод строки символов, составляющих команду*/
Функция чтения
i=0; t=0;
for (;;)
{
while ((inportb(Base+5) & 0x01) ! = 0x01)
{
t++ /*Цикл предусмотрен для организации выхода по тайм-ауту (при зацикливании)*/
}
c=inportb(Base) & 0xff;
if (c = = 0x0D) break; /*Прекращение чтения при появлении символа CR - конец строки*/
else cCmd[i] = c;
i++;
}
Программирование операций управления аппаратурой, подключенной к компьютеру с помощью интерфейса RS-232, с использованием стандартных библиотечных функций в программной среде LabWindows/CVI 8.0
Для работы с аппаратурой, подключенной к компьютеру с помощью интерфейса RS-232, в LabWindows/CVI 8.0 предусмотрены 29 функций, в том числе:
OpenComConfig(N, DeviceName, Baudrate, Parity, DataBits, StopBits, InputQueueSize, OutputQueueSize); -открытие и конфигурирование COM-порта.
ComRd(N, Temp, Count) – прием строки символов;
ComWrt(N, Temp, Count) –передача строки символов;
CloseCom (N) – закрытие СОМ – порта.
Параметры:
N – номер СОМ-порта (1…32);
DeviceName – имя СОМ-порта (обычно СОМ1, СОМ2 и т.д.)
Baudrate – скорость передачи, бод;
Parity – наличие (1) или отсутствие (0) контроля на четность;
DataBits – количество бит (5…8) в передаваемом слове;
StopBits – количество стоповых бит;
InputQueueSize – размер очереди приема, бит. Обычно – 512.
OutputQueueSize – размер очереди передачи, бит. Обычно - 512.
Temp – имя буфера для одной посылки;
Count – размер буфера для одной посылки, байт;
Ниже приведен фрагмент программы чтения данных (значений температуры) с инфракрасного термометра АТТ-2508 (см. табл. 28 ), подключенного к компьютеру с помощью интерфейса RS-232. Значения температуры кодируются в 12, 13 и 14 символах в строке символов, принимаемой с инфракрасного термометра.
OpenComConfig (1, "COM1", 9600, 0, 7, 1, 512, 512); //открытие СОМ1
ComRd(1, temp, 16);
Temperature = (float)((((int)temp[12] - 48) * 100 + ((int)temp[13] - 48) * 10 + ((int)temp[14] - 48)) / 10.0); //Преобразование кодов ASCII строки символов в трехразрядное десятичное число.
CloseCom (1); //закрытие СОМ1
Табл. 28
Инфракрасный термометр |
||||
|
||||
Технические характеристики диапазон измерений –10°C...+300°C (–4°F...+572°F) разрешение 0,1°C; 0,1°F погрешность ±2 % от измеренного значения при внешней температуре 23,5 °С коэффициент температуры 10 % существующей погрешности в диапазоне температур 0...18°C и 28...40°C (32...64°F, 82...104°F) скорость измерений одно измерение в секунду поле зрения 7:1 интенсивность излучения 0,1...0,95 запись максимального/минимального показаний с возможностью повторного вызова |
Контрольные вопросы и задачи
1. Напишите фрагмент программы передачи команды @0106 в виде строки символов. При инициализации СОМ-порта задать: количество битов в передаваемом слове данных - 8, количество стоповых битов -1, наличие отсутствие бита паритета (контроля на четность/нечетность), тактовая частота передачи битов – 19200 бод.