Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Реализация Profibus-DP мастера для подключения к системе Simatic
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам
Maxs212
Обдумываем реализовать панель оператора вместо сименсовской. Панель должна работать с контроллерами сименс S7-400. Подключение к Profibus думаем реализовывать на базе микросхемы ASPC2. Устройство должно периодически выполнять чтение/запись в память контроллера (ни каких операций со Slaves:конфигурирование, обмен данными и т.п не нужно). Собственно вопросы:
1)Прочитал полностью спецификацию уровней 1 и 2, 7-ой в DP не предусмотрен, вместо него есть DDLM. FDL определяет как информация передается из А в Б, но не определяет что Б должен с ней делать. А как сказать контроллеру что и откуда читать/писать?
2)Profibus-DP одномастерный протокол и предусматривает связь Мастер-Мастер только в случае мастер 1-го класса с мастером 2-го класса. При этом мастер 2-го класса это конфигурационно-диагностическое устройство и обмен ползовательскими данными между ним и мастером 1-ого класса вроде не предусмотрен. При этом сименсовские панели подключаются к контроллерам именно как Мастер. Как такое может быть?
Andrew2000
Цитата(Maxs212 @ Aug 16 2007, 16:41) *
Обдумываем реализовать панель оператора вместо сименсовской. Панель должна работать с контроллерами сименс S7-400. Подключение к Profibus думаем реализовывать на базе микросхемы ASPC2.

А киньте, плиз, прямую ссылку на .pdf на ASPC2 (лень искать). Просто любопытно - что там изменилось. Последний раз с ней работал в конце 90-х. Тогда дока была крайне кастрированная - не все регистры были описаны, а в следующей версии какие-то регистры и вовсе выкинули из доки. Мне было интересно перевести ASPC2 в режим мониторинга шины, чтоб сделать анализатор, но именно те регистры и "замалчивались", а когда я спросил об этом немцев они сказали: это не для пользователя - вам только DP-Master и фсе sad.gif

Цитата
Устройство должно периодически выполнять чтение/запись в память контроллера (ни каких операций со Slaves...

под "контроллером" понимается S7-400?

Цитата
1)

DP пользуется уровнем FDL. FDL определяет - как передать, DP (или FMS) определяет - что передать.
"откуда читать/писать" - смотря каким протоколом будете пользоваться (можно и FDL-телеграммами обмениваться, если ПО S7-400 позволяет).

Цитата
2)

