Руководство по программированию 6 profinet 7 Двухточечная связь (PointtoPoint, PtP) 8
Скачать 3.76 Mb.
|
Параметр Тип параметра Тип данных Описание REQ IN Bool Активизировать изменение конфигурации при нарастающем фронте на этом входе PORT IN PORT Идентификатор коммуникационного порта: Этот логический адрес является константой, на которую может быть сделана ссылка во вкладке "Constants" стандартной таблицы переменных. RTSONDLY IN UInt Количество миллисекунд ожидания после активизации RTS, прежде чем произойдет передача Tx-данных. Этот параметр действителен только в том случае, если разблокировано аппаратное управление потоком. От 0 до 65535 мс. 0 блокирует это свойство. Двухточечная связь (PtP) 8.6 Команды для двухточечного соединения Программируемый контроллер S7-1200 298 Системное руководство, 11/2009, A5E02669003-02 Параметр Тип параметра Тип данных Описание RTSOFFDLY IN UInt Количество миллисекунд ожидания после передачи Tx-данных, прежде чем RTS будет деактивизирован: Этот параметр действителен только в том случае, если разблокировано аппаратное управление потоком. От 0 до 65535 мс. 0 блокирует это свойство. BREAK IN UInt Этот параметр указывает, что в начале каждого сообщения будет передана пауза в течение указанного числа тактов передачи. Максимальное число тактов равно 65535. 0 блокирует это свойство. Максимум 8 секунд IDLELINE IN UInt Этот параметр указывает, что перед началом каждого сообщения линия будет находиться в состоянии простоя в течение указанного числа тактов передачи. Максимальное число тактов равно 65535. 0 блокирует это свойство. Максимум 8 секунд DONE OUT Bool ИСТИНА в течение одного цикла, после того как последний запрос был выполнен без ошибок ERROR OUT Bool ИСТИНА в течение одного цикла, после того как последний запрос был выполнен с ошибкой STATUS OUT Word Код условия выполнения STATUS (W#16#....) Описание 80B0 Конфигурация прерывания передачи недопустима 80B1 Время паузы превышает допустимое значение (2500 тактов передачи) 80B2 Время простоя превышает допустимое значение (2500 тактов передачи) Двухточечная связь (PtP) 8.6 Команды для двухточечного соединения Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 299 8.6.4 Команда RCV_CFG Команда RCV_CFG (конфигурирование приема) выполняет динамическое конфигурирование параметров последовательного приема для порта двухточечной связи. Эта команда конфигурирует условия, которые указывают на начало и конец принимаемого сообщения. Все сообщения, стоящие в очереди в коммуникационном модуле (CM), отвергаются, когда выполняется команда RCV_CFG. Вы можете установить начальную статическую конфигурацию порта в свойствах конфигурации устройств или просто использовать значения по умолчанию. Вы можете исполнить команду RCV_CFG в вашей программе для изменения конфигурации. Изменения конфигурации, выполненные с помощью команды RCV_CFG, не сохраняются постоянно в ПЛК. Параметры, установленные в конфигурации устройств, восстанавливаются, когда ПЛК переходит из RUN в STOP, а также после выключения и последующего включения питания. Дальнейшую информацию вы найдете под заголовком "Конфигурирование параметров приема" (стр. 285). Параметр Тип параметра Тип данных Описание REQ IN Bool Активизировать изменение конфигурации при нарастающем фронте на этом входе PORT IN PORT Идентификатор коммуникационного порта: Этот логический адрес является константой, на которую может быть сделана ссылка во вкладке "Constants" стандартной таблицы переменных. CONDITIONS IN CONDITIONS Структура данных этого параметра определяет условия начала и конца сообщения. Они описаны ниже. DONE OUT Bool ИСТИНА в течение одного цикла, после того как последний запрос был выполнен без ошибок ERROR OUT Bool ИСТИНА в течение одного цикла, после того как последний запрос был выполнен с ошибкой STATUS OUT Word Код условия выполнения Двухточечная связь (PtP) 8.6 Команды для двухточечного соединения Программируемый контроллер S7-1200 300 Системное руководство, 11/2009, A5E02669003-02 Условия начала сообщения для команды RCV_PTP Команда RCV_PTP использует конфигурацию, заданную командой RCV_CFG, для определения начала и конца сообщений при двухточечном соединении. Начало сообщения определяется стартовыми условиями. Начало сообщения может быть определено одним или комбинацией нескольких стартовых условий. Если задано больше одного стартового условия, то все эти условия должны быть выполнены перед началом сообщения. Возможные стартовые условия: ● "Начальный символ" указывает, что сообщение начинается при успешном приеме определенного символа. Этот символ будет первым символом в сообщении. Любой символ, принятый до этого конкретного символа, будет отвергнут. ● "Любой символ" указывает, что любой успешно принятый символ будет началом сообщения. Этот символ будет первым символом в сообщении. ● "Пауза на линии" указывает, что операция по приему сообщения должна начаться после приема символа паузы. ● "Простаивающая линия" указывает, что прием сообщения должен начаться после того, как принимающая линия пробудет в состоянии покоя в течение заданного количества тактов передачи. Как только это условие выполняется, начинается передача сообщения. Символы Новый запуск таймера простоя линии Простой линии обнаружен, и начат прием сообщения ● "Переменные последовательности символов": Стартовые условия могут быть построены на переменном количестве последовательностей символов (максимум до 4), состоящих из переменного числа символов (максимум до 5). Позиция каждого символа в каждой последовательности может быть выбрана в качестве определенного символа, или в качестве безразличного символа ("джокера"), на месте которого может стоять любой символ. Эти стартовые условия могут использоваться, когда начало сообщения указывают несколько различных последовательностей символов. Рассмотрим следующее, принятое в шестнадцатеричном коде сообщение: "68 10 aa 68 bb 10 aa 16" и сконфигурированные стартовые последовательности, показанные в следующей таблице. Стартовые последовательности начинают анализироваться, когда успешно принят первый символ 68H. При успешном приеме четвертого символа (второй символ 68H) выполняется стартовое условие 1. Как только стартовые условия выполнены, начинается анализ конечных условий. Обработка стартовой последовательности может быть завершена из-за различных ошибок при контроле четности, ошибок кадрирования или ошибок интервала времени между символами. Эти ошибки приводят к тому, что сообщение не принимается, так как стартовое условие не было выполнено. Стартовое условие Первый символ Первый символ +1 Первый символ +2 Первый символ +3 Первый символ +4 1 68H xx xx 68H xx 2 10H aaH xx xx xx 3 dcH aaH xx xx xx 4 e5H xx xx xx xx Двухточечная связь (PtP) 8.6 Команды для двухточечного соединения Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 301 Условия окончания сообщения для команды RCV_PTP Конец сообщения определяется указанием конечных условий. Конец сообщения определяется первым появлением одного или нескольких сконфигурированных конечных условий. Возможные условия конца сообщения: ● "Истечение времени ожидания ответа" указывает, что символ ответа должен быть успешно принят в течение времени, заданного параметром RCVTIME. Таймер начинает работать, как только передача успешно завершается, и модуль начинает операцию приема. Если символ не принимается в течение интервала, задаваемого параметром RCVTIME, то в соответствующую команду RCV_PTP возвращается ошибка. Истечение времени ожидания ответа не определяет конкретного условия конца сообщения. Оно только указывает, что какой-нибудь символ должен быть успешно принят в течение заданного времени. Особое условие конца сообщения для определения конечного условия для ответных сообщений. Переданные символы Принятые символы Первый символ должен быть успешно принят в течение этого времени ● "Истечение времени ожидания сообщения" указывает, что сообщение должно быть принято в течение времени, указанного в параметре MSGTIME. Таймер начинает работать, как только будет выполнено указанное стартовое условие. Принятые символы Условие начала сообщения выполнено: запускается таймер сообщения Таймер сообщения завершает свою работу и завершает сообщение ● "Промежуток между символами" – это время, измеряемое от конца одного символа (последнего стопового бита) до конца следующего символа. Если время между любыми двумя символами превышает сконфигурированное количество тактов передачи, то сообщение завершается. Принятые символы Новый запуск таймера межсимвольного времени Таймер межсимвольного времени завершает работу и завершает сообщение с ошибкой Двухточечная связь (PtP) 8.6 Команды для двухточечного соединения Программируемый контроллер S7-1200 302 Системное руководство, 11/2009, A5E02669003-02 ● "Максимальная длина": Операция приема останавливается, как только принято заданное количество символов. Это условие может быть использовано для предотвращения ошибки переполнения буфера. Если это конечное условие комбинируется с условиями истечения времени ожидания и условие истечения времени ожидания выполняется, то все действительные принятые символы выводятся, даже если максимальная длина еще не достигнута. Это позволяет поддерживать протоколы различной длины, даже если известна только максимальная длина. ● Комбинированное условие "N + Размер указателя длины + Длина M". Это конечное условие может быть использовано для обработки сообщения переменной длины, содержащего поле длины. – "N" указывает позицию (число символов от начала сообщения), где начинается поле длины. (База 1) – " Размер указателя длины " указывает поле длины. Допустимыми значениями являются 1, 2 или 4 байта. – "Длина M" указывает количество завершающих символов (после поля длины), которые не включаются в длину сообщения. Это значение может быть использовано для указания длины поля контрольной суммы, размер которого не включается в поле длины – В качестве примера рассмотрим формат сообщения, состоящий из начального символа, адресного символа, однобайтного поля длины, данных сообщения, символов контрольной суммы и конечного символа. Записи под заголовком "Длина" соответствуют параметру N. Значение N равно 3 и указывает, что байтом длины является третий байт от начала сообщения. Размер указателя длины равен 1, указывая, что значение длины сообщения содержится в одном байте. Поля контрольной суммы и конечного символа соответствуют параметру "Длина M". Значение параметра "Длина M" равно 3, указывая число байтов в полях контрольной суммы и конечного символа. Начальный символ (1) Адрес (2) Длина (N) (3) Сообщение ... (x) Контрольная сумма и конечный символ Длина M x+1 x+2 x+3 xx xx xx xx xx xx xx xx ● Переменные символы: Это конечное условие может использоваться для завершения приема на основе различных последовательностей символов. Эти последовательности могут состоять из различного числа символов (не более 5). Позиция каждого символа в каждой последовательности может быть выбрана для записи определенного символа или безразличного символа ("джокера"), означающего, что условию удовлетворяет любой символ. Все ведущие символы, сконфигурированные так, чтобы они были проигнорированы, не являются необходимой частью сообщения. Все замыкающие символы, которые игнорируются, являются необходимой частью сообщения. Двухточечная связь (PtP) 8.6 Команды для двухточечного соединения Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 303 Структура типа данных параметра CONDITIONS, часть 1 (стартовые условия) Параметр Тип параметра Тип данных Описание STARTCOND IN UInt Задание стартовых условий: • 01H – Начальный символ • 02H – Любой символ • 04H - Пауза на линии • 08H – Простаивающая линия • 10H - Последовательность 1 • 20H - Последовательность 2 • 40H - Последовательность 3 • 80H - Последовательность 4 IDLETIME IN UInt Число тактов передачи для времени ожидания простоя линии. Используется только вместе с условием "Простаивающая линия". От 0 до 65535 STARTCHAR IN Byte Начальный символ для условия "Начальный символ". STRSEQ1CTL IN Byte Управление игнорированием/сравнением для каждого символа последовательности 1: Это разблокирующие биты для каждого символа в начальной последовательности • 01H - Символ 1 • 02H - Символ 2 • 04H - Символ 3 • 08H - Символ 4 • 10H - Символ 5 Блокирование бита для определенного символа означает, что в этой позиции последовательности подходит любой символ. STRSEQ1 IN Char[5] Последовательность 1, начальные символы (5 символов) STRSEQ2CTL IN Byte Управление игнорированием/сравнением для каждого символа последовательности 2 STRSEQ2 IN Char[5] Последовательность 2, начальные символы (5 символов) STRSEQ3CTL IN Byte Управление игнорированием/сравнением для каждого символа последовательности 3 STRSEQ3 IN Char[5] Последовательность 3, начальные символы (5 символов) STRSEQ4CTL IN Byte Управление игнорированием/сравнением для каждого символа последовательности 4 STRSEQ4 IN Char[5] Последовательность 4, начальные символы (5 символов) Двухточечная связь (PtP) 8.6 Команды для двухточечного соединения Программируемый контроллер S7-1200 304 Системное руководство, 11/2009, A5E02669003-02 Структура типа данных параметра CONDITIONS, часть 2 (конечные условия) Параметр Тип параметра Тип данных Описание ENDCOND IN UInt Этот параметр определяет условие окончания сообщения: • 01H – Время ответа • 02H – Время сообщения • 04H – Интервал между символами • 08H – Максимальная длина • 10H - N + Длина + M • 20H – Последовательность символов MAXLEN IN UInt Максимальная длина сообщения: Используется только в том случае, если в качестве конечного условия выбрана максимальная длина сообщения. От 0 до 1023 байт N IN UInt Позиция байта поля длины в сообщении. Используется только с конечным условием N + Длина + M. От 1 до 1023 байт LENGTHSIZE IN UInt Размер поля (1, 2 или 4 байта). Используется только с конечным условием N + Длина + M. LENGTHM IN UInt Определяет число символов после поля длины, которые не включены в значение поля длины. Используется только с конечным условием N + Длина + M. От 0 до 255 байт RCVTIME IN UInt Определяет, сколько времени необходимо ждать первого символа, подлежащего приему. Операция приема будет завершена с ошибкой, если символ не будет успешно принят в течение указанного времени. Этот параметр используется только с условием "Время ответа". От 0 до 65535 тактов передачи, не более 8 секунд Этот параметр в действительности не оценивается как условие конца сообщения, так как он анализирует только стартовые условия. Должно быть выбрано отдельное условие конца сообщения. MSGTIME IN UInt Определяет, сколько времени необходимо ждать полного приема всего сообщения после приема первого символа. Этот параметр используется только с условием "Время сообщения". От 0 до 65535 миллисекунд. CHARGAP IN UInt Определяет число тактов передачи между символами. Если число тактов передачи между символами превышает указанное значение, то конечное условие выполняется. Этот параметр используется только с условием "Интервал между символами". От 0 до 65535 миллисекунд. Двухточечная связь (PtP) 8.6 Команды для двухточечного соединения Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 305 Параметр Тип параметра Тип данных Описание ENDSEQ1CTL IN Byte Управление игнорированием/сравнением для каждого символа последовательности 1: Это разблокирующие биты для каждого символа в конечной последовательности. Символ 1 – это бит 0, символ 2 – это бит 1, …, символ 5 – это бит 4. Блокирование бита для определенного символа означает, что в этой позиции последовательности подходит любой символ. ENDSEQ1 IN Char[5] Последовательность 1, начальные символы (5 символов) Коды условий STATUS (W#16#....) Описание 80C0 Выбрано недопустимое стартовое условие 80C1 Выбрано недопустимое конечное условие, конечное условие не выбрано 80C2 Разблокировано прерывание приема, и это невозможно 80C3 Разблокировано конечное условие "Максимальная длина", и максимальная длина равна 0 или > 1024 80C4 Разблокирована рассчитываемая длина, и N >= 1023 80C5 Разблокирована рассчитываемая длина, и длина не равна 1, 2 или 4 80C6 Разблокирована рассчитываемая длина, и значение M > 255 80C7 Разблокирована рассчитываемая длина, и рассчитываемая длина > 1024 80C8 Разблокировано время ожидания ответа, и время ожидания ответа равно нулю 80C9 Разблокировано время ожидания для интервала между символами, и оно равно нулю или > 2500 80CA Разблокировано время ожидания простоя линии, и оно равно нулю или > 2500 80CB Разблокирована конечная последовательность, но все ее символы "безразличны" 80CC Разблокирована начальная последовательность (любая из 4), но все ее символы "безразличны" |