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

Тема: ТРМ201 на Builder c++

  1. #1

    По умолчанию ТРМ201 на Builder c++

    Долго рылся по форуму выискуя кусочки кодов, чтобы считать некоторые параметры ТРМ201. Вот и хочу поделится с новичками тем самым кодом, уже провереным в работе, чтобы не заморачивались.

    int port = 1; // номер порта, можна было сделать из ListBox
    int res;
    res = OpenPort(port - 1, spd_9600, prty_NONE, databits_8, stopbit_1, RS485CONV_MANUAL);
    if (res != ERR_OK)
    {
    ShowMessage("Ошибка открытия порта.\n");

    return;
    }
    else
    {
    // ShowMessage("Порт открыт");
    }

    res = ReadUInt(address, 0, "bPS", r, -1);
    Memo2->Lines->Add("Скорость соединения");
    if(r==2) // Switch-case лень писать
    Memo2->Lines->Add("9600");
    else
    Memo2->Lines->Add(r);

    res = ReadUInt(16, ADRTYPE_8BIT, "Addr", r, -1);
    Memo2->Lines->Add("Адрес");
    Memo2->Lines->Add(r);

    float val1;
    res= ReadFloat24(16,0,"LuPV",val1,-1);
    Edit1->Text=FloatToStr(Round(val1,2));
    Memo2->Lines->Add("Значение темпетратуры");
    Memo2->Lines->Add(Round(val1,2));

    res= ReadFloat24(16,0,"SP",val1,0);
    Memo2->Lines->Add("Уставка");
    Memo2->Lines->Add(val1);

    float val2;
    res= ReadFloat24(16,0,"SH",val2,0);
    Memo2->Lines->Add("Сдвиг характеристики датчика");
    Memo2->Lines->Add(val2);

    res= ReadFloat24(16,0,"SL.H",val2,0);
    Memo2->Lines->Add("Верхняя граница задания уставки");
    Memo2->Lines->Add(val2);

    res= ReadFloat24(16,0,"KU",val2,0);
    Memo2->Lines->Add("Наклон характеристики");
    Memo2->Lines->Add(Round(val2,2));


    // Содержимое поля данных протокола ОВЕН
    char data[OWENIO_DATA_BUFFER_SIZE];
    // Для чтения оперативных параметров, и параметров
    // без индекса, поле данных пустое.
    DWORD dataSize = 0;
    res = OwenIO(16, 0, 1, "Dev", data, &dataSize);
    char data1[8];
    for(int i=0;i<8;i++)
    {
    data1[i]=data[7-i] ;
    }
    Memo2->Lines->Add("Тип прибора");
    Memo2->Lines->Add(data1);

    dataSize = 0;
    res = OwenIO(16, 0, 1, "Ver", data, &dataSize);
    for(int i=0;i<8;i++)
    {
    data1[i]=data[7-i] ;
    }
    Memo2->Lines->Add("Версия прибора");
    Memo2->Lines->Add(data1);
    ---------------------------------------------------------------------------------------------------------
    Последний раз редактировалось Rustam; 06.07.2013 в 15:04.

  2. #2

    По умолчанию

    А как саму библиотеку подключил к Builder C++?

Похожие темы

  1. C++ Builder и ПЛК, команда на включение питания.
    от mande в разделе Помощь Разработчикам
    Ответов: 3
    Последнее сообщение: 13.06.2013, 19:05
  2. C++ Builder
    от weart в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 06.02.2012, 09:48
  3. ПЛК100(RS-232) и C++ Builder
    от ayforio в разделе Помощь Разработчикам
    Ответов: 5
    Последнее сообщение: 09.03.2011, 17:55
  4. чтение МВА C++Builder
    от bango в разделе Сервисное ПО
    Ответов: 0
    Последнее сообщение: 27.09.2009, 17:14
  5. Исключение класса EAccessViolation в Builder
    от Witok в разделе Помощь Разработчикам
    Ответов: 0
    Последнее сообщение: 16.03.2009, 20:02

Метки этой темы

Ваши права

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