Полная версия этой страницы:
Profibus
SanvaldYV
Jun 26 2007, 12:53
Тема, вообще то, к ARM'ам не имеет прямого отношения, но создал в этом разделе, т.к. стоит задача "снабдить" устройство на базе LPC2103 возможностью подключения к скаде по протоколу profibus. В связи с этим хочется спросить - писал ли кто-нибудь когда-нибудь драйвер этого протокола, и если да - сколько это заняло времени? Найденная в инете документация - 1000 листов. Понятно, что оттуда скорее всего не все нужно (только уровни 1, 2, 7), но все же объем информации немалый. Если программной реализацией никто не занимался, то может есть опыт использования внешней микросхемы типа ASIC от Siemens, насколько она позволяет облегчить разработку?
По слухам люди писали. Спец чип типа SPC3 для аппаратной реализации протокола сильно облегчит задачу. Только стоит он многовато. И ты уже нашел где его можно купить? А без него или без ПЛИС 12 мегабит сложно будет обработать. За все что связано с профибасом буржуи просят не хилых денег. А ты уже нашел всю необходимую информацию чтобы писать драйвер? Поделись ссылками пожалуйста. Мне эта тема вообщем-то тоже интересна, но у меня нет достаточно информации о профибасе чтобы думать о том как его реализовать. Будет информация - подумаем что можно сделать.
SanvaldYV
Jun 27 2007, 07:20
У меня есть спецификация на протокол - вроде бы даже полный её вариант (1000 страниц). Только чего то там где я её скачал уже нет ничего.....????...... Если нужно, то я могу по почте выслать, мне не жалко

Размер 2Мб, в pdf.
Почитал документацию на SPC3, не очень врубился что она делает - просто принимает "телеграмму" (вроде для профибаса кадры так называются) и помещает в буффер? Тогда дальше её нужно читать из него, разбирать чего хочет мастер, формировать ответ и класть в передающий буффер. Т.е. если скорость большая не нужна (например, достаточно 19,200), то толку от неё нет, принимать телеграмму на такой скорости не проблема.
Меня скорее больше интересует, писал ли кто-нить драйвер для контроллера и нет ли уже готовых решений?
to Юрий Санвальд вышлите пожалуйста спецификацию на ящик ivk2004@bk.ru я когда-то искал информацию по этому протоколу, нашел какую-то спецификацию, но неполную, никак не 1000 страниц.. готовых решений даже не слышал.. видимо засекречено страшно..
SanvaldYV
Jun 27 2007, 10:18
to IV_K
отослал письмо, надеюсь Вам поможет.
Но времени положить надо будет немало чтоб во всем этом разобраться и реализовать
rezident
Jun 27 2007, 10:37
А на фтп пдф 1,9МБ не этот же лежит? IV_K, сравните, пожалуйста.
SanvaldYV
Jun 27 2007, 13:05
Да, вот здесь есть еще несколько ссылок на документы по профибасу, на русском языке.
http://www.roboforum.ru/ftp/users/xapc/_%e...f4%e5%e9%f1%fb/
abcdefg
Jun 27 2007, 14:58
Цитата(Юрий Санвальд @ Jun 26 2007, 16:53)

Тема, вообще то, к ARM'ам не имеет прямого отношения, но создал в этом разделе, т.к. стоит задача "снабдить" устройство на базе LPC2103 возможностью подключения к скаде по протоколу profibus.
Какая scada?
Builder
Jun 27 2007, 15:17
Цитата(Юрий Санвальд @ Jun 26 2007, 15:53)

Тема, вообще то, к ARM'ам не имеет прямого отношения, но создал в этом разделе, т.к. стоит задача "снабдить" устройство на базе LPC2103 возможностью подключения к скаде по протоколу profibus. В связи с этим хочется спросить - писал ли кто-нибудь когда-нибудь драйвер этого протокола, и если да - сколько это заняло времени? Найденная в инете документация - 1000 листов. Понятно, что оттуда скорее всего не все нужно (только уровни 1, 2, 7), но все же объем информации немалый. Если программной реализацией никто не занимался, то может есть опыт использования внешней микросхемы типа ASIC от Siemens, насколько она позволяет облегчить разработку?
Так чипы profibus делает не только сименс, где-то видел ссылку на не дорогие чипы, но сам не проверял, а ссылку потерял. Поройте в инете производителей таких чипов.
rezident
Jun 27 2007, 15:19
Цитата(abcdefg @ Jun 27 2007, 20:58)

