
Сообщение от
Ильнур
Добрый день! Нашел скрипт по изменению шкалы у параметра:
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using Controllers.Protocols.ModbusMaster;
using InSAT.Framework.Core.Common;
using InSAT.Framework.Core.DataModel.Instances;
using InSAT.Framework.Core.DataModel.Types;
using InSAT.Framework.Core.Services.Item.LinksManagement ;
using InSAT.Framework.MasterSCADA.Types;
using InSAT.Framework.Script.UI.Services;
using InSAT.Library;
using MasterSCADA.Controllers.Adapters;
using MasterSCADA.Controllers.Adapters.ChannelsMaps;
using MasterSCADA.Scheme.Common;
using MasterSCADA.Scheme.Services.ValueType;
using MasterSCADA.Scheme.Types;
using InSAT.Framework.Core.Services.Item.ScaleType;
public override void DoAction()
{
// Находим шкалу в библиотеке
var scale = LibraryRoot.FindChildByFullDisplayName("Локальная. Шкалы.Шкала AI 1");
// !!!ВНИМАНИЕ!!!
// Шкалы поддержаны только у параметров "Объекта",
// а у параметров программ не поддержаны.
// Параметрам программ их можно задать в панели свойств, но это ничего не даст
// Находим параметр "Объекта"
var param = ObjectRoot.FindChildByFullDisplayName("ETLCEMS.arc hive.raw.Qms");
// Получаем сервис "Шкал"
var scaleService = param.GetService<ScaleTypeService>();
// Устанавливаем шкалу параметру
scaleService.ScaleType = scale;
// Присваиваем значения параметрам шкалы
scaleService.ItemInstance.SetProperty(SchemeRefNam es.Scale.Minimum, 555);
scaleService.ItemInstance.SetProperty(SchemeRefNam es.Scale.Maximum, 999);
}
Ругается 22.07.2025 17:28:18 Ошибка
Сообщение: "SchemeRefNames" не содержит определение для "Scale". (строка 27, позиция 65)
В чем может быть проблема?