Стартовая страница › Форумы › Взаимодействие с устройствами › Взаимодействие с DDE сервером
- В этой теме 32 ответа, 5 участников, последнее обновление 3 месяца назад сделано
JurasskPark.
-
АвторСообщения
-
23.03.2026 в 15:02 #42613
avvlasyuk
УчастникДобрый день всем!
Есть DDE сервер, который устанавливает связь с контроллерами. Такая схема у производителя контроллеров. Имеется описание формата данных. Из Excel общаться получается. Возможно ли взаимодействие с DDE сервером из RapidSCADA?23.03.2026 в 15:45 #42618
MikhailМодераторДобрый день!
Готового драйвера Rapid SCADA для DDE нет. DDE — это устаревшая технология.23.03.2026 в 16:05 #42626
JurasskParkУчастникА что за производитель контроллеров и как выглядит excel файл?
23.03.2026 в 16:09 #42627avvlasyuk
УчастникПроизводитель ComAp. Excel по записи в ячейку возвращает значение, которое потом можно распарсить. Например =IGS_DDE|’IGS1′!OBJECT_24562 вычитывает блок данных.
23.03.2026 в 16:23 #42628
JurasskParkУчастникНу просто в excel наверное тоже надо чтобы был прописаны настройки PLC, даже самый простой адрес. В Excel это информация хранится?
23.03.2026 в 16:31 #42629
JurasskParkУчастникКороче…
От производителя DDE сервер стоит ПК.
пришлите примеры топиков и форматы какие там данные23.03.2026 в 16:46 #42630avvlasyuk
УчастникExcel имеет встроенную поддержку DDE, это старая технология обмена данными между программами в WIndows. Запускается DDE сервер с определёнными параметрами
[general]
service_name=IGS_DDE
connection=UART
com=5
…
[iGS1]
load_hist=TRUE
period_val_I=100
period_val_II=1000
period_val_III=5000
delay_param_p=5000
delay_param_r=1000
optimize=TRUE
start=TRUE
Таким образом устанавливается связь с контроллером, в примере выше он называется IGS1. В DDE сервере определены ComObject-ы.
Excel это не интересно. Далее мы пишем в ячейку Excel =IGS_DDE|’IGS1′!OBJECT_24562,
где IGS_DDE — имя сервиса, IGS1 — топик, OBJECT_24562 — элемент топика.
Возвращаемое значение — -3271005427906875204355223,92313254207254207-1114576415114017000000,00 2395968808-3276,8-32768-32768000040,5244700047627519665149633526512690,00006080000##.##.####.##.####.##.####.##.####.##.####.##.##0. Описание структуры данных есть.23.03.2026 в 17:02 #42631
JurasskParkУчастникВыложите описание структуры тоже.
23.03.2026 в 17:10 #42632avvlasyuk
УчастникОписание текстовый файл 94КБ. Как его сюда выложить?
А что это даст? Надо понимать в принципе, есть ли возможность через существующие способы связи получить данные от DDE сервера. Может что-то дописать можно?23.03.2026 в 17:18 #42633
a80808УчастникКак его сюда выложить?
Ссылку на Яндекс Диск например
23.03.2026 в 17:19 #42634
a80808УчастникDDE — а OLE DB вроде то же самое?
Это SCADa поддерживает….23.03.2026 в 17:21 #42635
a80808УчастникИли через файлы. Например на Python шедулер написать с записью в файл, а SCADA считывает из файла…
23.03.2026 в 17:47 #42636
manjey73Участника Excel после чтения не может csv файл выгружать автоматом?
24.03.2026 в 07:52 #42641avvlasyuk
УчастникСтруктура данных https://disk.yandex.ru/d/MpBkWM3L4HyICg
Вчера мы с AI накидали консольное приложение на C#, получилось вычитать данные. Вариант с файлом-буфером конечно возможен, но надо ещё с записью в контроллер разобраться.
ConsoleAppDDE.cs — https://disk.yandex.ru/d/F00n8GoKHTmU1g24.03.2026 в 07:54 #42642avvlasyuk
УчастникExcel это чтобы быстро попробовать соединение. Как рабочий вариант не красиво.
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.