Romiros

Ответы в темах

Просмотр 15 сообщений - с 61 по 75 (из 1,450 всего)
  • Автор
    Записи
  • Romiros
    Участник

    По поводу формата для TimeSpan уже обсуждали с Михаилом, кажется отложили не попозже. Для одного проекта я делал отображение в одном канале оставляя только значащие части интервала. Т.е. если в интервале появляются дни, то секунды уже как бы и нафиг не нужны. В основном так и делают в системах насколько я понял, типа стандарт.

    Romiros
    Участник

    Видимо время в базе хранится не в UTC. Нужно просто взять за правило хранить его в UTC. У нас одна система хранит все данные в единицах измерения системы СИ. Это морока, то что нужно все к ней преобразовывать, но зато выигрыш на длинной дистанции, когда одним нужно видеть в Па, другим в МПа, третьим в кг/см2. Тогда просто выбирается нужный формат отображения в системе и это не приводит к скачкам на графиках и прочим проблемам.

    Romiros
    Участник

    А если добавить входную формулу Val();Stat(), Будут ли изменения?

    в ответ на: Новый релиз Rapid SCADA 6.3.x #34022
    Romiros
    Участник

    Вызвано необходимостью, когда контрактный час начала суток не совпадает со стандартным временем начала 00:00. Просто самое главное учитывать, что старая версия не будет читать новые архивы, а новая будет читать старые. Тут более точно ответит разработчик. Возможно Ваши модули это вообще никак не затронет. Это очень важное изменение, без которого в некоторых отраслях, развитие данной системы очень затруднено.
    То же самое касается редактора объектов, когда колличество дочерних систем становится довольно большим и их становится довольно сложно администрировать при постоянных изменениях.

    Romiros
    Участник

    Поместите этот код в нужное место вашего svg файла, например между тегами <g></g>, зависит от сложности картинки.

    <animate attributeName=»opacity» dur=»1s» values=»0.0;1;0.0″ repeatCount=»indefinite» />

    По сути можно просто методом научного тыка подобрать куда добавить :). И так, по идее, можно не только мигание делать, а по сути любую анимацию, которую позволяет делать svg — вращение, изменение размера или цвета и т.д.

    Romiros
    Участник

    Для динамических рисунков используйте svg, там мигание в одну строчку кода добавляется, если память не изменяет. Я так делал всякие мигающие насосы и двигатели.

    Romiros
    Участник

    Проблема не надуманная. Возможность задания разного цвета для одного и того же статуса на схеме очень актуальна. Не только из-за событий. Иначе действительно приходится тащить просто картинки на которых нет ничего кроме нужного цвета фона, без которых можно было бы обойтись. Но как и говорил выше в 6 версии это уже заложено, осталось дождаться нового редактора схем :).

    Romiros
    Участник

    Три цвета статуса заложены в таблице статусов, просто в редакторе схем это ещё не реализовано.

    Romiros
    Участник

    А вообще, вспомнил, я уже кажется такое делал в одном драйвере. Там объект прилетал из REST API в виде json и далее в зависимости от типа преобразовывались в нужный класс. Могу завтра на работе поискать код.

    Romiros
    Участник

    Возможно как-то так. Сможете сделать такие проверки в своем коде?
    A a;
    a = new B();

    //a.Method();//Тут получаем ошибку компилятора

    if (a is B)
    ((B)a).Method();//А тут уже нет

    Console.ReadLine();
    }
    }
    class A
    {

    }
    class B : A
    {
    public void Method()
    {
    Console.WriteLine(«In the Method»);
    }
    }

    Romiros
    Участник

    Т.е. классы под эти программы будут прописаны заранее в коде модуля? И просто по имени класса надо подставить необходимый,так что ли? Тогда используйте наследование. В RapidScada есть образцы. Ну или я не понимаю задачу.

    Romiros
    Участник

    Классы программ известны только те, которые будут в отдельной dll (хочу так сделать) по умолчанию, далее могут добавляться, например heater3, cooling2 и так далее, и модуль о них будет знать только из шаблона например.

    У Вас в шаблоне будет готовый c#? Типа:
    public class Heater3
    {
    public string name = «Heater3″;

    public void Print()
    {
    Console.WriteLine($»Имя: {name}»);
    }
    }
    Так что ли? И вы хотите добавить это в исходный код своего модуля?

    Romiros
    Участник

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

    Romiros
    Участник

    В модуле калькулятор идёт генерация исходного кода в рантайме из текста. Возможно подойдёт для Вашей задачи. Хороший образец для повторения, если не знаете как сделать. Но мне кажется правильнее было бы продумать наследование с расширением свойств и методов класса, учитывая что пользоваться будут не программисты.

    Romiros
    Участник

    Почитайте про наследование, позднее и раннее связывание, upcast и downcast. Вам в этом направлении. Всё это уже придумано и нужно просто правильно применять.

Просмотр 15 сообщений - с 61 по 75 (из 1,450 всего)