Страница 1 из 1

Profibus DP

Добавлено: 07 июл 2014, 14:14
Автоматизатор
Закупили оборудование, начали программировать связь всяких устройств по Profibus DP. Практического опыта маловато, документация вся на буржуйском языке, что не упрощает жизнь.

Прошу подскажите:
- как наиболее правильно считать данные по сети с преобразователя частоты?

Т.е. для преобразователя частоты Yaskawa A1000 (плата Profibus SI-P3) выбран профиль Extended Data 2 Register Map, в котором входных параметров 12 байт. Связь настроена, можно получить данные просто опросив периферию, считав данные скажем в меркерную память MB100-MB111:

Код: Выделить всё

L PID256
T MD100

L PID260
T MD104

L MD264
T PID108
Если я правильно понимаю, то полученные таким образом данные могут быть неконсистентными. Пробовал использовать для чтения системную функцию SFC14, но с ее помощью получается считать только 4 байта. При попытке считать данные:

Код: Выделить всё

CALL  "DPRD_DAT"
LADDR  :=W#16#100
RET_VAL:=MW10
RECORD :=P#M 100.0 BYTE 12
Выдается ошибка: 80B1"The length of the specified destination area is not identical to the user data length configured with STEP 7"
В чем собака порылась не понимаю.

Прошу подскажите:
- Как обрабатывать ошибки связи? Использовать OB86 ? Еще какие надо блоки? Может кто примером поделиться или ссылкой полезной?

Re: Profibus DP

Добавлено: 07 июл 2014, 14:33
ward
смотри GSD файл твоего частотника и описание на него, там побайтно должно быть написано что за что отвечает

Re: Profibus DP

Добавлено: 07 июл 2014, 14:41
Автоматизатор
ward писал(а):смотри GSD файл твоего частотника и описание на него, там побайтно должно быть написано что за что отвечает
С расшифровкой байт понятно. Не понятно с консистентностью.

Сейчас немного посмотрел более подробно профили. Некоторые профили имеют свойство "Consistent over" равное "Total length", а некоторые только "Unit". Думаю, поэтому ругался SFС14. Последний раз сталкивался с Profibus году в 2009, все уже позабыл, теперь что-то потихоньку всплывает в памяти :(

Re: Profibus DP

Добавлено: 07 июл 2014, 18:11
Михайло
Step7 выделил для A1000 6 слов во входной памяти и 6 слов в выходной памяти ПЛК?

Re: Profibus DP

Добавлено: 08 июл 2014, 05:44
Автоматизатор
Михайло писал(а):Step7 выделил для A1000 6 слов во входной памяти и 6 слов в выходной памяти ПЛК?
Да
Автоматизатор писал(а):Некоторые профили имеют свойство "Consistent over" равное "Total length", а некоторые только "Unit". Думаю, поэтому ругался SFС14.
Все равно SFC14 выдает ошибку, при попытке считать более 4 байт :( .

Re: Profibus DP

Добавлено: 08 июл 2014, 05:56
Михайло
Я обычно выгружал данные в блок DB.

Код: Выделить всё

RECORD :=P#DB1.DBX0.0 BYTE 12

Re: Profibus DP

Добавлено: 08 июл 2014, 06:55
Автоматизатор
Михайло писал(а):Я обычно выгружал данные в блок DB.
Без разницы куда выгружать, все равно выдает ошибку: 80B1"The length of the specified destination area is not identical to the user data length configured with STEP 7"

Пробовал считать 6 байт данных с датчика положения Balluff BTL5 (выделено 6 байт как "Total length") - все равно выдает ошибку 80B1

Re: Profibus DP

Добавлено: 08 июл 2014, 07:10
ward
Выбрось SFC14, это же профибас, обращайся напрямую как ко входному байту

Re: Profibus DP

Добавлено: 09 июл 2014, 21:22
CHANt
1) Профибас передает только словами, поэтому попытка считать двойным словом

Код: Выделить всё

L PID256
T MD100
неверна, правильно будет:

Код: Выделить всё

L PIW256
T MW100
2) Откуда идет связь с порта симатика или коммуникационный процессор, типа СР-342-5? Если порт контроллера, то в хардваре выберите профиль телеграммы с полной проверкой консистентности "whole cons." Проверка по словам не работает.

