Руководство по программированию 6 profinet 7 Двухточечная связь (PointtoPoint, PtP) 8
Скачать 3.76 Mb.
|
Команда USS_PORT Команда USS_PORT управляет обменом данными через сеть USS. Обычно в программе имеется только по одной функции USS_PORT на коммуникационный модуль PtP, и каждый вызов этой функции обрабатывает передачу к приводу или от него. Ваша программа должна исполнять функцию USS_PORT достаточно часто, чтобы предотвратить простои привода. Все функции USS, относящиеся к одной сети USS и коммуникационному модулю PtP, должны использовать один и тот же экземплярный блок данных. USS_PORT обычно вызывается из OB прерываний с задержкой, чтобы предотвратить простои привода и сохранить для вызовов USS_DRV самые последние обновления данных USS. LAD FBD Параметр Тип параметра Тип данных Описание PORT IN Port Коммуникационный модуль PtP. Идентификатор: Это константа, на которую можно ссылаться во вкладке "Constants [Константы]" стандартной таблицы переменных. BAUD IN DInt Скорость передачи, подлежащая использованию при обмене данными через USS. USS_DB IN DInt Это ссылка на экземплярный DB, который был создан и инициализирован при вставке команды USS_DRV в вашу программу. ERROR OUT Bool Когда принимает значение ИСТИНА, этот контакт указывает, что произошла ошибка и выход STATUS действителен. STATUS OUT UInt Состояние запроса. Указывает результат цикла сканирования или инициализации. Дополнительная информация для некоторых кодов состояния находится в переменной "USS_Extended_Error". Руководство по программированию 6.3 Глобальные библиотечные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 217 6.3.1.4 Команда USS_RPM LAD FBD Команда USS_RPM считывает параметр из привода. Все функции USS, относящиеся к одной сети USS и коммуникационному модулю PtP, должны использовать один и тот же блок данных. Команда USS_RPM должна вызываться из OB, содержащего главную программу. Параметр Тип параметра Тип данных Описание REQ IN Bool Передать запрос: Когда принимает значение ИСТИНА, он указывает, что нужен новый запрос на чтение. Он игнорируется, если запрос для этого параметра уже стоит в очереди. DRIVE IN USInt Адрес привода: Этот вход является адресом привода USS. Допустимое значение находится в диапазоне от 1 до 16 . PARAM IN UInt Номер параметра: Это вход указывает, какой параметр привода записывается. Диапазон значений этого параметра составляет от 0 до 2047. За подробностями о том, как получить доступ к параметрам за пределами этого диапазона, обратитесь к руководству для этого привода. INDEX IN UInt Индекс параметра: Этот вход указывает, в какой индекс параметра привода должна производиться запись. 16- битовое значение, в котором младший байт является текущим значением индекса с диапазоном (от 0 до 255). Старший байт может также использоваться приводом и зависит от конкретного привода. Подробности см. в руководстве для своего привода. USS_DB IN Variant Это ссылка на экземплярный DB, который был создан и инициализирован при вставке команды USS_DRV в вашу программу. VALUE IN Word, Int, UInt, DWord, DInt, UDInt, Real Это значение параметра, которое было считано и действительно только тогда, когда бит DONE имеет значение ИСТИНА. Руководство по программированию 6.3 Глобальные библиотечные команды Программируемый контроллер S7-1200 218 Системное руководство, 11/2009, A5E02669003-02 Параметр Тип параметра Тип данных Описание DONE OUT Bool Готово: Значение ИСТИНА указывает, что выход VALUE содержит ранее запрошенное значение параметра чтения. Этот бит устанавливается, когда USS_DRV обнаруживает ответные данные о чтении из привода. Этот бит сбрасывается, когда: • вы запрашиваете ответные данные через опрос другого USS_RPM или • после второго из следующих двух вызовов USS_DRV ERROR OUT Bool Произошла ошибка – Когда принимает значение ИСТИНА, это указывает, что произошла ошибка и выход STATUS действителен. Все остальные выходы в случае ошибки устанавливаются в ноль. Коммуникационные ошибки сообщаются только на выходах команд USS_PORT ERROR и STATUS. STATUS OUT UInt Это значение состояния запроса. Он указывает результат запроса на чтение. Дополнительная информация для некоторых кодов состояния находится в переменной "USS_Extended_Error". Руководство по программированию 6.3 Глобальные библиотечные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 219 6.3.1.5 Команда USS_WPM LAD FBD Команда USS_WPM изменяет параметр в приводе. Все функции USS, относящиеся к одной сети USS и коммуникационному модулю PtP, должны использовать один и тот же блок данных. USS_WPM должна вызываться из OB, содержащего главную программу. Указание Операции записи в ЭСППЗУ Остерегайтесь чрезмерного использования операций записи в ЭСППЗУ. Минимизируйте количество операций записи в ЭСППЗУ, чтобы продлить срок его службы. Параметр Тип параметра Тип данных Описание REQ IN Bool Передать запрос: Когда принимает значение ИСТИНА, он указывает, что необходим новый запрос на запись. Он игнорируется, если запрос для этого параметра уже стоит в очереди. DRIVE IN USInt Адрес привода: Этот вход является адресом привода USS. Допустимое значение находится в диапазоне от 1 до 16 . PARAM IN UInt Номер параметра: Это вход указывает, какой параметр привода записывается. Диапазон значений этого параметра составляет от 0 до 2047. За подробностями о том, как получить доступ к параметрам за пределами этого диапазона, обратитесь к руководству для этого привода. INDEX IN UInt Индекс параметра: Этот вход указывает, в какой индекс параметра привода должна производиться запись. 16- битовое значение, в котором младший байт является текущим значением индекса с диапазоном (от 0 до 255). Старший байт может также использоваться приводом и зависит от конкретного привода. Подробности см. в руководстве для своего привода. EEPROM IN Bool Сохранить в ЭСППЗУ привода: Когда принимает значение ИСТИНА, то записи в параметр привода будут сохранены в ЭСППЗУ привода. Если ЛОЖЬ, то запись является временной и не будет сохранена, если после выключения и последующего включения привода. Руководство по программированию 6.3 Глобальные библиотечные команды Программируемый контроллер S7-1200 220 Системное руководство, 11/2009, A5E02669003-02 Параметр Тип параметра Тип данных Описание VALUE IN Word, Int, UInt, DWord, DInt, UDInt, Real Значение параметра, которое должно быть записано. Оно должно оставаться действительным при изменении состояния REQ. USS_DB IN Variant Это ссылка на экземплярный DB, который был создан и инициализирован при вставке команды USS_DRV в вашу программу. DONE OUT Bool Готово: Значение ИСТИНА указывает, что вход VALUE был записан в привод. Этот бит устанавливается, когда USS_DRV обнаруживает данные реакции о записи из привода. Этот бит сбрасывается, когда вы запрашиваете подтверждение привода о том, что запись завершена, через опрос другого USS_WPM или после второго из следующих двух вызовов USS_DRV. ERROR OUT Bool Произошла ошибка: Когда принимает значение ИСТИНА, это указывает, что произошла ошибка и выход STATUS действителен. Все остальные выходы в случае ошибки устанавливаются в ноль. Коммуникационные ошибки сообщаются только на выходах команд USS_PORT ERROR и STATUS. STATUS OUT UInt Это значение состояния запроса. Он указывает результат запроса на запись. Дополнительная информация для некоторых кодов состояния находится в переменной "USS_Extended_Error". Руководство по программированию 6.3 Глобальные библиотечные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 221 6.3.1.6 Коды состояния USS Коды состояния команд USS возвращаются на выходе STATUS функций USS. Значение STATUS (W#16#....) Описание 0000 Нет ошибки 8180 Длина ответа привода не соответствует символам, полученным от привода. Номер привода, в котором произошла ошибка, возвращается в переменной "USS_Extended_Error". Описание расширенного набора ошибок см. под этой таблицей. 8181 Параметр VALUE не принадлежал к типам данных Word, Real или DWord 8182 Пользователь ввел для параметра тип Word, а получил в ответе от привода DWord или Real 8183 Пользователь ввел для параметра тип DWord или Real, а получил в ответе от привода Word 8184 Ответная посылка от привода имела неправильную контрольную сумму. Номер привода, в котором произошла ошибка, возвращается в переменной "USS_Extended_Error". Описание расширенного набора ошибок см. под этой таблицей. 8185 Недопустимый адрес для привода (допустимый диапазон адресов для привода: 1-16) 8186 Заданное значение скорости вне допустимого диапазона (допустимый диапазон заданных значений для скорости: от -200% до 200%) 8187 Неверный номер привода получен в ответ на посланный запрос. Номер привода, в котором произошла ошибка, возвращается в переменной "USS_Extended_Error". Описание расширенного набора ошибок см. под этой таблицей. 8188 Указано недопустимое число слов для PZD (допустимый диапазон = 2, 4, 6 или 8 слов) 8189 Была задана недопустимая скорость передачи 818A Канал запроса параметров используется другим запросом для этого привода 818B Привод не отвечал на запросы и их повторения. Номер привода, в котором произошла ошибка, возвращается в переменной "USS_Extended_Error". Описание расширенного набора ошибок см. под этой таблицей. 818C Привод вернул ошибку из расширенного набора в ответ на запрос параметров. Описание расширенного набора ошибок см. под этой таблицей. 818D Привод вернул ошибку недопустимого доступа в ответ на запрос параметров. См. руководство к своему приводу, чтобы получить информацию о том, почему может быть ограничен доступ к параметру 818E Привод не был инициализирован: Этот код ошибки возвращается в USS_RPM или USS_WPM, если команда USS_DRV для этого привода не была вызвана хотя бы один раз. Это удерживает инициализацию первого цикла USS_DRV от перезаписи стоящего в очереди запроса на чтение или запись параметров, так как при этом привод инициализируется как новый элемент. Для устранения этой ошибки вызовите USS_DRV для этого номера привода. 80Ax-80Fx Конкретные ошибки, возвращаемые из FB двухточечной связи (PtP, Point-to-Point), вызванного библиотекой USS: Значения кодов этих ошибок не изменяются библиотекой USS, а определяются в описаниях команд PtP. Руководство по программированию 6.3 Глобальные библиотечные команды Программируемый контроллер S7-1200 222 Системное руководство, 11/2009, A5E02669003-02 Коды расширенного набора ошибок для приводов USS Приводы USS поддерживают доступ на чтение и запись к внутренним параметрам привода. Это свойство делает возможным дистанционное управление и конфигурирование привода. Операции доступа к параметрам привода могут потерпеть неудачу из-за таких ошибок, как выход значений за пределы допустимого диапазона или недопустимых запросов для текущего режима работы привода. Привод генерирует код ошибки, который возвращается в переменной "USS_Extended_Error" экземплярного DB команды USS_DRV. Значение этого кода ошибки действительно только для последнего исполнения команды USS_RPM или USS_WPM. Код ошибки привода помещается в переменную "USS_Extended_Error", если значением STATUS является шестнадцатеричное 818C. Значение кода ошибки "USS_Extended_Error" зависит от модели привода. Описание кодов расширенного набора ошибок для операций чтения и записи параметров вы найдете в руководстве для соответствующего привода. 6.3.2 MODBUS 6.3.2.1 MB_COMM_LOAD LAD FBD Команда MB_COMM_LOAD конфигурирует порт на модуле двухточечной связи (Point-to-Point, PtP) CM 1241 RS485 или CM 1241 RS232 для обмена данными через протокол Modbus RTU. Параметр Тип параметра Тип данных Описание PORT IN UInt Идентификатор коммуникационного порта: После вставки модуля CM в конфигурацию устройств идентификатор порта появляется во вспомогательном ниспадающем списке на выводе PORT блока команды. На эту константу можно также ссылаться во вкладке "Constants [Константы]" стандартной таблицы переменных. BAUD IN UDInt Выбор скорости передачи: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 76800, 115200 Все остальные значения недопустимы PARITY IN UInt Выбор контроля четности: • 0 – отсутствует • 1 – нечетные • 2 – четные Руководство по программированию 6.3 Глобальные библиотечные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 223 Параметр Тип параметра Тип данных Описание FLOW_CTRL IN UInt Выбор управления потоком: • 0 – (по умолчанию) нет управления потоком • 1 – аппаратное управление потоком с всегда установленным RTS (недействительно для портов RS485) • 2 - аппаратное управление потоком с переключаемым RTS RTS_ON_DLY IN UInt Выбор задержки включения RTS: • 0 – (по умолчанию) нет задержки от активизации RTS до передачи первого символа сообщения • от 1 до 65535 – задержка в миллисекундах от активизации RTS до передачи первого символа сообщения (недействительно для портов RS485). Задержки RTS должны применяться независимо от выбора FLOW_CTRL. RTS_OFF_DLY IN UInt Выбор задержки выключения RTS: • 0 – (по умолчанию) нет задержки от последнего переданного символа до деактивизации RTS • от 1 до 65535 – задержка в миллисекундах от последнего переданного символа до деактивизации RTS (недействительно для портов RS485). Задержки RTS должны применяться независимо от выбора FLOW_CTRL. RESP_TO IN UInt Время ожидания ответа: Время в миллисекундах, в течение которого команда MB_MASTER ожидает ответа от slave-устройства. Если slave-устройство не отвечает в течение этого интервала времени, то MB_MASTER повторит запрос или завершит запрос с ошибкой, если сделано заданное количество повторных попыток. От 5 мс до 65535 мс (значение по умолчанию = 1000 мс). MB_DB IN Variant Ссылка на экземплярный блок данных, используемый командами MB_MASTER и MB_SLAVE. После вставки команды MB_SLAVE или MB_MASTER в вашу программу идентификатор DB появляется во вспомогательном ниспадающем списке на входе MB_DB блока команды. ERROR OUT Bool Ошибка: • 0 – Ошибка не обнаружена • 1 – Указывает, что ошибка была обнаружена и код ошибки в параметре STATUS действителен STATUS OUT Word Код ошибки конфигурирования порта Команда MB_COMM_LOAD исполняется для конфигурирования порта для протокола Modbus RTU. После конфигурирования порта вы можете вести обмен данными через Modbus, исполняя команду MB_SLAVE или MB_MASTER. Команда MB_COMM_LOAD должна вызываться один раз для инициализации порта. Команду MB_COMM_LOAD необходимо вызвать снова только в том случае, если должен быть изменен один из коммуникационных параметров. Вы можете вызвать MB_COMM_LOAD из OB запуска и выполнить его один раз, или вы можете инициировать вызов для однократного исполнения с помощью системного флага первого цикла. Для конфигурирования каждого порта каждого коммуникационного модуля, который используется для обмена данными через Modbus, должен быть использован один экземпляр команды MB_COMM_LOAD. Вы должны назначить уникальный экземплярный блок данных MB_COMM_LOAD для каждого порта, который вы используете. CPU S7-1200 ограничен 3 коммуникационными модулями. Руководство по программированию 6.3 Глобальные библиотечные команды Программируемый контроллер S7-1200 224 Системное руководство, 11/2009, A5E02669003-02 Экземплярный блок данных назначается, когда вы вставляете команду MB_MASTER или MB_SLAVE. Ссылка на этот экземплярный блок данных производится, когда вы задаете параметр MB_DB в команде MB_COMM_LOAD. Значение STATUS (W#16#....) Описание 0000 Нет ошибки 8180 Недопустимое значение ID порта 8181 Недопустимое значение скорости передачи 8182 Недопустимое значение контроля четности 8183 Недопустимое значение управления потоком 8184 Недопустимое значение времени ожидания ответа 8185 Неправильный указатель MB_DB на экземплярный DB для команды MB_MASTER или MB_SLAVE Руководство по программированию 6.3 Глобальные библиотечные команды Программируемый контроллер S7-1200 Системное руководство, 11/2009, A5E02669003-02 225 6.3.2.2 MB_MASTER LAD FBD Команда MB_MASTER позволяет вашей программе осуществлять обмен данными в качестве master- устройства Modbus, используя порт на модуле двухточечной связи (Point-to- Point, PtP) CM 1241 RS485 или CM 1241 RS232. Вы можете получить доступ к данным в одном или нескольких slave-устройствах Modbus. Экземплярный блок данных назначается, когда вы вставляете команду MB_MASTER в свою программу. Имя этого экземплярного блока данных MB_MASTER используется, когда вы задаете параметр MB_DB в команде MB_COMM_LOAD. Параметр Тип |