Набор команд S7–200 Глава 6 95 Совет SMB2 и SMB3 совместно используются портами 0 и 1. Когда прием символа в порт 0 приводит к исполнению программы обработки прерывания, назначенной этому событию (прерывающее событие 8), SMB2 содержит символ, принятый портом 0, а SMB3 содержит результат контроля четности этого символа. Когда прием символа в порт 1 приводит к исполнению программы обработки прерывания, назначенной этому событию (прерывающее событие 25), SMB2 содержит символ, принятый портом 1, а SMB3 содержит результат контроля четности этого символа. Пример: Команды передачи и приема M A I N Network 1 //Эта программа принимает строку символов, пока не //будет получен символ перевода строки.
//Затем сообщение возвращается отправителю. LD SM0.1 //В первом цикле: MOVB 16#09, SMB30 //1. Инициализировать свободно // программируемый обмен данными: // - выбрать 9600 Бод. // - выбрать 8 битов данных. // - выбрать отсутствие контроля // четности. MOVB 16#B0, SMB87 //2. Инициализировать управляющий // байт для приема сообщений: // - Прием сообщений разблокирован. // - Обнаруживать символ конца // сообщения. // - Обнаруживать условие // бездействия линии, как условие // начала сообщения. MOVB 16#0A, SMB89 //3. В качестве символа конца // сообщения установить OAH // (перевод строки). MOVW +5, SMW90 //4. Установить время ожидания // бездействия линии равным 5 мс. MOVB 100, SMB94 //5.
Установить максимальное // количество символов равным 100. ATCH INT 0, 23 //6. Назначить прерывание 0 _ // событию "Прием завершен". ATCH INT 2, 9 //7. Назначить прерывание 2 _ // событию "Передача завершена". ENI //8. Разблокировать прерывания со // стороны пользователя. RCV VB100, 0 //9. Разблокировать блок приема с // буфером в VB100.