На тему целостности данных много копий "сломано", мнений много и все они имеют место жить, но, для начала я бы не заморачивался. Сколько уже раз обновилась системное ПО симатиков?! Аппаратная часть профибаса сама выполнит проверку на целостность данных. Я использую SFC14/15 для диагностики связи, так как лень вытаскивать списки SSD, расшифровать их, когда есть выхода SFC14/15 #Ret_Val, при=0 связь есть, а если что вылетело, тогда уже можно посмотреть и в степе.Ну и то что оформляю все в FC, это удобно таскать по проектам, чем ручками набивать L PIW256 T MW100

Re: Profibus DP

Добавлено: 10 июл 2014, 19:28
Автоматизатор
CHANt писал(а):2) Откуда идет связь с порта симатика или коммуникационный процессор, типа СР-342-5? Если порт контроллера, то в хардваре выберите профиль телеграммы с полной проверкой консистентности "whole cons." Проверка по словам не работает.
Сейчас тренируемся на 314C-2DP, ждем со дня на день поставку S7-1200 с коммуникационником Profibus Master.

Пробовал и

Код: Выделить всё

 L PIW25
, и - все работает). Однако, если выключить питание инвертора, то вызывается OB86. А затем OB122 вроде (как я понял попытка считать из недоступной области).

На сейчас решил оставить функции SFC14/15 для чтения сразу 2-х слов. Работает более корректно и выглядит эстетичней. :)

Немного растерялся при выборе профиля. Столько их много всяких.
Надо будет писать данные в пару регистров в процессе работы станка. В профиле реализована возможность это делать с помощью команд Модбас. Для контроля выполнения запросов используются специальные биты, которые постоянно инвертируются.

Re: Profibus DP

Добавлено: 10 июл 2014, 20:02
CHANt
Для спокойствия, кроме ОВ86, ОВ122, я еще подгружаю ОВ40, ОВ80, ОВ82, ОВ121

Re: Profibus DP

Добавлено: 11 июл 2014, 06:06
Автоматизатор
CHANt писал(а):Для спокойствия, кроме ОВ86, ОВ122, я еще подгружаю ОВ40, ОВ80, ОВ82, ОВ121
Спасибо. А то я уже забыл, какие еще блоки надо.

Рассказывали страшную историю: одна фирма поставила оборудование в цех. Все вроде нормально работало, но в один прекрасный день встало все! Все установки по всему цеху.
Оказалось, что где-то на периферии отключился частотник, произошел сбой связи, вызвался OB, его в проекте не было и контроллер перешел в СТОП. Контроллер верхнего уровня, обнаружил обрыв связи и тоже выпал в СТОП. Далее и все остальные контроллеры. Пока разбирались, кто был инициатор, много времени прошло.

Re: Profibus DP

Добавлено: 11 июл 2014, 06:34
Михайло
Тоже интересный вопрос: а наполнение всех этих блоков какое? Все пустые?

Re: Profibus DP

Добавлено: 11 июл 2014, 06:57
CHANt
Михайло писал(а):Тоже интересный вопрос: а наполнение всех этих блоков какое? Все пустые?
Обычно пустые. Так как тратить время на разработку диагностики жалко, ну и для 300 серии бывает критично использовать не по назначению каждый килобайт. Оптимально поднимать в случае с S7-400 и разработкой в PCS7, там работа с диагностикой более дружелюбна к пользователю. Я одно время, когда связь еще не была дешевой, выводил часть диагностики в буфер контроллера, чтобы при отсутствии связи, часть критичных событий сохранялась, но там всего не более 100 сообщений храниться. Но, столько времени надо прописывать все эти перекрестные ссылки)))