1.Поясните пожалуйта подробнее что означает параметр "param_sz", в справке написано что это "Размер параметра, передается и возвращается"
2. если можно пример чтения или записи любого параметра прибора с использованием этой функции
1.Поясните пожалуйта подробнее что означает параметр "param_sz", в справке написано что это "Размер параметра, передается и возвращается"
2. если можно пример чтения или записи любого параметра прибора с использованием этой функции
это размер поля данных протокола ОВЕН.
вот пример:
Код:int ReadInt(int address, const char* name, int index, int& value) { unsigned char data[15]; DWORD dataSize = 0; if (index != -1) { data[dataSize++] = (char)((index >> 8) & 0xFF); data[dataSize++] = (char)(index& 0xFF); } int res = OwenIO(address, ADRTYPE_8BIT, 1, (char*)name, (char*)data, &dataSize); if (res != ERR_OK) return res; if (index != -1) { dataSize -= 2; } _ASSERT(0 < dataSize && dataSize <= 15); if (0 >= dataSize || dataSize > 15) return ERR_FORMAT; value = 0; for (int i = 0; i < dataSize; ++i) { value <<= 8; value += data[i]; } return ERR_OK; }
Последний раз редактировалось Дмитрий Егоренков; 22.05.2009 в 12:24.
покажите пожалуйста примеры чтения и записи регистров выходов МВУ
как-то так. функции для работы с параметрами приборов можно посмотреть в файле tas.txt, который поставляется с библиотекой.
Код:int res; float value; res = OpenPort(COM_1, spd_9600, prty_NONE, databits_8, stopbit_1, RS485CONV_AUTO); // первый канал прибора с адресом 16 res = ReadFloat24(16, ADRTYPE_8BIT, "r.Oe", value, -1); res = WriteFloat24(16, ADRTYPE_8BIT, "r.Oe", 0.5f, -1); // второй канал прибора с адресом 16 res = ReadFloat24(16 + 1, ADRTYPE_8BIT, "r.Oe", value, -1); res = WriteFloat24(16 + 1, ADRTYPE_8BIT, "r.Oe", 0.5f, -1); ClosePort();
большое спасибо. все работает.
покажите пожалуйста примеры чтения измеренных значений на входах мва