Какая scada?
Действительно, а какая SCADA система? SCADA обычно через OPC-сервер собирает данные. Так может в его составе есть другой вариант драйвера, для Modbus, например? Тогда в вашем МК нужно/можно не Profibus поддерживать, а Modbus.
Andrew2000
Jun 27 2007, 20:47
Цитата(Юрий Санвальд @ Jun 27 2007, 11:20)

Почитал документацию на SPC3, не очень врубился что она делает - просто принимает "телеграмму" (вроде для профибаса кадры так называются) и помещает в буффер?
SPC3 полностью реализует Profibus DP slave.
Т.е. она не просто принимает телеграмму, а принимает и сама отвечает на служебнве телеграммы, а в "буфер" кладет данные, адресованные мастером именно этому девайсу.
SPC4 почти то же самое, но тут все служебные запросы надо самому отрабатывать - это Profibus FDL slave.
ASPC2 - это Profibus FDL master.
Если нужно реализовать только слейва, то реализация достаточно простая - только принять запрос и своевременно ответить.
О программной реализации - был у нас написан Profibus FDL master на asm для Infineon C16x (16bit 20MHz) - "комфортная" скорость - 300k, максимум, что выжали - 500к, но на прикладные задачи мало что остается (для приема/передачи использовались внутренние UART-ы и PEC-каналы (типа ДМА)).
Там NRZ и автоматическое определение скорости, чисто программно быстро не получится, а не плохо бы иметь до 12 мБит. Я бы наверно подумал насчёт маленькой ПЛИС на эти дела. И вопрос реально ли найти SPC3, SPC4 и ASPC2 пока не прояснён.
Цитата
У меня есть спецификация на протокол - вроде бы даже полный её вариант (1000 страниц). Только чего то там где я её скачал уже нет ничего.....????...... Если нужно, то я могу по почте выслать, мне не жалко Размер 2Мб, в pdf.
Юрий а можно и мне доку! scout555@mail.ru
SanvaldYV
Jun 28 2007, 06:58
Цитата(rezident @ Jun 27 2007, 19:19)

Действительно, а какая SCADA система? SCADA обычно через OPC-сервер собирает данные. Так может в его составе есть другой вариант драйвера, для Modbus, например? Тогда в вашем МК нужно/можно не Profibus поддерживать, а Modbus.
Проблема как раз в том, что все наши приборы уже много лет работают с Modbus, а тут для одного заказа (правда весьма крупного) требуется поддержка именно Profibus.
Цитата(scout @ Jun 28 2007, 10:15)

Юрий а можно и мне доку! scout555@mail.ru
Отослал.
По поводу возможности достать микросхему SPC3 - в интернете множество сайтов разных фирм, осуществляющих поставку, например:
http://www.sitop.ru/siemens_price/brand/siemens_price/633http://www.automatique.ru/siemens/page/2707/и еще много всяких, правда срок поставки - 4-6 недель, цена в пересчете на 1 штуку около 20 евро.
И еще вопрос собственно по profibus-DP: понятие "Object Dictionary"(описание объектов коммуникаций - оно в спецификации вводится для Application Layer, которого в profibus-DP нет) для него отсутствует? Т.е. при обмене данными с ним мастер всегда в каждом запросе передает ВСЕ входные данные и получает обратно ВСЕ выходные данные слэйва? Тогда получается, что объем данных этих ограничен размером одной посылки - 246 байт и больше он быть не может? Или я заблуждаюсь?
Юрий,
вместо того чтобы рассылать доку всем желающим (я тоже среди них) может проще выложить её куда-нибудь? Пусть желающие сами качают. Или создать для нее ящик на майл.ру, а пароль здесь опубликовать.
SanvaldYV
Jun 28 2007, 07:36
Цитата(slog @ Jun 28 2007, 11:19)

Юрий,
вместо того чтобы рассылать доку всем желающим (я тоже среди них) может проще выложить её куда-нибудь? Пусть желающие сами качают. Или создать для нее ящик на майл.ру, а пароль здесь опубликовать.
А может кто-нить из имеющих доступ к FTP-серверу сайта сравнит то что там лежит с тем что есть у меня, о чем уже просил rezident? может это одно и тоже? на мой запрос о добавлении в свои пока никто не ответил, так что сам не могу....
sensor_ua
Jun 28 2007, 07:44
Юрий,а Вам точно нужен ProfiBUS DP? А то помнится ещё и Profibus PA, в котором скорости по-ниже и связь по проводкам питания. Для slave была микросхемка SIM1
SanvaldYV
Jun 28 2007, 08:00
Создал ящик spec_profibus@mail.ru, пароль - profibus, там во входящих он лежит, кому нужно - забирайте.
Цитата(sensor_ua @ Jun 28 2007, 11:44)

Юрий,а Вам точно нужен ProfiBUS DP? А то помнится ещё и Profibus PA, в котором скорости по-ниже и связь по проводкам питания. Для slave была микросхемка SIM1
Ну Profibus PA - модификация протокола, специализированная для приборов работающих во взрывоопасных зонах и т.п., с дополнительными уровнями программно-аппаратной защиты, у нас же задача просто интегрировать прибор в сеть, работающую по профибас.
На FTP что-то попасть не смог. Такой же файл нашёл на
http://www.kuebler.com/PDFs/Feldbus_Multit...fication_DP.pdfПодробненькое описание.
rezident
Jun 28 2007, 12:41
Цитата(Юрий Санвальд @ Jun 28 2007, 14:00)

Создал ящик spec_profibus@mail.ru, пароль - profibus, там во входящих он лежит, кому нужно - забирайте.
Этот же pdf лежал (лежит) на фтп.
SanvaldYV
Jun 28 2007, 14:42
Мой вопрос утонул в обсуждении та или не та документация была у меня и на фтп, поэтому повторюсь:
Господа, РЕАЛЬНО работавшие с profibus-DP, просветите насчет обмена данными мастер-слэйв: посылаются ли все данные всегда (при каждом запросе) в одной посылке или есть возможность обращения к отдельным переменным (через имя или индекс)?
Никак не могу разобраться с этим по документации, смущает то, функция запроса
выходных данных имеет всего один параметр - АДРЕС слэйва (стр. 731), а так же то, что среди параметров слэйва есть переменная Real-Output-Lenght - которая описывает длину выходных данных устройства - и она имеет тип "unsigned8" - т.е. 256 максимум (стр.846).
Andrew2000
Jun 28 2007, 20:18
Цитата(Юрий Санвальд @ Jun 28 2007, 18:42)

просветите насчет обмена данными мастер-слэйв: посылаются ли все данные всегда (при каждом запросе) в одной посылке или есть возможность обращения к отдельным переменным (через имя или индекс)?
В Profibus-DP есть единственная функция для обмена данными master-slave - это Exchange - до 242-х байт туда и до 242-х байт обратно (242 - уточните, забыл уже точную цифру) за один цикл обмена - размер задается в фазе конфигурации.
Что в этих телеграммах - Ваше личное дело - можете "наворачивать" свой протокол "более верхнего" уровня. Так, например, делает Siemens в своих Simoreg-ах - мастер посылает слейву телеграмму с параметрами, описывающими что именно мастер хочет считать в следующий цикл обмена.
Object Dictionary - это Вы, видимо, в Profibus-FMS залезли - в DP это не надо.
На самом деле, DP для этого не предназначен - это протокол для простого ввода вывода - он так и называется - децентрализованная периферия: DP-телеграммы содержат заранее определенное число данных дискретных/аналоговых каналов ввода/вывода.
SanvaldYV
Jun 29 2007, 10:09
Цитата(Andrew2000 @ Jun 29 2007, 00:18)

