This is topic Опрос данных с платы in forum Драйверы / Device Drivers at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/43/t/000201.html

Posted by jasper1 (Участник № / Member № 9434) on :
 
Добрый день.

Подскажите, каким образом рекомендуется принимать данные с платы производителя СКБ ИС ЛИР-941-PCI-9pin-G2. Возможно уже реализовывали опрос с похожими платами этого производителя.
С данной платой поставляется драйвер для windows и библиотека dll.
по возможности прошу прислать пример использования внешней библиотеки.

спасибо.
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Можно попробовать через программу на ST. Описано в справке в разделе: Программирование алгоритмов - Программирование алгоритмов в TRACE MODE 6 - Описание языка Техно ST - Функции Техно ST - Внешние библиотеки функций. Там все банально должно быть, но если возникли трудности, напишите запрос на почту техподдержки (почта указана в Личном кабинете в разделе "Обратиться за технической поддержкой").
 
Posted by jasper1 (Участник № / Member № 9434) on :
 
Можете подсказать, каким образом передавать в функцию аргумент типа char?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Char - символьный тип данных.
Используйте String.
Подробнее в Справочной Системе - Программирование алгоритмов - Описание языка ST - Переменные и константы ST - Определение переменных и констант
 
Posted by jasper1 (Участник № / Member № 9434) on :
 
да, я так и делаю.
но проблема в том, что не понятно какой формат записи для строковой переменной у которой передается первый символ должен быть?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
STRING (WCHAR*) – 256 символов в кодировке utf-8 (см. также Строковые константы Техно ST );

Описание в справке в разделе: Программирование алгоритмов - Программирование алгоритмов в TRACE MODE 6 - Описание языка Техно ST - Функции Техно ST - Внешние библиотеки функций

При взаимодействии с внешней библиотекой строка передается в формате Unicode (16 бит). Переменная TRACE MODE должна иметь тип данных STRING, указатель на строку в DLL – WCHAR. Для перевода из WCHAR в CHAR в DLL может использоваться функция WideCharToMultiByte.
 
Posted by jasper1 (Участник № / Member № 9434) on :
 
С описанием из справочной системы ознакомился первым делом.
Т.е. передать символ из переменной нельзя, передается вся переменная, а библиотека должна сама уметь разбирать на символы.
В таком случае непонятен следующий вопрос: аргументам функции можно назначить тип char, но передавать я так понимаю можно только константу. Верно ли это утверждение?
и второй вопрос (для экономии времени на эксперименты): в библиотеке, которую мне необходимо подключить, тип возвращаемого значения bool. например:
LIR_API bool __stdcall Open_Driver_LIR_X (char plata_number , HANDLE &hFile);
LIR_API bool __stdcall AbsReadKanalData(HANDLE hFile, UCHAR kanal_number, ULONG &data);
возможно ли из trace mode вызывать такие функции (с типом возвращаемого значения bool)?

пример проекта с подключением библиотеки вы можете предоставить?
 
Posted by jasper1 (Участник № / Member № 9434) on :
 
непонятен следующий вопрос: аргументам функции можно назначить тип char, но передавать я так понимаю можно только константу. Верно ли это утверждение?
и второй вопрос: в библиотеке, которую мне необходимо подключить, тип возвращаемого значения bool. например:
LIR_API bool __stdcall Open_Driver_LIR_X (char plata_number , HANDLE &hFile);
LIR_API bool __stdcall AbsReadKanalData(HANDLE hFile, UCHAR kanal_number, ULONG &data);
возможно ли из trace mode вызывать такие функции (с типом возвращаемого значения bool)?
 
Posted by jasper1 (Участник № / Member № 9434) on :
 
Добрый день.
При запуске проекта с использованием внешней библиотеки в файле профайлера возникает ошибка
(15:52:53) WRN_LOAD:Templates load error 22,ID=0 Type=1.
в папке RTM_1 библиотека есть с тем же именем, что и в проекте.
есть ли какие то ограничения на имя библиотеки?
необходимо ли регистрировать библиотеку в системе (про это в документации ничего не сказано)?
 
Posted by АдАстра. Техподдержка (Участник № / Member № 4) on :
 
Добрый день.
Любую внешнюю библиотеку (dll-файл), если она не windows'овая, необходимо регистрировать.

Если библиотека не зарегистрирована, то при запуске проекта как раз будет сообщение о библиотеке, которой нет.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2