Страница 171 из 179 ПерваяПервая ... 71121161169170171172173 ... ПоследняяПоследняя
Показано с 1,701 по 1,710 из 1785

Тема: Вопросы по MasterSCADA 4D

  1. #1701

    По умолчанию

    Добрый день!
    Как можно изменить начальное значение параметра через скрипт?

  2. #1702

    По умолчанию

    Цитата Сообщение от Ильнур Посмотреть сообщение
    Добрый день!
    Как можно изменить начальное значение параметра через скрипт?
    А какая цель?

  3. #1703

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    А какая цель?
    Скриптом из файла задать начальное значение для строковой переменной

  4. #1704

    По умолчанию

    Но изменится же текущее значение, а при следующем запуске исполнения значение опять будет таким, как задано в проекте (если конечно это значение не сохраняемое)?

  5. #1705

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Но изменится же текущее значение, а при следующем запуске исполнения значение опять будет таким, как задано в проекте (если конечно это значение не сохраняемое)?
    Оно не меняется в рантайме. В связи с этим вопрос, как можно поменять начальной значение в скрипте?

  6. #1706

    По умолчанию

    Цитата Сообщение от Ильнур Посмотреть сообщение
    Оно не меняется в рантайме. В связи с этим вопрос, как можно поменять начальной значение в скрипте?
    День добрый.

    Если нужно подставлять значения в переменные в онлайне, то может проще функцию и выполнять ее, например, при старте.
    А если ищите способ изменять проект в конструкторе через скрипт, то проще это сделать через табличное представление проекта.

  7. #1707

    По умолчанию

    Цитата Сообщение от Dorr Посмотреть сообщение
    Вложение 84847
    вот тут не было, получается? Ну это MS4D, херня случается)
    как на скрине, так и в натуре было. Хороший слоган случился!

  8. #1708

    По умолчанию

    Добрый день! Нашел скрипт по изменению шкалы у параметра:
    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)
    В чем может быть проблема?

  9. #1709

    По умолчанию

    Цитата Сообщение от Ильнур Посмотреть сообщение
    Добрый день! Нашел скрипт по изменению шкалы у параметра:
    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)
    В чем может быть проблема?
    А вы целиком этот скрипт у себя запустили?
    У вас есть этот параметр объекта?:
    // Находим параметр "Объекта"
    var param = ObjectRoot.FindChildByFullDisplayName("ETLCEMS.arc hive.raw.Qms");

    PS:
    А где вы его нашли? Узнаю свой скрипт
    Последний раз редактировалось VladGC; 23.07.2025 в 07:13.

  10. #1710

    По умолчанию

    Цитата Сообщение от VladGC Посмотреть сообщение
    А вы целиком этот скрипт у себя запустили?
    У вас есть этот параметр объекта?:
    // Находим параметр "Объекта"
    var param = ObjectRoot.FindChildByFullDisplayName("ETLCEMS.arc hive.raw.Qms");

    PS:
    А где вы его нашли? Узнаю свой скрипт
    Мне его скинули как пример. Вместо // Находим параметр "Объекта"
    var param = ObjectRoot.FindChildByFullDisplayName("ETLCEMS.arc hive.raw.Qms"); я подкинул свой объект. Но ругается на то, что "SchemeRefNames" не содержит определение для "Scale". Вроде все библиотеки подкинул.

Страница 171 из 179 ПерваяПервая ... 71121161169170171172173 ... ПоследняяПоследняя

Похожие темы

  1. Вопросы по СИ-8
    от aleksandr87 в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 11.06.2016, 18:56
  2. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  3. MasterScada v3.6 Основные вопросы
    от colorprint2008 в разделе Master SCADA 3
    Ответов: 7
    Последнее сообщение: 24.12.2013, 15:50
  4. конвертация проекта из Masterscada 3.5 в Masterscada 3.4
    от Сергей_SPB в разделе Master SCADA 3
    Ответов: 2
    Последнее сообщение: 01.04.2013, 16:56
  5. Вопросы по трендам MasterSCADA
    от 42ia в разделе Master SCADA 3
    Ответов: 9
    Последнее сообщение: 26.06.2012, 10:58

Ваши права

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