Соединение приложения C# с Siemens S7-200

У меня проблема с получением данных с ПЛК на ПК. У меня есть коммуникационный модуль S7-200 и CP 243-1.

Мне нужно прочитать данные из ПЛК. Я много читал о libnodave библиотеку и попытался написать приложение для себя для общения и скачал образец в Vb ссылку на шаблон.

В моем приложении я получаю сообщение об ошибке исключения

Не удается загрузить DLL "libnodave.dll". Модуль не найден.

Но в ссылках проекта я добавил libnodave.net.dll... Понятия не имею.

Все мои попытки провалились, и, возможно, кто-то знает, как использовать libnodave или другие библиотеки для связи ПК с ПЛК Siemens S7-200. Заранее спасибо.

С уважением.

1 ответ

Решение

Просто дикий выстрел, но это libnodave.dll родная DLL и libnodave.net.dll обертка для этой DLL?

Тогда вам нужно убедиться, что libnodave.dll находится на пути поиска. В идеале вы должны скопировать эту DLL в выходную папку вашего проекта, чтобы оба libnodave.dll а также libnodave.net.dll находятся в той же папке. Вы можете сделать это автоматически, добавив собственную DLL в корень вашего проекта (не ссылаясь на него, добавив его, как обычный существующий файл), установив тип сборки "none" и "copy Always". Это гарантирует, что DLL всегда копируется в папку bin / debug или bin / release.

Поскольку вы не можете добавлять собственные библиотеки DLL в качестве ссылок на проект.NET, скорее всего, разработчики создали оболочку.NET, которая может быть добавлена, но не может использоваться автономно. Он будет вызывать функции в нативной DLL с помощью P/Invoke.


Со страницы "ссылка на шаблон" вы связались:

Вам необходимо скопировать файл libnodave.net.dll на свой компьютер и добавить ссылки в свойствах проекта VB.NET. Это реализует уровень моста между libnodave.dll и приложениями, написанными на языках MS .Net.

Это означает, что мое предположение кажется верным. Вам нужны обе библиотеки DLL. Страница продолжает говорить:

Также скопируйте libnodave.dll в ту же директорию, где находится исполняемый файл.


PS: пожалуйста, не забудьте использовать для исправления горечи для вашего проекта. Собственная библиотека DLL может быть 32-разрядной, поэтому вам может потребоваться установить целевую платформу с "Любой процессор" на "x86", чтобы она работала.

Другие вопросы по тегам