Не проходят команды ТУ к контроллеру

Стартовая страница Форумы Ошибки в работе Не проходят команды ТУ к контроллеру

Просмотр 12 сообщений - с 1 по 12 (из 12 всего)
  • Автор
    Сообщения
  • #7239
    Algomus
    Участник

    Добрый день. Не проходят команды ТУ к контроллеру и через Коммуникатор и через Web-интерфейс, регистр читается. Modbus TCP. Через Modbus Poll все работает.

    #7242
    manjey73
    Участник

    Разрешить команды ТУ в Коммуникаторе на соответствующей линии. Настроить их в шаблоне.

    #7244
    Mikhail
    Модератор

    Добрый день! Если проблема не решится, присылайте логи отправки команды из Коммуникатора.

    #7245
    manjey73
    Участник

    У меня вот аналогичная ситуация, только я пытаюсь скадой протестировать устройство, послав бинарную команду в 16-м виде.
    Сообщение в логе Коммуникатора — КП не поддерживает отправку команд.
    Привязка КП отключена, пытаюсь послать команду из самого Коммуникатора

    Вопрос — как так, если команды ТУ разрешены ?

    Линия связи так же не привязана сейчас к серверу.

    Опрос КП проходит и Коммуникатор получает ответ от устройства.

    з.ы. Очередная Модбас плата от китайцев, адрес узнается командой и так же меняется командой.

    • Этот ответ был изменен 6 лет, 6 месяцев назад от manjey73.
    • Этот ответ был изменен 6 лет, 6 месяцев назад от manjey73.
    #7249
    Mikhail
    Модератор

    Вероятно, в шаблоне Модбас не прописаны команды. Или после изменения шаблона не перезапустили службу.

    #7251
    manjey73
    Участник

    Да, разобрался уже. А вообще, учитывая, что Коммуникатор способен отправлять бинарные команды и может работать без сервера, когда тестируешь устройство, было бы не плохо добавить режим посылки команды как:
    1. в терминале, с указанием адреса, контрольной суммы и т.д.
    2. брать адрес из настроек Коммуникатора и после посылки расчитывать и добавлять контрольную сумму.
    Это позволит посылать в устройство нестандартные команды, например которые не реализованы сейчас в KpModbus.dll

    И на будущее бы позволило реализовывать модбас подобные протоколы, ну или хотя бы тестировать оборудование, где CRC такая же как и у Modbus

    з.ы. ну и у китайцев ошибки в описании были.

    #7254
    Mikhail
    Модератор

    Да, полезные функции.

    #7259
    Algomus
    Участник

    Добрый день. Перепробовал и проверил все…
    При выборе в шаблоне множественной команды любое стандартное значение команды обнуляет регистр типа 4Х — Рпрс. При выборе бинарной записывается запредельное значение 12336 (должно не более 100%):
    +———+———————+———-+——-+
    | ******** Pпрс ******************************** |
    +———+———————+———-+——-+
    | 42 | Pпрс | 12336 | 2288 |
    +———+———————+———-+——-+

    Архивные данные отсутствуют

    События отсутствуют

    Команды ТУ (последние 10 команд)
    +—+———————+—————————————————————————+
    | № | Дата и время | Описание |
    +—+———————+—————————————————————————+
    | 1 | 12.09.2017 14:34:31 | Команда ТУ: тип=Standard, КП=22, номер=2288, значение=16,000 |
    +—+———————+—————————————————————————+
    | 2 | 12.09.2017 14:34:45 | Команда ТУ: тип=Binary, КП=22, номер=2288, данные=30303030203030303020… |
    +—+———————+—————————————————————————+
    | 3 | 12.09.2017 14:35:22 | Команда ТУ: тип=Standard, КП=22, номер=2288, значение=16,000 |
    +—+———————+—————————————————————————+
    | 4 | 12.09.2017 14:35:48 | Команда ТУ: тип=Binary, КП=22, номер=2288, данные=30303030203030303020… |
    +—+———————+—————————————————————————+
    | 5 | 12.09.2017 14:36:07 | Команда ТУ: тип=Standard, КП=22, номер=2288, значение=55,000 |
    +—+———————+—————————————————————————+
    | 6 | 12.09.2017 14:36:18 | Команда ТУ: тип=Binary, КП=22, номер=2288, данные=30303030203030303020… |

    #7260
    manjey73
    Участник

    Algomus бинарной командой попробуйте переставлять байты местами, Возможно причина в этом. Тогда придется писать формулу для перестановки так, чтобы это поняло ваше оборудование. Обычно это с float приходится делать. и иногда с Word тоже.

    #7262
    Algomus
    Участник

    Не помогло. Перепробовал в разных комбинациях…

    #7264
    Mikhail
    Модератор

    Добавьте в таблицу Формулы:

    double MySwapBytes(double x)
    {
        byte[] bytes1 = BitConverter.GetBytes(x);
        byte[] bytes2 = new byte[8]
        {
            bytes1[7],
            bytes1[6],
            bytes1[5],
            bytes1[4],
            bytes1[3],
            bytes1[2],
            bytes1[1],
            bytes1[0]
        };
        return BitConverter.ToDouble(bytes2, 0);
    }
    

    В формуле канала управления пропишите MySwapBytes(Cmd)

    #7265
    Mikhail
    Модератор

    Используйте, например, этот конвертер https://www.h-schmidt.net/FloatConverter/IEEE754.html чтобы посмотреть из каких байт состоит вещественное число. Либо найдите аналогичный конвертер, их множество, некоторые удобнее, некоторые наоборот.

Просмотр 12 сообщений - с 1 по 12 (из 12 всего)
  • Вы должны авторизироваться для ответа в этой теме.