step7-pro
голосование
Чего не хватает сайту
поиска
новых статей
статей о подключении оборудования
примеров решения задач
форума
ничего не нужно
поиск


новости
Появился поиск по сайту. Обещаю его улучшить и сделать более адекватным
--------------11.10.11
Новая гостевая книга надеюсь избавит от спама. Еще немного и появится поис и многое другое
--------------11.07.11
C НАСТУПАЮЩИМ НОВЫМ ГОДОМ И РОЖДЕСТВОМ!
--------------30.12.10
Новые статьи по системным функциям и блокам
--------------25.12.10
Теперь у нас новый дизайн, конечно не супер но надеюсь всем понравиться
--------------05.12.10
Форум закрыт по причине ненадобности
--------------08.09.10
Гостевая книга временно отключена из спама
--------------15.10.10
Наш форум forum.step7-pro.ru общайтесь на здоровье!
--------------03.06.10
Наш сайт в twitter Вы сможете подписаться на рассылку новостей и узнавать о новых статьях на нашем сайте.
--------------20.03.10
После долгого перерыва наш сайт снова начал работать
--------------26.02.10
реклама

 

Коммуникация по соединениям FMS

Соединения FMS позволяют передавать структурированные данные между устройствами, соединенных по PROFIBUS и поддерживающие стандарт FMS. Здесь показаны необходимые шаги во время конфигурации и программирования, для реализации простой задачи коммуникации по соединению FMS.

Задача и конфигурация системы

Передача и прием “нейтральных” данных

Задача коммуникации, показанная в примере программы, была выбрана так, чтобы можно было показать интерфейс вызовов в программе пользователя и доступ к переменным (FMS клиент), а также конфигурацию переменных:
На рисунке ниже показано как “FMS клиент станция S7–400” читает и записывает переменные в “FMS сервер станция S7–400”

Здесь связь реализована как коммуникация master–master в ациклическом режиме, проще говоря
задания по коммуникации вызываются один раз передачей задания в программе пользователя.

Необходимые устройства/ресурсы

Понадобятся следующие компоненты, если хотите использовать пример без изменений.

Тип Номер для заказа:
2 Программируемый контроллер S7–400 с CPU скачать каталог ST 70*
2 CP 443–5 Basic 6GK7 443–5FX00–0XE0
1 Среда передачи См. руководство PROFIBUS
1 Устройство программирования (PG/PC) с
• установленным программным пакетом STEP 7 версии V4.x или выше
• дополнительным программным пакетом NCM S7 для PROFIBUS версии V4.x или выше.
• Интерфейс MPI
• Как опция для работы PG/PC на PROFIBUS: CP для подключения к PROFIBUS -> диагностика/запуск/обслуживание
скачать каталог ST 70*

Возможные альтернативы:
можно адаптировать пример конфигурации для Вашей собственной конфигурации. Возможные изменения включают следующее:
• Использование S7–300 вместо S7–400
Вместо станции S7–400 можно использовать станцию S7–300. В этом случае нужно использовать CP 343–5.
Соответствующие изменения должны быть выполнены при конфигурировании аппаратуры.
• Использование другого типа CPU
В этом случае, после замены в аппаратной конфигурации CPU используя механизм Drag & Drop*, не требуется дальнейшей адаптации (замена, используя Drag & Drop, возможна для совместимых модулей; смотрите замечание в online справке о замене модулей).
• Изменение порядка модулей в носителе модулей, с некоторыми типами CPU это приведет к изменению адресов модулей.

Примечание
Если Вы измените адрес модуля в конфигурации, Вы также должны адаптировать программу пользователя и сконфигурированные соединения.

• Использование другой станции, например, SIMATIC S5 или ПК
Если Вы используете “другую” станцию в качестве клиента или сервера FMS, необходимо создать их в проекте (например, Insert > Station > SIMATIC S5 (Вставить > Станция > SIMATIC S5)) и соответствующим образом адаптировать конфигурацию соединения.

 

Подробные шаги

Создание/открытие проекта и конфигурирование/подключение к сети аппаратуры описано в разделе 2.

Данные организованы в примере следующим образом:
• Переменные в FMS сервере хранятся в одном блоке данных DB1 и сконфигурированы как коммуникационные переменные FMS. DB1 содержит INTEGER (ЦЕЛОЕ), ARRAY (МАССИВ) и STRUCT (СТРУКТУРА).
• Переменные в FMS клиенте хранятся в различных областях данных. Таким образом, возможен независимый доступ к отдельным элементам из DB1. Следующая диаграмма показывает последовательность выполнения программы и коммуникации и показывает организацию данных в FMS клиенте и FMS сервере:

