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

Тема: ПЛК73 + МЭ110-224.1Т

  1. #1
    Пользователь
    Регистрация
    13.04.2016
    Адрес
    Московская обл.
    Сообщений
    6

    По умолчанию ПЛК73 + МЭ110-224.1Т

    Здравствуйте уважаемые форумчане.
    Есть контроллер ПЛК73 и однофазный амперметр МЭ110-224.1Т подключенный к первому по линии RS-485 и протоколу ModBus_RTU.
    Написал програмку для контроллера и уперся в такой момент, что в считанном буфере вместо тех данных которые я должен преобразовать в значение типа float лежит полная фигня.

    Код:
    IF COM_SERVICE1.ready=FALSE THEN
    	Settings.Port:=com_num;
    	Settings.dwBaudRate:=115200;
    	Settings.byParity:=0;
    	Settings.dwTimeout:=0;
    	Settings.byStopBits:=0;
    	Settings.dwBufferSize:=0;
    	Settings.dwScan:=0;
    
    	COM_SERVICE1(Enable:=TRUE , Settings:=Settings , Task:=OPEN_TSK  );
    	com_ready:=FALSE;
    ELSE
    	COM_SERVICE1.Enable:=FALSE;
    	com_ready:=TRUE;
    END_IF
    
    IF com_ready=TRUE THEN
    get_modbus(
    	Enable:=enabl ,
    	Mode:=MB_RTU ,
    	DevAddr:=11 ,
    	FirstAddr:=29 ,
    	Quantity:=2,
    	ComHandle:=Settings.Port ,
    	TimeOut:=TimeOut ,
    	Buffer:=Buffer ,
    	Complete=>cmpl ,
    	Exception=>err ,
    	ByteCnt=>DataSize );
    	IF cmpl THEN
    		IF err=0 THEN
    			ptr_D:=ADR(d);
    			ptr_D^:=buffer[6];
    			ptr_D:=ptr_D+1;
    			ptr_D^:=buffer[7];
    			ptr_D:=ptr_D+1;
    			ptr_D^:=buffer[8];
    			ptr_D:=ptr_D+1;
    			ptr_D^:=buffer[9];
    		END_IF
    	END_IF
    END_IF
    
    IF  err <> 0 THEN
     	enabl := FALSE;
    END_IF
    enabl:=TRUE;
    Данные в буфере:


    При просмотре измеренного значения в конфигураторе, значение равно 0.273 А.
    Следовательно я должен получить что-то типа http://www.binaryconvert.com/result_...48046050055051, но этого не происходит.

    Подскажите пожалуйста, куда копать?
    Заранее очень Вам благодарен за полноценный ответ.

  2. #2

    По умолчанию

    Цитата Сообщение от PsychOZ Посмотреть сообщение
    Подскажите пожалуйста, куда копать?
    В сброс Enable до получения ответа.

    P.S. ОВЕН - бяки! сколько просил подправить пример в доке - не делают.

  3. #3
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    10,583

    По умолчанию

    разбирайтесь с приемом, вы даже прочитать его не можете, он вам шлет мусор или скорее вы вместо реального ответа пишите мусор

    Парсер порта на родную программу для начала установите.

  4. #4
    Пользователь
    Регистрация
    13.04.2016
    Адрес
    Московская обл.
    Сообщений
    6

    По умолчанию

    Убрал последнюю строку из кода (enabl:=TRUE и решил этот enabl подергать самостоятельно в режиме "Онлайн".
    Ответ в буфере появляется, но далеко не всегда. К примеру если примерно раз в секунду enabl становится истиной, то на 3-4 попытку в буфере ответ есть.
    И еще заметил что зачастую блок опроса Modbus не хочет перемененную Complete делать истиной по окончании работы.

    Подскажите пожалуйста, как мне стабильно получать ответ?

  5. #5

    По умолчанию

    Ровно так, как я написал. Проблем нет.

  6. #6
    Пользователь
    Регистрация
    13.04.2016
    Адрес
    Московская обл.
    Сообщений
    6

    По умолчанию

    Цитата Сообщение от ASo Посмотреть сообщение
    В сброс Enable до получения ответа.

    P.S. ОВЕН - бяки! сколько просил подправить пример в доке - не делают.
    Не расскажете поподробнее как это сделать?

  7. #7

    По умолчанию

    Рассказывал и не раз. Поищите по форуму.

  8. #8
    Пользователь
    Регистрация
    13.04.2016
    Адрес
    Московская обл.
    Сообщений
    6

    По умолчанию

    Всем спасибо, разобрался сам.
    Тему можно закрывать.

  9. #9

    По умолчанию

    Добрый день господа, подскажите пожалуйста как увеличить частоту опроса аналогового входа на ПЛК 73 ????
    сигнал меняется очень быстро а результат я вижу спустя 2 секунды. Буду признателен

  10. #10

    По умолчанию

    Интересная атмосфера на этом форуме.
    Специально для примера взял эту ветку, человек задал конкретный вопрос и отправил конкретный код программы. Ответы приходят такого плана "В сброс Enable до получения ответа.

    P.S. ОВЕН - бяки! сколько просил подправить пример в доке - не делают." или такого "разбирайтесь с приемом, вы даже прочитать его не можете, он вам шлет мусор или скорее вы вместо реального ответа пишите мусор

    Парсер порта на родную программу для начала установите." или вообще такого плана "Рассказывал и не раз. Поищите по форуму."(хотя всё можно было показать на конкретном примере) РЕЗУЛЬТАТ - "Всем спасибо, разобрался сам.
    Тему можно закрывать." В результате на форуме появляется ещё одна без полезная ветка, не несущая в себе ни какой полезной информации.
    А некоторые продолжают писать "Поищите по форуму", не понимая что своими ответами вы его засоряете. Отсюда совет - не отвечайте в темах которые вам больше не интересны, дабы не плодить такие без полезные ветки.

Похожие темы

  1. МЭ110-220.3М
    от Владиславыч в разделе Мх110
    Ответов: 0
    Последнее сообщение: 14.05.2015, 17:12
  2. МЭ110-220.3М APPLY
    от za9c в разделе Эксплуатация
    Ответов: 9
    Последнее сообщение: 14.04.2015, 14:23
  3. СПК105+МК110-8Д.4Р+МЭ110-220.3М+МЭ110-220.1М
    от plb в разделе СПК1хх
    Ответов: 7
    Последнее сообщение: 11.06.2014, 13:07
  4. МЭ110-224.3М
    от жекон в разделе Подбор Оборудования
    Ответов: 3
    Последнее сообщение: 29.08.2012, 04:56

Ваши права

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