Category Archives: Profibus

Пользовательская программа для DP-Master.a (S7-400 c CPU416-2DP)

Для создания программы DP-Master.а для программы-примера откройте в проекте контейнер объектов .Blocks., содержащийся в контейнере объектов SIMATIC 400(1). Откройте ОВ1 и вызовите, как показано ниже, SFC14 и SFC15.

Чтобы при работе программы-примера в DP-Master.е избежать останова CPU из-за отсутствия ОВ диагностики и ошибок, создайте в CPU ОВ82 и ОВ86. Как области данных для входных/выходных данных I-Slave в примере должны применяться блоки данных DB10 и DB20. Эти DB должны иметь соответствующую длину.

• Создайте DB10 и DB20.

• Внутри каждого блока создайте по переменной с типом ARRAY[1..10] OF BYTE.

• Загрузите ОВ82, ОВ86, DB10, DB20 в CPU.

• После загрузки переведите CPU в состояние RUN-P. Светодиоды .SF DP. и .BUSF. не должны светиться или мигать. Обмен начался.

STL-программа DP-Master.а в STEP 7 c программой в OB1 для обмена данными через SFC14 и SFC15

DPCALL

SFC 14

LADDR :=W#16#3E8 // Адрес входного модуля (1000 dec)

RET_VAL:=MW200 // Возвращаемое значениен в MW200

RECORD :=P#DB10.DBX 0.0 BYTE 10 // Указатель на область данных для

//входных данных

CALL SFC 15

LADDR :=W#16#3E8 // Адрес выходного модуля (1000 dec)

RECORD := P#DB20.DBX 0.0 BYTE 10 // Указатель на область данных для выходных данных

RET_VAL:=MW202 // Возвращаемое значениен в MW202

Проверка обмена данными между DP-Master.ом и DP-Slave.ом

Чтобы протестировать обмен входными/выходными данными, выберите в SIMATIC Manager при имеющейся MPI-связи между PG/PC и CPU416-2DP online-вид для проекта. Откройте таблицу Monitor/Modify Variables. В ней в качестве операндов задайте DB10.DBB0 и DB20.DBB0 (DB10.DBB0 . 1-й байт выходных данных I-Slave; DB20.DBB0 DBB0 . 1-й байт входных данных ISlave).

Пользовательская программа для I-Slave (S7-300 c CPU315-2DP)

Следующий пример показывает применение SFC14 и SFC15. Он ограничивается участием станции S7-DP-Master (S7-400) вместе со станцией S7-300, как I-Slave. Поэтому Вы теперь должны соединить DP-интерфейсы S7-300 и S7-400 кабелем PROFIBUS. В примере следует исходить из того, что обе системы управления стерты и находятся в состоянии RUN (ключ в положении RUN-P).

Оба участника в примере имеют входные/выходные данные с длиной 10 байт с консистентностью .Total length. Это означает, что для обмена входными/выходными данными между DP-Slave.ом (I-Slave.ом) и DP-Master.ом должны применяться SFC14 и SFC15. Точно так же, как у S7-DP-Master.а, у I-Slave.a в нашем примере обмен консистентными входными/выходными данными, длиной в 3 байта или, как в нашем примере, более, чем 4 байта, должен происходить с помощью SFC14 и SFC15. Обратите внимание при этом, как показано на рисунке 1, что выходные данные, передаваемые в DP-Master.е через SFC15, в I-Slave.е читаются как входные данные через SFC14. С входными данными DP-Master.а все происходит соответственно наоборот.

Рис. 1 Обмен входными/выходными данными с I-Slave в проекте-примере через SFC14 и SFC15

Так как CPU SIMATIC S7-300 не распознает ошибок адресации, можно помещать входные/выходные данные, принимаемые и, соответственно, посылаемые с помощью SFC в программе-примере в области отображения процесса, не занятые в конфигурации CPU315-2DP модулями, например, IB100 . 109 и QB100 . 109. На основании этого к этим данным можно в пользовательской программе получить доступ с помощью простых команд для байта, слова, двойного слова.

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

• Выберите, как показано на рисунке 2, в SIMATIC-Manager с открытым проектом S7-PROFIBUS-DP, контейнер SIMATIC 300(1), потом контейнер Blocks. В контейнере объектов уже существует организационный блок ОВ1 и созданные в HW-Config системные данные SDB (системные блоки данных).

Рис. 2 SIMATIC Manager с открытым окном контейнера объектов Blocks

Двойным щелчком на ОВ1 откройте этот блок в LAD/FBD/STL-редакторе в представлении STL.

• Введите в программном редакторе команду .CALL SFC14. и нажмите кнопку .Enter.. SFC14 DPRD_DAT появится со своими входными/выходными параметрами. Снабдите формальные входные/выходные параметры фактическими, как показано на рисунке 3.

Вызовите также SFC15 и снабдите входные/выходные параметры соответственно. Блоки SFC14 и SFC15 можно скопировать в проект из библиотеки стандартных функций (.SIEMENSSTEP7S7libsSTDLIB30).

Рис. 3 Программный редактор STL с OB1 программы- примера для CPU315-2DP

