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

Тема: ReadStoredDotS - ошибка в библиотеке?

  1. #1

    По умолчанию ReadStoredDotS - ошибка в библиотеке?

    Здравствуйте!
    Имеем ТРМ138, подключенный к ПК с помощью библиотеки owen_io. Обнаружил некорректную работу функции ReadStoredDotS. При чтении значения уставки C.SP функция возвращает неправильное значение.
    Пример. На ЦПУ-2 для канала 1 горит значение "30.0". При прогоне такого кода:
    res = ReadStoredDotS(0, ADRTYPE_8BIT, "C.SP", value, -1);
    printf("%f\n", value);
    на экране ПК получим "439.600006".
    Аналогично при чтении значения "45.0" на ЦПУ-2, на экране ПК получим "454.600006".

    Если же предварительно записать целое значение уставки, а потом прочитать его с помощью такого кода:
    float value=30.0;
    res = WriteStoredDotS(0, ADRTYPE_8BIT, "C.SP", value, -1);
    res = ReadStoredDotS(0, ADRTYPE_8BIT, "C.SP", value, -1);
    printf("%f\n", value);
    , то на ЦПУ-2 загорается "30" (без точки и нуля), а на экране ПК получим "30.000000".

    На сколько я понял, функция ReadStoredDotS возвращает некорректное значение, если считываемый параметр отображается на ЦПУ-2 как не целое число.

    Среда разработки c++ builder, поэтому файл owen_io.lib конвертировал с помощью coff2omf.exe.

    Поэтому вопрос: это действительно ошибка в библиотеке, проблема из-за конвертации lib файла, или я что-то недопонял?

  2. #2

    По умолчанию Re:

    А библиотеку давно скачивали?
    Часто задаваемые вопросы по кодесис
    1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
    2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie

  3. #3

    По умолчанию

    Скачивал на прошлой неделе.

  4. #4

    По умолчанию

    Насколько я помню, была такая проблема в свое время, и ее решали. Может быть опять поломали? Пошлите запрос на support@owen.ru с описанием проблемы
    Часто задаваемые вопросы по кодесис
    1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
    2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie

  5. #5

    По умолчанию

    Спасибо, буду туда обращаться.

  6. #6

    По умолчанию

    В службе поддержки сказали что это действитеьно ошибка в библиотеке. Посоветовали получить данные с помощью функции owenio. На мой вопрос когда будет исправлена ошибка в библиотеке, так ответа и не дали. Поэтому пришлось разбираться с owenio. Вот код написанный на borland c++ builder, может кому-то пригодится.

    float value=0;//C.SP value
    int res=0;

    res = OpenPort(0, spd_9600, prty_NONE, databits_8, stopbit_1, RS485CONV_AUTO);
    if (res != ERR_OK) printf(" error opening port\n");

    //---------- Read C.SP
    char data[3];
    DWORD dataSize = 0;
    short znak; // znak according to 5.1.2
    unsigned __int8 d8;
    unsigned __int16 d16;
    unsigned __int8 step; // stepen' according to 5.1.2
    res = OwenIO(0, ADRTYPE_8BIT, 1, "C.SP", (char*)data, &dataSize);
    if (res != ERR_OK) printf(" error reading C.SP\n");

    //opredelenie C.SP soglasno p. 5.1.2 opisaniya protokola
    d8=data[0];
    if (( d8 & 0x80)>0) (znak = -1); else (znak = 1);
    d8<<=1;
    d8>>=5;
    step=d8;
    d8=data[0];
    d16=d8;
    d16<<=12;
    d16>>=4;

    d8=data[1];

    d16=d16 | d8;

    value=znak*pow(10,-step)*d16;

Похожие темы

  1. Ошибка ПЛК
    от Push_ON в разделе Эксплуатация
    Ответов: 14
    Последнее сообщение: 18.03.2011, 14:39
  2. ошибка плк
    от igorsp в разделе Эксплуатация
    Ответов: 5
    Последнее сообщение: 02.11.2009, 09:37
  3. Вопрос по библиотеке UNM
    от askpify в разделе ПЛК1хх
    Ответов: 3
    Последнее сообщение: 31.10.2009, 23:50
  4. По Овеновской библиотеке PID ?
    от mar154 в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 28.10.2008, 12:32
  5. ошибка ТРМ 202
    от КИП в разделе Эксплуатация
    Ответов: 4
    Последнее сообщение: 10.10.2008, 09:44

Ваши права

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