PDA

Просмотр полной версии : DDE, OPC и VB6



MerlinLegacy
02.03.2012, 20:09
Доброго всем времени суток.
Есть такая проблема: на ПЛК63 крутится программа, в ней есть массив некоторых данных (MyArray[200]). Массив имеет пользовательский тип (определен на вкладке типов). Необходимо вывести этот массив на печать в удобочитаемой форме. Решил использовать OPC и свою прогу на VB6 или Delphi используя OPCDAAuto.dll от Kepware. Все бы ничего, но...:confused: смог прочитать только первые 11 элементов массива, т.е. MyArray[0] .... MyArray[10]. Если считывать только эти 11 элементов - все ОК, данные корректно отображаются, но стоит попробовать загрузить 12 элемент - :mad: все приплыли. Даже первые 11 элементов перестают читаться.
Пробовал DDE и Excel - почти то же самое. Читается только половина из первых 125 элементов, а в ячейках пишет "Значение не доступно формуле или функции".
Кто нить знает в чем дело? И как, все таки, прочитать весь массив целиком?
Заранее спасибо за ответ.

MerlinLegacy
03.03.2012, 17:55
Мдя..... Сутки прошли, а ответа нет....:(
Неужели никто не знает как можно вытащить из ПЛК массив с информацией? Куда угодно, лишь бы его потом распечатать можно было. Ну хоть что нибудь, а?

capzap
03.03.2012, 18:11
Ну хоть что нибудь, а?

модбас, а?

Gans
03.03.2012, 22:34
Неужели никто не знает как можно вытащить из ПЛК массив с информацией? Куда угодно, лишь бы его потом распечатать можно было. Ну хоть что нибудь, а?
Для начала проверь инфу в ОРС-сервера прогой: http://ads-kaluga.narod.ru/download/Bonus/ShowItems.zip а по результатам думать, что делать дальше.
а лучше сразу пиши ModBus-TCP клиента на VBA6 (ссылка на пример была на форуме + в инете информации море) или С# и тд.

MerlinLegacy
17.03.2012, 20:49
Всем доброго времени суток.
Прошло 13 дней с того момента как я задал вопрос. В общем, с проблемой разобрался. Данные получил все какие надо. Вот только одна проблема: после выключения ПК и последующего его включения, к контроллеру уже не подключиться ни с помощью CodeSys, ни с помощью OPC до отключения питания ПЛК. С ПЛК100 такого не наблюдал.
Если кому интересно, прилагаю свой проект на VB6. Используется библиотека OPCDaAutomation Wrapper (OPCDaAuto.dll). Список читаемых переменных берется из файла PLC.txt (предварительно сконфигурируйте OPC скрвер).
Программа основана на примере предоставляемом KepWare Technologies http://www.kepware.com/Support_Center/SupportDocuments/KTAN90026_VB_and_OPC.zip. Сильно не комментировал, но остались комментарии оригинала. Организовал экспорт полученных данных в MS Excel.
Всем спасибо за помощь.