Вы можете найти блок данных DB1 сервера FMS в примере проекта, как показано ниже. Откройте для сервера FMS станции S7–400 контейнер программ CPU, а затем объект “Blocks” (“Блоки”). Дважды щелкните по DB1 и откройте DB1 в представлении STL; здесь показано в режиме STL

.

На уровне обзора DB1 можно распознать структуру уже представленных переменных, состоящую из INTEGER, ARRAY и STRUCT.

Примечание
Чтобы избежать излишней траты памяти CP для коммуникационных переменных, необходимо, по возможности, объявлять коммуникационные переменные в одном DB. Помните Контроллер не компьютер и не обладает жестким диском в 500 Гб. :)

Длясчитывания и записи переменных по соединению FMS они должны быть объявлены как коммуникационные переменные.
Коммуникационные переменные должны быть сконфигурированы только на сервере FMS, и только тогда:
• Когда Вы хотите использовать FMS сервисы WRITE и READ.
• Когда сервером FMS является станция S7. С другими типами станций обращайтесь к соответствующим руководствам и информации о продукте. Переменные должны быть сконфигурированы так же и на клиенте FMS, если Вы хотите использовать FMS сервис REPORT. По умолчанию клиент FMS после установления
соединения считывает описание переменных используя FMS сервис “GET–OD” ( это можно изменить при конфигурировании).

Следующий шаг: символьное объявление блока данных

Для того, чтобы использовать переменную, как коммуникационную переменную, выберите Edit > Special Properties> Communication (Правка > Специальные свойства
> Коммуникация)
.Проверьте, что выбрана опция “Use Symbol as Communication Variable” (“Использовать
символ как коммуникационную переменную”).

Дополнительные установки нужны только если:

В нашем примере выберите вкладку “Structure” («Структура»):

В примере был выбран “Symbolic access to first structure level of DB” (“Символьный доступ к первому уровню структуры DB”) По двум причинам:

  1. FMS клиент может иметь доступ к отдельным переменным с FMS заданиями write или read, только когда выбрана эта опция. О формировании этого доступ объяснено в описании программирования.
  2. Блок данных содержит массив; массив всегда требует такое объявление к первому уровню структуры DB!
Примечание
Если забудете правило о массивах, то при выходе из диалога, у вас появится ошибка. В списке индексов будет указано “Nesting Level Exceeded" (“Превышен уровень вложения”).

Индекс FMS адресует коммуникационную переменную в сервере FMS. Для того, чтобы
обратится к переменной, можно использовать индекс FMS или имя переменной. Индекс FMS всегда назначается всем переменным. Переменная, которая разделяется на первом уровне структуры, назначается базовый индекс (индекс FMS первой переменной), а в таблицу индексов FMS заносятся отдельные переменные.

Можно посмотреть общий обзор, основанный на списке индексов. Выберите кнопку “Index List” («Список индексов») во вкладке “Structure” («Структура»).

Здесь Вы видите все коммуникационные переменные, определенные в CPU S7. Основываясь на данном списке, можно найти любые несоответствия и, скорректировать значения индексов во вкладке “Structure” («Структура»), если это необходимо. Попробуйте выбрать опцию “Symbolic Access to Entire Variable” («Символьный доступ ко всей переменной») во вкладке “Structure” («Структура») и затем снова вызвать список индексов. Теперь можно увидеть, что назначены дополнительные индексы FMS, но из-за массива появиться сообщение о конфликте “Nesting Level Exceeded” («Превышен уровень вложения»).

В информации о продукте содержатся данные о ресурсах используемого Вами контроллера. Например, в информации о продукте для CP 443–5 Basic, в разделе “Data для FMS Connections” (“Данные для соединений FMS”) Вы найдете, какие переменные могут быть сконфигурированы.

Примечание
Если в сервере FMS, Вы используете больше одного коммуникационного процессора, то для сложных приложений можно распределить нагрузку. В конфигурации переменных нужно использовать функцию “Module Assign” («Назначение модулей»).

Для использованной в примере конфигурации в Вашу калькуляцию д.б. включены четыре серверные переменные, как показано:
Три переменные (INTEGER, ARRAY и STRUCT) на первом уровне структуры плюс один дополнительный объект для описания структуры (значение для структур должно быть задано меньше, чем десять элементов).

 

Конфигурирование соединений FMS

Для большинства задач подойдут установки по умолчанию, но мы же простых путей не ищем :)

