Настройки в конфигурационном файле для I/O обмена
Настройки в конфигурационном файле для I/O обмена
Конфигурационный файл для I/O обмена называется DeviceNet.ini, он должен быть расположен в корневой директории Trace Mode. Файл состоит из одной или нескольких секций, по количеству каналов шины CAN.
Имя каждой секции – CAN_n, где n – номер канала. Полный список параметров приведен ниже в таблице.
Параметр |
Описание |
OpenConnectionTimeout |
Максимальное время ожидания соединения, мс |
CloseConnectionTimeout |
Максимальное время закрытия соединения, мс |
ReadTotalTimeout |
Общее время приема ответа, мс |
ReadIntervalTimeout |
Максимальный интервал между фрагментами, мс |
Master_MAC_ID |
Идентификатор компьютера – инициатора запросов, 0…63 |
Baudrate |
Скорость обмена - константа, соответствующая перечислению в описании функции CAN_Init() (см. выше) |
Кроме атрибутов, общих для всех источников/приемников (см. Редакторы источников (приемников) , а также Описание драйверов DeviceNet и Шаблоны каналов обмена ), в редакторе шаблона канала обмена задаются следующие атрибуты:
Номер CAN-канала – номер канала интерфейса CAN, однобайтное десятичное число;
MAC-адрес - идентификатор запрашиваемого прибора, однобайтное десятичное число;
Запрос – тип запроса к прибору, значение выбирается из меню:
DeviceExchange – канал этого типа инициирует сеанс обмена с контроллером, может быть как Input так и Output;
ReadBuffSize – размер приемного буфера, в этот буфер приходит ответ от прибора;
WriteBuffSize – длина посылаемого блока данных;
ReadValue – каналы этого типа служат для доступа к элементам приемного буфера;
WriteValue – каналы этого типа служат для доступа к элементам отправляемого буфера;
Смещение – смещение переменной относительно начала блока. Настройка имеет смысл только для каналов с атрибутом Запрос типа ReadValue и WriteValue;
Тип данных – тип переменной в блоке, настройка имеет смысл только для каналов с атрибутом Запрос типа ReadValue и WriteValue. Значение выбирается из меню:
SINT – short integer, однобайтное знаковое целое;
USINT – unsigned short integer, однобайтное беззнаковое целое;
INT – integer, знаковое двухбайтное целое;
UINT(WORD) – unsigned integer, беззнаковое двухбайтное целое;
DINT – double integer, знаковое 4-байтное целое;
UDINT(DWORD) – unsigned double integer, беззнаковое 4-байтное целое;
LINT – long integer, знаковое 8-байтное целое;
ULINT – unsigned long integer, беззнаковое 8-байтное целое;
REAL – число с плавающей точкой, float;
LREAL(double) – число с плавающей точкой двойной точности, double.
Для обмена с прибором необходимо:
при редактировании проекта:
создать Output-каналы типов ReadBuffSize и WriteBuffSize;
создать каналы, адресующиеся к элементам обоих буферов;
создать канал–инициатор обмена (один);
при работе МРВ:
задать размеры буферов для отправки и приема;
заполнить буфер для отправки, если его длина больше 0;
обработка канала – инициатора обмена вызовет посылку контроллеру блока данных, прием ответа и запись ответа в буфер приема;
каналы, связывающие буфер приема с переменными нужных типов, отображают ответ контроллера.