06_InstructionSet_r (1087186), страница 6
Текст из файла (страница 6)
Функция приема сообщений игнорирует все символы, принятые ранееначального символа. Начальный символ и все принятые после него символысохраняются в буфере сообщения.Обычно распознавание начального символа используется в протоколах ASCII, вкоторых все сообщения начинаются с одного и того же символа.Настройка: il = 0, sc = 1, bk = 0, SMW90/SMW190 = не имеют значения,SMB88/SMB188 = начальный символ3.Простой линии и начальный символ: Команда приема может начинать сообщениекомбинацией простоя линии и начального символа.
При выполнении команды приемафункция приема сообщений ищет условие простоя линии. После нахожденияусловия простоя линия функция приема сообщений ожидает заданного начальногосимвола. Если принимается любой символ, отличный от начального, функция приемасообщений снова начинает поиск условия простоя линии. Все символы, принятые дообнаружения условия простоя линии и до приема начального символа игнорируются.Начальный символ помещается в буфер сообщения вместе со всеми последующимисимволами.Время простоя линии всегда должно быть больше, чем время, необходимое дляпередачи одного символа (начальный бит, биты данных, биты контроля четности изавершения) при заданной скорости передачи. Типичным значением для временипростоя линии является время, необходимое для передачи трех символов призаданной скорости передачи.Обычно этот вид начальных условий используется с протоколом, который задаетминимальное и максимальное время между сообщениями, и первым символомсообщения является адрес или что-либо иное, определяющее конкретноеустройство.
Это особенно полезно, если реализуется протокол, в котором в обменеданными участвует несколько устройств. В этом случае команда приема запускаетпрерывание только в том случае, когда сообщение принимается для конкретногоадреса или конкретного устройства, указанного начальным символом.Настройка: il = 1, sc = 1, bk = 0, SMW90/SMW190 > 0, SMB88/SMB188 =начальный символ4.Обнаружение паузы: Признаком паузы является прием данных с нулевым значениемв течение времени, превышающего длительность передачи полного символа.
Времяпередачи полного символа определяется как общее время для передачи начальногобита, битов данных и битов контроля четности и завершения. Если команда приемабыла сконфигурирована так, что началом сообщения является прием условия паузы,то все символы, принятые после обнаружения условия паузы, помещаются в буферсообщения. Все символы, принятые до обнаружения условия паузы, игнорируются.Обычно обнаружение паузы используется в качестве начального условия только втом случае, если этого требует протокол.Настройка: il = 0, sc = 0, bk = 1, SMW90/SMW190 = не имеют значения,SMB88/SMB188 = не имеют значения5.Пауза и начальный символ: Команда приема может быть сконфигурирована так,чтобы начинать прием символов после обнаружения условия паузы, за которымследует начальный символ.
После обнаружения условия паузы функция приемасообщений ищет заданный начальный символ. Если принимается любой символ,кроме начального, то функция приема сообщений снова начинает искать условиепаузы. Все символы, принятые до обнаружения условия паузы и до полученияначального символа, игнорируются. Начальный символ помещается в буферсообщений вместе со всеми последующими символами.Настройка: il = 0, sc = 1, bk = 1, SMW90/SMW190 = не имеют значения,SMB88/SMB188 = начальный символ92Набор команд S7–2006.Глава 6Любой символ: Команда приема может быть сконфигурирована так, чтобынемедленно принимать все символы и помещать их в буфер сообщения. Это особыйслучай обнаружения бездействия линии.
В этом случае время простоя линии(SMW90 или SMW190) устанавливается в ноль. Это заставляет команду приеманачинать прием символов немедленно после начала исполнения.Настройка: il = 1, sc = 0, bk = 0, SMW90/SMW190 = 0, SMB88/SMB188 = неимеют значенияЕсли в качестве начала сообщения используется любой символ, то можноиспользовать таймер сообщений для контроля времени приема сообщения.
Этополезно в случаях, когда для реализации основной части протокола используетсясвободно программируемый обмен данными, и требуется контроль времени наслучай, если в течение определенного промежутка времени не будет полученоответа от slave-устройства. Таймер сообщения запускается, когда выполняетсякоманда приема, так как время простоя линии было установлено в ноль. Таймерсообщения заканчивает отсчет времени и завершает функцию приема сообщений,если не выполнено какое-нибудь другое условие окончания приема.Настройка: il = 1, sc = 0, bk = 0, SMW90/SMW190 = 0, SMB88/SMB188 = неимеют значения, c/m = 1, tmr = 1, SMW92 = выдержка времени таймера в мсКоманда приема поддерживает несколько способов завершения сообщения. Сообщениеможет быть завершено одним или комбинацией нескольких из следующих условий:1.Обнаружение конечного символа: Конечный символ – это любой символ,используемый для обозначения конца сообщения.
После обнаружения начальногоусловия команда приема проверяет каждый полученный символ на совпадение сконечным символом. Если получен конечный символ, то он помещается в буферсообщения, и прием завершается.Обычно обнаружение конечного символа используется в протоколах ASCII, гдекаждое сообщение завершается определенным символом. Для завершениясообщения обнаружение конечного символа можно использовать в сочетании смежсимвольным таймером, таймером сообщения или обнаружением достижениямаксимального количества символов.Настройка:2.ec = 1, SMB89/SMB189 = конечный символМежсимвольный таймер: Время между символами – это промежуток времени отконца одного символа (стопового бита) до конца следующего символа (стоповогобита).
Если время между символами (включая второй символ) превышает количествомиллисекунд, указанное в SMW92 или SMW192, то функция приема сообщенийзавершает работу. Межсимвольный таймер перезапускается после приема каждогосимвола. См. рис. 6–12.Межсимвольный таймер можно использовать для завершения сообщения впротоколах, не имеющих специального символа конца сообщения.
Этот таймердолжен быть установлен на значение, большее, чем время передачи одного символапри выбранной скорости передачи, так как этот таймер всегда включает в себявремя, необходимое для получения полного символа (начальный бит, биты данных,биты контроля четности и завершения).Для завершения сообщения межсимвольный таймер можно использовать всочетании с обнаружением конечного символа и обнаружением достижениямаксимального количества символов.Настройка:c/m = 0, tmr = 1, SMW92/SMW192 = выдержка времени в мсСимволыПерезапускает межсимвольныйтаймерСимволыВыдержка времени межсимвольного таймераистекла: сообщение завершается, и генерируетсяпрерывание по приему сообщенияРис.
6–12. Использование межсимвольного таймера для завершения команды приема93Программируемый контроллер S7-200. Системное руководство3.Таймер сообщения: Таймер сообщения завершает сообщение через определенноевремя после его начала. Таймер сообщения запускается, как только выполненоначальное условие или условия для функции приема сообщений. Таймер сообщениязавершает отсчет времени по истечении количества миллисекунд, указанных вSMW92 или SMW192. См. рис. 6–13.Обычно таймер сообщения используется, если устройства связи не могутгарантировать, что между символами не будет временных разрывов, или при работечерез модемы. Для модемов можно использовать таймер сообщения, чтобы задатьмаксимально допустимое время для приема сообщения после его начала.
Типичнымзначением для таймера сообщения является полуторакратное время, необходимоедля приема наиболее длинного возможного сообщения при выбранной скоростипередачи.Для завершения сообщения таймер сообщения можно использовать в сочетании собнаружением конечного символа и обнаружением достижения максимальногоколичества символов.Настройка: c/m = 1, tmr = 1, SMW92/SMW192 = выдержка времени в мсСимволыСимволыНачло сообщения:Запускается таймер сообщенийВыдержка времени таймера сообщений истекла:сообщение завершается, и генерируетсяпрерывание по приему сообщенияРис. 6–13. Использование таймера сообщений для завершения команды приема4.5.6.Значение для наибольшего числа символов: Команде приема можно сообщитьмаксимальное количество символов, которое должно быть принято (SMB94 илиSMB194).