Показано с 1 по 10 из 25

Тема: ПЛК-63 не устанавливаются состояния выходов c регистров по modbus

Древовидный режим

Филоненко Владислав 1. Адрес неправильный. 4184... 05.04.2010, 11:57
Филоненко Владислав так исторически (и не у нас)... 05.04.2010, 14:54
Филоненко Владислав 10015 - битовый доступ по... 05.04.2010, 16:36
Филоненко Владислав Кто в лес, кто по дрова. 1.... 12.04.2010, 09:50
Филоненко Владислав Адрес modbus (копия области... 12.04.2010, 13:38
Филоненко Владислав Адрес modbus (копия области... 12.04.2010, 15:20
Филоненко Владислав запись только по адресам в... 12.04.2010, 18:11
Gosha Т.е. по адресам {0,1}..... 12.04.2010, 20:37
Филоненко Владислав какую такую ошибку? нет... 12.04.2010, 22:50
Филоненко Владислав Request 00:07 ... 13.04.2010, 08:42
Филоненко Владислав значит в таблице опечатка.... 14.04.2010, 15:29
Филоненко Владислав действительно очепятка. ... 15.04.2010, 10:05
Филоненко Владислав для всех в столбце. вроде бы.... 15.04.2010, 12:21
Филоненко Владислав уточненные данные. поправки... 15.04.2010, 14:12
Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #18

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    какую такую ошибку? нет никакой принципиальной разницы между пользовательскими и параметрами в конфигурации. за исключением контроля диапазона. может вы в нее число вне диапазона пишите?
    Так выше же приведен дамп:
    Пишется число 1.0 [00][00][3F][80]; Байты переставляются местами согласно спецификации modbus. Float отплавляются в ПЛК теми же ф-ями, что и пользовательсткие конфигурациооные float, которые пишутся и читаем на ЖКИ ПЛК то же значение, что пишется.

    У кого есть ПЛК-63 - можете попробовать включить и выключить выход 0 по modbus? Бесплатная утилита http://www.terring.ru/files/apps/Ter...-Installer.exe

    За 2 транзакции это число (1.0 [00][00][3F][80]) пишется, но только по адресам {0,1}.И с них же читается. На ПЛК щелкает релюшка.
    М.б. в документациии групповые адреса не те?
    Код:
    /*============================*/
    1.0== [00] [00] [80] [3f]
    0.5== [00] [00] [00] [3f]
    0.1==[cd] [cc] [cc] [3d]
    0.01==[0a] [d7] [23] [3c]
    /*============================*/
    /* программка печатает дамп 4х байт памяти, которое занимает float число  */
    int main()
    {float v;
     int i;
     unsigned char *p;
     p=(unsigned char *) &v;
     v= 1.0;
     for(i=0; i < 4; i++)
        printf("[%02x] ", p[i]);
     return;
    }
    Последний раз редактировалось Gosha; 13.04.2010 в 07:44.

Ваши права

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