Siemens — Команды для обмена данными

Программируемый контроллер S7-200. Системное руководство Вы можете принимать сообщения и без использования прерываний, контролируя SMB86 (порт 0) или SMB186 (порт 1). Этот байт не равен нулю, если приема не активен или завершен. Он равен нулю, когда происходит прием. Как показано в таблице 6–12, команда приема позволяет выбирать условия начала и окончания сообщения с помощью SMB86 − SMB94 для порта 0 и SMB186 − SMB194 для порта 1. Таблица 6–13. Байты буфера приема (от SMB86 до SMB94 и от SM1B86 до SMB194) 90 Совет Функция приема сообщений автоматически завершается при превышении количества символов или ошибке четности.

Вы должны определить условие начала и условие конца (максимальное количество символов), чтобы функция приема сообщений могла работать. Порт 0 Порт 1 Описание SMB86 SMB186 Байт состояния приема MSB LSB сообщения 7 0 n r e 0 0 t c p n: 1 = Функция приема сообщений завершена: пользователь дал команду на деактивизацию. r: 1 = Функция приема сообщений завершена: ошибка во входном параметре или отсутствует условие начала или конца e: 1 = Принят символ конца t: 1 = Функция приема сообщений завершена: истекло время c: 1 = Функция приема сообщений завершена: достигнуто максимальное количество символов p: 1 = Функция приема сообщений завершена:

ошибка четности SMB87 SMB187 Байт управления приемом MSB LSB сообщения 7 0 en sc ec il c/m tmr bk 0 en: 0 =функция приема сообщений заблокирована. 1 = функция приема сообщений разблокирована. Бит разблокировки/блокировки приема сообщений проверяется при каждом исполнении команды RCV. sc: 0 = игнорировать SMB88 или SMB188. 1 = использовать значение SMB88 или SMB188 для обнаружения начала сообщения. ec: 0 = игнорировать SMB89 или SMB189. 1 = использовать значение SMB89 или SMB189 для обнаружения конца сообщения. il: 0 = игнорировать SMW90 или SMW190. 1 = использовать значение SMW90 или SMW190 для обнаружения бездействия линии c/m:

0 = таймер измеряет время между символами 1 = таймер измеряет время сообщения. tmr: 0 = игнорировать SMW92 или SMW192. 1 = завершить прием, если превышен интервал времени, указанный в SMW92 или SMW192 . bk: 0 = игнорировать условия паузы 1 = использовать условие паузы как начало обнаружения сообщения. SMB88 SMB188 Символ начала сообщения. SMB89 SMB189 Символ конца сообщения. SMW90 SMW190 Время бездействия линии в миллисекундах. Первый символ, принятый по истечении времени бездействия линии, является началом нового сообщения. SMW92 SMW192 Значение контроля времени при измерении времени между символами и времени сообщения в миллисекундах.

Если этот интервал времени истек, то прием сообщения завершается. SMB94 SMB194 Максимальное количество символов, которое должно быть принято (от 1 до 255 байтов). Этот диапазон должен быть установлен на ожидаемый максимальный размер буфера, даже если завершение сообщения с помощью подсчета символов не используется. n r e 0 0 t c p en sc ec il c/m tmr bk 0