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


Форум

Вы не вошли.

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

#1 Re: Техническая поддержка » Модуль "E14-440" Статус -> Ошибка 3 » 18.08.2014 14:46:34

Хорошо, но что теперь делать с устройством? можно ли восстановить флеш самостоятельно или необходимо отсылать его вам?

#2 Re: Техническая поддержка » Модуль "E14-440" Статус -> Ошибка 3 » 08.08.2014 10:27:37

Драйверы свежие (обновил на той неделе), к тому же другой модуль (E14-140) работает без проблем. Последний раз я с ним пробовал работать  в прошлом году (проблем не было), после меня с ним работал коллега (который больше у нас не работает).

#3 Техническая поддержка » Модуль "E14-440" Статус -> Ошибка 3 » 04.08.2014 17:54:37

Dima131
Ответов: 5

Случилась следующая ситуация - модуль Е14-440 (2012г.) отображается в L-Graph как E14-140, при этом указывая на ошибку 3 - "не могу прочитать информацию из ППЗУ модуля". Функция SlotParam возвращает значение, соответствующее E440, однако при вызове ReadPlataDescr возвращается каша. С чем может быть это связано и как восстановить устройство?

#4 Re: Техническая поддержка » Использование LComp.dll в .Net » 04.08.2014 13:35:48

Я решил попробовать COM потому, что в описании сказано, что это COM, хоть и не совсем. А то, что функция GetSlotParam сработала - дало надежду на то, что получится  пойти таким путем. Но, похоже действительно, придется идти через врапер.
Мне все хочется узнать, почему у вас до сих пор не появилось поддержка .Net? Я понимаю, что все это можно сделать самому, но на это придется тратить довольно много времени

#5 Re: Техническая поддержка » Использование LComp.dll в .Net » 04.08.2014 12:47:18

[Guid("32bb8320-b41b-11cf-a6bb-0080c7b2d682"), InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
    public unsafe interface IDaqLDevice
    {
        IntPtr OpenLDevice();
        L_Result LoadBios(string Filename);
        L_Result PlataTest();
        L_Result GetSlotParam(ref SLOT_PAR slPar);
        L_Result ReadPlataDescr(void* pd);
     // L_Result IoAsync(PDAQ_PAR sp);
     // L_Result RequestBufferStream(ref uint Size, uint StreamId = L_STREAM_ADC);
     // L_Result SetParametersStream(PDAQ_PAR sp, ref uint UsedSize, ref IntPtr Data, ref IntPtr Sync, uint StreamId = L_STREAM_ADC);
     // L_Result FillDAQparameters(PDAQ_PAR sp); 
     // L_Result InitStartLDevice();
     // L_Result StartLDevice();
     // L_Result StopLDevice();
     // L_Result CloseLDevice();
    }

static unsafe void Main(string[] args)
       {
            var Dev = LComp.CreateDevice(0);
            Console.WriteLine("OpenLDevice: {0}", Dev.OpenLDevice());
            var par = new SLOT_PAR();
            Console.WriteLine("GetSlotParam: {0}", Dev.GetSlotParam(ref par));
            Console.WriteLine("LoadBIOS: {0}", Dev.LoadBios("E440") );

            var arr = new byte[256];
            fixed (void* pd = &arr[0] )
            {
                Console.WriteLine("ReadPlataDescr: {0}", Dev.ReadPlataDescr(pd));
            }
            Console.ReadLine();
        }

просмотрел пример - с ним следующие отличия - я пока пытаюсь работать с lcomp.dll с COM-объектом. Выше я привел код, над которым на данный момент работаю. Функция GetSlotParam - возвращает правильные значения для типов плат, однако ReadPlataDescr - не изменяет значения массива arr

#6 Re: Техническая поддержка » Использование LComp.dll в .Net » 04.08.2014 10:01:59

Спасибо smile попробую пока изучить эту тему, и если это не поможет - то напишу сюда, уже более конкретно

#7 Re: Техническая поддержка » Использование LComp.dll в .Net » 04.08.2014 09:05:40

по крайней мере, на запросы "C#" и ".Net" я не нахожу ничего, даже ЭТУ тему