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

Форум

Вы не вошли.

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

#1 Техническая поддержка » Отличия системы команд » 13.06.2018 20:59:01

Ярослав
Ответов: 1

Приветствую! Имеется программа, написанная под плату L-1250, под DOS. Совместима ли она с платой L780?

#2 Re: Техническая поддержка » Получение данных » 20.04.2018 21:12:30

Poul пишет:

sl  неправильно описан. SLOT_PAR sl; и вызов GetSlotParam(&sl); будет работать, а так описан указатель и память под него не выделена...

Большое спасибо. Аналогичным образом исправил с ReadPlataDescr - все заработало.

#3 Re: Техническая поддержка » Получение данных » 19.04.2018 13:39:42

Poul пишет:

как бы функции возвращают результат. и если до этого момента были ошибки то все может быть... чего trace печатает? и как себя ведет готовый проект?

По trace все нормально до этой строки, ошибок или исключений не возникало. Готовый проект отрабатывает полностью.

#4 Re: Техническая поддержка » Получение данных » 18.04.2018 22:07:33

В предыдущем сообщении прикрепил не тот скришот
Snimok1.png
от

#5 Re: Техническая поддержка » Получение данных » 18.04.2018 22:06:42

Добрый вечер!
Удалось протестировать эту же программу на компьютере с платой и установленным visual studio, чтобы отследить эту ошибку. В обычных условиях с платой - программа просто закрывается, как не отвечающая. Чем может быть обусловлена подобная проблема?
osh1.png

#6 Re: Техническая поддержка » Получение данных » 08.04.2018 21:10:56

Poul пишет:

там этот символ определен. и вообще лучше просто взять готовый проект l7xx.tst и его мучить.

Понял, спасибо. Готовый проект это хорошо, но необходимо полностью разобраться. A что насчет метода trace?

#7 Re: Техническая поддержка » Получение данных » 05.04.2018 15:47:41

Poul пишет:

там в готовом проекте l7xx.tst включаетс lguids.cpp...

Каким образом он связан и поможет в моем случае?

#8 Re: Техническая поддержка » Получение данных » 04.04.2018 22:39:37

Написал программу в соответствии с руководствами для проверки вывода данных с одиночного отсчета и последующей расшифровки кода АЦП:

// ConsoleApplication2.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <clocale>
#include <iostream>
#include <iomanip>
#include <objbase.h>
#include <math.h>

#include "ioctl.h"
#include "ifc_ldev.h"
#include "e2010cmd.h"
//#include "create.h"

ULONG slot = 0;
PSLOT_PAR sl;
LPVOID pd;


void    *data;
ULONG   *sync;

ASYNC_PAR pp;

using namespace std;
typedef IDaqLDevice* (*CREATEFUNCPTR)(ULONG Slot);

CREATEFUNCPTR CreateInstance;

HINSTANCE CallCreateInstance(char* name)
{
	HINSTANCE hComponent = ::LoadLibrary((LPCWSTR)name);
	if (hComponent == NULL) { return 0; }

	CreateInstance = (CREATEFUNCPTR)::GetProcAddress(hComponent, "CreateInstance");
	if (CreateInstance == NULL) { return 0; }
	return hComponent;
}

int main(int argc, char *argv[])
{
	trace("Get IUnknown pointer");
	CallCreateInstance("lcomp.dll");
	LUnknown* pIUnknown = CreateInstance(slot);
	if (pIUnknown == NULL) 
	{
		trace("CallCreateInstance failed");
		return 1;
 }

	trace("Get IDaqLDevice interface");
	IDaqLDevice* pI;
	HRESULT hr = pIUnknown->QueryInterface(IID_ILDEV, (void**)&pI);
	if (!SUCCEEDED(hr))
	{ 
		trace("Get IDaqLDevice failed");
		return 1; 
	}
	trace("IDaqLDevice get success");
	trace("Free IUnknown");
	pIUnknown->Release();

	pI->OpenLDevice(); // начало работы с платой
	pI->GetSlotParam(sl);
	pI->LoadBios("l780");
	pI->PlataTest();
	pI->ReadPlataDescr(pd);
	pp.s_Type = L_ASYNC_ADC_INP;
	pp.Chn[0] = 0x00; // 0 канал дифф. подключение (в общем случае лог. номер канала)
	pI->IoAsync(&pp);
	cout << (short)pp.Data[0] << endl; // в Data[0] код АЦП 
	pI->CloseLDevice(); // завершение работы
	pI->Release();
	system("PAUSE");
}

В результате, имеюosh2.png
Если удаляю из кода все, что связано с trace имею последние 2 ошибки, появляющиеся при компиляции, никак не отражающиеся в коде.osh1.png
Буду очень признателен за анализ возможных ошибок.

#9 Re: Техническая поддержка » Получение данных » 20.03.2018 18:24:24

Poul пишет:

как модуль выдает так напрямую данные и записываются. для скорости.

В таком случае мне необходимо знать структуру записи данных в двоичной форме для перевода в десятичную.

#10 Re: Техническая поддержка » Получение данных » 19.03.2018 20:31:14

