реклама на сайте
подробности

 
 
> Программная прослойка для сопряжения сторонних, программ с моим устройством
shreck
сообщение May 26 2011, 07:48
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Добрый день.

Есть устройство подключаемое к компу. Устройство управляется исключительно с компа. Есть компьютерная управляющая программа. Но, вариантов использования устройства - великое множество и моя программа их все охватить не может. Нужно дать пользователю устройства возможность легко написать заточенную под него программу. Т.е. предоставить ему некую программную прослойку, скрывающую особенности низкоуровнего обмена с устройством.

Навскидку приходят на ум следующие варианты (ни в одном из них я не профи, могут быть накладочки).

1. Использовать DLL, где и предоставить необходимые функции.
Большой плюс решения - очень просто как для меня - писателя DLL, так и для клиента - писателя основной программы.
Минус - нет совместимости между DLL, созданной разными компиляторами, или требуются неудобные телодвижения для использования "неродной" DLL. Отсюда проистекают ограничения на использование клиентской программой языка программирования.

2. Написать OPC сервер.
Плюсы. Есть стандарт, кроме самописной программы можно использовать какую-нибудь SCADA систему. Нет никакого навязывания языка программирования для клиента.
Минусы. Сложность. Конкретно нам придется заказывать разработку сервера на стороне. Клиент должен иметь программиста с подходящей квалификацией.

3. ??? что еще можно придумать. В нулевом приближении требования такие. Простота реализации как для меня, так и для клиента. Без навязывания клиенту языка программирования.

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ReAl
сообщение May 26 2011, 08:30
Сообщение #2


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(shreck @ May 26 2011, 10:48) *
Минус - нет совместимости между DLL, созданной разными компиляторами, или требуются неудобные телодвижения для использования "неродной" DLL. Отсюда проистекают ограничения на использование клиентской программой языка программирования.
А не надо из DLL классы плюсовые экспортировать.
Лет восемь назад писал именно такого применения DLL-ку.
Внутри С++ для того, что было мне удобно.
Наружу только стандартный для Win интерфейс, местами с регистрацией call-back-ов пользовательского приложения, вызываемых моей DLL, в духе
Код
DLLIMPORT void APIENTRY EU_SetLogger(int32_t level, log_func func);

Собирал её GCC (mingw32), использовалось это с Delphi. Уж более разные компиляторы поискать надо.


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
shreck
сообщение May 26 2011, 08:47
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Цитата(ReAl @ May 26 2011, 15:30) *
А не надо из DLL классы плюсовые экспортировать.

Это то понятно.

Цитата(ReAl @ May 26 2011, 15:30) *
Лет восемь назад писал именно такого применения DLL-ку...
Собирал её GCC (mingw32), использовалось это с Delphi. Уж более разные компиляторы поискать надо.

Хм... я в dll-ках не специалист, но беглый поиск показал, что dll от Visual C++ и С++ Builder несовместимы между собой без всяких ++. Тут еще надо поразбираться. На данный момент рассматриваю использование dll как наиболее верояное решение. Но может еще кто чего интересного подскажет.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 26 2011, 08:59
Сообщение #4


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(shreck @ May 26 2011, 12:47) *
На данный момент рассматриваю использование dll как наиболее верояное решение. Но может еще кто чего интересного подскажет.

Есть ещё технология OPC и DDE.
Но это зависит от пользователя. Некоторые могут и не понять.
А вот в АСУ ТП - это стандарт. Нативно поддерживается практически всеми SCADA-ми.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- shreck   Программная прослойка для сопряжения сторонних   May 26 2011, 07:48
|- - ReAl   Цитата(shreck @ May 26 2011, 11:47) Хм......   May 26 2011, 12:37
||- - shreck   Цитата(ReAl @ May 26 2011, 19:37) Не знаю...   May 26 2011, 14:06
|- - vvs157   Цитата(shreck @ May 26 2011, 12:47) Хм......   May 26 2011, 20:34
- - AlexandrY   Цитата(shreck @ May 26 2011, 10:48) Добры...   May 26 2011, 09:03
|- - shreck   Цитата(AlexandrY @ May 26 2011, 16:03) Ус...   May 26 2011, 09:23
|- - AlexandrY   Цитата(shreck @ May 26 2011, 12:23) Прави...   May 26 2011, 10:45
- - mdmitry   Возможный вариант при малом потоке управления: что...   May 26 2011, 10:04
|- - shreck   Цитата(mdmitry @ May 26 2011, 17:04) Возм...   May 26 2011, 10:12
|- - mdmitry   Цитата(shreck @ May 26 2011, 14:12) Идея ...   May 26 2011, 10:23
- - miga   Цитата(shreck @ May 26 2011, 11:48) Минус...   May 26 2011, 22:58
|- - halfdoom   Цитата(miga @ May 27 2011, 01:58) Использ...   May 27 2011, 02:42
|- - demiurg_spb   ИМХО, OPC - стандарт для такого рода задач. + dll-...   May 27 2011, 04:25
- - shreck   Цитата(vvs157 @ May 27 2011, 03:34) Это о...   May 27 2011, 01:57


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 16:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01401 секунд с 7
ELECTRONIX ©2004-2016