«Автоматизация посредством STEP 7 с использованием STL и SCL и программируемых контроллеров SIMATIC S7-300/400 (Automating with STEP 7 in STL and SCL by Hans Berger) Перевод по изданию 2-му, исправленному 2001 SIMATIC ...»
Light_barrier := Light barrier 1, Quantity := #Quantity, Finished := Finished,
NETWORK
TITLE = Block endEND FUNCTION BLOCK
20 Выполнение программы В данном разделе книги обсуждаются различные методы, применяемые Основная программа (main program) выполняется циклически. После каждого прохода программы CPU возвращается к началу программы и вновь запускает ее на выполнение. Это "стандартный" метод выполнения Многочисленные системные функции поддерживают использование системных служб, таких, как управление системными часами или связь посредством системной шины. В отличие от статических установок, выполненных при параметризации CPU, системные функции могут использоваться в динамическом режиме в процессе выполнения Основная программа может быть на время приостановлена для того, чтобы выполнить обслуживание прерываний (interrupt servicing).Различные типы прерываний: аппаратные прерывания (hardware interrupts), таймерные прерывания (watchdog interrupts), временные (по времени суток) прерывания (time-of-day interrupts), прерывания с мультипроцессорного режима (multiprocessor interrupts) разбиты по приоритетным классам. Приоритеты обработки Вы можете в большей степени определять самостоятельно. Обработка прерываний позволяет пользователю оперативно реагировать на сигналы, поступающие от управляемого процесса, а также позволяет периодически выполнять процедуры контроля (мониторинга и управления) вне зависимости от времени обработки основной программы.
Перед запуском основной программы на выполнение CPU активизирует программу запуска (start-up program), в которой Вы можете определить параметры, относящиеся к выполнению основной программы, определить значения переменных, принимаемые по умолчанию, а также Вы можете параметризировать модули.
Обработка ошибок (error handling) является также необходимой частью обработки программы. В STEP 7 различаются синхронные ошибки (ошибки, возникающие во время обработки инструкций) и асинхронные ошибки (ошибки, которые случаются вне зависимости от выполнения программы). Для тех и других ошибок Вы можете создать программу обработки ошибок (error routine) в соответствии с Вашими требованиями.
Автоматизация посредством STEP с использованием STL и SCL 20 Основная программа (main program) Структура программы; управление циклом сканирования; время отклика; программные функции; многопроцессорный режим работы;
обмен данными с помощью системных функций; стартовая информация (start information).
21 Обработка прерываний (interrupt handling) Аппаратные прерывания (hardware interrupts), таймерные прерывания (watchdog interrupts), временные (по времени суток) прерывания (timeof-day interrupts), прерывания с задержкой обработки (time-delay interrupts), прерывания мультипроцессорного режима (multiprocessor interrupts), обработка прерываний.
22 Параметры запуска (start-up characteristics) Включение питания (power-up); сброс памяти (memory reset);
реманентность (retentivity); полный перезапуск (complete restart);
теплый перезапуск (warm restart); установка адресов модулей;
параметризация модулей.
23 Обработка ошибок (error handling) Синхронные ошибки (программные ошибки, ошибки доступа);
обработка синхронных ошибок; асинхронные ошибки; системная 20. Выполнение программы 20 Основная программа (main program) Основная программа (main program) - это циклически выполняемая (иначе говоря, "сканируемая" - "scanned") программа пользователя. "Циклическое сканирование" - это обычный метод выполнения программ в программируемых логических контроллерах. Подавляющее большинство систем управления использует только такой способ выполнения программ. Если применяется сканирование программы, управляемой событиями, то в большинстве случаев такая программа лишь дополняет Основная программа вызывается в организационном блоке OB 1.
Основная программа имеет самый низкий приоритет, и ее выполнение может быть прервано любыми другими процедурами обработки программы. При выполнении программы переключатель режимов на передней панели CPU должен быть в положении RUN или RUN-P. Если переключатель режимов находится в положении RUN-P, то возможно программирование посредством программатора PG. Если переключатель режимов находится в положении RUN, то Вы можете удалить ключ, так что никто не сможет изменить рабочий режим без подтверждения прав авторизации. Если переключатель режимов находится в положении RUN, то программа защищена от изменений - возможно только ее считывание.
20.1 Организация программы 20.1.1 Структура программы Проанализировать сложную задачу автоматизации - это значит разделить эту задачу на ряд мелких задач или функций в соответствии со структурой процесса, для которого необходимо построить систему управления. Затем необходимо спланировать те отдельные функциональные части, которые получены при разбиении общей задачи автоматизации процесса, чтобы определить заложенные в них функции и сигналы связи (интерфейса) с процессом и другими функциональными частями. Это разделение общей задачи управления на отдельные функциональные части может быть выполнено в Вашей программе. Таким образом, структура Вашей программы должна соответствовать структуре задачи автоматизации.
Структурированность программы пользователя может сделать программу более легко конфигурируемой. Такая программа может быть написана отдельными блоками (в том числе и несколькими программистами, в случае большой объемистости программы). И, в конце концов, не менее важный момент - структурированная пользовательская программа всегда Автоматизация посредством STEP с использованием STL и SCL является более простой в пуско-наладочных работах и обслуживании.
Структурированность программы зависит от ее размера и ее функций.
Различаются три варианта структуры программы:
• Фрагментированная программа • Структурированная программа Линейная программа характерна тем, что основная программа целиком располагается в организационном блоке OB 1. Программа разбивается на сегменты (networks). STEP 7 последовательно нумерует сегменты. При редактировании или отладке программы Вы можете ссылаться на сегмент непосредственно по его номеру.
Фрагментированная программа характерна тем, что, по существу оставаясь линейной, программа разбивается на отдельные блоки.
Причиной такого разбиения программы могут быть или слишком большой размер программы для размещения ее в организационном блоке OB 1, или необходимость улучшения читаемости программы. Блоки программы вызываются последовательно. Программа в отдельном блоке может быть таким же образом разбита, как и в организационном блоке OB 1. Такой способ программирования позволяет вызывать отдельные программы, связанные с отдельными функциями процесса, из разных блоков.
Преимущество такой структуры программы заключается также в том, что несмотря на то, что программа остается линейной, ее можно отлаживать и выполнять отдельными фрагментами (просто добавляя или пропуская отдельные вызовы тех или иных блоков).
Структурированная программа используется, если концептуальная формулировка задачи управления особенно широка, если необходимо повторно использовать функции программы, если требуется решать сложные задачи. Структурирование программы означает разбиение программы на части (блоки), которые включают в себя независимые функции или которые имеют особое функциональное назначение и при этом обмениваются минимально возможным количеством сигналов с Назначение для каждого блока программы особой функции (связанной с процессом) сделает программируемые блоки легко читаемыми и с более простым интерфейсом с другими блоками программы.
Языки программирования STL и SCL поддерживают структурное программирование посредством функций, с помощью которых Вы можете создавать блоки (автономные части программы). В главе 3 "SIMATIC S7программа" в параграфе с названием "Блоки" обсуждаются различные виды блоков и их использование. Вы можете также найти подробное описание функций для вызова и для окончания обработки блоков (т.е. для выхода из блоков) в главе 18 "Функции блоков". Блоки получают сигналы и данные для обработки посредством "интерфейса вызова" ("call interface"), которым по сути являются параметры блоков. Блоки также формируют некоторые результаты в результате обработки данных; и эти результаты также должны быть возвращены посредством того же интерфейса для последующей обработки. Возможные способы передачи параметров подробно описаны в главе 19 "Параметры блоков". В главе 29 "SCL-блоки" содержится описание способов обработки блоков при использовании языка программирования SCL.
20. Основная программа 20.1.2 Организация программы Способ организации программы определяет, будет ли и в каком порядке будет CPU обрабатывать блоки программы, которые Вы создали. Чтобы организовать соответствующим образом Вашу программу, необходимо запрограммировать вызовы блоков в требуемой последовательности в вызывающих блоках. Необходимо также определить порядок, в котором блоки должны вызываться, и который отображает функциональную организацию установки (процесса), для которой требуется построить Глубина вложения (Nesting depth) Максимальная глубина вложения вызовов - это параметр, который зависит от приоритетного класса (касается программ в организационном блоке), а также зависит от типа CPU. В CPU 314, например, глубина вложения имеет значение восемь (8), что означает, что, начиная с организационного блока (1-й уровень вложения), Вы можете добавить еще 7 блоков "по горизонтали" (это называется вложением). Если будет последовательно (блок из блока) вызвано более 7 блоков, тогда CPU перейдет в режим STOP с индикацией ошибки переполнения стека блоков ("Block overflow"). При подсчете глубины вложения не забывайте учитывать вызовы системных функциональных блоков (SFB), а также вызовы системных функций (SFC).
Вызовы блоков данных, которые фактически открывают или выбирают области данных, не влияют на глубину вложения блоков, как не влияет на глубину вложения последовательный вызов нескольких блоков "по вертикали" (последовательный вызов блоков, скажем, в организационном Практическая организация программы В организационном блоке OB 1 Вы должны таким образом выстроить последовательность вызовов блоков в основной программе (main program), чтобы в первом приближении выполнялась логическая организация Вашей программы. При этом в основе своей программа может быть организована или с ориентацией на процесс ("processrelated"), или с ориентацией на выполнение функций ("function-related").
Последующие моменты обсуждения этого вопроса могут дать только приблизительное, очень общее представление с целью дать структурирования программы и относительно перенесения его задачи управления в практическую плоскость. Продвинутые программисты обычно имеют уже достаточный опыт для того, чтобы сразу организовать структуру программы, отвечающую требованиям задачи управления.
Структура программы с ориентацией на процесс ("process-related") близка к структуре установки, для которой требуется система управления.
Отдельные части программы соответствуют отдельным частям установки или управляемого процесса. В общих чертах такая структура предполагает и сканирование устройств блокировки, и использование панелей операторов, и управление приводами, и устройствами отображения (в различных частях установки). При этом для обмена Автоматизация посредством STEP с использованием STL и SCL сигналами между различными частями установки используются меркеры или глобальные данные.
Структура программы с ориентацией на выполнение функций ("function-related") базируется на обеспечении функций управления.
Изначально (в общей схеме) этот метод структурного программирования вообще не берет в расчет установку, для которой проектируется система управления. Структура установки начинает обнаруживать себя лишь в программных блоках более высокого (следующего) уровня разбиения (при дальнейшем разбиении структуры программы).
На практике обычно используется смешанный, гибридный подход, содержащий оба вышеуказанных метода построения логической схемы программы для системы управления. На рис. 20.1 представлен пример структуры программы. Функциональная структура отражается в программе режимов работы ("operating mode program") и в программе обработки данных ("data processing program"), которые "сверху" и "снизу" ограничивают блоки, относящиеся собственно к установке. Разделы программы Загрузка конвейера 1 (Feeding Conveyor 1), Загрузка конвейера 2 (Feeding Conveyor 2), Процесс (Process), Разгрузка конвейера (Discharge Conveyor) являются фрагментами программы с ориентацией на процесс ("process-related").
В примере на рис. 20.1 также показано использование различных типов блоков. Основная программа находится в организационном блоке OB 1.
Именно в этой программе организованы вызовы блоков рабочих режимов, блоков обслуживания различных частей оборудования установки, блоков для обработки данных. Эти блоки являются функциональными блоками с экземплярными блоками для хранения данных. Разделы программы Загрузка конвейера 1 (Feeding Conveyor 1) и Загрузка конвейера (Feeding Conveyor 2) имеют одинаковую структуру. Блок FB 20 с экземплярным блоком DB 20 для блока Загрузка конвейера 1 (Feeding Conveyor 1) и с экземплярным блоком DB 21 для блока Загрузка конвейера 2 (Feeding Conveyor 2) используется для управления В программе управления конвейером функция FC 20 обслуживает систему блокировок; функция сканирует входы или меркеры и управляет локальными данными блока FB 20.
Функциональный блок FB 101 содержит программу управления лентой конвейера. Он вызывается по одному разу для каждого конвейера. Для вызовов блоков предназначается экземплярный блок DB 20, в котором хранятся локальные данные. Этот же блок применяется для обслуживания вызова блока сбора данных FB 29.
Программа обработки данных в блоке FB 50 с экземплярным блоком DB 50 обрабатывает данные, полученные при выполненнии блока сбора данных FB 29 (и других блоков). Эти данные сохраняются в блоке глобальных данных DB 60. Функция FC 51 служит для подготовки этих данных для передачи. Передачей данных управляет блок FB 51 (с экземплярным блоком DB 51); из этого блока вызываются системные блоки SFB 8, SFB 9, SFB 62. В этом же блоке данных DB 51 системные блоки SFB сохраняют свои "экземплярные" данные.
20. Основная программа CONTROL
Обычно все дискретные модули отображаются в адресной области отображения состояния процесса, в то время как аналоговые модули отображаются в адресной области за пределами области отображения состояния процесса. Если CPU позволяет свободное размещение адресов, Вы можете использовать таблицу конфигурации (configuration table) для размещения любого модуля в адресной области отображения состояния процесса или за пределами области отображения состояния Образ процесса состоит из таблицы отображения входов процесса (inputs I) и из таблицы отображения выходов процесса (outputs Q).
После перезапуска CPU перед первым выполнением организационного блока OB 1 операционная система пересылает состояния сигналов таблицы отображения выходов процесса в выходные модули и считывает сигналы входных модулей в таблицу отображения входов процесса. За этим следует выполнение организационного блока OB 1; в процессе которого обычно происходит обработка входных сигналов от входов процесса (inputs I) и вырабатываются сигналы управления (выходные сигналы) для выходов процесса (outputs Q). После этого следует завершение обработки блока OB 1 и обновление образа процесса перед началом нового цикла выполнения организационного блока OB 1 (см. рис.
Если случается ошибка во время обновления образа процесса, например, если недоступен какой-либо модуль, то вызывается организационный блок обработки ошибок, возникающих при выполнении программы, OB "Program Execution Errors". Если блок OB 85 недоступен, то CPU переходит в состояние STOP.
Отображение состояния подпроцесса (Subprocess images) Для отдельных, специально предназначенных для этого CPU, Вы можете разбивать область отображения состояния процесса на отдельные подобласти (для отображения состояния подпроцессов) общим числом от 9 до 16. Такое разбиение области отображения состояния процесса на отдельные подобласти выполняется во время параметризации сигнальных модулей, в результате чего модули должны получить адреса.
Вы можете выполнить разбиение области отображения в соответствии с разбиением на таблицы отображения входов и таблицы отображения Все модули, для которых не будет сделано назначение в одном из адресных полей для образов подпроцессов с номерами 1... 8 или 1... 15, 20. Основная программа будут адресоваться в адресном поле для образа подпроцесса с номером 0. Этот образ подпроцесса 0 обновляется автоматически операционной системой CPU в процессе циклического выполнения программы.
Для отдельных, специально предназначенных для этого CPU, Вы можете также назначать области отображения состояния для организационных блоков обработки прерываний, которые автоматически обновляются при Порядок выполнения программы для CPU выпуска до 10/1998 г.
Время текущего цикла сканирования ОВ
PII PIO PII
Порядок выполнения программы для CPU выпуска после 10/1998 г.Время текущего цикла сканирования ОВ
PII PII
PIO PIO
Порядок выполнения программы для CPU выпуска после 10/1998 г.Время выполнения OB прерывания или отображения входов подпроцесса SPIIn OB обработки прерывания SPIOn SPIOn таблица отображения выходов Рис. 20.2 Обновление образа процесса Автоматизация посредством STEP с использованием STL и SCL SFC 26 UPDAT_PI SFC 27 UPDAT_PO Для обновления образа подпроцесса используются системные функции, которые вызываются из программы пользователя. Для обновления таблицы отображения входов подпроцессов используется системная функция SFC 26 UPDAT_PI, а для обновления таблицы отображения выходов подпроцессов используется системная функция SFC UPDAT_PO. С помощью этих функций Вы можете также обновлять В таблице 20.1 представлены параметры указанных функций SFC.
Таблица 20.1 Параметры SFC-функций для обновления образа процесса Вы можете выполнить обновление образа отдельного подпроцесса, вызывая указанные системные функции SFC в любое время и в любом месте. Например, Вы можете определить образ подпроцесса для приоритетного класса (для уровня выполнения программы), затем Вы можете вызывать обновление данного образа подпроцесса в начале и в конце выполнения соответствующего организационного блока при обработке этого приоритетного класса.
Обновление образа процесса может быть прервано вызовом более высокого приоритетного класса. Если случается ошибка во время обновления образа процесса, например, если более недоступен модуль, то об этом сообщает значение функции SFC.
20.2.2 Время мониторинга цикла сканирования Сканирование программы в организационном блоке OB 1 отслеживается с помощью так называемого "монитора цикла сканирования" ("scan cycle monitor") или "таймера цикла сканирования" ("scan cycle watchdog").
Значение, которое принимается по умолчанию для времени мониторинга цикла сканирования, равно 150 мс. Вы можете изменять это значение в пределах от 1 мс до 6 с путем соответствующей параметризации CPU.
Если сканирование основной программы выполняется за больший промежуток времени, чем установленное время мониторинга цикла сканирования, тогда CPU вызывает OB 80 ("Timeout" - "Превышение времени"). Если организационный блок OB 80 не запрограммирован, то Время мониторинга цикла сканирования соответствует полному времени 20. Основная программа сканирования для OB 1. В это время также входит время сканирования блоков с более высоким приоритетным классом, которые вызываются в основной программе (в текущем цикле). Процессы связи, выполняемые операционной системой, например, GD-коммуникации или операции доступа программатора PG к CPU, также увеличивают время выполнения основной программы. Время выполнения основной программы может быть уменьшено в некоторой степени при параметризации CPU (на вкладке "Cycle/Clock memory bits" ["Цикл/Тактовые меркеры"] - "Cyclic load from communication" ["Циклическая загрузка посредством коммуникаций"]).
Статистика циклов В случае наличия интерактивной (online) связи программатора PG с CPU с помощью выбора опций: PLC -> Module Information (PLC -> Информация о модуле), Вы можете вызвать диалоговое окно с несколькими вкладками.
На вкладке "Cycle Time" ("Время цикла") будет показано текущее значение длительности времени цикла, а также длительности самого короткого и самого продолжительного циклов сканирования. На этой же вкладке отображаются также параметризованная минимальная длительность цикла и время мониторинга цикла сканирования ("scan cycle monitoring Кроме того, продолжительность последнего цикла сканирования также как и продолжительности минимального и максимального по длительности циклов с момента последнего запуска PLC, могут быть считаны из временных локальных данных в стартовой информации организационного SFC 43 RE_TRIGR Перезапуск времени мониторинга цикла сканирования Вызов системной функции SFC 43 RE_TRIGR перезапускает время мониторинга цикла сканирования ("scan cycle monitoring time"); таймер перезапускается с новым значением, установленным посредством параметризации CPU. Функция SFC 43 не имеет параметров.
Продолжительность процедур операционной системы (Operating system run times) Во время мониторинга цикла сканирования также включается продолжительность процедур операционной системы. К этим процедурам • Системное управление циклическим сканированием ("no-load cycle" незагружаемый цикл"); фиксированное значение;
• Обновление образа процесса; зависит от числа байт, которые Функции связи (коммуникации) для CPU включают в себя функции передачи блоков программы пользователя и обмен данными между модулями CPU с использованием системных функций. Время, которое CPU будет затрачивать на выполнение этих функций, может быть Автоматизация посредством STEP с использованием STL и SCL ограничено при параметризации CPU.
Все значения продолжительностей процедур операционной системы зависят от типа CPU и являются его характеристиками.
20.2.3 Минимальное время цикла сканирования Сканирование в фоновом режиме ("background scanning") Для отдельных, специальным образом оборудованных, CPU Вы можете задавать минимальное время цикла сканирования ("minimum scan cycle time"). В случае если продолжительность выполнения основной программы (включая обработку прерываний) меньше минимального времени цикла сканирования, CPU будет ожидать, пока не истечет заданное минимальное время, и только после этого начнется следующий Значение, принимаемое по умолчанию для минимального времени цикла сканирования, составляет 0 мс, иначе говоря, данная функция неактивна (disabled). Для параметра "минимальное время цикла сканирования" ("minimum scan cycle time") Вы можете установить значение в пределах от 1 миллисекунд до 6 секунд на вкладке "Cycle/Clock memory bits" ("Цикл/Тактовые меркеры") при параметризации CPU.
Сканирование в фоновом режиме ("background scanning") ОВ В интервале между фактическим окончанием цикла сканирования и моментом истечения времени минимальной продолжительности цикла сканирования CPU обрабатывает организационный блок OB "Background scanning" ("Сканирование в фоновом режиме") (см. рис. 20.3).
Организационный блок OB 90 выполняется "по частям". Когда операционная система вызывает блок OB 1, выполнение блока OB прерывается; при этом, когда обработка блока OB 1 закончится, выполнение блока OB 90 продолжится в точке прерывания.
Выполнение организационного блока OB 90 может быть прервано после каждого оператора; тем не менее, любой системный блок, вызванный в блоке OB 90, перед обработкой прерывания будет выполнен полностью.
Размер отдельных выполняемых фрагментов блока OB 90 зависит от продолжительности текущего цикла сканирования блока OB 1. Чем меньше разница между продолжительностью текущего цикла сканирования и минимальной продолжительностью цикла сканирования, тем меньше времени остается для выполнения OB 90. Мониторинг времени сканирования программы в OB 90 не проводится.
Блок OB 90 выполняется (сканируется) только в режиме RUN. Этот процесс сканирования может быть прерван, если возникает событие прерывания или ошибки, так же как прерывается обработка блока OB 1.
20. Основная программа Порядок выполнения программы для CPU выпуска до 10/1998 г.
Время текущего цикла сканирования ОВ
PII PIO PII
Минимальное время цикла сканирования Порядок выполнения программы для CPU выпуска после 10/1998 г.Время текущего цикла сканирования ОВ
PIO PII PIO PII
Минимальное время цикла сканирования Рис. 20.3 Минимальная длительность цикла и сканирование в фоновом режиме В стартовой информации (во временных локальных данных) организационного блока (байт 1), указывается причина запуска обработки После того, как блок, обрабатывавшийся в OB 90, был удален или После того, как программа в OB 90 была запущена на выполнение и Автоматизация посредством STEP с использованием STL и SCL 20.2.4 Время отклика ("Response Time") Если программа пользователя в OB 1 работает со значениями (с состояниями сигналов) из области отображения процесса, это сказывается на таком параметре, как время отклика ("response time"), который зависит от времени выполнения программы (от времени сканирования цикла). Величина времени отклика имеет значение, лежащее между длительностью одного и двух циклов сканирования, это Если, например, "концевой выключатель" ("limit switch") активирован, то состояние его сигнала изменяется со значения "0" на значение "1".Программируемый контроллер обнаруживает это изменение сигнала во время последующего обновления образа процесса и устанавливает входы (inputs), соответствующие этому концевому выключателю в состояние "1". В программе происходит проверка состояния сигнала от концевого выключателя, и при обнаружении состояния "1" происходит сброс некоторого выхода (output) для выключения соответствующего двигателя. Новое состояние сигнала этого выхода, который был сброшен, передается в конце цикла сканирования программы; только после этого соответствующий бит в выходном дискретном модуле будет сброшен.
Наилучший случай имеет место, когда образ процесса обновляется сразу же после изменения состояния сигнала, поступающего от концевого выключателя. При этом проходит период времени, равный только одному циклу сканирования, от момента изменения сигнала выключателя до момента изменения состояния соответствующего выхода (см. рис. 20.4).
Изменение сигнала от датчика и немедленная передача в область отображения процесса
PIO PII PIO PII PIO PII
Изменение сигнала от датчика Передача в область область отображения процесса Рис. 20.4 Время отклика программируемого контроллера Наихудший случай имеет место, когда изменение состояния сигнала, поступающего от концевого выключателя, происходит сразу же после того, как произошло обновление образа процесса. При этом проходит период времени, приблизительно равный одному циклу сканирования, до момента, когда PLC обнаруживает изменение сигнала от выключателя 20. Основная программа и устанавливает соответствующий ему вход (input). После этого должен пройти еще один период времени, равный одному циклу сканирования, прежде чем будет изменено состояние соответствующего выхода.Время, необходимое для выполнения программы пользователя, включает в себя время выполнения всех процедур выполняемых в одном программном цикле (включая, например, обслуживание прерываний, выполнение операционной системой таких функций, как обновление таймеров, управление MPI-интерфейсом, обновление образа процесса).
Величина времени отклика на изменение входного сигнала, таким образом, может иметь значение, лежащее между длительностью одного и двух циклов сканирования. Величина времени отклика PLC увеличивается также за счет времени задержки во входных модулях, времени переключения контакторов и т.п.
В некоторых случаях Вы можете уменьшить время отклика посредством прямой адресации I/O периферии или с помощью организации вызовов разделов программы на основе управления событиями.
20.2.5 Стартовая информация ("Start Information") Операционная система CPU первоначально обращается к стартовой информации в организационном блоке OB 1, как и при обработке любого другого организационного блока. Стартовая информация ("start information") занимает первые 20 байт во временных локальных данных.
Вы можете самостоятельно создать объявление для стартовой информации или использовать для этого информацию из стандартной библиотеки Standard Library в разделе для организационных блоков Organization Blocks. В таблице 20.2 представлены стартовая информация для организационного блока OB 1, назначение символьных имен, принимаемых по умолчанию, и типы данных. Вы можете изменять назначения в любое время и можете, также, выбрать более приемлемые для Вас имена. Даже если Вы не используете стартовую информацию, Вы должны зарезервировать первые 20 байтов во временных локальных данных для стартовой информации (например, в форме массива В SIMATIC S7 все сообщения о событиях имеют фиксированную структуру, которая определяется классом события. В стартовой информации блока OB 1, например, сообщение о событии B#16# стандартный вызов OB. Из содержания следующего байта Вы можете узнать, находится ли основная программа в первом цикле после включения, а также были ли после этого вызваны, например, программы инициализации в циклической программе.
Приоритет и номер ОВ основной программы имеют фиксированные значения. В стартовой информации содержатся три числа в формате INT, показывающие величину предыдущего цикла сканирования, а также величины максимального и минимального циклов с момента последнего DATE_AND_TIME показывает, когда программа управления обнаружила событие для вызова организационного блока ОВ 1.
Автоматизация посредством STEP с использованием STL и SCL Таблица 20.2 Стартовая информация для организационного блока OB OB1_SCAN_1 BYTE Стартовая информация B#16#01 = 1-й цикл после полного OB1_MIN_CYCLE INT Время минимального цикла в мс OB1_MAX_CYCLE INT Время максимального цикла в мс OB1_DATE_TIME DT Надо отметить, что прямое считывание стартовой информации организационного блока возможно выполнять только в этом организационном блоке, так как эта информация содержится во временных локальных данных. Если Вам требуется стартовая информация, которая находится в более "глубоких" уровнях вложения вызовов, то Вы должны использовать вызов системной функции SFC RD_SINFO в соответствующем месте программы.
Системная функция SFC 6 RD_SINFO обеспечивает считывание стартовой информации в текущем организационном блоке (то есть, в ОВ, находящемся на вершине "дерева вызовов") и в последнем выполненном организационном блоке запуска даже на более глубоком уровне вызовов Выходной параметр TOP_SI содержит первые 12 байтов стартовой информации текущего организационного блока OB, выходной параметр START_UP_SI содержит первые 12 байтов стартовой информации последнего выполненного стартового блока OB. Однако в обоих случаях в Системная функция SFC 6 RD_SINFO может быть вызвана не только в любом месте основной программы, но и в каждом приоритетном классе, даже в организационном блоке обработки ошибок или в программе запуска. Если системная функция SFC 6 RD_SINFO вызывается, например, в организационном блоке обработки прерывания, то параметр TOP_SI содержит стартовую информацию организационного блока обработки прерывания. В случае вызова SFC при перезапуске параметры TOP_SI и START_UP_SI содержат одинаковую информацию.
20. Основная программа Таблица 20.3 Параметры для системной функции SFC 6 RD_SINFO TOP_SI OUTPUT
STRUCT
.PRIORITY BYTE
20.3 Функции программы (Program Functions) Кроме параметризации CPU с помощью утилиты конфигурирования оборудования Hardware Configuration Вы можете также выбирать номер системной функции динамически в процессе выполнения программы посредством встроенных системных функций.20.3.1 Управление часами реального времени (Real-Time Clock) Следующие системные функции могут использоваться для управления часами реального времени CPU (Real-Time Clock):
Вы можете найти список параметров этих SFB в таблице 20.4.
Автоматизация посредством STEP с использованием STL и SCL Таблица 20.4 Параметры системных функций для управления часами реального SFC Имя параметра Объявление Содержание, описание Если несколько CPU связаны между собой посредством подсети, "часы" одного из них должны быть инициализированы как "master clock" ("главные часы"). При параметризации CPU также необходимо задать интервал синхронизации, по прошествии которого все часы в подсети должны автоматически синхронизироваться с "master clock" ("главными При вызове функции SFC 48 SNC_RTCB в CPU с назначенными "master clock" ("главными часами") происходит синхронизация всех часов в подсети, независимо от автоматической синхронизации. При установке времени в "master clock" (в главных часах) посредством системной функции SFC 0 SET_CLK происходит автоматическая синхронизация всех часов в подсети - все часы будут установлены на заданное время.
20.3.2 Системные часы (System Clock) Системные часы CPU (system clock) запускаются при включении питания или при полном перезапуске. Системные часы (system clock) CPU идут (включены) пока CPU выполняет программу перезапуска или находится в режиме RUN. Когда CPU переходит в режим STOP или HOLD, текущее "системное время" (system time) "замораживается".
Если Вы активируете "теплый" ("warm") перезапуск в системе с S7- CPU, системные часы вновь начинают отсчет с ранее запомненного "замороженного" значения времени.
При "холодном" перезапуске или полном перезапуске происходит сброс Системное время (system time) имеет формат данных TIME, поэтому его величина может принимать только положительные значения в диапазоне от TIME#0ms до TIME#24d20h31m23s647ms.
В случае переполнения значения системного времени, оно вновь начинает отсчитываться с 0. В CPU 3xx (кроме CPU 318) обновление системного времени происходит каждые 10 миллисекунд, а в CPU 4xx, а также в CPU 318 обновление системного времени происходит каждую 20. Основная программа Считывание системного времени Системная функция SFC 64 TIME_TCK обеспечивает считывание текущего системного времени. Параметр RET_VAL содержит значение системного времени в формате TIME.
Вы можете использовать системные часы, например, для считывания текущего времени выполнения программы CPU или, вычисляя разность их показаний в двух точках, рассчитать величину промежутка времени между двумя вызовами функции SFC 64. Разность между двумя значениями в TIME-формате вычисляется с использованием вычисления 20.3.3 Измеритель времени наработки (Run-Time Meter) Измеритель времени наработки (run-time meter) в CPU отсчитывает наработанные аппаратурой часы. Вы можете определять наработанное время CPU или подключенных к нему устройств. Возможное число измерителей наработки для каждого CPU определяется его типом. Если CPU переходит в режим STOP или HOLD, измеритель времени наработки также останавливается; когда CPU вновь запускается, измеритель времени наработки продолжает отсчет времени с запомненного в момент Когда показания измерителя времени наработки достигают значения 32767 часов, измеритель времени наработки останавливается и сигнализирует о переполнении значения. Измеритель времени наработки может быть установлен на новое значение или сброшен в нулевое состояние только при вызове соответствующей системной функции SFC.
измерителем времени наработки (run-time meter):
Функция позволяет установить измеритель времени наработки Функция позволяет остановить или запустить измеритель времени Функция позволяет считать показания измерителя времени наработки В таблице 20.5 представлен список параметров указанных системных функций. Параметр NR устанавливает номер измерителя времени наработки для CPU; он имеет тип BYTE. Этот параметр может быть инициализирован с помощью константы или переменной (аналогично тому, как инициализируются все входные параметры простых типов данных). Параметр PV (тип данных INT) используется для установки измерителя времени наработки на начальное значение. Параметр S функции SFC 3 при значении "1" инициирует запуск выбранного измерителя времени наработки, а при значении "0" инициирует его остановку. Параметр CV индицирует состояние измерителя времени наработки при сканировании программы: значение "1" - активен; значение Автоматизация посредством STEP с использованием STL и SCL "0" - остановлен. Параметр CV содержит текущее значение измерителя Таблица 20.5 Параметры системных функций для управления измерителем времени SFC Параметр Объявление Содержание, описание
2 NR INPUT BYTE
PV INPUT INT
3 NR INPUT BYTE
4 NR INPUT BYTE
CQ OUTPUT BOOL
CV OUTPUT INT
20.3.4 Сжатие информации в памяти CPU (Compressing CPU Memory) Многократное удаление и повторная загрузка блоков (что часто происходит во время интерактивного изменения блоков) могут приводить к появлению незанятых участков в рабочей (work) памяти CPU и в загрузочной (load) RAM-памяти, что в свою очередь, уменьшает количество полезного пространства памяти. Для устранения таких незанятых участков в памяти служит функция "Compress" ("Сжатие"), при запуске которой происходит заполнение незанятых участков путем сдвига блоков друг к другу. Вы можете инициировать функцию "Compress" ("Сжатие") с помощью программатора PG, подключенного к CPU, или с помощью вызова системной функции SFC 25 COMPRESS. Параметры для функции SFC 25 представлены в таблице 20.6.Процедура сжатия распределяется на несколько программных циклов.
Функция SFC 25 в параметре BUSY возвращает значение "1", если процедура еще не закончена, а в параметре DONE возвращает значение "1", если процедура сжатия полностью завершена.
20. Основная программа Таблица 20.6 Параметры системной функции SFC 25 COMPRESS BUSY OUTPUT
BOOL
DONE OUTPUT BOOL
Системная функция SFC 25 COMPRESS не может быть активизирована, если запущен процесс сжатия извне, если активна функция удаления блоков "Delete Block" или если функции из PG получили доступ к блоку, который должен быть сдвинут (например, функция статуса блока "Status Необходимо отметить, что отдельные блоки максимальной длины (определяется типом CPU) не могут быть сдвинуты, т.е. незанятые участки в памяти CPU остаются. Только функция "Compress" ("Сжатие"), запущенная из программатора PG, в то время, пока CPU находится в режиме STOP, может полностью устранить незанятые участки в памяти 20.3.5 Режимы ожидания и остановки Системная функция SFC 47 WAIT обеспечивает остановку сканирования программы на заданный период времени.Функция SFC 47 WAIT имеет входной параметр WT (тип INT), с помощью которого Вы можете определить время ожидания (waiting time) в микросекундах (µs). Максимальная величина этого параметра составляет 32767 микросекунд; минимальная величина времени ожидания равна времени выполнения системной функции, которое определяется типом Системная функция SFC 47 WAIT может быть прервана событием с более высоким приоритетом. В случае использования S7-300 это увеличивает время ожидания на величину времени сканирования программы обработки прерывания с более высоким приоритетом.
Системная функция SFC 48 STP обеспечивает завершение сканирования программы, в результате чего CPU переходит в состояние STOP.
Системная функция SFC 48 STP не имеет параметров.
20.3.6 Мультипроцессорный режим Станция S7-400 может использоваться в мультипроцессорном режиме. В одной стойке при этом могут работать до четырех допускающих такой Автоматизация посредством STEP с использованием STL и SCL Станция S7-400 автоматически запускается в мультипроцессорном режиме после того, как в центральной стойке Вы установили посредством утилиты конфигурирования аппаратной части Hardware Configuration больше, чем один CPU. При этом слоты для установки CPU произвольны.
CPU различаются по автоматически назначаемым номерам, идущим в порядке возрастания в соответствии с местом (слотом) установки.
Пользователь также может назначить номер CPU самостоятельно используя вкладку "Multicomputing" ("Мультипроцес-сорный режим").
Данные конфигурирования для всех CPU должны быть загружены в PLC, даже если Вы делаете изменения в конфигурации только одного CPU.
После назначения параметров для CPU Вы должны назначить каждый модуль станции соответствующему CPU.
Это делается с помощью параметризации модуля на вкладке "Address" ("Адреса") в окне "CPU assignment" ("Назначение CPU") (см. рис. 20.5).
Одновременно с назначением адресной области модуля Вы должны назначить прерывания модуля для этого CPU. С помощью опций: View -> Filter -> CPU No.x-Modules (Вид -> Фильтр -> CPU No.x) Вы можете выделить модули, назначенные для CPU в таблицах конфигурации.
Все CPU в мультипроцессорной сети имеют одинаковый режим работы.
• все они должны быть параметризированы с одинаковым режимом • все они должны переходить в режим RUN одновременно;
• все они должны быть переведены в режим HOLD, когда Вы делаете • все они должны переходить в режим STOP, как только один из CPU Как только происходит сбой в одной стойке в станции, в каждом CPU должен вызываться организационный блок OB 86. Программы пользователя в таких CPU выполняются независимо одна от другой; они не синхронизированы.
Вызов системной функции SFC 35 MP_ALM запускает организационный блок OB 60 "Multiprocessor interrupt" ("Обработка прерывания мультипроцессорного режима ") на всех CPU одновременно (см. раздел 21.6 "Прерывания мультипроцессорного режима").
20.4 Связь (communications) посредством распределенной Таким же путем, каким модули с централизованной компоновкой назначаются CPU, распределенные модули (станции, ведомые (slave) DPустройства) назначаются ведущему (master) DP-устройству. Ведущее (master) DP-устройство вместе с относящимися к нему ведомыми (slave) DP-устройствами образуют "систему ведущего (master) DP-устройства".
Одна S7-станция может содержать несколько систем ведущих (master) 20. Основная программа Также как и центральные модули, ведомые (slave) DP-устройства получают адреса в I/O области CPU (пространство логических адресов).
Ведущее (master) DP-устройство, так сказать, "прозрачно" в отношении адресов его ведомых (slave) DP-устройств: CPU "видит" адреса ведомых (slave) DP-устройств, поэтому эти адреса не должны перекрываться с адресами центральных модулей. Адреса ведомых (slave) DP-устройств также не должны перекрываться с адресами ведомых (slave) DPустройств из других систем ведущих (master) DP-устройств, назначенных Существуют ведомые (slave) DP-устройства, которые ведут себя аналогично центральным модулям, т.е., они содержат области данных пользователя и области системных данных, они могут инициировать процесс и вызывать диагностические прерывания, в случае, если оснащены соответствующим образом. Такие станции относятся к "DP-S slaves" (к "ведомым DP-S7 устройствам"). "DP V0 standard slaves" ("ведомые DP-устройства стандарта V0") совместимы со стандартом EN 50170, том 2, PROFIBUS. Существенные различия между ними состоят в способе считывания и в структуре диагностических данных.
Конфигурирование распределенной периферии (I/O) также очень похоже на конфигурирование центральных модулей. Исходным пунктом является ведущее (master) DP-устройство в графическом представлении системы ведущего DP-устройства. Станции устанавливаются в систему, затем получают адреса и параметризируются.
Особые требования к консистентности пользовательских данных требуют специальных системных функций для распределенной периферии (I/O).
Так что, несмотря на последовательный характер передачи данных для ведомых (slave) DP-устройств, консистентность данных за пределами байтов может гарантироваться системой S7, и Вы можете группировать ведомые (slave) DP-устройства таким образом, что они могут принимать и передавать данные синхронно.
Автоматизация посредством STEP с использованием STL и SCL 20.4.1 Адресация распределенной периферии (I/O) - географическим адресом (geographical address), - начальным адресом модуля (module starting address), - диагностическим адресом (diagnostics address).
Адресация в системе ведущего (master) DP-устройства показаны на рис.
Централизованные модули Рис. 20.6 Адреса в системе ведущего (master) DP-устройства 20. Основная программа Адрес узла (Node Address) Каждый узел в подсети PROFIBUS имеет уникальный адрес, именуемый адресом узла (node address) или номером станции (station number), по которому система отличает его от других узлов подсети. Доступ к станции в подсети PROFIBUS осуществляется с помощью такого адреса узла.
Необходимо отметить, что между адресами активных узлов шины должен быть разрыв, равный, по крайней мере, единице (1), (например, в случае перекрестного обмена данными между ведущим (master) DP-устройством и узлами). Система S7 учитывает это требование при автоматическом назначении адресов узлам подсети.
Географический адрес (Geographical Address) Географический адрес (geographical address) ведомого (slave) DPустройства соответствует адресу слота центрального модуля. Этот адрес состоит из идентификатора (ID) системы ведущего (master) DPустройства, определяемого во время конфигурирования, и адреса узла в подсети PROFIBUS (соответствующего номеру стойки).
В случае модульной организации ведомых (slave) DP-устройств номер слота также добавляется к адресу, а если модули сами составлены из модулей (подмодулей), номер слота подмодуля также должен добавляться к адресу (что касается станций S7-300, то нумерация слотов Начальный адрес модуля (Module Starting Address) Консистентность данных По начальному адресу модуля (module starting address) ("logic base address" - "базовый логический адрес") Вы можете получить доступ к пользовательским данным компактного ведомого (slave) DP-устройства (compact DP slave) или к модулю модульного ведомого DP-устройства (modular DP slave). Как следует из названия, этот адрес соответствует начальному адресу модуля для центрального модуля. Если адреса ведомого (slave) DP-устройства обеспечивают консистентность данных для 1, 2 или 4 байтов, Вы можете использовать для доступа к пользовательским данным операторы загрузки (load) и пересылки (transfer). Если начальный адрес модуля лежит в области отображения процесса, то пользовательские данные пересылаются во время передачи данных образа процесса. Таким же образом возможно назначение данных в область отображения подпроцесса.
Если должна обеспечиваться консистентность данных длиной 3 или больше, чем 4 байтов (до некоторого максимального размера, определяемого типом CPU), то Вам потребуется использовать системные функции SFC 14 DPRD_DAT и SFC 15 DPWR_DAT. Эти функции предназначены для считывания и записи пользовательских данных соответственно, с сохранением их консистентности.
Функции SFC в качестве исходной области данных или области назначения данных используют адреса указанные в параметре RECORD.
Рис. 20.7 иллюстрирует передачу пользовательских данных.
Ведущее (master) DP-устройство пересылает пользовательские данные из "его" ведомых (slave) DP-устройств циклически; в примере оно пересылает из станции с начальным адресом модуля 32 и с гарантией консистентности данных для 4 байтов (ведомое DP-устройство 1) и из Автоматизация посредством STEP с использованием STL и SCL станции с начальным адресом модуля 48 и с гарантией консистентности Указанные байты пользовательских данных ведомого (slave) DPустройства 1 размещаются в области для пересылки (transfer area) операторов Load или Transfer, также как это выполняется в центральных Указанные байты пользовательских данных ведомого (slave) DPустройства 2 также все размещаются в области для пересылки (transfer area) ведущего (master) DP-устройства, но доступ к ним возможен только с начальным адресом модуля (48, согласно примеру) на P-шине.
Оставшиеся адреса могут (теоретически) быть свободно назначены, но они блокируются (disabled) Hardware Configuration для иного применения.
использованием начального адреса модуля (48) и выполняется обмен 20. Основная программа данными с областями памяти CPU, например, с блоком данных.
Этот адрес не доступен при использовании операторов пересылки Load и Transfer, а также даже для операционной системы при обновлении областей отображения процесса. В нашем примере образ процесса не обновляется в области между адресами 48 и 55. Тем не менее, Вы можете определять для системных функций SFC 14 и SFC 15 областиисточники и области назначения и таким образом использовать эти Память для передачи данных в интеллектуальных ведомых DP-устройствах (Transfer memory) В случае использования компактных или модульных ведомых (slave) DPустройств адреса входов и выходов локализуются в I/O области центрального CPU (упоминаемого ниже как "CPU ведущего (master) DPустройства" или "master CPU").
В случае использования интеллектуальных ведомых (slave) DP-устройств CPU ведущего (master) DP-устройства не имеет прямого доступа ко входным/выходным модулям ведомого (slave) DP-устройства. Поэтому каждое интеллектуальное ведомое (slave) DP-устройство имеет "память для передачи" ("transfer memory"), которая может быть разделена на несколько дополнительных областей различной длины и консистентности данных. Тогда с точки зрения ведущего (master) DP-устройства интеллектуальное ведомое (slave) DP-устройство выступает как компактное или модульное ведомое (slave) DP-устройство, в завистимости от разделения.
Размер "памяти для передачи" ("transfer memory") в целом зависит от ведомого (slave) DP-устройства. Вы можете определить адреса "памяти для передачи" в конфигурации: адреса с точки зрения CPU ведомого (slave) DP-устройства при конфигурировании интеллектуальных ведомых (slave) DP-устройств и адреса с точки зрения CPU ведущего (master) DPустройства при вставке интеллектуальных ведомых (slave) DP-устройств в систему ведущего (master) DP-устройства. Исключение: если DPинтерфейс для интеллектуальных ведомых устройств формирует коммуникационный процессор CP 342-5DP, то разбиение его "памяти для передачи" ("transfer memory") не конфигурируется, пока ведомое устройство не будет подключено к системе ведущего (master) DPустройства.
С точки зрения ведущего (master) DP-устройства (или точнее, с точки зрения центрального CPU ведущего (master) DP-устройства) адреса "памяти для передачи" не должны перекрываться с адресами других модулей в центральной S7-станции. С точки зрения CPU ведомого (slave) DP-устройства адреса "памяти для передачи" не должны перекрываться с адресами других модулей, встроенных в интеллектуальное ведомое Области адресов "памяти для передачи" представляют собой как бы отдельные модули с точки зрения доступа к пользовательским данным и консистентности данных, т.е., самый младший адрес адресного пространства является начальным (базовым) адресом модуля ("module starting address"). В соответствии с уровнем установки консистентности Вы можете передавать пользовательские данные для адресных областей либо с помощью операторов Load / Transfer, либо с помощью системных функций SFC 14 / SFC 15, в обоих случаях используя программу для CPU Автоматизация посредством STEP с использованием STL и SCL ведущего (master) DP-устройства и программу для CPU ведомого (slave) DP-устройства. В программе для CPU ведомого (slave) DP-устройства Вы также можете использовать системную функцию SFC 7 DP_PRAL для запуска прерывания процесса в CPU ведущего (master) DP-устройства На рис. 20.8 показан пример использования "памяти для передачи" интеллектуального ведомого (slave) DP-устройства для двух областей ведущего (master) пользовательской ведущего (master) Область памяти Область адресов Область адресов Область памяти Рис. 20.8 Память для передачи данных в интеллектуальных ведомых CPU ведущего (master) DP-устройства "видит" адреса области 1 как адреса выходного модуля, данные из которых могут быть считаны с помощью операций пересылки (или с помощью операций с отдельными битами, если адреса располагаются в области отображения процесса).
Для CPU ведомого (slave) DP-устройства область адресов 1 является как бы входным модулем, данные из которых могут быть считаны посредством оператора Load или с помощью операции проверки (опроса), 20. Основная программа если адреса располагаются в области отображения процесса. Адреса области 2 с гарантией консистентности данных объемом 8 байтов могут быть записаны CPU ведомого (slave) DP-устройства только с помощью функции SFC 15 и могут быть считаны CPU ведущего (master) DPустройства только с помощью функции SFC 14.
Диагностический адрес (Diagnostics Address) Каждое ведущее (master) DP-устройство и ведомое (slave) DP-устройство занимает один дополнительный байт "диагностического адреса". С помощью диагностического адреса Вы можете считывать данные Для ведомых (slave) DP-устройств стандарта DP V0 для считывания данных диагностики используется системная функция SFC DPNRM_DG. При применении ведомых (slave) DP-устройств стандарта DP S7 для считывания записи DS 1, которая содержит данные диагностики, используется системная функция SFC 59 RD_REC. Диагностические данные, считываемые с помощью функции SFC 13 DPNRM_DG, имеют структуру, определенную стандартом (см. рис. 20.9).
Общая структура диагностических Общая структура диагностических данных ведомых (slave) DP- данных ведомых (slave) DPустройств стандарта DP V0 устройств стандарта DP S Рис. 20.9 Структура стандартных диагностических данных (Standard Записи данных DS 1, считываемые с помощью функции SFC 59 RD_REC, содержат 4 байта с диагностической информацией модуля, которую также можно найти, например, в стартовой информации организационного блока обработки диагностических прерываний OB 82 (это соответствует записи диагностических данных DS 0 [Diagnostics Data Record DS 0]). Структура остальной части диагностических данных определяется модулем.
Модули или устройства, которые не имеют "своих собственных" пользовательских данных, также могут иметь диагностический адрес, если они способны генерировать данные диагностики, как например, ведущее (master) DP-устройство или резервный (согласно конфигурации) Автоматизация посредством STEP с использованием STL и SCL Диагностический адрес занимает один байт в области периферийных входов (peripheral inputs). STEP 7 назначает диагностический адрес, по умолчанию начинающийся со старшего адреса I/O-области CPU. При просмотре адресов в таблице конфигурации оборудования Hardware Configuration диагностический адрес помечается звездочкой.
20.4.2 Конфигурирование распределенной периферии (I/O) Общая процедура Конфигурирование распределенной периферии (I/O) похоже на конфигурирование центральных модулей. Только вместо компоновки модулей в монтажной стойке Вы должны выполнить назначение DPстанций (PROFIBUS-узлов) системе ведущего (master) DP-устройства.
При конфигурировании рекомендуется придерживаться следующего 1) Создайте новый или откройте существующий проект, используя 2) В проекте с помощью SIMATIC Manager создайте подсеть PROFIBUS и, если нужно, измените шинный профиль (bus profile).
3) Используя SIMATIC Manager, создайте в проекте ведущую (master) станцию, которая должна будет содержать ведущее (master) DPустройство, например, станцию S7-400.
Если Ваша система содержит интеллектуальные ведомые (slave) DP-устройства, Вам также необходимо создать здесь же соответствующие ведомые станции, например, станции S7-300.
Теперь Вы должны запустить утилиту конфигурирования оборудования Hardware Configuration посредством открытия 4) С помощью утилиты конфигурирования оборудования Hardware Configuration поместите ведущее (master) DP-устройство в ведущую (master) станцию. Это может быть, например, CPU со встроенным DP-интерфейсом. Выполните назначение ранее созданной подсети PROFIBUS для DP-интерфейса; теперь Вы располагаете системой ведущего (master) DP-устройства. В дальнейшем также Вы можете сконфигурировать остальные модули. Сохраните и скомпилируйте 5) Если Вы создали S7-станцию для интеллектуальных ведомых конфигурирования оборудования Hardware Configuration, и методом перетаскивания смонтируйте в ней модуль с требуемым DPинтерфейсом, например, S7-300 CPU со встроенным DPинтерфейсом или интеллектуальный базовый модуль BM 147/CPU станции распределенного ввода/вывода ET 200X. Если Вы установили DP-интерфейс как "ведомое (slave) DP-устройство", теперь назначьте для DP-интерфейса ранее созданную подсеть PROFIBUS, затем сконфигурируйте интерфейс пользовательских данных с точки зрения ведомого DP-устройства (память для передачи данных "transfer memory").
20. Основная программа В дальнейшем Вы также можете сконфигурировать остальные Теперь таким же образом выполните действия в отношении остальных станций, предназначенных для интеллектуальных 6) Откройте ведущую (master) станцию с системой ведущего DPустройства и, используя манипулятор "мышь", "перетащите" PROFIBUS-узлы (компактные и модульные ведомые [slave] DPустройства) из каталога оборудования (hardware catalog) в систему ведущего DP-устройства. Назначьте адреса для узлов и, если необходимо, установите начальные адреса и диагностические 7) Если Вы создали интеллектуальные ведомые (slave) DP-устройства, то используя манипулятор "мышь", "перетащите" соответствующие "иконки" (из каталога оборудования [hardware catalog] из разделов "PROFIBUS DP" и "Configured Stations" [сконфигурированные соответствующей "иконке" и назначайте для него уже созданное ведомое DP-устройство ("Connect" - "связать, соединить"), назначайте адрес узла (node address) и конфигурируйте интерфейс пользовательских данных с точки зрения ведущего (master) DPустройства (или с точки зрения центрального CPU ведущего Теперь таким же образом выполните действия в отношении каждого из оставшихся интеллектуальных ведомых (slave) DP-устройств.
8) Сохраните и скомпилируйте все станции. Теперь Вы располагаете сконфигурированной системой ведущего (master) DP-устройства, и можете выполнить конфигурирование для центральных модулей или для дополнительных ведомых (slave) DP-устройств.
Вы можете также представить сконфигурированную таким образом систему ведущего DP-устройства графически, используя утилиту конфигурирования сетей Network Configuration. Откройте утилиту конфигурирования сетей Network Configuration одним из способов, например, двойным щелчком манипулятора "мышь" на значке подсети.
Выберите следующие опции: View -> DP Slaves (Вид -> ведомые DPустройства) для отображения ведомых (slave) DP-устройств. С помощью утилиты конфигурирования сетей Network Configuration Вы можете также создать систему ведущего (master) DP-устройства (или, более точно, назначить узлы для подсети PROFIBUS). При использовании утилиты конфигурирования сетей Network Configuration, после открытия станций можно их параметризировать. Здесь же Вы должны сначала установить интеллектуальные ведомые (slave) DP-устройства, прежде чем вводить их в систему ведущего DP-устройства.
Конфигурирование ведущего (master) DP-устройства Сначала Вы должны создать проект и S7-станцию, используя SIMATIC Manager. Затем Вы должны открыть S7-станцию и создать монтажную стойку (см. раздел 2.3 "Конфигурирование станций").
Автоматизация посредством STEP с использованием STL и SCL Теперь Вы можете, используя манипулятор "мышь", "перетащить" модуль ведущего DP-устройства из каталога оборудования (hardware catalog) в таблицу конфигурации (configuration table) монтажной стойки. У Вас уже может быть выбран CPU с DP-интерфейсом. Строкой ниже отображается ведущее (master) DP-устройство с подключением к системе ведущего DPустройства в окне станции.
При "монтировании" модуля ведущего DP-устройства Вы выбираете в окне подсеть PROFIBUS, для которой должна быть назначена система ведущего DP-устройства и адрес узла, назначаемый ведущему DPустройству. В этом окне Вы можете также создать новую подсеть Если система ведущего DP-устройства недоступна (например, она находится вне области видимости или закрыта объектом), создайте систему ведущего DP-устройства, выбрав ведущее (master) DPустройство в окне конфигурации с последующим выбором опций: Insert -> DP Master System (Вставка -> Система ведущего DP-устройства). Вы можете изменять адрес узла и соединение с подсетью PROFIBUS, выбрав модуль, а затем выбирая опции: Edit -> Object Properties (Правка -> Свойства объекта), используя вкладку "General" ("Общие") и кнопку "Properties" ("Свойства"), после чего Вы получаете доступ к свойствам CP 342-5DP как ведущее DP-устройство Если ведущим DP-устройством является коммуникационный процессор CP 342-5DP, тогда поместите его в таблицу конфигурации станции;
выберите его как объект, затем используйте опции меню: Edit -> Object Properties (Правка -> Свойства объекта). В окне свойств объекта на вкладке "Mode" ("Режим") установите "DP Master" ("Ведущее DPустройство").
На вкладке "Addresses" ("Адреса") указывается адрес, который занимает CP в области данных пользователя в адресном пространстве CPU. С точки зрения CPU ведущего (master) устройства коммуникационный процессор CP 342-5DP является "аналоговым модулем" ("analog module"), характеризующимся начальным адресом модуля и с 16 байтами пользовательских данных.
К коммуникационному процессору CP 342-5DP как к ведущему (master) DP-устройству могут быть подключены только стандартные ведомые DPустройства ("DP standard slave") или ведомые S7 DP-устройства ("DP S slave"), ведущие себя как стандартные ведомые DP-устройства. Вы можете выбрать необходимые ведомые (slave) DP-устройства в каталоге оборудования (hardware catalog) в разделе "PROFIBUS-DP" / "CP 342-5DP as DP Master" (CP 342-5DP как ведущее DP-устройство). Для этого Вы можете выделить требуемый тип ведомого (slave) DP-устройства и "перетащить" его с помощью манипулятора "мышь" в систему ведущего (master) DP-устройства.
Память для передачи данных (transfer memory) у CP 342-5DP как у ведущего DP-устройства имеет максимальную длину 240 байтов. Данные пересылаются с помощью загружаемых блоков FC 1 DP_SEND и FC DP_RECV (включенных в стандартную библиотеку Standard Library в разделе Communication Blocks [коммуникационные блоки]).
Консистентность данных обеспечивается в области памяти для передачи 20. Основная программа Вы можете считывать диагностические данные подключенных ведомых (slave) DP-устройств с помощью FC 3 DP_DIAG (например, список станций, диагностические данные отдельной станции).
Блок FC 4 DP_CTRL позволяет переслать задания управления для CP 342-5DP (например, команды SYNC/FREEZE, CLEAR, команды установки Если Вы выберете CPU или CP 342-5DP, то с помощью опций меню: View -> Address Overview (Вид -> Обзор адресов) Вы можете увидеть список назначенных адресов, входов и/или выходов. Вы можете также увидеть интервалы неиспользованных адресов.
Конфигурирование компактных ведомых (slave) DP-устройств Компактные ведомые DP-устройства (compact DP slave) должны находиться в каталоге оборудования (hardware catalog) в разделе "PROFIBUS-DP" в соответствующем подразделе, например, в ET 200B.
Выделите требуемое ведомое (slave) DP-устройство и "перетащите" его с помощью манипулятора "мышь" на значок системы ведущего (master) DPустройства.
Вы увидите окно свойств станции; здесь можно задать адрес узла и любой диагностический адрес. Значок ведомого (slave) DP-устройства появляется в верхней части окна свойств станции, а в нижней части окна располагается таблица конфигурации для этой станции.
С помощью двойного щелчка кнопкой "мыши" на значке в верхней части окна станции можно открыть диалоговое окно с одной или несколькими вкладками, с помощью которого Вы можете установить требуемые свойства станции. В нижней части окна при этом отображаются адреса входов/выходов. С помощью двойного щелчка кнопкой "мыши" на строке с адресом вызывается окно, в котором Вы можете изменять значения В нижней части окна по выбору отображается таблица конфигурации для выбранного ведомого DP-устройства или для системы ведущего (master) DP-устройства (при этом переключение режима отображения выполняется с помощью навигационных клавиш клавиатуры [со Конфигурирование модульных ведомых (slave) DP-устройств Модульные ведомые DP-устройства (modular DP slave) должны находиться в каталоге оборудования (hardware catalog) в разделе "PROFIBUS-DP" в соответствующем подразделе, например, в ET 200M.
Щелкните кнопкой манипулятора "мышь" на выбранном интерфейсном модуле (базовом модуле [basic module]) и "перетащите" его с помощью манипулятора "мышь" на значок системы ведущего (master) DPустройства. Вы увидите окно свойств станции; здесь можно задать адрес узла и диагностический адрес. Значок ведомого (slave) DP-устройства появляется в верхней части окна свойств станции, а в нижней части окна располагается таблица конфигурации для этой станции.
Теперь поместите в таблицу конфигурации модули, которые Вы выберете в каталоге оборудования (hardware catalog), под выбранным интерфейсным модулем. С помощью двойного щелчка кнопкой "мыши" Автоматизация посредством STEP с использованием STL и SCL на соответствующей строке можно открыть диалоговое окно свойств модуля, после чего Вы можете параметризировать модуль.
Необходимо отметить, что адресное пространство каждого ведомого устройства из системы ведущего (master) DP-устройства и адресное пространство интерфейсного модуля ведомого (slave) DP-устройства ограничены. Например, предельное значение для CPU 315-2DP как ведущего DP-устройства составляет 122 байта для входов и 122 байта для выходов на каждое ведомое (slave) DP-устройство (восемь 8канальных модулей в ET 200M превысят этот предел: 8 16 = байтов), а предельное значение для ET 200X как ведомого DP-устройства составляет 104 байта для входов и 104 байта для выходов.
Конфигурирование CPU со встроенным DP-интерфейсом, используемого в качестве интеллектуального ведомого (slave) DP-устройства При использовании соответствующих CPU Вы можете параметризировать станцию или как ведущую (master) DP-станцию или как ведомую (slave) DP-станцию. Сначала станцию необходимо создать, а затем подключить как ведомую (slave) DP-станцию к системе ведущего (master) DPустройства. В этом случае используется точно такая же процедура, как для "обычной" станции: используя SIMATIC Manager, вставьте в проект S7-станцию, затем Вы должны открыть S7-станцию и "перетащить" в окно Hardware Configuration (конфигурация оборудования) монтажную стойку, используя манипулятор "мышь", затем поместите в стойку требуемые модули. При конфигурировании ведомой (slave) DP-станции достаточно в стойке "установить" CPU - остальные модули Вы сможете добавить позже.
При вставке CPU будет отображен список свойств PROFIBUSинтерфейса. В нем Вы должны назначить тип подсети (subnetwork) для DP-интерфейса, а также назначить адрес. Если подсеть PROFIBUS еще не существует в проекте, то Вы можете создать новую подсеть с помощью кнопки "New" ("Новая"). Это та самая подсеть, к которой в дальнейшем будет подключено интеллектуальное ведомое (slave) DP-устройство.
Список свойств PROFIBUS-интерфейса Вы можете открыть одним из способов: сначала выбрать DP-интерфейс, затем - опции меню: Edit -> Object Properties (Правка -> Свойства объекта) или сначала дважды щелкнуть кнопкой манипулятора "мышь" на значке PROFIBUSинтерфейса. В окне свойств объекта на вкладке "Operating Mode" ("Рабочий режим") установите "DP Slave" ("Ведомое DP-устройство").
Теперь Вы можете сконфигурировать интерфейс пользовательских данных на вкладке "Configuration" ("Конфигурация") с точки зрения ведомого (slave) DP-устройства (см. рис. 20.10). Информацию по интерфейсу пользовательских данных Вы можете найти в разделе 20.4. "Адресация распределенной периферии (I/O)" в параграфе "Память для передачи данных в интеллектуальных ведомых (slave) DP-устройствах".
Размер и структура памяти для передачи данных (transfer memory) определяются типом CPU. Например, для CPU 315-2DP Вы можете разделить всю область памяти для передачи данных (transfer memory) на 32 адресных области, к которым обеспечивается отдельный доступ. Такие адресные области могут иметь размер до 32 битов. Область памяти для передачи данных в целом может иметь до 122 входных и до выходных адресов. Эти адреса находятся в адресном пространстве CPU ведомого (slave) устройства и они не должны перекрываться с адресами 20. Основная программа Рис. 20.10 Конфигурирование памяти для передачи данных в интеллектуальных ведомых (slave) DP-устройствах со встроенным DP-интерфейсом центральных или периферийных модулей в ведомой (slave) DP-станции.
Младший адрес в адресном пространстве является начальным адресом модуля ("module starting address").
Пользовательская программа в CPU ведомого (slave) устройства получает диагностическую информацию от ведущего (master) DP-устройства с использованием диагностических адресов, заданных на данной вкладке.
Завершая конфигурирование интеллектуального ведомого (slave) DPустройства, сохраните и скомпилируйте станцию с помощью опций меню:
Station -> Save and Compile (Станция -> Сохранить и скомпилировать).
Подключение интеллектуального ведомого (slave) DP-устройства к системе ведущего (master) DP-устройства описано ниже.
Конфигурирование BM 147/CPU, используемого в качестве интеллектуального ведомого (slave) DP-устройства При необходимости создания станции ET 200X как интеллектуальной ведомой (slave) DP-станции необходимо выполнить следующие действия:
используя SIMATIC Manager, вставьте в проект SIMATIC 300 станцию, затем откройте объект Hardware (оборудование).
В Hardware Configuration (конфигурация оборудования), используя манипулятор "мышь", "перетащите" объект BM 147/CPU из каталога оборудования из разделов "PROFIBUS-DP" / "ET200X" в свободное окно или выберите объект двойным щелчком. Выберите адрес узла и подсеть Автоматизация посредством STEP с использованием STL и SCL PROFIBUS в появившемся окне свойств для DP-интерфейса (или же Вы можете создать новую подсеть и назначить ее для DP-интерфейса).
Теперь у Вас есть таблица конфигурации, соответствующая станции SIMATIC 300. Отображаемый CPU представляет здесь интеллектуальный модуль BM 147 для станции ET200X. Этот CPU не имеет MPI-интерфейса (BM 147/CPU программируется посредством MPI-интерфейса ведущей Двойным щелчком на строке CPU Вы можете открыть окно свойств CPU;
двойным щелчком на символе интерфейса Вы можете открыть окно свойств DP-интерфейса. Задайте область адресов для интерфейса пользовательских данных с точки зрения ведомого (slave) DP-устройства.
Для BM 147 начальный адрес имеет фиксированное значение 128;
максимальный размер области пользовательских данных составляет байта для входов и 32 байта для выходов. Вы можете разделить эту область памяти на 8 подобластей с различной консистентностью данных.
Для диагностического адреса устанавливается значение 127.
Пользовательская программа получает диагностическую информацию от ведущего (master) DP-устройства с использованием данного диагностического адреса.
Дальнейшее конфигурирование станции ET 200X выполняется таким же образом, как и конфигурирование S7 300-станции с фиксированной адресацией слотов. Только требуемые модули выбираются в каталоге оборудования из раздела "BM 147/CPU".
Завершая конфигурирование интеллектуального ведомого (slave) DPустройства, сохраните и скомпилируйте станцию с помощью опций меню:
Station -> Save and Compile (Станция -> Сохранить и скомпилировать).
Подключение интеллектуального ведомого (slave) DP-устройства к системе ведущего (master) DP-устройства описано ниже.
Конфигурирование IM 151/CPU, используемого в качестве интеллектуального ведомого (slave) DP-устройства При необходимости создания станции ET 200S как интеллектуальной ведомой (slave) DP-станции необходимо выполнить следующие действия:
используя SIMATIC Manager, вставьте в проект SIMATIC 300 станцию, затем откройте объект Hardware (оборудование).
В Hardware Configuration (конфигурация оборудования), используя манипулятор "мышь", "перетащите" объект IM 151/CPU из каталога оборудования из разделов "PROFIBUS-DP" / "ET200S" в свободное окно или выберите объект двойным щелчком. Выберите адрес узла и подсеть PROFIBUS в появившемся окне свойств для DP-интерфейса (или же Вы можете создать новую подсеть и назначить ее для DP-интерфейса).
Теперь Вы можете видеть таблицу конфигурации, такую же как для станции SIMATIC 300. Отображаемый CPU представляет здесь интеллектуальный интерфейсный модуль IM 151 для станции ET200S.
Этот CPU не имеет MPI-адреса в таблице адресов, так как не имеет MPIинтерфейса (IM 151/CPU программируется посредством MPI-интерфейса ведущей [master] станции).
Двойным щелчком на строке CPU Вы можете открыть окно свойств CPU;
двойным щелчком на символе интерфейса Вы можете открыть окно свойств DP-интерфейса. Задайте здесь область адресов для интерфейса пользовательских данных с точки зрения ведомого (slave) DP-устройства.
20. Основная программа Для IM 151/CPU максимальный размер области пользовательских данных составляет 64 байта. Вы можете разделить эту область памяти на подобластей с различной консистентностью данных. Пользовательская программа получает диагностическую информацию от ведущего (master) DP-устройства с использованием диагностического адреса.
Дальнейшее конфигурирование станции ET 200S выполняется таким же образом, как и конфигурирование S7 300-станции с фиксированной адресацией слотов. Только требуемые модули выбираются в каталоге оборудования из раздела "IM 151/CPU".
Завершая конфигурирование интеллектуального ведомого (slave) DPустройства, сохраните и скомпилируйте станцию с помощью опций меню:
Station -> Save and Compile (Станция -> Сохранить и скомпилировать).
Подключение интеллектуального ведомого (slave) DP-устройства к системе ведущего (master) DP-устройства описано ниже.
Конфигурирование станции S7-300 с CP 342-5DP, используемой в качестве интеллектуального ведомого (slave) DP-устройства Если есть такая необходимость, вставьте в проект SIMATIC 300 станцию, затем откройте объект Hardware (оборудование) и сконфигурируйте как обычно ("normal") станцию S7-300. Помимо других свойств в таблице конфигурации сконфигурируйте коммуникационный процессор CP 342DP.
После того, как Вы вставите в проект SIMATIC 300 станцию, появится окно свойств для DP-интерфейса; в этом окне необходимо для DP-интерфейса назначить подсеть, к которой необходимо будет в дальнейшем подключить интеллектуальное ведомое (slave) DP-устройство, также здесь Вы должны назначить адрес узла (node address).
Для того чтобы открыть окно свойств, выберите CP 342-5DP, а затем опции меню: Edit -> Object Properties (Правка -> Свойства объекта), или дважды щелкнув кнопкой мыши на значке CP 342-5DP, после чего Вы получите доступ к свойствам объекта. На вкладке "Mode" ("Режим") выберите опцию "DP Slave" ("Ведомое DP-устройство").
На вкладке "Addresses" ("Адреса") отображается интерфейс для области данных пользователя с точки зрения CPU ведомого (slave) устройства (начальный адрес модуля и с 16 байтов пользовательских данных).
Память для передачи данных (transfer memory) для CP 342-5DP с точки зрения ведомого (slave) DP-устройства имеет максимальную длину байтов, при этом Вы можете разделить эту область памяти на различные по размеру подобласти адресов после подключения к системе ведущего Завершая конфигурирование интеллектуального ведомого (slave) DPустройства, сохраните и скомпилируйте станцию с помощью опций меню:
Station -> Save and Compile (Станция -> Сохранить и скомпилировать).
Подключение интеллектуального ведомого (slave) DP-устройства к системе ведущего (master) DP-устройства описано ниже.
Подключение интеллектуального ведомого (slave) DP-устройства к системе ведущего (master) DP-устройства Для подключение интеллектуального ведомого (slave) DP-устройства к Автоматизация посредством STEP с использованием STL и SCL системе ведущего (master) DP-устройства у Вас должен быть создан проект, а также сконфигурированы ведущая (master) DP-станция и интеллектуальное ведомое (slave) DP-устройство (в каждом случае по крайней мере с DP-интерфейсом). И ведущее (master) DP-устройство, и ведомое (slave) DP-устройство должны быть сконфигурированы для одной подсети PROFIBUS.
Откройте ведущую (master) станцию. Вы должны убедиться, что система ведущего (master) DP-устройства (прямоугольник, выделенный пунктиром) существует; если это не так, создайте систему, используя опции меню:
Insert -> DP Master System (Вставка -> Система ведущего DPустройства). В каталоге оборудования в разделах "PROFIBUS-DP" и "Configured Stations" ("Сконфигурированные станции") Вы можете найти объекты, представляющие собой интеллектуальные ведомые (slave) "CPU31x-2DP" представляет станции S7-300 со встроенным ведомым (slave) DP-устройством;
"X-BM147/CPU" представляет станции ET 200X с базовым модулем "ET 200S/CPU" представляет интеллектуальное ведомое (slave) DPустройство (станцию) ET 200S DP;
"S7-300 CP342-5DP" представляет станции S7-300 с коммуникационным процессором CP342-5 как с ведомым (slave) интерфейсным DP-модулем.
Выберите требуемый тип ведомого (slave) DP-устройства и "перетащите" его с помощью манипулятора "мышь" на систему ведущего (master) DPустройства.
CPU, ET 200X или ET 200S как ведомые (slave) DP-устройства При "перетаскивании" ведомого (slave) DP-устройства посредством манипулятора "мышь" на систему ведущего (master) DP-устройства или при двойном щелчке на значке ведомого (slave) DP-устройства открывается список свойств объекта. Заранее сконфигурированные ведомые (slave) устройства для подсети PROFIBUS Вы можете найти на вкладке "Connection" ("Соединения"). Выберите требуемый тип ведомого (slave) DP-устройства и щелкните кнопкой манипулятора "мышь" на кнопке "Connect" ("Соединить"). Это действие приведет к активации требуемого соединения (см. в нижней части того же диалогового окна).
Задайте диагностический адрес ведомого (slave) DP-устройства с точки зрения системы ведущего (master) DP-устройства на вкладке "General" На вкладке "Configuration" ("Конфигурация") установите адреса интерфейса пользовательских данных ведомого (slave) DP-устройства с точки зрения системы ведущего (master) DP-устройства. Адреса выходов ведущего (master) DP-устройства являются адресами входов ведомого (slave) DP-устройства и наоборот. Более подробную информацию по интерфейсу пользовательских данных Вы можете найти в разделе 20.4. "Адресация распределенной периферии I/O" в параграфе "Память для передачи данных в интеллектуальных ведомых DP-устройствах (Transfer 20. Основная программа CP 342-5DP как ведомые (slave) DP-устройства При "перетаскивании" ведомого (slave) DP-устройства посредством манипулятора "мышь" на систему ведущего (master) DP-устройства или при двойном щелчке на значке ведомого (slave) DP-устройства открывается список свойств объекта. Ранее сконфигурированные ведомые (slave) устройства для подсети PROFIBUS Вы можете найти на вкладке "Connection" ("Соединения"). Выберите требуемый тип ведомого (slave) DP-устройства и щелкните кнопкой манипулятора "мышь" на кнопке "Connect" ("Соединить"). Это действие приведет к активации требуемого соединения (см. в нижней части того же диалогового окна).
Если Вы выбрали ведомое (slave) DP-устройство, таблица конфигурации, соответствующая этому устройству, будет показана в нижней части окна станции. Теперь Вы можете структурировать "память для передачи" ("transfer memory"). Для этого выберите "Universal submodule" ("Универсальный подмодуль") в каталоге оборудования (hardware catalog) из раздела для используемого коммуникационного процессора (CP), затем, используя манипулятор "мышь", "перетащите" объект из каталога оборудования в свободную строку таблицы конфигурации или выберите строку в таблице и дважды щелкните на объекте "Universal submodule" ("Универсальный подмодуль") в каталоге оборудования. Для каждой отдельной (консистентной) адресной области в памяти для передачи ("transfer memory") Вы должны размещать по одному универсальному подмодулю; максимальное их число может быть равно 32.
Для того чтобы открыть окно, в котором Вы определяете свойства адресной области, Вы можете выделить универсальный подмодуль, а затем выбрать опции меню: Edit -> Object Properties (Правка -> Свойства объекта), или откройте свойства двойным щелчком на выделенной строке таблицы. Определите здесь тип модуля: входной, выходной, или модуль входов/выходов. Определите здесь также начальный адрес и длину области. Определенные таким образом адреса размещаются в адресном пространстве CPU ведущего (master) устройства. Область может иметь размер до 64 байт; максимальный общий размер памяти для передачи ("transfer memory") может достигать 86 байт.
Если CP 342-5DP является ведущим (master) DP-устройством, то операция структурирования памяти для передачи ("transfer memory") может быть пропущена, так как коммуникационный процессор CP 342-5DP пересылает данные из памяти для передачи ("transfer memory") единым При разбиении "памяти для передачи" ("transfer memory") Вы организуете адресное пространство целиком без пропусков, начиная с 0-го байта. Вы можете получить доступ к целиком определенной памяти для передачи в CPU ведомого (slave) устройства с помощью загружаемых блоков FC DP_SEND и FC 2 DP_RECV (включенных в стандартную библиотеку Standard Library в разделе Communication Blocks [коммуникационные Консистентность данных обеспечивается в области памяти для передачи Задайте диагностический адрес ведомого (slave) DP-устройства с точки зрения системы ведущей (master) станции на вкладке "General" ("Общие").
Вы можете считывать диагностические данные с помощью FC 3 DP_DIAG (в ведущей [master] станции).
Автоматизация посредством STEP с использованием STL и SCL Более подробную информацию по интерфейсу пользовательских данных Вы можете найти в разделе 20.4.1 "Адресация распределенной периферии I/O" в параграфе "Память для передачи данных в интеллектуальных ведомых DP-устройствах (Transfer memory)".
GSE-файлы Пользователь имеет возможность "отложенной инсталляции" ("post install") ведомых (slave) DP-устройств, которые не включены в каталог модулей (module catalog). Для этой цели используются файлы особого типа, специально создаваемые для этих ведомых (slave) DP-устройств (GSE-файлы, базы данных для устройств). Для инсталляции устройства необходимо выбрать опции меню: Options -> Install GSE (Опции -> оборудования. При этом в появившемся окне необходимо указать каталог, в котором располагается GSE-файл. Здесь же Вы можете определить пиктограмму, которую STEP 7 будет использовать для графического представления DP-устройства. Система STEP 7 считывает GSE-файл и отображает DP-устройство в каталоге оборудования (hardware catalog) в разделе "Other Field Devices" ("Другие полевые приборы").
Вы можете скопировать в текущий проект GSE-файлы, которые ранее были установлены в других S7-проектах, с помощью опций меню: Options -> Import Station GSE (Опции -> Импортирование станции GSE).
Система STEP 7 сохраняет GSE-файлы в каталоге …\Step7\S7data\gsd.
GSE-файлы, которые удаляются при выполняемых в дальнейшем операциях инсталляции или импортирования, сохраняются в подкаталоге …\gsd\bkpx. Из этого каталога GSE-файлы могут быть восстановлены при использовании опций меню: Options -> Install New GSE (Опции -> Инсталляция нового GSE-файла).
Конфигурирование PROFIBUS-PA Для конфигурирования системы ведущего (master) устройства PROFIBUSPA и для параметризации полевых PA-приборов необходимо использовать поставляемое по особому заказу (опционное) программное обеспечение SIMATIC PDM. При конфигурировании оборудования (Hardware Configuration) Вы можете выполнить подключение к системе ведущего (master) DP-устройства посредством DP/PA-соединителя Для этого из каталога оборудования (Hardware Catalog) необходимо выбрать интерфейсный модуль IM 151, используя манипулятор "мышь", и "перетащить" объект IM 151 из каталога оборудования из разделов "PROFIBUS-DP" и "DP/PA-Link" на систему ведущего (master) DPустройства. При использовании ведомого (slave) DP-устройства аналогичным образом создается система ведущего (master) PAустройства в своей собственной подсети PROFIBUS (45,45 кбит/с); эта система отображается пунктирным прямоугольником на схеме.
DP/PA-интерфейс обеспечивает передачу данных без всякого их изменения или преобразования между двумя шинными системами, и по этой причине этот интерфейс не параметризируется.
20. Основная программа Полевые PA-приборы получают адреса от ведущего (master) PDустройства. Они могут быть встроены в конфигурацию оборудования STEP 7 (Hardware Configuration) посредством GSE-файла. После этого Вы сможете найти соответствующие PA-устройства в каталоге оборудования (hardware catalog) в разделах "PROFIBUS-DP" и "Other Field Devices" ("Другие полевые приборы").
Конфигурирование DP/AS-интерфейсного соединителя (DP/AS-i-Link) Конфигурирование DP/AS-интерфейсного соединителя (DP/AS-i-Link) выполняется как конфигурирование ведомого (slave) DP-устройства. Вы можете найти соответствующие модули, такие, например, как DP/AS-i-Link 20, в каталоге оборудования (hardware catalog) в разделах "PROFIBUSDP" и "DP/AS-i", а затем "перетащить" посредством манипулятора "мышь" на систему ведущего (master) DP-устройства. В появившемся окне выполните сначала установки конфигурации (от 16 до 20 байт), затем Для соединителя DP/AS-i-Link 20 Вы можете выполнить установки конфигурации в 16 байтах для входов/выходов и еще в 4 байтах для команд управления. В последнем случае в нижней части окна конфигурирования оборудования Hardware Configuration предлагаются в 16 байтах пользовательские данные и в 4 байтах - команды с адресами, Вы можете выбрать ведомое (slave) DP-устройство, а затем выбрать опции меню: Edit -> Object Properties (Правка -> Свойства объекта), или Вы можете двойным щелчком выбрать ведомое (slave) DP-устройство для того, чтобы открыть окно, в котором Вы можете изменить предложенные утилитой конфигурирования Hardware Configuration значения адресов, а также задать адресное поле для отображения подпроцесса (если Вы используете подходящий CPU).
Выберите ведомое (slave) DP-устройство, а затем выберите опции меню:
Edit -> Object Properties (Правка -> Свойства объекта), или дважды щелкните на ведомом (slave) DP-устройстве для того, чтобы открыть окно свойств объекта. На вкладке "Parameterize" ("Параметризация") установите параметры ведомых (slave) DP-устройств AS-i в 4-х битах для Система ведущего (master) AS-i-устройства c ведомыми (slave) AS-iустройствами утилитой конфигурирования Hardware Configuration не Конфигурирование групп SYNC/FREEZE Команда управления SYNC вызывает для объединенных в группу ведомых (slave) DP-устройств одновременное (синхронное) изменение состояний выходов устройств. Команда управления FREEZE вызывает для объединенных в группу ведомых (slave) DP-устройств одновременное (синхронное) "замораживание" текущих состояний входов устройств, для того чтобы ведущее (master) DP-устройство могло их циклически считывать. Команды управления UNSYNC и UNFREEZE отменяют действие команд управления SYNC и FREEZE соответственно.
Автоматизация посредством STEP с использованием STL и SCL При этом необходимо отслеживать корректное выполнение данных функций как с точки зрения ведомых (slave) DP-устройств, так и ведущего (master) DP-устройства. С помощью окна свойств для каждого ведомого (slave) DP-устройства Вы можете контролировать, какие именно функции установлены для него. Для этого Вы можете выбрать ведомое (slave) DPустройство, а затем выберите опции меню: Edit -> Object Properties (Правка -> Свойства объекта), далее откройте вкладку "General" ("Общие") и смотрите установленные свойства SYNC и FREEZE "SYNC/FREEZE Capabilities".
Для системы каждого ведущего (master) DP-устройства пользователь может сформировать до 8 групп, объединенных функциями SYNC и FREEZE, которые активизируются или командой SYNC, или командой FREEZE, или одновременно двумя этими командами. При этом Вы можете назначить любое ведомое (slave) DP-устройство в группу. Что касается CP 342-5DP специальной версии, то одно ведомое (slave) DPустройство может входить одновременно в несколько групп (максимально Вызывая системную функцию SFC 11 DPSYC_FR, Вы можете организовать формирование из пользовательской программы команды для соответствующей группы (см. раздел 20.4.3 "Системные функции для распределенной периферии I/O"). При этом ведущее (master) DPустройство посылает соответствующую команду одновременно всем ведомым (slave) DP-устройствам соответствующей группы.
Рис. 20.11 Конфигурирование SYNC- и FREEZE-групп 20. Основная программа Конфигурирование SYNC/FREEZE-группы должно выполняться после конфигурирования системы ведущего (master) DP-устройства (все ведомые (slave) DP-устройства должны присутствовать в системе).
Выберите систему ведущего (master) DP-устройства (она выделена как прямоугольник с пунктирным контуром), а затем выберите опции меню:
Edit -> Object Properties (Правка -> Свойства объекта). Далее в появившемся окне на вкладке "Group Properties" ("Свойства группы") установите команды для групп, а затем на вкладке "Group Assignment" ("Назначения в группы") назначьте в отдельные группы соответствующие ведомые (slave) DP-устройства.
Здесь Вы последовательно выбираете из списка каждое ведомое (slave) DP-устройство с его номером узла (node number) и выбираете для каждого случая группу, которой данное устройство должно принадлежать.
Если какое-либо ведомое (slave) DP-устройство не может выполнять определенную команду, например, FREEZE, группа, которая содержит данную команду, не сможет быть выбрана, например, все группы с командой FREEZE. Конфигурирование SYNC/FREEZE групп должно быть завершено нажатием кнопки "OK".
Необходимо отметить, что при конфигурировании одинаковых по длине (постоянных) шинных циклов (bus cycles) для групп 7 и 8 требуются Конфигурирование постоянных шинных циклов (bus cycle time) Обычно ведущее (master) DP-устройство управляет назначенными ему ведомыми (slave) DP-устройствами циклически непрерывно (без пауз).
Для S7-коммуникаций, устанавливаемых, например, когда посредством программатора (PG), выполняется модификация функций посредством подсети PROFIBUS, это может приводить к изменениям во временных модифицироваться с использованием распределенной периферии I/O через равные интервалы, Вы можете назначить постоянные шинные циклы (bus cycle time) для специальных (соответствующим образом оснащенных) ведущих (master) DP-устройств. Используемое для этих целей ведущее (master) DP-устройство в подсети PROFIBUS должно относиться только к ведущим (master) DP-устройствам 1 класса (Class master). Свойства постоянности шинных циклов (bus cycle time) могут быть ("пользовательский").
Вы можете открыть окно свойств подсети PROFIBUS следующим способом: выберите подсеть PROFIBUS, а затем выберите опции меню:
Edit -> Object Properties (Правка -> Свойства объекта) в окне конфигурирования подсети. Далее в появившемся окне на вкладке "Network Settings" ("Установки подсети") щелкните на кнопке "Options" ("Опции"). Теперь на вкладке "Constant Bus Cycle Time" ("Постоянные шинные циклы") щелкните на кнопке "Options" ("Опции") и щелкните на управляющем элементе "checkbox" "Activate constant bus cycle time / Recalculate constant bus cycle time" ("Активировать постоянные шинные циклы / Пересчитать постоянные шинные циклы"). Вы можете изменить предложенные по умолчанию значения постоянных шинных циклов, но Вы не можете задать для цикла значение, меньшее указанной минимальной величины. С помощью кнопки "Details" ("Подробности") Вы можете увидеть отдельные компоненты постоянных шинных циклов.
Автоматизация посредством STEP с использованием STL и SCL Необходимо отметить, что постоянные шинные циклы увеличиваются с ростом числа программаторов, непосредственно подключенных к подсети PROFIBUS, а также с ростом числа интеллектуальных ведомых (slave) DP-устройств, входящих в систему ведущего (master) DP-устройства.
Также, если Вы сконфигурировали SYNC/FREEZE-группы в дополнение к установлению свойства постоянства циклов ("эквидистантности") необходимо отметить, что:
• Для ведомых (slave) DP-устройств, входящих в группу 7, ведущее (master) DP-устройство автоматически инициирует команду SYNC/FREEZE в каждом шинном цикле. Инициация команды в пользовательской программе блокируется.