Poul пишет:

ну там они в двоичном формате. так просто не получится. надо или в примере их в другом формате выводить или какую-нибудь программу написать для чтения и конвертации.

А с какой целью это было сделано? Это функция по умолчанию выдает результаты в двоичном формате или уже сама программа пример преобразует?

#11 Техническая поддержка » Получение данных » 18.03.2018 21:49:20

Ярослав
Ответов: 17

Добрый вечер! Рассматриваю на примере l7xx.tst получение данных отсчетов с ацп, которые сохраняются в .dat файл. При помощи обычного блокнота и notepad++ в читаемый формат привести не удалось, интересуют варианты "расшифровки". Заранее спасибо.

#12 Re: Техническая поддержка » Идентификация платы L780 » 05.02.2018 18:30:25

Poul пишет:

не увидел никаких проблем практически. скачал VS2017 community edition.  открыл солюшн  L7XX.TST, исправил версию SDK в свойствах проекта с 7.1 на 10.0, в тексте исходника или void *data переименовать в void *data1 или :: перед data поставить. и все собирается без ошибок.

Выполнил последние указанные действия, эффект возымели, спасибо.

#13 Re: Техническая поддержка » Идентификация платы L780 » 19.01.2018 17:09:35

Poul пишет:

быстро нет. я 2010 пользуюсь. я попробую поставить 2017 и посмотреть что-там происходит...

Спасибо. прошу отписать по результату.

#14 Re: Техническая поддержка » Идентификация платы L780 » 17.01.2018 20:47:53

Poul пишет:

2017 не конвертирует проекты 2010? в принципе  главное все файлы в проект включить и пути прописать до папки INCLUDE. create.cpp lguids.cpp client.cpp это cpp которые должны быть в проекте.

Видимо, конвертирует, но с большими проблемами. Подключил все как в примере, согласно руководству, написал часть кода. На ошибки в написанном мною коде не указывает, но зато при компиляции 178 ошибок, и все в подключенном файле ioctl.h. У вас есть возможность смоделировать ситуацию, используя visual studio 2017?
oshibki.png

#15 Re: Техническая поддержка » Идентификация платы L780 » 26.12.2017 21:13:08

Poul пишет:

а просто проект примера открыть и посмотреть как там? L7XX.TST в папке \L-Card\Library

Ссылки на подключенные к проекту файлы недействительны, в результате VS не видит даже подключенные windows.h и прочие файлы. Их я подключил прописав прямой путь к их обычному местоположению - видит. Но при компиляции 1614 ошибок, поэтому, увы, не проще.

#16 Re: Техническая поддержка » Идентификация платы L780 » 25.12.2017 21:54:19

Доброго вечера, делаю аналогично примеру, при комплиция проекта вылезает 178 ошибок и все в ioctl.h Ошибки из серии синтакически (отсутствие скобок, спецификатора типа). Использую Vs 2017, в чем может быть причина?

#17 Re: Техническая поддержка » Идентификация платы L780 » 20.12.2017 15:51:29

Poul пишет:

в папке INCLUDE все есть. в проектах-примерах  должно быть create.h create.cpp и lguids.cpp.

Спасибо.

#18 Техническая поддержка » Идентификация платы L780 » 19.12.2017 22:35:12

Ярослав
Ответов: 11

Добрый вечер, согласно руководству программиста создал файл create.h со следующим содержанием

#ifndef __TEST__
#define __TEST__

typedef IDaqLDevice* (*CREATEFUNCPTR)(ULONG Slot);

ULONG CallCreateInstance(char* name);

extern CREATEFUNCPTR CreateInstance;

#endif

VS 2017 не определяет идентификатор IDaqLDevice*б какие решения или чего не хватает?
Заранее спасибо.

#19 Re: Техническая поддержка » Plx_api.h » 04.10.2017 17:05:15

Poul пишет:

ну это грубо говоря printf. и в текущих готовых примерах  его давно уже нет. смотрите в L-Cаrd/Library/L7xx.tst

Спасибо. Но почему в руководстве программиста под современную библиотеку LComp используются старые методы, да и функции отличаются от тех, что в примерах.

#23 Re: Техническая поддержка » Plx_api.h » 02.10.2017 23:23:55

Спасибо. Используя руководство, пытаюсь составить рабочую программу для инициализации платы. VS 2017 пишет, что идентификатор trace не определен. Вроде все, что нужно подключил...

#24 Техническая поддержка » Plx_api.h » 19.09.2017 14:55:18

Ярослав
Ответов: 7

Добрый день! Установил последнюю версию драйверов lcomp. Согласно руководству для программистов для платы  l780m необходимо в среде программирования подключить библиотеку plx_api.h, которая находится в папке library lcard. К сожалению, этого заголовочного файла я не нашел. Хочу уточнить, где его взять?

#25 Re: Техническая поддержка » Примеры ПО » 16.08.2017 14:07:33

В данном случае ничего, хотя другие программы из библиотеки запустились. Есть программа, строящая график, есть ли возможность зуммирования в ней?

Контакты

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

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

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

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