Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
|
||||
|
Программирование для LTR51 на С#Здравствуйте, Можно ли получить описание методов класса _ltr51api для работы с LTR51 в библиотеке ltrModulesNet? А так же хотелось бы небольшой пример на C#, аналогично тому, как есть для LTR24 и LTR210. Только для актуальной версии библиотеки |
|||
|
||||
|
Re: Программирование для LTR51 на С#Описание класса можно посмотреть в исходниках обертки - в архиве https://bitbucket.org/lcard/ltr_cross_sdk/downloads/ltr_cross_sdk_src.zip в директории ltrapi/ltrModulesNet. Сейчас примера нет. В принципе мог бы написать пример, но не раньше чем через неделю. Если будет нужно - пишите. |
|||
|
||||
|
Re: Программирование для LTR51 на С#Спасибо за оперативность и за ссылку, Алексей! Пример было бы неплохо, но пока не горит. Есть еще один вопрос, по алгоритму работы:
Верен ли мой ход мылси? |
|||
|
||||
|
Re: Программирование для LTR51 на С#Вообще есть программа ltrserver (http://www.lcard.ru/download/ltrserver_setup.exe), которая устанавливает связь с крейтами, подключены они по USB или по сети. В первом случае автоматически идет подключение всех найденных крейтов, во втором Вам нужно в ltrserver/'е добавить его адрес и установить связь вручную. А уже пользовательские программы подключаются через сервер. Чтобы подключится к модулю нужно знать его номер слота в крейте и серийный крейта (если их больше одного в сервере). При необходимости из сервера можно получить список керйтов и по каждому крейту список типов модулей (это делается в С# через _LTRNative, а в С - это функции ltrapi, описанные в ltrapi.pdf) |
|||
|
||||
|
Re: Программирование для LTR51 на С#Дмитрий, иными словами, Ваш ход мысли совершенно правильный, только IP и порт не крейта, а ltrserver (если только Вы не планируете писать свой софт вместо ltrserver/ltrapi и работать напрямую с самим крейтом, что гораздо сложнее и надо только в специальных случаях). В терминах ltrapi (которое на C) это примерно так:
Примечание. Вместо #SERVER_CONTROL можно задать пустой серийный номер, тогда откроется первый доступный крейт и в том же соединении можно будет сделать GetCrateModules (и сэкономить close/open), но это только в том случае, если окажется, что сразу попали в нужный крейт. И если нет ни одного крейта, то LTR_Open с пустым серийником выдаст ошибку. |
|||
|
||||
|
Re: Программирование для LTR51 на С#Спасибо огромное за информацию и советы! |
|||
|
||||
|
Re: Программирование для LTR51 на С#Помогите, пожалуйста, еще с одним вопросом Вот есть метод LTR51_CreateLChannel, а есть ли обратный метод, позволяющий извлечь данные настройки для указанного логического канала? |
|||
|
||||
|
Re: Программирование для LTR51 на С#Нет, такой функции нет. Но Вы можете либо сами извлечь эту информацию либо на основе формата самого слова таблицы (описан в ltr51api.pdf пункт 5.1), ну либо сохранять эту информацию отдельно в удобном Вам виде... |
|||
|
||||
|
Re: Программирование для LTR51 на С#Алексей, тогда подскажите следующее: А каким образом в итоговом 32-битном слове, в соответствующих битах, которые описаны в п.5.1 ltr51api.pdf, хранятся отрицательные значения, и значения с плавающей точкой (double)? |
|||
|
||||
|
Re: Программирование для LTR51 на С#расположение байт в 32-битном слове - рисунок на стр. 18 ltr51api.pdf, там же формула для перевода из вольтов в (double) в 8-битный код потенциометра, который хранится в битах 32-битного слова. Для первода из кода в double формуле можно пробразовать в U=((uref*(code-128))/(k*128)), где uref = 2.048, а k для диапазона 10В = -0.2010, для 1.2 = -1.6737. |
Страницы 1