Название: Не могу собрать проект DNP3 protocol Отправлено: ZEON от Декабрь 27, 2010, 16:54 Привет всем!
Уже две недели пытаюсь собрать проект DNP3 Protocol (протокол обмена данных ПЛК в нашей АСУТП). Задача связана с аппаратными средствами, коротко - разработать интерфейс связи с PLC, в качестве основного протокола выбран DNP3 (http://ru.wikipedia.org/wiki/DNP3). Проект DNP3 Protocol - OpenSource -> http://sourceforge.net/projects/dnp/. Вопрос: Немогу собрать исходники этого проекта, использую Visual Studio 2008 Pro + Qt 4.7. В файле проекта (*.pro) всё верно: Цитировать CONFIG += qtestlib static QT += network TEMPLATE = app DEPENDPATH += crypto dnplib masterui outstationui unittests INCLUDEPATH += . crypto dnplib masterui unittests outstationui # Input HEADERS += crypto\aes.h \ crypto\sha1.h \ crypto\sha2.h \ crypto\wrap.h \ dnplib\app.hpp \ dnplib\asdu.hpp \ dnplib\common.hpp \ dnplib\datalink.hpp \ dnplib\event_interface.hpp \ dnplib\factory.hpp \ dnplib\lpdu.hpp \ dnplib\master.hpp \ dnplib\object.hpp \ dnplib\outstation.hpp \ dnplib\security.hpp \ dnplib\station.hpp \ dnplib\stats.hpp \ dnplib\timer_interface.hpp \ dnplib\transmit_interface.hpp \ dnplib\transport.hpp \ masterui\display.hpp \ masterui\endpoint.hpp \ masterui\main_window.hpp \ masterui\settings.hpp \ masterui\timer_widget.hpp \ outstationui\outstation_settings.hpp \ outstationui\outstation_window.hpp \ unittests\_test_lpdu.hpp \ unittests\_test_master.hpp \ unittests\_test_security.hpp \ unittests\dummy.hpp SOURCES += crypto\aes.c \ crypto\sha1.c \ crypto\sha2.c \ crypto\wrap.c \ dnplib\app.cpp \ dnplib\asdu.cpp \ dnplib\common.cpp \ dnplib\datalink.cpp \ dnplib\event_interface.cpp \ dnplib\factory.cpp \ dnplib\lpdu.cpp \ dnplib\master.cpp \ dnplib\object.cpp \ dnplib\outstation.cpp \ dnplib\security.cpp \ dnplib\station.cpp \ dnplib\stats.cpp \ dnplib\timer_interface.cpp \ dnplib\transmit_interface.cpp \ dnplib\transport.cpp \ dnplib\version.cpp \ masterui\display.cpp \ masterui\endpoint.cpp \ masterui\main.cpp \ masterui\main_window.cpp \ masterui\settings.cpp \ masterui\timer_widget.cpp \ outstationui\outstation_settings.cpp \ outstationui\outstation_window.cpp \ unittests\_test_lpdu.cpp \ unittests\_test_master.cpp \ unittests\_test_security.cpp \ unittests\dummy.cpp Всё делаю как описал разработчик: Цитировать To build the dnp executable, install the required dependencies as specified in the OS specific sections then in the dnp source directory enter*: qmake -project "CONFIG += qtestlib" "QT += network" qmake make *Note: qmake executables may be called qmake-qt4 if you have more than one version of qt installed. OS specific set up and dependencies: ... Windows ------- Dependencies: Qt4 open source edition. http://www.trolltech.com/developer/downloads/qt/windows Notes: The include path in the dnp.pro file may not be correctly automatically generated. If it is not already there, you may need to add: INCLUDEPATH += . crypto dnplib masterui outstationui unittests To build the exe as a single statically linked file: qmake -project "CONFIG += qtestlib static" "QT += network" and http://wiki.qtcentre.org/index.php?title=Building_static_Qt_on_Windows Пробовал и статически собранную Qt 4.7, динамическую, даже готовую сборку с сайта http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.1-vs2008.exe (http://get.qt.nokia.com/qt/source/qt-win-opensource-4.7.1-vs2008.exe). В основном ошибки на типы данных и зависимости. Хотя в исходниках есть релиз собранный c qt 4.2.3. МОЖЕТ-БЫТЬ у кого-то получиться собрать данный сабж? ??? P.S Заранее спасибо всем за ответы Название: Re: Не могу собрать проект DNP3 protocol Отправлено: kuzulis от Декабрь 27, 2010, 19:22 Я собирал это, правда под MinGW и Qt 4.5.3,
правда я там что-то выкидывал и переделывал, не помню что. Завтра (если будет время), попробую пересобрать под Qt 4.7.1. Скажу сразу, я не "вкурил" особо в предназначение данной GUI программы (при беглом просмотре). ЗЫ: просьба, если у вас имеются спецификации на протокол DNP3 - то скиньте плз на мыло (которое в моем профиле). Название: Re: Не могу собрать проект DNP3 protocol Отправлено: kuzulis от Декабрь 28, 2010, 13:27 Я собрал с помощью MinGW и Qt 4.7.1, только пришлось править на быструю руку исходники.
То что получилось в итоге (исходники с *.pro файлом) я приаттачил тут в сообщении. ЗЫ: для сборки нужно открывать/использовать файл проекта dnp.pro Название: Re: Не могу собрать проект DNP3 protocol Отправлено: kuzulis от Декабрь 28, 2010, 20:26 ZEON,
не получил я на почту спецификаций. Попробуйте ка еще разок. Название: Re: Не могу собрать проект DNP3 protocol Отправлено: werty_rus от Январь 27, 2011, 23:39 Kuzulis спасибо за сборку, всё запускается. только я нескромный вопрос хочу озвучить.......как приложение работает?
мне нужен пример трафика протокола :-\ ZEON вы не разобрались ещё? Название: Re: Не могу собрать проект DNP3 protocol Отправлено: werty_rus от Январь 27, 2011, 23:41 вот другой релиз
https://github.com/codehero/dnp3 тоже не получается запустить...((((((((( Название: Re: Не могу собрать проект DNP3 protocol Отправлено: ZEON от Январь 31, 2011, 17:30 У кого есть документация по протоколу DNP3 на русском?
И есть ли перевод на русский язык книги: Newnes.Practical.Modern.SCADA.Protocols.DNP3.60870.dot.5.and.Related.Systems.Sep.2004 ? Название: Re: Не могу собрать проект DNP3 protocol Отправлено: kuzulis от Январь 31, 2011, 18:51 Цитата: werty_rus Kuzulis спасибо за сборку, всё запускается. только я нескромный вопрос хочу озвучить.......как приложение работает? Если честно - не имею понятия. Я брал оттуда только алгоритм расчета CRC :).мне нужен пример трафика протокола :-\ А для просмотра траффика - есть проприетарная софтина, триальная на 20 дней... Сейчас навскидку не скажу её название - завтра название напишу (если не забуду). Цитата: ZEON У кого есть документация по протоколу DNP3 на русском? Не, у меня нету. И есть ли перевод на русский язык книги: Newnes.Practical.Modern.SCADA.Protocols.DNP3.60870.dot.5.and.Related.Systems.Sep.2004 ? Название: Re: Не могу собрать проект DNP3 protocol Отправлено: ZEON от Февраль 01, 2011, 14:32 прога называется Triangle Microworks Test Harness Protocol
Название: Re: Не могу собрать проект DNP3 protocol Отправлено: ZEON от Февраль 14, 2011, 11:09 2 kuzulis
Ты не разбирался с Прикладным уровнем этого протокола, не знаешь как лучше организовать консоль управления по приёму/передачи данных с БД PLC (OutStation) Название: Re: Не могу собрать проект DNP3 protocol Отправлено: kuzulis от Февраль 14, 2011, 12:22 2 kuzulis В смысле? Какую консоль? Что подразумеваешь под "как лучше организовать"?Ты не разбирался с Прикладным уровнем этого протокола, не знаешь как лучше организовать консоль управления по приёму/передачи данных с БД PLC (OutStation) Если имеешь ввиду как читать/писать данные в OutStation - то: 1. Проще всего не делать вообще поддержку "незапрашиваемых сообщений" (когда сама OutStation инициирует передачу к мастеру) 2. Чтобы не мудрить, можно реализовать два класса данных Class0, Class1 3. Для чтения статических данных (DI, DO, AI) и их событий OutStation - использовать "интегральный" опрос с определенной периодичностью (используя FC = READ). 4. Для управления DO OutStation - слать пакет с FC = DIRECT_OPERATE В принципе, должно этого хватить (если кол-во точек в OutStation невелико). Или что ты имел ввиду? Название: Re: Не могу собрать проект DNP3 protocol Отправлено: ZEON от Февраль 24, 2011, 11:10 2 Kuzulis
Такой вопрос, а кто-нить диззасемблировал DNP3 TestSet http://code.google.com/p/dnp3 (http://code.google.com/p/dnp3) Я пишу тестовую консоль управления по подобию TestSet с этим проектом (DNP3 Protocol). Название: Re: Не могу собрать проект DNP3 protocol Отправлено: kuzulis от Февраль 24, 2011, 11:29 Не, у нас никто.
|