Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 22

Тема: Modbus контроль ошибок соединения

  1. #11

    По умолчанию

    Добрый день.

    Решил не создавать новую тему, а поднять старую. Тема та же, только под другим углом.

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    Почитать описание. Есть в подмодуле ModBus Master соответствующие параметры, отвечающие за ошибку обмена.
    Цитата Сообщение от Александр Приходько Посмотреть сообщение
    Велосипед в миллионный раз изобретать интересно, но!
    Открываем РП и читаем главу Modbus Master из которой мы узнаем, что есть два регистра

    last adres и last error.
    Подскажите пожалуйста, как выяснить адрес устройства, с целью контроля связи, при опросе приборов по Ethernet (ПЛК110 опрашивает через МКОН).
    В данном случае в регистре last adress постоянное значение, вероятно т.к. IP один, а адрес конечного прибора задается в "Universal Modbus device".

  2. #12
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,546

    По умолчанию

    при опросе приборов по Ethernet (ПЛК110 опрашивает через МКОН).
    Туз бубей говорит что плк по eth, а приборы на rs, тогда
    как выяснить адрес устройства
    почитать собственное РЭ устройства

  3. #13

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Туз бубей говорит что плк по eth, а приборы на rs, тогда

    почитать собственное РЭ устройства
    Добрый день, Валенок.

    Спасибо что откликнулись.

    Прошу Вас пояснить, что Вы имели ввиду. Адрес устройств опрашиваемых по RS мне известны, опрос ПЛК110 Ethernet Modbus Master > МКОН > устройства RS485 Slave производится.

    В РП "Программирование программируемых логических контроллеров ПЛК110" содержится информация обсуждаемая в данной теме:
    «Last Address» – содержит адрес последнего опрошенного мастером
    устройства
    (адрес последовательного устройства или IP-адрес, в зависимости от режима работы универсального устройства ModBus);
    − «Last error» – содержит код ошибки из таблицы В.1"


    Меня интересует, как в CoDeSys 2.3 выяснить какому из устройств на нижнем уровне (Slave RS485) принадлежит ошибка содержится в "Last error", какой ModbusSlaveAdress в данный момент опрашивается. В регистре «Last Address» всегда одно и то же значение = IP МКОН.
    2020-10-30_08-08-20.jpg

    РЭ на какое устройство мне стоит еще раз перечитать?
    Последний раз редактировалось kait-volga; 30.10.2020 в 07:16.

  4. #14
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,546

    По умолчанию

    как выяснить адрес устройства
    Адрес устройств опрашиваемых по RS мне известны
    обычное дело

    РЭ на какое устройство мне стоит еще раз перечитать?
    Теперь - на МКОН. Почему то кажется что стр 17

  5. #15

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    обычное дело


    Теперь - на МКОН. Почему то кажется что стр 17


    РЭ МКОН конечно же читал, возможно не то ищу, поэтому и спрашиваю.

    стр. 17 РЭ МКОН содержит изображение плагина настроек шлюза, примечание о резервировании адреса 1 и отсыл к приложению "Ручная настройка".
    Я не нахожу здесь ответа на вопрос, как в CoDeSys 2.3 диагностировать ошибку связи с определенным Slave устройством в сети RS-485.

  6. #16
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,546

    По умолчанию

    Я не нахожу здесь ответа на вопрос
    У меня нет мкона. РЭ/Рис 7.5. Разным slave id в rtu разные slave id в tcp - не ?

  7. #17

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    У меня нет мкона. РЭ/Рис 7.5. Разным slave id в rtu разные slave id в tcp - не ?
    Вероятно "не". "Рисунок 7.5 – Настройки шлюза Master RS-485/Slave Ethernet" - другой режим. Меня интересует Master Ethernet/Slave RS-485.

    Если я верно трактую документацию, при обращении к МКОН по Ethernet порт не изменно равен 502.
    2020-11-03_12-30-38.jpg

    PS Разные Slave ID в RTU, в Ethernet имеют различные друг от друга Slave ID. Они одинаковы, что в RTU, что в Ethernet.

    Вопрос был, что в CoDeSys регистр «Last Address» содержит всегда одно и то же значение Module IP = IP МКОН, а Slave ID задается в ModuleSlave и как идентифицировать опрашиваемое устройство в момент получения ошибки Last Error.
    Последний раз редактировалось kait-volga; 03.11.2020 в 11:50.

  8. #18
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,546

    По умолчанию

    что в CoDeSys регистр «Last Address» содержит всегда одно и то же значение Module IP = IP МКОН
    Да ? Т.к. мастеров от овена не юзаю - удивили и укрепили в мысли - только либы. Там таких проблем нет.

  9. #19

    По умолчанию

    Благодаря пользователю Валенок получилось вычислить КС. Немного поправил, как мог.
    Код:
    FUNCTION crc16Calc : WORD
    VAR_INPUT
    	buffer	: POINTER TO ARRAY[0..16] OF BYTE;
    	n	: INT;
    END_VAR
    VAR
    	i	: INT;
    	crc1,	crc2,	tmp	: BYTE;
    END_VAR
    Код:
    crc1 := crc2 := 16#FF;
    i := 0;
    WHILE i < n DO
    	crc2 := crc2 XOR buffer^[i];
    	tmp := ((ROL(crc2,4) OR ROR(crc2,4))  AND 16#0F) XOR crc2;
    	crc2 := crc1;
    	crc1 := tmp;
    	tmp := (ROL(tmp,4) OR ROR(tmp,4)) AND 16#F0;
    	crc2 := crc2 XOR tmp;
    	tmp := SHL(tmp,1) XOR crc1;
    	crc1 := SHR(crc1, 3);
    	crc2 := crc2 XOR crc1;
    	crc1 := tmp;
    	i := i + 1;
    END_WHILE
    crc16Calc := crc2 + SHL(BYTE_TO_WORD(crc1), 8);
    Запрос/ответ
    [22/05/2021 12:00:56] Written data (COM4)
    03 00 02 03 49 1d ....I.
    [22/05/2021 12:00:56] Read data (COM4)
    03 00 02 6a b4 92 ...jґ’
    1 байт - адрес устройства
    2 байт - адрес устройства (пусто)
    3 байт - регистр управления ключом
    4 байт - регистр состояния 6 дискретных входов
    5,6 КС
    Из описания
    4.jpg
    Теперь надо осуществить процедуру обмена. Уф, это ещё неделю сидеть буду. А потом ещё циклический опрос 15 устройств.
    Последний раз редактировалось Павел_Хабаровск; 22.05.2021 в 06:06.

  10. #20
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    11,030

    По умолчанию

    Цитата Сообщение от Павел_Хабаровск Посмотреть сообщение
    Благодаря пользователю Валенок получилось вычислить КС. Немного поправил, как мог.
    Код:
    FUNCTION crc16Calc : WORD
    VAR_INPUT
    	buffer	: POINTER TO ARRAY[0..16] OF BYTE;
    	n	: INT;
    END_VAR
    VAR
    	i	: INT;
    	crc1,	crc2,	tmp	: BYTE;
    END_VAR
    Код:
    crc1 := crc2 := 16#FF;
    i := 0;
    WHILE i < n DO
    	crc2 := crc2 XOR buffer^[i];
    	tmp := ((ROL(crc2,4) OR ROR(crc2,4))  AND 16#0F) XOR crc2;
    	crc2 := crc1;
    	crc1 := tmp;
    	tmp := (ROL(tmp,4) OR ROR(tmp,4)) AND 16#F0;
    	crc2 := crc2 XOR tmp;
    	tmp := SHL(tmp,1) XOR crc1;
    	crc1 := SHR(crc1, 3);
    	crc2 := crc2 XOR crc1;
    	crc1 := tmp;
    	i := i + 1;
    END_WHILE
    crc16Calc := crc2 + SHL(BYTE_TO_WORD(crc1), 8);
    Запрос/ответ
    [22/05/2021 12:00:56] Written data (COM4)
    03 00 02 03 49 1d ....I.
    [22/05/2021 12:00:56] Read data (COM4)
    03 00 02 6a b4 92 ...jґ’
    1 байт - адрес устройства
    2 байт - адрес устройства (пусто)
    3 байт - регистр управления ключом
    4 байт - регистр состояния 6 дискретных входов
    5,6 КС
    Из описания
    4.jpg
    Теперь надо осуществить процедуру обмена. Уф, это ещё неделю сидеть буду. А потом ещё циклический опрос 15 устройств.
    Зачем Вы гадите в тему если у Вас протокол не модбас?
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Ваши права

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