ADAM-5510_рус (Раздаточный материал к курсовому проекту), страница 14
Описание файла
Файл "ADAM-5510_рус" внутри архива находится в следующих папках: Раздаточный материал к курсовому проекту, ADAM5510. PDF-файл из архива "Раздаточный материал к курсовому проекту", который расположен в категории "". Всё это находится в предмете "системы автоматического управления (сау) (мт-11)" из 11 семестр (3 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "системы автоматического управления (сау) (мт-11)" в общих файлах.
Просмотр PDF-файла онлайн
Текст 14 страницы из PDF
All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.ruGet5050, Get5051, Get5052Синтаксис:void Get5050(int Board, int Bit, int Size, void *pValue)void Get5051(int Board, int Bit, int Size, void *pValue)void Get5052(int Board, int Bit, int Size, void *pValue)Описание:Чтение данных из модуля вводавыводаПАРАМЕТРBoardОПИСАНИЕНомер слота (0 3)BitСм. ниже описание параметра " Size"SizeABit, AByte, AWordЕсли Size=ABit, то значение Bit=0…15(канал0…канал15)Если Size=AByte, то значение Bit=0обозначает младший байт данных, азначение Bit=8 – старший байт данныхЕсли Size= AWord, то значениепараметра Bit не имеет значения,данные всегда имеют формат словаpValueУказатель на возвращаемое значениеВозвращаемое значение:НетПример:void main(void){unsigned char Bdata;unsigned int Wdata;Get5051(0, 13, ABit, &Bdata);/* Слот 0, канал 13, данные 0 или 1 */Get5051(2, 0, AByte, &Bdata);/* Слот 2, каналы 0 – 7, Bdataканалов */Get5051(3, 0, AWord, &Wdata);/*Слот 3, каналы 0 – 15, Wdataканалов*/}Примечание:Нет1029 байт данных для этих9 слово данных для этихCopyright 19992000, ProSoft, Ltd.
All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.ruGetRange5017HСинтаксис:void GetRange5017H(int Board, int Channel, void *pRange)Описание:Чтение значения входного диапазона модуля ADAM5017HПАРАМЕТРBoardОПИСАНИЕНомер слота (03)ChannelНомер канала (07)*pRangeУказатель на возвращаемое значениекодавходногодиапазона(см.приложение С)Возвращаемое значение:НетПримечание:Нет103Copyright 19992000, ProSoft, Ltd. All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.ruInit5017HСинтаксис:void Init5017H(int Slot)Описание:Инициализация модуля ADAM5017H.
Эта операция обязательно должнапредшествовать любым другим командам обращения к модулюПАРАМЕТРSlotОписаниеНомер слота в диапазоне от 0 до 3Возвращаемое значение:НетПример:void main(void){int I;/* Инициализация модулейслотах 094 */for (I=0; I<4; I++)Init5017H(I);}Примечание:Нет104ADAM95017H,установленныхвCopyright 19992000, ProSoft, Ltd. All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.ruInit5024Синтаксис:void Init5024(int Slot, int ch0_val, int ch1_val, int ch2_val, int ch3_val )Описание:Инициализация модуля ADAM5024 в указанном слоте с заданием значениявыходного сигнала для каждого из четырех аналоговых выходов модуляПАРАМЕТРSlotОПИСАНИЕНомер слота в диапазоне от 0 до 3ch0_valНачальное значение для канала 0ch1_valНачальное значение для канала 1ch2_valНачальное значение для канала 2ch3_valНачальное значение для канала 3Возвращаемое значение:НетПример:void main(void){Init5024(0, 0, 0, 0, 0);/* Инициализация модуля ADAM95024, установленного в слот0, с установкой на всех его выходах нулевого значения сигнала*/}Примечание:Нет105Copyright 19992000, ProSoft, Ltd.
All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.ruSet5024Синтаксис:void Set5024(void *pValue, int Board, int Channel)Описание:Задание значений сигналов выходных каналов модуля ADAM5024ПАРАМЕТР*pValueОПИСАНИЕЗначение выходного сигналаBoardНомер слота (0 3)ChannelНомер канала аналогового вывода (0 –3)Возвращаемое значение:НетПримечание:Нет106Copyright 19992000, ProSoft, Ltd. All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.ruSet5050, Set5056, Set5060, Set5068Синтаксис:void Set5050(void *pValue, int Board, int Bit, int Size)Описание:Задание состояния выходных каналовADAM5060 и ADAM5068модулей ADAM5050, ADAM5056,ПАРАМЕТРpValueОПИСАНИЕУказательнапеременную,представляющую состояние выходныхканаловBitСм.
ниже описание параметра " Size"SizeABit, AByte, AWordЕсли Size=ABit, то значение Bit=0…15соответствует номеру канала (015)Если Size=AByte, то значение Bit=0обозначает младший байт данных, азначение Bit=8 – старший байт данныхЕслиSize=AWord,тозначениепараметра Bit не имеет значения,данные всегда имеют формат словаВозвращаемое значение:НетПример:void main(void){unsigned char Bitdata=1;Set5056 (&Bitdata, 0, 13, ABit);/* На выходе канала 13 модуля, установленного в слот 0,задается сигнал высокого логического уровня */}Примечание:Нет107Copyright 19992000, ProSoft, Ltd.
All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.ru7.5.4. Библиотека коммуникационных функций (COMM*.LIB)checksumСинтаксис:unsigned int checksum(void *buffer, int len, unsigned int seed)Описание:Подсчет контрольной суммы последовательности или массива данныхПАРАМЕТРbufferОПИСАНИЕПоследовательностьданных,длякоторойнеобходимовыполнитьподсчет контрольной суммыlenДлина последовательности данныхseedНачальное число, прибавляемое кконтрольной сумме для выполнениявычислений или для обеспечениязащитыВозвращаемое значение:Значение контрольной суммы массива данныхПример:unsigned char String[ ] = "Проверка работы функции CheckSum";void main(void){unsigned int code;code = checksum(String, strlen(String), 0);}Примечание:Нет108Copyright 19992000, ProSoft, Ltd.
All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.rucom_carrierСинтаксис:int com_carrier(void)Описание:Обнаружение в линии сигнала несущей частоты устройством, подключеннымк СОМпортуПАРАМЕТРНетОПИСАНИЕВозвращаемое значение:TRUEПри обнаружении сигнала несущейFALSEПри отсутствии сигнала несущейПример:void main(void){if (com_carrier() == TRUE){/* Сигнал несущей обнаружен в линии, подключеннойчерез модем к СОМ9порту.
Поместите здесь программу обменаданными */}}Примечание:Нет109Copyright 19992000, ProSoft, Ltd. All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.rucom_clear_breakcom_set_breakСинтаксис:void com_clear_break(unsigned baseaddr)void com_set_break(unsigned baseaddr)Описание:Сброс состояния BREAK для модема СОМпортаУстановка состояния BREAK для модема СОМпортаПАРАМЕТРbaseaddrОПИСАНИЕАдрес СОМпорта:0х3F8 для СОМ10х2F8 для СОМ2Возвращаемое значение:НетПример:НетПримечание:Для получения дополнительной информации ознакомьтесь с описаниемрегистров UART 16С550 (приложение В)110Copyright 19992000, ProSoft, Ltd.
All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.rucom_clear_local_loopbackcom_set_local_loopbackСинтаксис:void com_clear_local_loopback(unsigned baseaddr)com_set_local_loopback(unsigned baseaddr)Описание:Перевод СОМпорта в режим проведения самодиагностики (внутренняякоммутация выхода порта на его вход)Отмена для СОМпорта режима проведения самодиагностики (внутренняякоммутация выхода порта на его вход)ПАРАМЕТРbaseaddrОПИСАНИЕАдрес СОМпорта:0х3F8 для СОМ10х2F8 для СОМ2Возвращаемое значение:НетПример:НетПримечание:Для получения дополнительной информации ознакомьтесь с описаниемрегистров UART 16С550 (приложение В)111Copyright 19992000, ProSoft, Ltd. All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.rucom_deinstallСинтаксис:void com_deinstall(void)Описание:Полное удаление коммуникационного драйвера без изменения скоростиобмена и логического состояния линии DTRПАРАМЕТРНетОПИСАНИЕВозвращаемое значение:НетПример:void main(void){/* Операторы программы */com_deinstall();}Примечание:Эта функция должна быть обязательно выполнена перед передачейуправления DOS для того, чтобы вектор прерывания более не указывал наиспользовавшийся коммуникационный драйвер112Copyright 19992000, ProSoft, Ltd.
All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.rucom_disable_fifo, com_enable_fifoСинтаксис:void com_disable_fifo(unsigned baseaddr)int com_enable_fifo(unsigned baseaddr, unsigned triggerlevel)Описание:Запрещает для приемного буфера FIFO СОМпортапрерывания при получении заданного числа символовРазрешает для приемного буфера FIFO СОМпортапрерывания при получении 1, 2, 8 или 14 символовинициированиеинициированиеПАРАМЕТРbaseaddrОПИСАНИЕАдрес СОМпорта:0х3F8 для СОМ10х2F8 для СОМ2triggerlevelКоличество принятых символов (1, 2,8,14) для инициирования прерыванияВозвращаемое значение:0Успешное выполнение функции1Буфер FIFO не доступен10Неудачный исход выполнения функцииразрешенияПример:НетПримечание:Для получения дополнительной информации ознакомьтесь с описаниемрегистров UART 16С550 (приложение В)113Copyright 19992000, ProSoft, Ltd.
All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.rucom_flush_rx, com_flush_txСинтаксис:void com_flush_rx(void)void com_flush_tx(void)Описание:Очистка буферов приема и передачи соответственноОПИСАНИЕПАРАМЕТРНетВозвращаемое значение:НетПример:void main(void){com_flush_rx();com_flush_tx();}Примечание:Нет114Copyright 19992000, ProSoft, Ltd. All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.rucom_get_line_statuscom_set_line_paramscom_get_modem_statusСинтаксис:int com_get_line_status(unsigned baseaddr)int com_set_line_params(unsigned baseaddr, unsigned lineparams)int com_get_modem_status(unsigned baseaddr)Описание:Чтение из регистра состояния линии СОМпортаЗапись в регистр состояния линии СОМпортаЧтение из регистра состояния модема СОМпортаПАРАМЕТРbaseaddrОПИСАНИЕАдрес СОМпорта:0х3F8 для СОМ10х2F8 для СОМ2lineparamsСм.
описание UARTВозвращаемое значение:См. описание регистров UART 16С550 (приложение В)Пример:НетПримечание:См. описание регистров UART 16С550 (приложение В)115Copyright 19992000, ProSoft, Ltd. All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.rucom_installСинтаксис:int com_install(int portnum)Описание:Установка коммуникационного драйвераПАРАМЕТРportnumОПИСАНИЕНомер СОМпорта. Для ADAM5510значение параметра может иметьтолько значение 1Возвращаемое значение:status0 – успешное завершение установки1 – драйвер уже установлен2 – недопустимый номер СОМпорта3 – отсутствие UART для заданногопортаПример:void main(void){status = com_install(1); /* Порт COM1 */if (status == 0) printf("\n Драйвер для COM1 установленуспешно");else exit(0);}Примечание:Нет116Copyright 19992000, ProSoft, Ltd.
All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.rucom_lower_dtr,com_raise_dtrСинтаксис:void com_lower_dtr(void)void com_raise_dtr(void)Описание:Установка сигнала DTR СОМпорта в состояние низкого логического уровняУстановка сигнала DTR СОМпорта в состояние высокого логического уровняПАРАМЕТРНетОПИСАНИЕВозвращаемое значение:НетПример:НетПримечание:См. описание регистров UART 16С550 (приложение В)117Copyright 19992000, ProSoft, Ltd. All Rights Reserved.Тел.(095) 2340636, Факс: (095) 2340640, www.prosoft.rucom_lower_rts,com_raise_rtsСинтаксис:void com_lower_rts(unsigned baseaddr)void com_raise_rts(unsigned baseaddr)Описание:Установка сигнала RTS СОМпорта в состояние низкого логического уровняУстановка сигнала RTS СОМпорта в состояние высокого логического уровняПАРАМЕТРbaseaddrОПИСАНИЕАдрес СОМпорта:0х3F8 для СОМ10х2F8 для СОМ2Возвращаемое значение:НетПример:#define СОМ10х3F8#define СОМ20х2F8void main(void){com_lower_rts(СОМ1); /* Взаимодействие с внешним устройствомпоследовательного порта */ADAMdelay(500);com_raise_rts(СОМ1); /* Завершение формирования сигнала низкогоуровня длительностью 500 мс */}Примечание:См.