Чтобы в примере было просто контролировать обмен данными в Master.е, передайте, как показано на рисунке 6.6, с помощью команд загрузки и передачи первый принимаемый байт (IB100) в первый посылаемый байт (QB100). Таким образом посланный из DP-Master.а первый байт попадает в область входных данных I-Slave, а оттуда . в область выходных данных ISlave, которая передается обратно в DP-Master.

• Запомните ОВ1. Теперь в папке блоков помимо блока ОВ1 и папки System Data, содержатся блоки SFC14 и SFC15.

Чтобы избежать перехода CPU в STOP во время работы нашего примера из-за отсутствия ОВ в I-Slave.е, которые операционная система вызывает при смене рабочего состояния DP-Master.а или при выходе его из строя, нужно создать соответствующие ОВ ошибок.

• Смена рабочего состояния CPU DP-Master.а с RUN на STOP вызывает ОВ82 (диагностические сигналы) в I-Slave. Поэтому создайте в CPU I-Slave.а ОВ82.

• Далее, при выходе из строя DP-Master.а в I-Slave.е вызывается ОВ86 (выход из строя носителя модулей). Чтобы избежать останова CPU по этой причине, создайте ОВ86.

• Передайте все блоки в CPU.

• После окончания процесса передачи CPU315-2DP должен опять переключен в состояние RUN. Светодиоды CPU315-2DP для DP-интерфейса показывают следующее состояние:

— cветодиод .SF DP. . горит;

— cветодиод .BUSF. . мигает.

Общие положения и принципы работы Profibus

Децентрализованная периферия, подключенные через DP-интерфейс к системе SIMATIC S7, обрабатывется так же, как и периферия, находящаяся в центральной корзине или корзинах расширения. В зависимости от предоставленных при проектировании в HW-Config адресов обмен входными и выходными данными происходит или прямо через изображение процесса, или через соответствующие команды доступа к периферии. Однако в системе SIMATIC S7 cуществуют специальные системные функции для работы с DP-периферией.

• Для обмена данными со сложными DP-Slave.ами, которые имеют консистентные  входные/выходные данные, в системе SIMATIC S7 предусмотрены SFC14 DRRD_DAT и SFC15 DPWR_DAT.

• Для запуска сигналов от процесса на DP-Master.е из системы S7-300, используемой как I-Slave, предусмотрена функция SFC7 DP_PRAL.

• Параметры модулей S7-DP-Slave.а можно читать и записывать из пользовательской программы с помощью вызовов специально для этого предусмотренных функций.

• С помощью SFC11 DPSYC_FR можно синхронизировать запись выходов и фиксировать входы DP-Slave.ов.

Обмен данными с помощью команд доступа к периферии

Как представлено на рисунке 1, S7-CPU может получать доступ к периферии с помощью команд доступа через изображение процесса или команд прямого доступа к периферии в форме байта, слова или двойного слова.

Однако как только с помощью DP-Save.а обрабатывается информация длиной 3 байта или более, чем 4 байта и установлена консистентность .Total length., нельзя обмениваться входными/выходными данными через изображение процесса или через соответствующие команды прямого доступа.

Рис. 1 Обмен входными / выходными данными с помощью STEP7 через команды доступа к периферии

Рис. 2 Входные/выходные данные DP-Slave. Актуализация и доступ

Как показано на рисунке 6.2, актуализация DP-входных/выходных данных определяется исключительно циклическим обменом данными (шинным циклом) DP-Master.a c DP-Slave.ами. При известных обстоятельствах это может означать, что между двумя доступами к периферии в пользовательской программе область периферии DP-Slave.а может быть актуализирована (изменена), то есть, например, данные, прочитанные в первом и во втором циклах, относятся к разным  моментам  времени. По этой причине гарантируется консистентность данных только для тех периферийных структур и областей, к которым пользовательская программа обращается без перерывов с помощью команд для байтов, слов или двойных слов.

Обмен консистентными данными с помощью SFC14 DPRD_DAT и SFC15 DPWR_DAT

DP-Slave.ы, которые реализуют сложные функции, не обходятся обычными простыми структурами данных. Для структур данных, применяемых в этих DP-Slave.ах и определяемых, например, областями параметров регулятора или привода, необходимы большие области входных/выходных данных. Подобные области входных/выходных данных, которые содержат единую информацию и не могут разделяться на байты, слова или двойные слова, должны обрабатываться как консистентные данные. У некоторых входных/выходных модулей можно с помощью конфигурационной телеграммы установить консистентные области входных/выходных данных с длиной максимум 64 байта или, соответственно, слова (128 байт). Обмен данными с консистентными областями данных DPSlave а осуществляется с помощью SFC14 DRRD_DAT и SFC15 DPWR_DAT.

Рисунок 3 показывает принцип работы SFC14 DRRD_DAT и SFC15 DPWR_DAT.

Рис. 3 Обмен входными/выходными данными через SFC14 и SFC15

Параметр SFC LADDR служит здесь как указатель на область входных данных для чтения или область выходных данных записи. В этом параметре вызова SFC задается начальный адрес области входных или выходных данных в 16-ичном формате, спроектированный в HW-Config. Параметр SFC RECORD задает область-источник или область-цель для данных в CPU.