Руководство по программированию 6 profinet 7 Двухточечная связь (PointtoPoint, PtP) 8
Скачать 3.76 Mb.
|
Описание функционирования Команды TCON, TDISCON, TSEND и TRCV работают асинхронно, это значит, что обработка задания распространяется на несколько исполнений команд. Например, вы запускаете задание для создания и установления соединения путем исполнения команды TCON с параметром REQ = 1. Затем вы используете дополнительные исполнения TCON для контроля выполнения задания и проверки его завершения с помощью параметра DONE. В следующей таблице показаны отношения между BUSY, DONE и ERROR. Используйте эту таблицу для проверки текущего состояния задания. BUSY DONE ERROR Описание ИСТИНА не имеет значения не имеет значения Задание обрабатывается. ЛОЖЬ ИСТИНА ЛОЖЬ Задание успешно завершено. ЛОЖЬ ЛОЖЬ ИСТИНА Задание завершено с ошибкой. Причину ошибки можно найти в параметре STATUS. ЛОЖЬ ЛОЖЬ ЛОЖЬ Новое задание не назначено. Руководство по программированию 6.2 Расширенные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 189 Команда TCON Параметр Тип параметра Тип данных Описание REQ IN Bool Управляющий параметр REQUEST запускает задание для установления соединения, указанного в ID. Задание запускается при нарастающем фронте. ID IN CONN_OUC (Word) Ссылка на соединение, которое должно быть установлено с удаленным партнером или между программой пользователя и коммуникационным уровнем операционной системы. ID должен быть идентичен соответствующему ID параметра в описании локального соединения. Диапазон значений: от W#16#0001 до W#16#0FFF CONNECT IN_OUT TCON-Param Указатель на описание соединения DONE OUT Bool Параметр состояния DONE: • 0: Задание еще не запущено или еще исполняется • 1: Задание исполнено с ошибкой BUSY OUT Bool BUSY = 1: Задание еще не завершено BUSY = 0: Задание завершено ERROR OUT Bool Параметр состояния ERROR: ERROR = 1: При обработке задания произошла ошибка. Параметр STATUS предоставляет подробную информацию о типе ошибки. STATUS OUT Word Параметр состояния STATUS: Информация об ошибке Руководство по программированию 6.2 Расширенные команды Программируемый контроллер S7-1200 190 Системное руководство, 11/2009, A5E02669003-02 Команда TDISCON TCP и ISO on TCP: Команда TDISCON завершает коммуникационное соединение от CPU к партнеру по обмену данными. Параметр Тип параметра Тип данных Описание REQ IN Bool Управляющий параметр REQUEST запускает задание для установления соединения, указанного в ID. Задание запускается при нарастающем фронте. ID IN CONN_OUC (Word) Ссылка на соединение с удаленным партнером или между программой пользователя и коммуникационным уровнем операционной системы, которое должно быть завершено. ID должен быть идентичен соответствующему ID параметра в описании локального соединения. Диапазон значений: от W#16#0001 до W#16#0FFF DONE OUT Bool Параметр состояния DONE: • 0: Задание еще не запущено или еще исполняется • 1: Задание исполнено с ошибкой BUSY OUT Bool BUSY = 1: Задание еще не завершено BUSY = 0: Задание завершено ERROR OUT Bool ERROR = 1: Во время обработки произошла ошибка. STATUS OUT Word Код ошибки Руководство по программированию 6.2 Расширенные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 191 Команда TSEND Параметр Тип параметра Тип данных Описание REQ IN Bool Управляющий параметр REQUEST запускает задание на передачу при нарастающем фронте. Данные передаются из области, определяемой параметрами DATA и LEN. ID IN CONN_OUC (Word) Ссылка на соответствующее соединение. ID должен быть идентичен соответствующему ID параметра в описании локального соединения. Диапазон значений: от W#16#0001 до W#16#0FFF LEN IN Int Максимальное число байтов, подлежащих передаче этим заданием DATA IN_OUT Variant Указатель на область данных, подлежащую передаче: Область передатчика; содержит адрес и длину. Адрес относится: • к образу процесса на входах • к образу процесса на выходах • к битовой памяти • к блоку данных DONE OUT Bool Параметр состояния DONE: • 0: Задание еще не запущено или еще исполняется. • 1: Задание исполнено с ошибкой. BUSY OUT Bool • BUSY = 1: Задание еще не завершено. Новое задание не может быть запущено. • BUSY = 0: Задание завершено. ERROR OUT Bool Параметр состояния ERROR: ERROR = 1: Во время обработки произошла ошибка. Параметр STATUS предоставляет подробную информацию о типе ошибки STATUS OUT Word Параметр состояния STATUS: Информация об ошибке Руководство по программированию 6.2 Расширенные команды Программируемый контроллер S7-1200 192 Системное руководство, 11/2009, A5E02669003-02 Команда TRCV Параметр Тип параметра Тип данных Описание EN_R IN Bool Управляющий параметр, разблокированный для приема: При EN_R = 1 команда TRCV готова к приему. Задание на прием обрабатывается. ID IN CONN_OUC (Word) Ссылка на соответствующее соединение. ID должен быть идентичен соответствующему ID параметра в описании локального соединения. Диапазон значений: от W#16#0001 до W#16#0FFF LEN IN Int Длина области приема в байтах (Значение по умолчанию = 0, это значит, что параметр DATA определяет длину данных, подлежащих приему.). DATA IN_OUT Variant Указатель на принимаемые данные: Область приема, которая содержит адрес и длину. Адрес относится: • к образу процесса на входах • к образу процесса на выходах • к битовой памяти • к блоку данных NDR OUT Bool Параметр состояния NDR: • NDR = 0: Задание еще не запущено или еще исполняется. • NDR = 1: Задание успешно завершено. BUSY OUT Bool • BUSY = 1: Задание еще не завершено. Новое задание не может быть запущено. • BUSY = 0: Задание завершено. ERROR OUT Bool ERROR=1: Во время обработки произошла ошибка. Параметр STATUS предоставляет подробную информацию о типе ошибки. STATUS OUT Word Информация об ошибке RCVD_LEN OUT Int Количество фактически принятых данных, в байтах Руководство по программированию 6.2 Расширенные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 193 Область приема Команда TRCV записывает принимаемые данные в область приема, которая определяется следующими двумя переменными: ● Указатель на начало области ● Длина области Указание Настройка по умолчанию параметра LEN (LEN = 0) использует параметр DATA для определения длины передаваемых данных. Обеспечьте, чтобы параметр DATA, передаваемый командой TSEND, имел такой же размер, что и параметр DATA команды TRCV. В следующей таблице показано, как команда TRCV вводит принимаемые данные в область приема. Вариант протокола Ввод данных в область приема Параметр Тип соединения TCP Прием данных указанной длины B#16#11 ISO on TCP Под управлением протокола B#16#12 Как только данные из задания приняты, TRCV передает их в область приема и устанавливает NDR в 1. Коды условий для TCON ERROR STATUS (W#16#...) Объяснение 0 0000 Соединение было успешно установлено 0 7000 Обработки задания не происходит 0 7001 Запуск обработки задания, установление соединения 0 7002 Последующий вызов (REQ не имеет значения), соединение устанавливается 1 8086 Параметр ID находится вне допустимого диапазона. 1 8087 Достигнуто максимальное число соединений; дополнительные соединения невозможны 1 809B local_device_id в описании соединения не соответствует CPU. 1 80A1 Соединение или порт уже заняты пользователем 1 80A2 Локальный или удаленный порт занят системой 1 80A3 Делается попытка снова установить уже существующее соединение 1 80A4 IP-адрес удаленного конца соединения недействителен; возможно, он совпадает с локальным IP-адресом 1 80A7 Коммуникационная ошибка: вы выполнили TDISCON, прежде чем была завершена команда TCON. Команда TDISCON должна сначала полностью завершить соединение, указанное в параметре ID. 1 80B3 Противоречивая параметризация: Групповая ошибка для кодов ошибок от W#16#80A0 до W#16#80A2, W#16#80A4, от W#16#80B4 до W#16#80B9 Руководство по программированию 6.2 Расширенные команды Программируемый контроллер S7-1200 194 Системное руководство, 11/2009, A5E02669003-02 ERROR STATUS (W#16#...) Объяснение 1 80B4 При использовании ISO on TCP (connection_type = B#16#12) для установления пассивного соединения код ошибки 80B4 предупреждает вас, что введенный TSAP не соответствует одному из следующих требований к адресу: • Если локальный TSAP имеет длину 2 и значение ID для первого байта, равное E0 или E1 (шестнадцатеричное), то второй байт должен быть 00 или 01. • Если локальный TSAP имеет длину 3 или больше и значение ID для первого байта E0 или E1 (шестнадцатеричное), то второй байт должен быть 00 или 01, а все остальные байты должны быть действительными символами ASCII. • Если локальный TSAP имеет длину 3 или больше, и первый байт ID TSAP не имеет значения E0 или E1 (шестнадцатеричное), то все байты ID TSAP должны быть действительными символами ASCII. Действительными символами ASCII являются значения байтов от 20 до 7E (шестнадцатеричное). 1 80B5 Ошибка в параметре active_est 1 80B6 Ошибка параметризации в параметре connection_type 1 80B7 Ошибка в одном из следующих параметров: block_length, local_tsap_id_len, rem_subnet_id_len, rem_staddr_len, rem_tsap_id_len, next_staddr_len 1 80B8 Параметр в описании локального соединения и ID параметра различны 1 80C3 Все ресурсы соединений используются. 1 80C4 Коммуникационная ошибка, связанная со временем: • Соединение не может быть установлено в настоящее время. • Интерфейс получает новые параметры. • Сконфигурированное соединение в настоящее время удаляется командой TDISCON. Коды условий для TDISCON ERROR STATUS (W#16#...) Объяснение 0 0000 Соединение было успешно прекращено 0 7000 Обработки задания не происходит 0 7001 Начало обработки задания, соединение завершается 0 7002 Последующий вызов (REQ не имеет значения), соединение завершается 1 8086 Параметр ID находится вне допустимого диапазона адресов. 1 80A3 Выполняется попытка завершить несуществующее соединение 1 80C4 Коммуникационная ошибка, связанная со временем: Интерфейс получает новые параметры или соединение в настоящее время устанавливается. Руководство по программированию 6.2 Расширенные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 195 Коды условий для TSEND ERROR STATUS (W#16#...) Объяснение 0 0000 Задание на передачу завершено без ошибок 0 7000 Обработки задания не происходит 0 7001 Начало обработки задания, данные отправляются: Во время этой обработки операционная система обращается к данным в области передачи DATA. 0 7002 Последующий вызов (REQ не имеет значения), задание обрабатывается: Во время этой обработки операционная система обращается к данным в области передачи DATA.. 1 8085 Параметр LEN превышает максимально допустимое значение. 1 8086 Параметр ID находится вне допустимого диапазона адресов 1 8088 Параметр LEN больше, чем область памяти, указанная в DATA 1 80A1 Коммуникационная ошибка: • Указанное соединение еще не установлено • Указанное соединение в настоящее время завершается. Передача через это соединение невозможна. • Интерфейс снова инициализируется. 1 80C3 Внутренняя нехватка ресурсов: Блок с этим ID уже обрабатывается в другом классе приоритета. 1 80C4 Коммуникационная ошибка, связанная со временем: • Соединение с партнером по обмену данными в настоящее время не может быть установлено. • Интерфейс получает новые параметры или соединение в настоящее время устанавливается. Коды условий для TRCV ERROR STATUS (W#16#...) Объяснение 0 0000 Приняты новые данные: Текущая длина принятых данных отображается в RCVD_LEN. 0 7000 Блок не готов к приему 0 7001 Блок готов к приему, задание на прием было активизировано. 0 7002 Последующий вызов, задание на прием обрабатывается: Во время этой обработки данные записываются в область приема. Поэтому ошибка может привести к несогласованности данных в области приема. 1 8085 Параметр LEN превышает максимально допустимое значение, или вы изменили параметр LEN или DATA после первого вызова. 1 8086 Параметр ID находится вне допустимого диапазона адресов 1 8088 Область приема слишком мала: Значение LEN больше, чем область приема, указанная в параметре DATA. Руководство по программированию 6.2 Расширенные команды Программируемый контроллер S7-1200 196 Системное руководство, 11/2009, A5E02669003-02 ERROR STATUS (W#16#...) Объяснение 1 80A1 Коммуникационная ошибка: • Указанное соединение еще не установлено • Указанное соединение в настоящее время завершается. Задание на прием через это соединение невозможно • Интерфейс получает новые параметры. 1 80C3 Внутренняя нехватка ресурсов: Блок с этим ID уже обрабатывается в другом классе приоритета. 1 80C4 Коммуникационная ошибка, связанная со временем: • Соединение с партнером в настоящее время не может быть установлено. • Интерфейс получает новые параметры или соединение в настоящее время устанавливается. 6.2.5.2 Команды для двухточечного соединения Глава, посвященная двухточечному соединению (Point-to-Point, PTP)(стр. 279) дает подробную информацию о командах PtP и коммуникационных модулях. Руководство по программированию 6.2 Расширенные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 197 6.2.6 Команды прерывания 6.2.6.1 Команды Attach и Detach С помощью команд ATTACH и DETACH вы можете активизировать и деактивизировать подпрограммы, инициализируемые событиями, вызывающими прерывания. • Команда ATTACH активизирует исполнение подпрограммы OB прерываний для событий, вызывающих аппаратные прерывания. • Команда DETACH деактивизирует исполнение подпрограммы OB прерываний для событий, вызывающих аппаратные прерывания. Параметр Тип параметра Тип данных Описание OB_NR IN Int Идентификатор организационного блока: Выберите его из имеющихся OB аппаратных прерываний, которые были созданы с помощью опции "Add new block [Добавить новый блок]". Дважды щелкните на поле этого параметра, затем щелкните на вспомогательной пиктограмме, чтобы увидеть имеющиеся OB. EVENT IN DWord Идентификатор события: Выберите его из имеющихся событий, вызывающих аппаратные прерывания, которые были разблокированы в конфигурации устройств ПЛК для цифровых входов или скоростных счетчиков. Дважды щелкните на поле этого параметра, затем щелкните на вспомогательной пиктограмме, чтобы увидеть имеющиеся события. ADD (только ATTACH) IN Bool ADD = 0 (по умолчанию): Это событие заменяет все предыдущие назначения событий для этого OB. ADD = 1: Это событие добавляется к предыдущим назначениями событий для этого OB. RET_VAL OUT Int Код условия выполнения Руководство по программированию 6.2 Расширенные команды Программируемый контроллер S7-1200 198 Системное руководство, 11/2009, A5E02669003-02 События, вызывающие аппаратные прерывания CPU поддерживает следующие события, вызывающие аппаратные прерывания: ● События типа нарастающих фронтов (все встроенные цифровые входы CPU плюс цифровые входы сигнальной платы) – Нарастающий фронт возникает, когда цифровой вход переходит из состояния ВЫКЛ в состояние ВКЛ как реакция на изменение сигнала от полевого устройства, подключенного к этому входу. ● События типа падающих фронтов (все встроенные цифровые входы CPU плюс цифровые входы сигнальной платы) – Падающий фронт возникает, когда цифровой вход переходит из состояния ВКЛ в состояние ВЫКЛ. ● События типа Текущее значение скоростного счетчика (HSC) = эталонному значению (CV = RV) (HSC 1 … 6) – Прерывание CV = RV для HSC генерируется, когда текущее значение переходит от соседнего значения к значению, точно совпадающему с предварительно установленным эталонным значением. ● События типа Изменение направления счета HSC (HSC 1 … 6) – Событие типа Изменение направления счета происходит, когда обнаружено, что HSC перешел от прямого счета к обратному или от обратного к прямому. ● События типа Внешний сброс HSC (HSC 1 … 6) – Некоторые режимы HSC допускают назначение цифрового входа для внешнего сброса значения счетчика HSC в ноль. Событие типа Внешний сброс происходит для такого HSC, когда этот вход переходит из состояния ВЫКЛ в состояние ВКЛ. Разблокирование событий, приводящих к аппаратным прерываниям, в конфигурации устройств Аппаратные прерывания должны быть разблокированы при конфигурировании устройства. Вы должны пометить триггерную кнопку для разблокирования события в конфигурации устройств для канала цифрового ввода или HSC, если вы хотите назначить это событие во время конфигурирования или на этапе исполнения. Опции триггерных кнопок в конфигурации устройств ПЛК: ● Цифровой вход – Разблокировать обнаружение нарастающего фронта – Разблокировать обнаружение падающего фронта ● Скоростной счетчик (HSC) – Разблокировать этот скоростной счетчик для использования – Генерировать прерывание при совпадении значения счетчика с эталонным значением – Генерировать прерывание при внешнем сбросе – Генерировать прерывание при изменении направления счета |