Параметры обмена по сети rs485 по умолчанию

      Комментарии к записи Параметры обмена по сети rs485 по умолчанию отключены

Передача команд и прием ответов из модулей серии 7000

Порт СОМ2 у контроллера I-71788EAD работает по интерфейсу RS-485. Как известно, этот интерфейс используется для создания распределенной системы сбора данных на основе модулей серии I-7000.

Для посылки команд на модули 7000-серии следует использовать функцию:

int SendCmdTo7000 (int Port,

unsigned char *Cmd,

int ChkSum)

здесь Port – номер СОМ порта;

Cmd – строка, содержащая команду (массив символов заканчивающиеся ASCII нулем). Команда не должна заканчиваться символом 0x0d. Эта функция будет сама посылать этот символ.

ChkSum – 1, если посылать команду с контрольной суммой и 0, если посылать команду без контрольной суммы. Если контрольная сумма разрешен, то эта функция будет добавлять в конец команды 2 байта контрольной суммы.

Эта функция возвращает 0, если команда передана (ответ получен) или возвращает код ошибки.

Функция SendCmdTo7000 будет контролировать направление передачи по RS-485, т.е. вначале переключает сеть на передачу, а после передачи переключается на прием.

После посылки команды, программа должна вызывать функцию

int ReceiveResponseFrom7000 (int Port,

unsigned char *Buffer,

long TimeOut,

int ChkSum);

для получения ответа из модуля серии 7000. Если посланная команда не посылает ответа, то не следует вызывать эту функцию. Эта функция имеет почти такие же параметры, что и предыдущая функция:

— Port – номер порта, должен быть 1 или 2 для портов СОМ1 или СОМ2.

— buffer – адрес буфера для сохранения ответа пришедшего из модуля 7000-серии. Ответ заканчивается символом 0х0d. Эта функция удаляет этот символ (а точнее, заменяет его ASCII-нулем). Если контрольная сумма включена, то эта функция будет контролировать его и удалить контрольную сумму из сообщения.

— TimeOut – время прихода ответа (в мс). Функция ReceiveResponseFrom7000 контролирует время получения ответа. Если за это время не получен символ 0x0d, функция возвращает ошибка TimeOut (-5).

— ChkSum равен нулю, если контрольная сумма отключена, и равна 1, если контрольная сумма включена.

До вызова команды получения ответа пользователь должен быть уверен, что все данные отправлены СОМ портом. Для этого предназначена функция:

Int WaitTransmitOver2(void);

При передаче данных эта функция возвращает 0, в противном случае TimeOut (-5). В конце заметим, что имеются аналоги этой функции для других СОМ-портов.

Общие команды для модулей

Параметры обмена по сети 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.

1. Модуль дискретного ввода/вывод I-7060D

Модуль I-7060D имеет 4 оптоизолированного входа. Схема включения входных сигналов представлена ниже:

На входы могут подаваться напряжения до 30 В. Уровень лог. 0 до 1 В, уровень лог. 1 – от 4 В до 30 В.

Модуль I7060D имеет 4 релейных выхода. Релейные выходы RL1 и RL2 имеют нормально разомкнутые контакты, а релейные выходы RL3 и RL4 имеют переключающиеся контакты. Контакты могут пропускать токи до 0.6 А при напряжении ~125 В и токи 2 А при напряжении =30 В.

Структурная схема модуля I-7060D представлена ниже:

Статьи к прочтению:

ЧТО ТАКОЕ ПАРАМЕТР. КАК РЕШАТЬ ЗАДАЧИ С ПАРАМЕТРОМ. Подготовка к ЕГЭ 2016 с Артуром Шарифовым


Похожие статьи: