Объявление

Свернуть
Пока нет объявлений.

AgavaScada. Modbus.

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • AgavaScada. Modbus.

    Добрый день!
    Нажмите на изображение для увеличения.   Название:	agavaError.png  Просмотров:	0  Размер:	480.9 Кб  ID:	2012

    Столкнулся с интересной проблемой.

    Modbus Slave генерирует значения в 40001 (0) регистре. На чтение пытался задать и 0 регистр и 40001 без результатно.

    На входе у меня E1001 можно уточнить как настраивается Modbus Slave в AgavaScada?
    Нажмите на изображение для увеличения.   Название:	reg1.png  Просмотров:	0  Размер:	9.9 Кб  ID:	2013
    Последний раз редактировалось Taхир; 09-09-2024, 12:30 PM.

  • #2
    Добрый день!
    Если вы хотите вести опрос внешних устройств, например эмулятора Modbus Slave, в свойствах транспорта TCP-IP в свойстве "Режим работы" установите значение "Master".
    Далее в свойствах "IP адрес" и "IP порт" укажите адрес и порт, на которых слушает Modbus slave.
    Номер регистра ("Регистр чтения", "Регистр записи") указывается начиная с нуля (это не адрес ячейки).
    Если вы захотите чтобы панель была сервером (ведомым) Modbus-TCP, то режим работы нужно поставить "Slave".
    Обратите внимание, если у вас на панельке установлена прошивка 2023 года и новее, рекомендую вместо пары "транспорт"-"протокол" использовать "Транспорт Modbus-TCP". Он более функционален.
    Последний раз редактировалось Таушканов Константин; 10-09-2024, 07:27 AM.

    Комментарий


    • #3
      Добрый день!

      Сделал как описано выше. Забыл добавить у свойства Текст, у виджета "Текстовая метка", формат отображения, %f.

      Но теперь у меня значение в формате E0009 или E0008.

      Подскажите как быть что делать.

      UPD.

      Значение Int16 передает без проблем.

      Значение с плавающей точкой теперь отображены в виде E0009 или E0008.

      Можно ли сказать что это из-за того что, порядок байт не совпадает на Modbus_Slave. Я пытался менять порядок на эмуляторе, по идеи little-endian DCBA, со свапом должен был отработать.

      От сюда вопрос, есть ли возможности у встроенного Скрипта С++ возможность работы с побитовой логикой? или он лимитирован тем что указано в руководстве?Нажмите на изображение для увеличения.   Название:	Agavamodus.jpg  Просмотров:	14  Размер:	91.3 Кб  ID:	2022


      UPD.UPD. Решил проблему. Формат передачи имеет место быть, порядок регистров должен соответствовать тому что в Агаве.
      Последний раз редактировалось Taхир; 26-09-2024, 04:10 AM.

      Комментарий


      • #4
        Вопрос относительно WORD или Int16, если я получаю слова состояния, в виде int или word, могу ли я разложить их на биты? Какими средствами это возможно сделать? Позволяет ли функционал АгаваСкада С++ сделать это? Можно ли подключать доп. библиотеки С++?
        Нажмите на изображение для увеличения. 

Название:	1.jpg 
Просмотров:	14 
Размер:	11.6 Кб 
ID:	2025
        Можно ли таким образом записать значение в Свойство узла?
        Последний раз редактировалось Taхир; 26-09-2024, 05:29 AM.

        Комментарий


        • #5
          Сообщение от Taхир Посмотреть сообщение
          Вопрос относительно WORD или Int16, если я получаю слова состояния, в виде int или word, могу ли я разложить их на биты? Какими средствами это возможно сделать? Позволяет ли функционал АгаваСкада С++ сделать это? Можно ли подключать доп. библиотеки С++?
          Используйте битовые операторы:
          Код:
          & - битовое И
          | - битовое ИЛИ
          ^ - битовое ИСКЛ. ИЛИ
          << - сдвиг влево
          >> - сдвиг вправо
          Сообщение от Taхир Посмотреть сообщение
          Можно ли таким образом записать значение в Свойство узла?
          Да, можно. Подобным образом можно обращаться со со всеми простыми (численными, булевскими и строковыми) свойствами узлов.
          Последний раз редактировалось Таушканов Константин; 05-10-2024, 07:09 AM.

          Комментарий


          • #6
            Сообщение от Taхир Посмотреть сообщение
            Можно ли подключать доп. библиотеки С++?
            В AgavaSCADA используется собственный диалект С/С++, адаптированный под softlogic системы и имеющий некоторые отличия от привычного С/С++. Дополнительные библиотеки, если вы имели в виду произвольные, доступные в Internet, подключать нельзя, так как стандартов языка довольно много, в том числе под разные платформы.
            Последний раз редактировалось Таушканов Константин; 07-10-2024, 04:44 AM.

            Комментарий

            Обработка...
            X