Для проверки или конфигурирование параметров соединения для соединения FMS откройте в SIMATIC manager в представлении проекта объект PROFIBUS(1). Если в окне NETPRO в станции клиенте FMS Вы выберите CPU, то Вы увидите таблицу соединений с уже существующими сконфигурированными соединениями FMS

В примере свойства соединения FMS были сконфигурированы так, чтобы могло быть успешно установлено соединение между станциями заданного типа.

Откройте диалог свойств, чтобы проверить согласованность сконфигурированного соединения FMS. Выберите свойства соединения, перейдите во вкладку “Overview” (“Обзор”).Если в поле Status (Состояние) значение “OK”, значит конфигурация соединения верна.

Теперь перейдите во вкладку “General” (“Общее”) -->“Options” (“Параметры”). В примере сделаны следующие установки:

Здесь не описаны альтернативы, помните, что адаптация необходима только в особых случаях.

Другими причинами для проверки или изменения свойств параметров может быть следующие:

Обратите внимание:
Клиент FMS может без всяких специальных установок считывать или записывать любые коммуникационные переменные, сконфигурированные на сервере FMS. Если не требуется считывать или записывать все коммуникационные переменные, сконфигурированные на сервере FMS, то можно снизить требования к памяти на CP клиента FMS.
Откройте диалог свойств FMS соединения во вкладке “Variables of the Partner” (“Переменные партнера”). И Вы сможете увидеть, что для примера оставлены стандартные установки, проще говоря, все переменные могут быть адресованы по имени и индексу. Какие существуют коммуникационные переменные, зависит от конфигурации переменных на сервере FMS.

 

Написание программы пользователя

Для того, чтобы отредактировать программы или загрузить их в станции S7 выберите в PROJECT PROFIBUS в
соответствующей станции S7–400 контейнер с программными блоками. Включив подробное представление, можно увидеть следующий список, информирующий о всех блоках на клиенте FMS.

Последовательность программы

Циклические задания для чтения и записи переменных запускаются на клиенте FMS. Анализ возвращаемых значений обеспечивает проверку, что задание было успешно завершено перед тем, как активировать следующее задание. В этом примере сервер FMS не содержит в программе пользователя активных функций.

Примечание
Когда используются CPU 412/413, блоки данных DB60x должны быть переименованы и им нужно назначить новые номера =< DB511. Для CPU 31x, все номера DB должны быть изменены на значения =< 127.

Программирование FB для коммуникации
Для управления передачей данных по соединению FMS в примере программы существуют два блока типа FB:
• FB WRITE (FB6)
Блок для передачи данных в PROFIBUS CP.
• FB READ (FB3)
Блок заносит принятые данные пользователя в заданную при вызове область данных пользователя. В нашем примере программа пользователя была создана в представлении STL. Диаграмма ниже показывает пример назначения параметров для вызова WRITE и READ. Пример записи в структуру:


Обратите внимание, что вызываемые параметры в примере объявлены и назначены как символы.

Примеры чтения массива


Обратите внимание, что вызываемые параметры в примере объявлены и назначены как символы.

Можно расширить программу в примере:
анализом возвращаемых значений FB READ и WRITE, что позволит реагировать на особые рабочие состояния или ошибки.

Типичные возвращаемые значения (STATUS), которые должны быть обработаны программой пользователя:
0201H Соединение не может быть установлено
0601H Неверный объект
0607H Объект не существует (обычно во время запуска, если еще не была полностью выполнена функция GET_OD)
0608H Конфликт типов (обычно ошибка конфигурирования)

Загрузите программу пользователя в ПЛКследуйте шагам показанным ниже:

Примечание
В режиме RUN-P, важна последовательность блоков, т.к. активен цикл CPU. Помните, что OB100 выполняется только во время запуска

Повторите процедуру для других станций

Если Вы не можете обнаружить передачу данных, выполните следующее:
Проверьте последовательность программы online в STEP 7/STL.
Читайте ниже и проверьте связь при помощи диагностики PROFIBUS.

Запуск и Диагностика

Используйте функцию изменения переменных как показано:

 

Оповещение переменных

Задание оповещения посылается сервером FMS. Для этого существует отдельный FB REPORT. На клиенте FMS, который принимает оповещаемые переменные, не запускаются коммуникационные задания. Области данных для оповещаемых переменных задаются во время конфигурирования.

Оповещаемые переменные должны быть сконфигурированы на сервере FMS и на клиенте FMS. На клиенте FMS используйте дополнительные функции для назначения области данных для оповещаемых коммуникационных переменных.

 

<--Предыдущая статья    
сделано djoni политика конфидициальности Rambler's Top100