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

Тема: отрицательная уставка в трм-251

  1. #1

    Unhappy отрицательная уставка в трм-251

    Использую OWEN_IO.dll и Delphi. Базовый адрес прибора 16. Запись SP (уставки) для 1й программы технолога, 1й шаг.

    var tmpr: integer;
    ...
    WriteWord(16,0,'SP',tmpr,0);
    ...

    При tmpr>0 все проходит отлично. Уставка пишется, все счастливы. При tmpr<0 - сетевая ошибка ERR_NERR (-104)
    Пробовал до кучи WriteFloat24 и WriteIEEE32. Та же история.
    Что я делаю не так?

    P.S. У меня одного поиск по форуму не работает?

    UPDATE
    Проблема решена. WriteStoredDotS отлично пишет любые уставки в прибор.
    Последний раз редактировалось Танец Ветра; 19.10.2010 в 00:43. Причина: решение найдено

  2. #2

    По умолчанию

    Ребята. Это абзац. Расшифровав пакеты, идущие с конфигуратора (с помощью этой утилиты отрицательная уставка (SP) писалась отлично) - я, мягко говоря, оторопел.
    В ТРМ-251 уставка "-35" отправлялась как 0х8023. Т.е. представление программистов ОВЕН об отрицательных числах - это не дополнительный код, как во всем мире в вычислительной технике, а положительное число с установленным старшим разрядом в "1".
    Теперь вопрос:
    Как с помощью OWEN_IO.dll передать отрицательную уставку в прибор?
    Последний раз редактировалось Танец Ветра; 17.10.2010 в 21:18.

  3. #3

    По умолчанию

    1) Уточните - какая версия библиотеки - последняя ли?
    2)WriteWord - не понятно из какой экспортируемой функции взята?
    3) Вообще то, с библиотекой в каталоге Docs идет список тегов для всех приборов См. п 16
    По хорошему, надо использовать WriteStoredDotS - именно эту а не WriteStoredDotU.
    Программисты Овен, конечно не понимают в векторных вычислениях с использованием модных наборов комманд MMX4+ и по старинки пытаются ~10000 параметров записать 8 кБ eeprom. Простите нас, навсегда отставших от облачных вычислений.
    Последний раз редактировалось Малышев Олег; 18.10.2010 в 10:03.
    Часто задаваемые вопросы по кодесис
    1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
    2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie

  4. #4

    По умолчанию

    1. Версия библиотеки: 1.2.0.17
    2. Кусок кода, взятого из примера для Delphi, представленного в архиве вместе с библиотекой:
      Код:
      ...
      type
      // Запись целочисленного значения размером в два байта
      TProcWriteWord=function (adr,adr_type:DWORD;command:pchar;value:integer;index:integer):integer;stdcall;
      ...
      var
      WriteWord:TProcWriteWord; 
      ...
      function InitLib:boolean;
      begin
      hLibInst:=LoadLibrary('owen_io');
              if(hLibInst=INVALID_HANDLE_VALUE) then begin result:=false;exit;end;
      WriteByte:=GetProcAddress(hLibInst,'WriteByte');
              if(not Assigned(WriteByte)) then begin result:=false;exit;end;
      ...
      end;
      ...
      • Теги, п.16 не содержит ничего про ТРМ-251
      • WriteStoredDotS не пробовал. Сегодня вечером попробую. Спасибо за совет.
      • По-секрету, для программистов ОВЕН: записанное в слово (2 байта) отрицательное число что в представлении ОВЕН, что в дополнительном коде - занимает все те же 2 байта. не больше и не меньше.
      • Отсталость программистов ОВЕН в вопросах облачных и векторных вычислений, а также не знание модных наборов команд SSE4+, думаю, является их проблемой, слабо связанной с темой этого топа

  5. #5

    По умолчанию

    C точки зрения команд трм251=трм151
    по-секрету, для программистов овен: записанное в слово (2 байта) отрицательное число что в представлении овен, что в дополнительном коде - занимает все те же 2 байта. не больше и не меньше.
    да вообщем то я толсто намекаю что формат хранения и передачи параметров не совпадает с форматом в котором ведутся вычисления.
    Последний раз редактировалось Малышев Олег; 18.10.2010 в 11:48.
    Часто задаваемые вопросы по кодесис
    1) Почему программа не работает - Следует выполнить "Онлайн ->Старт"
    2) Где скачать CoDeSys, таргеты, прошивки, библиотеки - http://www.owen.ru/catalog/codesys_v3/opisanie

  6. #6

    По умолчанию

    Цитата Сообщение от малышев олег Посмотреть сообщение
    c точки зрения команд трм251=трм151

    да вообщем то я толсто намекаю что формат хранения и передачи параметров не совпадает с форматом в котором ведутся вычисления.
    формат "дополнительный код" был придуман как раз для упрощения проведения арифметических действий в цифровых устройствах. иначе - все бы давно уже пользовались форматом, придуманным на фирме "овен" :d
    --
    в любом случае, ответ на свой вопрос я получил, и обязательно отпишусь здесь о результате применения вышеуказанной функции.

  7. #7

    По умолчанию

    Проблема решена. WriteStoredDotS отлично пишет любые уставки в прибор.

  8. #8

    По умолчанию

    разрешите поинтересоваться, с какой целью вы записываете в трм251 отрицательную уставку? трм251 работает только по логике «нагреватель», все, что может сделать трм251 для охлаждения объекта регулирования – это выключить нагреватель.
    Максим Крец
    Компания ОВЕН
    Руководитель направления “Контрольно-измерительные приборы”

    skype: m.krets
    e-mail: tech@owen.ru

  9. #9

    По умолчанию

    Цитата Сообщение от Maximus Посмотреть сообщение
    разрешите поинтересоваться, с какой целью вы записываете в трм251 отрицательную уставку? трм251 работает только по логике «нагреватель», все, что может сделать трм251 для охлаждения объекта регулирования – это выключить нагреватель.
    охлаждение детали - азотом, через испарительную камеру. расход азота - постоянный. для поддержки необходимой температуры детали в требуем коридоре - ПИД управляет работой подогревающего ТЕНа

Ваши права

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