Автор |
Повідомлення |
Повідомлення створено: 23. 05. 2011 [22:17]
|
almaz
Almaz Karimov
Contributor
Автор теми
Зареєстрован(а) с: 25.09.2008
Повідомлення: 516
|
Столкнулся с ограничением периода обсчёта в блочном вычислителе в 10 секунд. Не получилось организовать контроллер с периодом выполнения 15-30 минут (множество блоков с определённой последовательностью выполнения). Нельзя ли увеличить период обсчёта до максимально возможного?
Пробую реализовать такой же контроллер в ява-вычислителе (множество блоков с определённой последовательностью выполнения). Там возникает проблема с последовательностью выполнения функций: в одном контроллере нельзя установить множество функций как в блочном вычислителе. Чтобы задать последовательность выполнения в разных контроллерах не хватает точности cron. Нужна точность до секунд, а cron позволяет установить только поминутно. Параметр, заданный в секундах, не позволяет чётко определить последовательность выполнения контроллеров.
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Повідомлення створено: 24. 05. 2011 [08:52]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"almaz" wrote:
Столкнулся с ограничением периода обсчёта в блочном вычислителе в 10 секунд. Не получилось организовать контроллер с периодом выполнения 15-30 минут (множество блоков с определённой последовательностью выполнения). Нельзя ли увеличить период обсчёта до максимально возможного?
Можно, только уже наверно с переходом на типовую схему с планированием, по cron.
"almaz" wrote:
Пробую реализовать такой же контроллер в ява-вычислителе (множество блоков с определённой последовательностью выполнения). Там возникает проблема с последовательностью выполнения функций: в одном контроллере нельзя установить множество функций как в блочном вычислителе.
А просто вызывать функции блоков в процедуре контроллера?
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 26. 05. 2011 [10:07]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"roman" wrote:
"almaz" wrote:
Столкнулся с ограничением периода обсчёта в блочном вычислителе в 10 секунд. Не получилось организовать контроллер с периодом выполнения 15-30 минут (множество блоков с определённой последовательностью выполнения). Нельзя ли увеличить период обсчёта до максимально возможного?
Можно, только уже наверно с переходом на типовую схему с планированием, по cron.
Реализовал типовой интерфейс планирования вычисления для BlockCalc, включая периодическое и по cron.
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 30. 05. 2011 [14:10]
|
almaz
Almaz Karimov
Contributor
Автор теми
Зареєстрован(а) с: 25.09.2008
Повідомлення: 516
|
"roman" wrote: Реализовал типовой интерфейс планирования вычисления для BlockCalc, включая периодическое и по cron. Спасибо. Доработка блочного вычислителя позволяет расширить круг решаемых задач. А ограничение на логическом уровне в 10000 мс осталось?
В ява-вычислителе рабочего пользовательского интерфейса также есть ограничение в 1874919424 мс. 21,7 суток... Иногда и такой период может стать ограничением...
Увеличение точности cron до секунд (в идеале ещё и до миллисекунд), наверное, возможно только доработкой системной библиотеки cron?
"roman" wrote: А просто вызывать функции блоков в процедуре контроллера? SYS.DAQ.JavaLikeCalc.lib_web[firstEl].call(URLprms,tmplPg,cnts);
Это примерно так? Только с блочным вычислителем... При большом количестве передаваемых и возвращаемых параметров - это не так просто...
Средствами ява-программы, конечно же, можно реализовать любые последовательности и периоды выполнения функций, но иногда удобнее задавать их соответствующими полями скады... Например, при конфигурировании дерева скады непрограммистом из готовых программных блоков, устанавливая связи между блоками.
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Повідомлення створено: 30. 05. 2011 [15:38]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"almaz" wrote:
"roman" wrote: Реализовал типовой интерфейс планирования вычисления для BlockCalc, включая периодическое и по cron. Спасибо. Доработка блочного вычислителя позволяет расширить круг решаемых задач. А ограничение на логическом уровне в 10000 мс осталось?
А что?
"almaz" wrote:
В ява-вычислителе рабочего пользовательского интерфейса также есть ограничение в 1874919424 мс. 21,7 суток... Иногда и такой период может стать ограничением...
Вообще это о чём? Если о периодичности вычисления проекта визуализации (VCAEngine), то более 10 секунд в принципе смысла не имеет.
"almaz" wrote:
Увеличение точности cron до секунд (в идеале ещё и до миллисекунд), наверное, возможно только доработкой системной библиотеки cron?
Не вижу в этом смысла. Реализация cron своя.
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 30. 05. 2011 [19:33]
|
almaz
Almaz Karimov
Contributor
Автор теми
Зареєстрован(а) с: 25.09.2008
Повідомлення: 516
|
"roman" wrote: "almaz" wrote: А ограничение на логическом уровне в 10000 мс осталось? А что? Похоже данное ограничение не позволит реализовать АСКУЭ на логическом уровне, как рекомендуется в соседней теме. Опрос одной линии связи с множеством счётчиков может занимать до 15 минут.
http://oscada.org/ru/forum/posts/vnedrenie/vybor_openscada_dlja_realizacii_askueh/
"roman" wrote: "almaz" wrote: В ява-вычислителе рабочего пользовательского интерфейса также есть ограничение в 1874919424 мс. 21,7 суток... Иногда и такой период может стать ограничением... Вообще это о чём? Если о периодичности вычисления проекта визуализации (VCAEngine), то более 10 секунд в принципе смысла не имеет. Смысл может появиться при использовании ява-вычислителя визуализации вместо блочного вычислителя (для визуализации блочных схем).
"roman" wrote: "almaz" wrote: Увеличение точности cron до секунд (в идеале ещё и до миллисекунд), наверное, возможно только доработкой системной библиотеки cron? Не вижу в этом смысла. Реализация cron своя. Значит секунды и миллисекунды cron можно реализовать в коде OpenSCADA. Смысл в привязке запуска контроллеров к часам. Это позволит точно задавать последовательность выполнения контроллеров, даже с короткими периодами исполнения.
[Повідомлення редагувалось 3 раз(ів), останній раз 30.05.2011 в 19:41.]
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Повідомлення створено: 30. 05. 2011 [21:31]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
Реализовано по схеме cron для: LogicLev, Siemens, System и DCON.
"almaz" wrote:
Смысл может появиться при использовании ява-вычислителя визуализации вместо блочного вычислителя (для визуализации блочных схем).
Не может, ибо визуализация не должна использоваться в этой роли, а при добавлении связей СВУ будет использоваться фактически в роли графической оболочки для блочных схем.
"almaz" wrote:
Значит секунды и миллисекунды cron можно реализовать в коде OpenSCADA. Смысл в привязке запуска контроллеров к часам. Это позволит точно задавать последовательность выполнения контроллеров, даже с короткими периодами исполнения.
Когда речь идёт о годах, месяцах и днях - о секундах говорить уже не уместно.
Кроме того нарушать совместимость со стандартом cron я не хочу.
И самое главное - в моих задачах это не нужно.
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 30. 05. 2011 [22:00]
|
almaz
Almaz Karimov
Contributor
Автор теми
Зареєстрован(а) с: 25.09.2008
Повідомлення: 516
|
Да! Унификация всех полей скады, задающих периоды и моменты времени!
Стандарт cron создавался в целях выполнения административных и пользовательских задач в операционной системе, не требующих высокой точности исполнения. При использовании его в скада-системе, соответственно, в АСУТП, где задачи имеют более короткие периоды исполнения, расширение полей до секунд и миллисекунд представляется вполне разумным...
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Повідомлення створено: 06. 06. 2011 [22:04]
|
almaz
Almaz Karimov
Contributor
Автор теми
Зареєстрован(а) с: 25.09.2008
Повідомлення: 516
|
Есть некоторые неполадки с периодом обсчёта контроллеров (svn 1412, проверил на двух компах: ARM и 64-битном, для установки собирал из исходных текстов deb-пакеты: autoreconf -ivf ; dpkg-buildpackage -b, система Debian 6.0 и Ubuntu 11.04):
В блочном вычислителе не работает период обсчёта выше 2.14 секунд (период в поле вводится, а фактический либо 0, либо 1.410 секунд), cron не работает вообще.
На логическом уровне период обсчёта также ограничен 2.14 секунд, но cron работает.
Сбор данных системы также имеет ограничение 2.14 секунд, cron работает.
Остальные контроллеры сбора данных вроде работают нормально и по cron и с периодом. OPCUA, Siemens проверить не смог ввиду отсутствия оборудования. DiamondBoard и ICPDAS автоматически не собрались (видимо только x86 32-бита). У звуковой системы чётко заданные периоды сбора. Шлюз источников данных работает по-прежнему (без cron, ограничение 100 сек.).
[Повідомлення редагувалось 3 раз(ів), останній раз 06.06.2011 в 22:17.]
21 век - век повсеместной автоматизации. Главное - во благо всем людям.
|
Повідомлення створено: 06. 06. 2011 [23:21]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"almaz" wrote:
В блочном вычислителе не работает период обсчёта выше 2.14 секунд (период в поле вводится, а фактический либо 0, либо 1.410 секунд), cron не работает вообще.
Период исправлен, cron работает.
"almaz" wrote:
На логическом уровне период обсчёта также ограничен 2.14 секунд, но cron работает.
Исправлено
"almaz" wrote:
Сбор данных системы также имеет ограничение 2.14 секунд, cron работает.
Исправлено
Learn, learn and learn better than work, work and work.
|