добрый день. используем прибор трм138 и надо реализовать опрос параметров без использования ваших библиотек. такие вопросы уже были. для упрощения разработки было бы неплохо получить пример опроса реализованный на с.
за ранее благодарен.
добрый день. используем прибор трм138 и надо реализовать опрос параметров без использования ваших библиотек. такие вопросы уже были. для упрощения разработки было бы неплохо получить пример опроса реализованный на с.
за ранее благодарен.
протокол овен. пример реализации в прикрепленном архиве
Последний раз редактировалось Дмитрий Егоренков; 27.02.2010 в 12:15.
Дмитрий, спасибо.
Сразу же по свежим следам. В процедуре packFrameToAscii видно, что маркер конца пакета преобразуется в 2 байта ASCII. Это так ? Потому-что в протоколе описано под это только 1 байт. Или 0-символ не принципиален ?
Или я не правильно понял.
У меня сейчас проблема в том, что посылка формирется правильно, но прибор не отвечает. Не пойму в чем причина.
последний 0 -- это дань сишным строкам. он не посылается в прибор. соответственно, маркер '#' добавляется без преобразования.
Вышлите пример рабочей программы для 101 трм на Delphi? Плиз prog.rabota@mail.ru
ну или исходники бибилиотеки
пример на дельфи поставляется вместе с библиотекой. более рабочего примера и консультантов по дельфи у нас нет.
Может кто знает, подскажите следующее:
Импортирую функцию в с#:
//Чтение значения
[DllImport("owen_io", EntryPoint = "ReadSI8BCD", ExactSpelling = true, CharSet = CharSet.Ansi, SetLastError = true)]
private static extern int OwenReadSI8BCD(int adr, int adr_type, string cmd, int value);
Вызываю:
int open, res;
res = OwenReadSI8BCD(1, 0, "DCNT", 0);
Вроде все просто, но выходит ошибка, res<0. Не понимаю в чем может быть ошибка.
порт открыт, что то еще не разобрался как смотреть код ошибки, тоже функция есть для этого какая то? вообще в описании написано: возвращаемое значение
при успехе Err_ok, при неудаче <0. и все.