Такое может быть если:
1. Панель обменивается с S7-400 по протоколу FMS (а может FDL c закрытой надстройкой?).
2. Панель обменивается с S7-400 по протоколу DP используя функции ReadInput и ReadOutput (чтение входов и чтение выходов, пр этом S7-400 работает со своими Slav-ами функциями DataExchange.
3. Не так давно появился стандарт DPV2 - я его не знаю, может ту еще что есть (но, как я понял, это расширение DP для работы со Slave несколькими мастерами).
Maxs212
Документация по ASPC2 сдесь:

http://support.automation.siemens.com/WW/s...ed=&lang=en

http://support.automation.siemens.com/WW/s...ed=&lang=en

http://support.automation.siemens.com/WW/s...ed=&lang=en

Про ReadInput и ReadOutput проверю, спасибо. А с FMS связываться не хотелось бы. В принципе не обязательно налаживать обмен между панелью и S7-400 так же как у сименс. Контроллер в этой связке пассивний элемент, кладет данные по определённому адресу, а панель их сама оттуда читает. Вопрос в том, можно ли реализовать такое не связываясь с FMS.

И еще вопрос:
Читал документацию организации Profibus (www.profibus.com).
PROFIBUS Specification (FMS, DP, PA):All normative Parts of the PROFIBUS Specification. Там ссылаются на стандарыъ EN 50170 и DIN ????? (не помню номер). В свободном доступе их не нашел. В принципе мы готовы заплатить буржуям, но вопрос в том, или там есть что-то, чего нет в документации от Profibus Organization.
Andrew2000
Цитата(Maxs212 @ Aug 17 2007, 13:05) *
Документация по ASPC2 сдесь:
Спасиба
Цитата
Контроллер ... кладет данные по определённому адресу, а панель их сама оттуда читает.
В DP протоколе ReadInput и ReadOutput именно для этого.
А если есть доступ к программе Симатика - может там есть функциональные блоки для работы с FDL - тогда сможете свой протокол поверх FDL запустить (но это свой велосипед).
Цитата
Читал документацию ... PROFIBUS Specification. Там ссылаются на стандарыъ EN 50170 и DIN ... но вопрос в том, или там есть что-то, чего нет в документации от Profibus Organization.


PROFIBUS - History
1987 - First activities by Bosch, Klockner-Moeller and Siemens
1/1988 - Preliminary standard DIN 19245 (future part 1) was published
9/1989 - Multi vendor demonstration (FDL only) at EMO and Interkama show
4/1990 - Draft standards DIN 19245 part 1 and part 2 submitted to related standardization bodies (DKE)
12/1990 - Final national standard DIN 19245 part 1/2 passed
5/1994 - Publication of standard DIN 19245 part 3 (PROFIBUS DP)
4/1996 - PROFIBUS becomes European Standard EN 50170

т.е. EN и DIN тоже самое, вид сбоку



Цитата(Maxs212 @ Aug 17 2007, 13:05) *
Документация по ASPC2 сдесь
Вопщем, ничего с тех пор не изменилось. Где-то в адресах 7Ch..2Ah которые теперь называются "Reserved" лежат доп. регистры для режима мониторинга - в старой версии доки регистры были обозначены, но их описания не было - если попадется где - напишите - интересно.

Рекомендую скачать мануаль на SPC4 - там регистры точек доступа раньше более подробно были описаны. Я когда-то сравнивал эти два описания - там где в ASPC2 было написано Reserved в SPC4 был функционал и в ASPC2 все работало также как в SPC4.
Maxs212
Цитата(Andrew2000 @ Aug 17 2007, 14:20) *
если попадется где - напишите - интересно.

С ASPC2 еще подробно не разбирался, пока только проверяю целесообразность этой затеи, но если что откопаю, то напишу.

По поводу ReadInput и ReadOutput в документации написано вот что:
"By means of these functions a DP-Master (class 2) can read a picture of inputs and outputs of a DP-Slave."
То есть, эти функции читают входные и выходные данные Slaves, а мне нужна запись/чтение памяти мастера 1-го класса. Есть функции Up-/Download про которые написано: "These functions permit a DP-Master (class 2) to transfer or to read a data area to or from another DP-Master (class 1)". Но в возможных значениях параметра Area_Code приводятся значения для data areas содержащих конфигурационные данные:

0 to 125 DP-Slave parameter set (description see section "Coding of Parameter Set of DP-Slave")
126 reserved
127 Bus parameter set (description see section "Coding of the Bus Parameter Set")
128 reserved
129 statistic counters (description see section "Coding of Statistic Counters")
130 to 135 reserved for diagnostic message filter
136 to 139 reserved for the transfer of the master parameter set
140 to 254 reserved
255 DDLM_Start_Seq: No local access protection


То есть, мастер 2-го кл. не имеет доступа к произвольным данным в памяти мастера 1-го кл?
Andrew2000
Цитата(Maxs212 @ Aug 18 2007, 00:36) *
По поводу ReadInput и ReadOutput ... То есть, эти функции читают входные и выходные данные Slaves, а мне нужна запись/чтение памяти мастера 1-го класса.
Так в памяти Мастера-1 лежит именно это - образ входов и выходов слейвов. Какая разница откуда их читать?
Цитата
Есть функции Up-/Download ... То есть, мастер 2-го кл. не имеет доступа к произвольным данным в памяти мастера 1-го кл?
С этими функциями не работал - не знаю.
Но, Up-/Download в Мастере-1 не обязаны быть реализованы (т.е. он имеет право не отвечать на эти запросы).
Думаю надо сперва понять как работает Сименсовская панель или посмотреть какие функции реализованы в Мастере-1 с которым нужно обмениваться данными.
Maxs212
Цитата(Andrew2000 @ Aug 20 2007, 01:39) *
Так в памяти Мастера-1 лежит именно это - образ входов и выходов слейвов. Какая разница откуда их читать?

В памяти S-400/S-300 есть так называемый Data Block(пользовательская память). Контроллер обрабатывает входные данные слэйвов, генерирует список сообщений и кладет его в Data Block. При чем генерация списка осушествляется путем соответственного программирования контроллера (то есть ето не встроенная функция). По этому, список сообшений с точки зрения контроллера ето просто пользовательские данные. Панель считивает этот список, и выводит соответствующие сообшения. По этому, нужен доступ не в образ слейвов, а именно в Data Block.
Andrew2000
Цитата(Maxs212 @ Aug 20 2007, 12:17) *
... Панель считивает этот список, и выводит соответствующие сообшения....
Может пенель работает через FMS? Дока на панель есть?
Maxs212
Дока есть, только полезной информации в ней нет. У сименс все доки написаны с расчетом того, что тот кто их читает пользуется их средствами разработки, и уж тем более не вникает в тонкости протокола:
что-то типа возьми то-то, вставь туда-то. Но вроде панель работает на DP, хотя ручаться не могу. В любом случае, реализовывать FMS себе дороже. В крайнем случае построю на базе FDL свой протокол (в S7-400 есть возможность приема/посылки FDL сообщений), но тогда нужно будет программировать контроллер так, чтобы он этот протокол понимал, а этого хотелось бы избежать.

И еще вопрос по ASPC2:
прочитал доку, но что-то так и не понял, какую часть протокола она выполняет. Обмен токеном вроде делает сама, а что она делает с телеграммами? То есть, она сама делает упаковку/распаковку телеграмм, или она получает уже готовые телеграммы (SDx,DA,SA,FC и тд)?
Andrew2000
Цитата(Maxs212 @ Aug 20 2007, 21:29) *
Дока есть, только полезной информации в ней нет. У сименс все доки написаны с расчетом того, что тот кто их читает пользуется их средствами разработки
Узнаю брата Колю smile.gif
Цитата
В крайнем случае построю на базе FDL свой протокол ....
И еще вопрос по ASPC2:
прочитал доку, но что-то так и не понял, какую часть протокола она выполняет. Обмен токеном вроде делает сама, а что она делает с телеграммами? То есть, она сама делает упаковку/распаковку телеграмм, или она получает уже готовые телеграммы (SDx,DA,SA,FC и тд)?
Именно FDL она и выполняет. Т.е. на ней можно сделать FDL-мастера. Она сама гоняет токен, подключает в кольцо других мастеров, следит за временем оборота маркера и т.д. - т.е. все, что положено мастеру.
Для обмена данными у нее есть точки доступа - т.е. DA/SA и DSAP/SSAP она разбирает.
(Почти 10 лет уже прошло, подробности не помню)

А неужели больше Profibus мастеров никто не делает (чипов)?
Кстати, DSTnI от Lantronix - это 186-е ядро + ASPC2 + ...
Может в их доках ASPC2 подробнее описан.

А пришлите, плиз, ссылку на панель сименсовскую.
AM74
Цитата(Andrew2000 @ Aug 21 2007, 04:00) *
А неужели больше Profibus мастеров никто не делает


Делают. Например, компания HMS Industrial Networks (Швеция).
Модули серии Anybus-M (в частности Anybus-M Profibus DP Master).

Краткая инфа на русском
http://www.industrialnets.ru/index/?interf...uct&node=75

и на родном сайте (англ)
http://www.anybus.com/products/abm.shtml

Эта штука дороже, чем сименсовская м/с, но это уже готовый модуль с полной аппаратной поддержкой Profibus DP и с гальванической развязкой выхода. Причем поддержка Profibus в этом модуле реализована "самодостаточно", т.е. разработчику практически ничего и не надо знать о Profibus.
Maxs212
Цитата(Andrew2000 @ Aug 21 2007, 02:00) *
А пришлите, плиз, ссылку на панель сименсовскую.

http://support.automation.siemens.com/WW/s...ed=&lang=en
http://support.automation.siemens.com/WW/s...ed=&lang=en
http://www.automation-drives.ru/as/downloa...2_OP73_77_r.pdf
http://www.automation-drives.ru/as/downloa...77A_op77B_r.pdf
http://www.automation-drives.ru/as/product...нели&l3=doc

Возможно что панели вообше общаются по S7-protocol(см. картинку).
Нажмите для просмотра прикрепленного файла
Попробую добыть у сименса инфу про этого зверя.

Цитата(Andrew2000 @ Aug 21 2007, 02:00) *
А неужели больше Profibus мастеров никто не делает (чипов)?
Кстати, DSTnI от Lantronix - это 186-е ядро + ASPC2 + ...
Может в их доках ASPC2 подробнее описан.

Чип интересный, только на их сайте под ссылкой datasheet лежит брошура на две страницы. Надо искать полную документацию, а так ничего сказать про чип нельзя.


Цитата(AM74 @ Aug 21 2007, 06:03) *
Модули серии Anybus-M (в частности Anybus-M Profibus DP Master)...

Эта штука дороже, чем сименсовская м/с, но это уже готовый модуль с полной аппаратной поддержкой Profibus DP и с гальванической развязкой выхода.

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




Цитата(AM74 @ Aug 21 2007, 06:03) *
Делают. Например, компания HMS Industrial Networks (Швеция).
Модули серии Anybus-M (в частности Anybus-M Profibus DP Master).

А вы случайно сами с этой штукой не работали? Интересует возможность использовать ее как development board для разработки собственного firmware под C165.
Andrew2000
Цитата(AM74 @ Aug 21 2007, 06:03) *
Делают. Например, компания HMS Industrial Networks (Швеция). Модули серии Anybus-M (в частности Anybus-M Profibus DP Master).

Я говорил - чипы - а эти модули на чем сделаны - на том же ASPC2 ?
Цитата
Причем поддержка Profibus в этом модуле реализована "самодостаточно",
Вот в этом вся проблема. Вы получите "Profibus-DP/DPV1 Master" и все - ни о каких своих панелях речи уже не будет.



Цитата(Maxs212 @ Aug 21 2007, 11:44) *
... Интересует возможность использовать ее как development board для разработки собственного firmware под C165.
Если именно С165 - пишите в личку - попробую найти. (а что за проект, если не секрет - где работать будет?)
Maxs212
Цитата(Andrew2000 @ Aug 21 2007, 12:27) *
Если именно С165 - пишите в личку - попробую найти.

В принципе не обязательно C165, просто нужна готовая плата с ASPC2, микроконтроллером и RS485, на базе которой можно отлаживать программу для общения по Profibus, a свою плату уже потом делать. Вот я и подумал, что можно взять это чудо от Anybus, выкинуть их прошивку и писать свою.

Цитата(Andrew2000 @ Aug 21 2007, 12:27) *
(а что за проект, если не секрет - где работать будет?)

Мы делаем на базе Simatic системы контроля для кораблей. Пользовались OP7, а теперь место нее OP77A, а с ней много проблем.
Andrew2000
Цитата(Maxs212 @ Aug 21 2007, 13:01) *
... просто нужна готовая плата с ASPC2, микроконтроллером и RS485, на базе которой можно отлаживать программу для общения по Profibus
Судя по документам, панель работает через Profibus-DP. Но, есть у меня подозрение, что это не все. Приведу пример - сименсовский Simoreg (Электропривод постоянного тока) - DP-slave, но поверх DP там реализован свой протокол. Внутри телеграммы Exchange мастер посылает Simoreg-у идентификаторы данных, которые он хочет считать (записать). Есс-но этот протокол понимает только Simoreg и ни в каких стандартах Profibus его нет.
Я поступил-бы так:
1. Написал в Сименс письмо: "хачу пользовать вашу панель со _своим собственным_ PLC - дайте протокол" (с B&R, например, у нас такое прокатило). Обратный вариант использования, думаю, им точно не понравиться.
2. Раздобыть анализатор Profibus протокола (воткнуть в ПК RS485/RS232 и написать прогу - только прием), связать контроллер и панель, слушать - чем они там занимаются.
3. Посмотреть что делает VIPA - может у них доки подробнее.

Пишите - что получилось - очень интересно.

з.ы. По поводу платы с ASPC2 - написал Вам в личку.
Maxs212
Почитал про DSTnI, действительно хороший чип, и development kit нормальный есть. Наверно буду его использовать. А есть опыт работы с этим камнем?
Andrew2000
Цитата(Maxs212 @ Aug 23 2007, 14:48) *
Почитал про DSTnI, действительно хороший чип, и development kit нормальный есть. Наверно буду его использовать. А есть опыт работы с этим камнем?
С ним не работал. Но, насколько понял, кит стоит ~$10k - компилер Paradigm, а вот что там идет из библиотек так и не удалось выяснить (года 3 назад смотрел), что-то изменилось?
Если есть какая поддержка ASPC2 - напишите пожалуйста.

И главное. А с протоколом панели удалось разобраться? Ну поставите Вы ASPC2, а дальше?
А на www.simatic.nm.ru что-нить есть по-поводу?
Maxs212
Цитата(Andrew2000 @ Aug 23 2007, 20:01) *
кит стоит ~$10k

2500$:http://www.gridconnect.com/gc-dk-lx3.html

Цитата(Andrew2000 @ Aug 23 2007, 20:01) *
Если есть какая поддержка ASPC2 - напишите пожалуйста.

Никакой особой поддержки нет, просто ASPC2, процессор и память в одном камне. Можно отдельно купить библиотеки для реализации DP Slave, стоят 5K$. Но в любом случае это лучше, чем самому делать разводку для всего этого. Здесь надо только организовать подключение к RS485 и подключить флешку для прошивки. Плюс наличие всяких приятных мелочей, например DMA контроллер.

Цитата(Andrew2000 @ Aug 23 2007, 20:01) *
И главное. А с протоколом панели удалось разобраться? Ну поставите Вы ASPC2, а дальше?

Попробую вытащить из сименса какую нибудь инфу, если не получиться, буду свой протокол делать.
Главное организовать связь с PLC на уровне FDL, а там уже можно извращаться как угодно.
Andrew2000
Цитата(Maxs212 @ Aug 23 2007, 21:23) *
Можно отдельно купить библиотеки для реализации DP Slave, стоят 5K$.... Попробую вытащить из сименса какую нибудь инфу, если не получиться, буду свой протокол делать....
DP Slave, думаю, абсолютно бесполезное приобретение, проще напрямую с ASPC2 работать.
Удачи.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.