В Profibus-DP есть единственная функция для обмена данными master-slave - это Exchange - до 242-х байт туда и до 242-х байт обратно (242 - уточните, забыл уже точную цифру) за один цикл обмена - размер задается в фазе конфигурации.
Что в этих телеграммах - Ваше личное дело - можете "наворачивать" свой протокол "более верхнего" уровня. Так, например, делает Siemens в своих Simoreg-ах - мастер посылает слейву телеграмму с параметрами, описывающими что именно мастер хочет считать в следующий цикл обмена.
Object Dictionary - это Вы, видимо, в Profibus-FMS залезли - в DP это не надо.
На самом деле, DP для этого не предназначен - это протокол для простого ввода вывода - он так и называется - децентрализованная периферия: DP-телеграммы содержат заранее определенное число данных дискретных/аналоговых каналов ввода/вывода.
Спасибо за подробное объяснение, теперь стало понятно!
bookevg
Jul 11 2007, 04:31
А не лучше ли взять готовый аппаратно-программный конвертер из ModBus RTU в ProfiBus? Если речь идет об единичном заказе.
SanvaldYV
Jul 11 2007, 12:43
Цитата(bookevg @ Jul 11 2007, 08:31)

А не лучше ли взять готовый аппаратно-программный конвертер из ModBus RTU в ProfiBus? Если речь идет об единичном заказе.
Речь о производстве в промышленном масштабе - несколько тысяч приборов год, скорее всего будем ориентироваться на SPC3.
Кстати, существенный недостаток подобных микросхем - адресация как с внешней RAM, от МК требуется безумное количество ног (Ш/А == 11 ног, Ш/Д == 8 ног), по сути нужен отдельный контроллер для неё
А где взять эту SPC3 в не супер-больших количествах нашли?
SanvaldYV
Jul 12 2007, 06:37
Цитата(slog @ Jul 11 2007, 20:21)

А где взять эту SPC3 в не супер-больших количествах нашли?
Ну в принципе, почти везде есть возможность заказа всего нескольких штук, но при этом естественно выходит дороже.
Например:
http://www.aqad.ru/catalogs.php?abc=S&...24-0XA0&m=2http://www.sms-automation.ru/products/Siem....php?nodeid=282Правда, ничего в Питере не удалось найти, в основном все в Москве, срок поставки довольно большой - 3-4 недели

Мы пока еще ничего не покупали, руководство решает вопрос о целесообразности всего этого дела, поэтому подтвердить сроки и количество поставки я не могу.
Кстати насчет цен - при заказе 5 штук цена около 20 евро за штуку, а при заказе 96 штук - "всего" около 12-13 евро:
http://www.sitop.ru/siemens_price/brand/siemens_price/633
Цитата(Юрий Санвальд @ Jul 12 2007, 10:37)

Кстати насчет цен - при заказе 5 штук цена около 20 евро за штуку, а при заказе 96 штук - "всего" около 12-13 евро:
12-13 евро стоит приличная по ёмкости ПЛИС-ка. Не рассмотреть ли вариант сделать контроллер ProfiBus на ПЛИС. Нужно ведь сделать только самую скоростную часть, приём NRZ , упаковку битов в байты, дальше процессор и сам справится. Выгоды очевидны, ПЛИС легкодоставаемы, можно сделать удобнай для процессора интерфейс и не мучаться с шиной адресов/данных.
Это возможно?
SanvaldYV
Jul 12 2007, 07:46
Цитата(slog @ Jul 12 2007, 11:39)

Это возможно?
при наличии спецификации протокола и готовности потратить определенное время на его реализацию наверное возможно, я не пробовал
Если кто-то работал с SPC3, то мог бы рассказать вкратце о ней? Но не очень уж вкратце типа "это микросхема для работы в открытой сети PROFIBUS-DP и берет на себя всю работу по протоколу". Мне интересно более объектное описание. Как много времени понадобится для написания ПО под нее и какие этапы надо для этого преодолеть? Какие средства отладки вы предлагаете (ПО для ПК, железо)?
И еще:
1. Нужна ли специальная сертификация в PNO, прибора, говорящая о том, что прибор действительно отвечает требованиям PROFIBUS? Или достаточно заявить, что все работает smile.gif
2. Какое количество данных из слэйва может быть доступно для мастера? 192 байта-соответственно размеру буферов данных?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.