Соединение приложения 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", чтобы она работала.