Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Функция чтения одного байта из входного буфера СОМ-порта
int ReadCom1(void); Если чтение успешно, то возвращает ASCII-код символа (0 – 255), если ошибка чтения порта, то возвращает -1 (ошибка порта) или -6 (буфер пустой). Функция посылки одного байта в СОМ-порт int ToCom1(int data); Функции передается ASCII-код передаваемого символа. В случае передачи байта возвращает 0, в противном случае -5. Функция посылки n-байт данных в СОМ-порт int ToCom1Bufn(char *buf, int no); Функции передается адрес строки (buf) содержащего строку и количество передаваемых байтов. Если строка передана успешно, то возвращает 0 в противном случае -5. Функция посылки строки в СОМ-порт int ToCom1Str(char *str); Функции передается адрес строки заканчивающиеся ASCII-нулем. Эта функция возвращает такие же значения, что и предыдущая функция. Функция очистки всех данных из входного буфера СОМ-порта int ClearCom1(void); Возвращаемое значение 0.
Г) Функции для 5-цифрового ЖКД Контроллер имеет 5 цифровой 7-и сегментный индикатор. Индикаторы пронумерованы как 1, 2, 3, 4 и 5 слева на право. Перед использованием их, пользователь должен вызвать функцию void Init5DigitLed (void), и затем вызывать функцию: int Show5DigitLed(int pos,int data) Параметр pos может быть 1, 2, 3, 4 и 5 - определяет положение цифры. Параметр data может принимать значения от 0 до 17 (16-ичные цифры, 16 – пусто, 17- символ “-”). Для вывода цифры с точкой следует вызывать функцию: int Show5DigitLedWithDot(int pos,int data) Пример. Вывод на индикатор числа 12.345 Show5DigitLed(1, 1); Show5DigitLedWithDot(2, 2); //Будет показан “2.” Show5DigitLed(3, 3); Show5DigitLed(4, 4); Show5DigitLed(5, 5);
Д) Функции для светодиода Контроллер I-7188EAD имеет один светодиод, который, например, может показать режим работы контроллера. Для включения этого светодиода предназначена функция void LedOn(void), а для отключения светодиода – void LedOff(void). Функция void LedToggle(void) переключает светодиод на противоположное состояние.
Е) Функция для задержки времени void DelayMs(unsigned int time); Эта функция задерживает время на указанное в параметре time число мс. Вызов этой функции не нуждается в инсталляции драйвера таймера.
Для посылки команд на модули 7000-серии следует использовать функцию: int SendCmdTo7000 (int Port,unsigned char *Cmd,int ChkSum) здесь Port – номер СОМ порта; Cmd – строка, содержащая команду Эта функция возвращает 0, если команда передана (ответ получен) или возвращает код ошибки. После посылки команды, программа должна вызывать функцию Int ReceiveResponseFrom7000(int Port, unsigned char *Buffer, long TimeOut, int ChkSum); для получения ответа из модуля серии 7000. - buffer – адрес буфера для сохранения ответа пришедшего из модуля 7000-серии. - TimeOut – время прихода ответа (в мс). Функция ReceiveResponseFrom7000 контролирует время получения ответа. Общие команды для модулей Параметры обмена по сети RS485 по умолчанию - Адрес: 01 - Скорость обмена: 9600 бод - Контрольная сумма: отключена. Рассмотрим общих команд на примере модуля I-7060D 1. $AAM – чтение имени модуля Ответ: !AA(Data) – где Data имя модуля.
2. Команда ~** - Информирует всех модулей, что хозяин сети готов Ответ: Ничего не возвращает
3. Команда $AA2 — чтение конфигурации Ответ: !AA TT CC FF[chk](cr) ТТ — тип модуля ввода/вывода: 40 для дискретных модулей. СС – Скорость обмена
FF – Формат данных – определяет наличие контрольной суммы, и формат выводимых данных. Для дискретных модулей:
*1: Фронт сигнала для счетчика входного канала: 0=Задний фронт, 1=Передний фронт *2: Контрольная сумма: 0=отключен, 1=включен *3 :7050 = 000), 7060 = 001, 7052 = 010, 7053 = 011
4. Команда %AA NN TT CC FF — установка конфигурации NN — новый адрес; Ответ: !AA[chk](cr) — правильная команда.
5. Команда #** - Чтение каждого входа каждого модуля в сети RS-485 и сохранение их для дальнейшего опроса. Для опроса прочитанных данных должна выполняться команда $AA4.
/////////// Смотри еще команды в вопросе 6. |
Последнее изменение этой страницы: 2019-04-21; Просмотров: 254; Нарушение авторского права страницы