Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года

Обертка для wlcomp.dll на C# (пример).

Вы не вошли.

 Поиск | Регистрация | Вход 

Андрей Михайлов
10.04.2011 19:05:43
#1

Гость

Обертка для wlcomp.dll на C# (пример).

Когда начинал писать обертку для wlcomp.dll на C# заметил, что на форуме данная тема часто обсуждалась, однако готовые результаты в нормальном виде никто не выложил. Так что выкладываю своё, может кому пригодится. Не ахти что, но лучше, чем ничего.

Это ни разу не законченный вариант. Скорее, пример. Всё писалось для работы с картой L761, но должно подойти к любой L7xx карте. Чтобы использовать данную обертку с остальными картами, нужно переписать, либо дополнить некоторые структуры.

Сам я использовал для работы с платой, по большей части, только функцию IoAsync(). Синхронный ввод/вывод не требовался.

Когда писал обертку, преследовал целью избавление от любых Си//'шных указателей и ссылок, использование маршалинга вместо небезопасного (unasfe) кода, использование объектной модели и исключений для отслеживания ошибок. Также все структуры реализуют метод ToString() для облегчения разработки и поиска ошибок.

Инкапсулированные функции, которые используются автоматически:
LoadAPIDLL
FreeAPIDLL
CallCreateInstance
OpenLDevice
CloseLDevice

Реализованные функции:
PlataTest
LoadBios
ReadPlataDescr
GetSlotParam
IoAsync
EnableCorrection
SendCommand
InitStartLDevice
StartLDevice
StopLDevice

Нереализованные, но промаршаленные, функции:
FillDAQparameters
SetParametersStream
RequestBufferStream
SetLDeviceEvent
InitStartLDeviceEx
StartLDeviceEx
StopLDeviceEx

Собственные функции для облегчения работы:
SetChnParams - побитовая настройка канала.
ArrayToStr - любой массив переводит в строку.
CutNum - любое число обрезает по значениям макс и мин.
GetSlotsInfo - возвращает список плат в системе и их параметры. (не проверялось)

По ссылке сама библиотека (обертка) и пример использования в асинхронном режиме с комментариями.
(Сам пример не проверял, но должен работать)

p.s. Для карты L761 самый новый BIOS бажный. В примере положил BIOS 2000-го года.

Проект для VS2008 качать тут: http://dl.dropbox.com/u/1420135/LCardCSharp.zip

SeyranG
12.02.2024 10:29:54
#2

Гость

Re: Обертка для wlcomp.dll на C# (пример).

ребят, а ссылку на пример может кто то обновить ?

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск