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

Набор команд S7–200 Глава 6 Условия начала и окончания сообщения для команды приема Для определения условий начала и окончания сообщения команда приема использует биты байта управления приемом сообщений (SMB87 или SMB187). Команда приема поддерживает несколько условий начала сообщения: 1. Распознавание бездействия линии: Условие бездействия линии определяется как время простоя или перерыва в работе линии передачи. Прием начинается, если линия связи находилась в простое или имела перерыв в работе в течение некоторого количества миллисекунд, указанного в SMW90 или SMW190. Когда в вашей программе выполняется команда приема, то функция приема сообщений инициирует поиск условия бездействия линии.

Если прием каких-либо символов происходит до истечения времени простоя линии, то функция приема сообщений игнорирует эти символы и вновь запускает таймер простоя линия с временем, полученным из SMW90 или SMW190. См. рис. 6–11. По истечении времени простоя линии функция приема сообщений сохраняет все последующие полученные символы в буфере сообщений. Время простоя линии всегда должно быть больше, чем время, необходимое для передачи одного символа (начальный бит, биты данных, биты контроля четности и завершения) при заданной скорости передачи. Типичным значением для времени простоя линии является время, необходимое для передачи трех символов при заданной скорости передачи.

Распознавание бездействия линии используется в качестве начального условия для двоичных протоколов, для протоколов, не имеющих определенного начального символа, или в случае, когда протокол требует минимального времени между сообщениями. Настройка: il = 1, sc = 0, bk = 0, SMW90/SMW190 = простой линии в мс Рис. 6–11. Запуск команды приема с распознаванием бездействия линии 91 Совет Если во время выполнения команды приема коммуникационный порт занят другими устройствами, то функция приема сообщений может начать прием символа в середине этого символа, что может привести к ошибке при контроле четности и завершению приема сообщения.

Если проверка четности не активизирована, то принятое сообщение может содержать неправильные символы. Эта ситуация может возникнуть, если в качестве начального условия назначен определенный начальный символ или любой символ, как это описано ниже в пунктах 2 и 6. Команда приема поддерживает несколько условий начала сообщения. Если указанное вами условие начала приема содержит паузу или распознавание бездействия линия, то описанной выше проблемы удается избежать, принуждая функцию приема сообщений синхронизировать начало сообщения с началом символа, прежде чем символ будет помещен в буфер сообщений.

Символы Символы Снова запускает время простоя Первый символ, помещаемый в буфер сообщений Команда приема выполняется: Обнаружено время простоя: запускается отсчет времени простоя запускается функция приема сообщений