Показано с 1 по 6 из 6

Тема: Универсальная функция обмена с приборами OwenIO

  1. #1

    По умолчанию Универсальная функция обмена с приборами OwenIO

    1.Поясните пожалуйта подробнее что означает параметр "param_sz", в справке написано что это "Размер параметра, передается и возвращается"
    2. если можно пример чтения или записи любого параметра прибора с использованием этой функции

  2. #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.

  3. #3

    По умолчанию

    покажите пожалуйста примеры чтения и записи регистров выходов МВУ

  4. #4

    По умолчанию

    как-то так. функции для работы с параметрами приборов можно посмотреть в файле 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();

  5. #5

    По умолчанию

    большое спасибо. все работает.

  6. #6

    По умолчанию

    покажите пожалуйста примеры чтения измеренных значений на входах мва

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •