Skip to content

Sensor.GetVariableData

Вызов: GAP.Sensor.GetVariableData(modbusName, devNumber, variableName)

Статус: класс GAP.Sensor отсутствует в текущих исходниках GAP. Вызов сохранён в комментариях шаблонов МУПС/МОПС (input_mups.jsm, input_mops.jsm). Требуется восстановление в GAP или замена логики.

Возвращает строковое значение поля variableName для датчика с номером devNumber на Modbus-устройстве modbusName.

Поиск выполняется в Parser.ModbusDevsModels: сначала находится устройство по ModbusName, затем запись в SensorDictData с ключом devNumber, совпадающим с devNumber. Значение читается по имени переменной (TAG, Type и т.д.).

Результат кэшируется в памяти на 30 секунд (ключ: modbusName|devNumber|variableName).

  • Устройство не найдено: возвращается строка Не найдено устройство с именем = {modbusName}.
  • Датчик не найден: возвращается Не найдено датчика с номером {devNumber}.
  • Неизвестное имя поля: возвращается Некорректная переменная = {variableName} (через GetValueOrDefault).
  • Вызов: GAP.Sensor.GetVariableData("MbTcpPlc_1", "3", "TAG")

    • Результат: тег датчика №3 на указанном Modbus-устройстве (например, P088DI001).
  • Вызов: GAP.Sensor.GetVariableData("[modbus.name]", "1", "C6")

    • Результат: значение поля C6 для датчика №1 (типичный пример в шаблонах POU МУПС/МОПС: input_mups.jsm, input_mops.jsm).
  • Вызов: GAP.Sensor.GetVariableData([modbusName], [devNumber], "Type")