УкраїнськаEnglishmRussian
Вход/Новый
В теме много сообщений

В помощь новичку


Автор Сообщение
Сообщение создано: 10. 01. 2010 [20:24]
sonder
Олександр Клюшин
Создатель темы
Зарегистрирован(а) с: 24.12.2009
Сообщения: 47
По мере изучения возможностей и приемов работы возникают вопросы.
Предлагаю тыкать носом в описания и прочие документы а также вправлять мозги изучающим в этой теме.

Вопросы.
1. Ограничен ли вычислитель (насколько я понял то оба) функциями описанными в http://wiki.oscada.org/Doc/JavaLikeCalc?v=ael#h101-15
2. (частный случай первого) Как реализовать функции таймеров, задержек по времени или секундомеров?

Для Алексея: Проверка работоспособности вентилятора будет выглядеть примерно так:
if (start&&!runsensor)
{
delay(10);
alarm=start&&!runsensor;
}
где start - команда на запуск, runsensor - датчик перепада давления, alarm - выход аварии, delay - функция задержки (приостановки выполнения на 10 сек)
Это связано с тем, что датчик перепада срабатывает не сразу после запуска. Лучше конечно использовать более продвинутую функцию задержки где отсчет ведется только при выполнении условия - тогда еще будет исключаться "дребезг"


[Сообщение редактировалось 2 раз(а), в последний раз 10.01.2010 в 20:26.]
Сообщение создано: 10. 01. 2010 [20:43]
Aleksey
Aleksey Popkov
Contributor
Зарегистрирован(а) с: 31.07.2008
Сообщения: 326
sonder wrote:

Вопросы.
1. Ограничен ли вычислитель (насколько я понял то оба) функциями описанными в http://wiki.oscada.org
/Doc/JavaLikeCalc?v=ael#h101-15


Правильно, но можно также используя JavaLikeCalc писать собственные функции, которые потом можно использовать в блочных вычислителях. Например, в моем случае, мне требовалось в разных местах программы делать select из разных баз. Писать 10 строк кода в теле скрипта и копировать их потом по необходимости показалось не правильным подходом, поэтому был написан вычислитель с этими 10-ю строками и вызывался 1-ой строкой из осного скрипта в нужных местах с передачей небходимых параметров. Ну и API встроенные функции тоже посмотрите их тоже можно использовать ))))))


2. (частный случай первого) Как реализовать функции таймеров, задержек по времени или секундомеров?

Недавно был у меня такой вопрос тоже. Выполнено это было в скрипте виджета, с секундным интервалом выполнения.
Переменной был присвоено время в секундах и потом в цикле переменная вычитывалась.
Вот как я это сделал:

using Special.FLibSYS;
if (f_start) {calcCnt=20; metka=false;bt_Start_active=false;
if (SignalReady==true) {bt_StartPrimary_active=bt_Start_active=true; bt_Start_colorText="green";}
}

if( (SignalReady==true) && (calcCnt==0) && (metka==true) ) {bt_Start_active=true; bt_Start_colorText="green"; calcCnt=20;}
else if( (SignalReady==false) || (calcCnt!=20) ) {metka=true; calcCnt--; bt_Start_active=false;bt_Start_colorText="";
if ( (SignalReady==false) && (calcCnt==0) ) {calcCnt=20;metka=true;bt_Start_active=false;bt_Start_colorText="";}
;}
else if( (SignalReady==true) && (metka==true)) {calcCnt=20;bt_Start_active=true;bt_Start_colorText="green";}

Тут, до тех пор пока false, счетчик срабатывает в холостую, когда true счетчик досчитывает 20 секунд и активирует кнопку.
Функцию конечно можно использовать, но тут нужно кое-чего допиливать. Если текущий отсчет равен 5 и появляется true тогда вычитается 5-ка до 0 и активируется кнопка, а планировалось немного по другому. ((((( Основной смысл думаю понятен )))))


Для Алексея: Проверка работоспособности вентилятора будет выглядеть примерно так:
if (start&&!runsensor)
{
delay(10);
alarm=start&&!runsensor;
}
где start - команда на запуск, runsensor - датчик перепада давления, alarm - выход аварии, delay - функция задержки (приостановки выполнения на 10 сек)
Это связано с тем, что датчик перепада срабатывает не сразу после запуска. Лучше конечно использовать более продвинутую функцию задержки где отсчет ведется только при выполнении условия - тогда еще будет исключаться "дребезг"

Тут я ничего конкретного не подскажу, те условия с которыми мне пришлось последнее время столкнуться, датчики давления отдавали данные довольно шустро ))) Хотя можно выше показанным примером сделать, ну естественно немного попилив.


[Сообщение редактировалось 1 раз(а), в последний раз 10.01.2010 в 20:51.]
Сообщение создано: 12. 01. 2010 [09:41]
sonder
Олександр Клюшин
Создатель темы
Зарегистрирован(а) с: 24.12.2009
Сообщения: 47
Следующий вопрос

Модуль сбора данных Модбас РТУ
Включаю контроллер - надпись статуса через пару секунд гласит - ..... прочитано 0(3) регистров ..... ошибок соединения 4, запроса 0.
При этом если обновлять постоянно параметр, то он то считывается то впадает в ошибку.
Что означают эти значения статуса? Что такое ошибка соединения и ошибка запроса?
Где копать чтобы это исправить?

Прилагаются скриншоты с настройками

[Сообщение редактировалось 1 раз(а), в последний раз 12.01.2010 в 09:42.]
Вложенный файл

Снимок1.png (Тип файла: image/png, Размер: 89.01 килобайт) — 2314 загрузок
Снимок2.png (Тип файла: image/png, Размер: 47.17 килобайт) — 2305 загрузок
Снимок3.png (Тип файла: image/png, Размер: 63.29 килобайт) — 2268 загрузок
Снимок4.png (Тип файла: image/png, Размер: 5.22 килобайт) — 2298 загрузок
Снимок5.png (Тип файла: image/png, Размер: 57.95 килобайт) — 2295 загрузок
Сообщение создано: 12. 01. 2010 [14:42]
sonder
Олександр Клюшин
Создатель темы
Зарегистрирован(а) с: 24.12.2009
Сообщения: 47
Свою проблему разрывов связи решил путем подбора (увеличения) временных интервалов настройки транспорта последов. интерфейса. Нормально работает при 600:3:293.

Возник следующий вопрос.
У меня проблема в том, что если проект открывать в рабочем пользовательском интерфейсе, то картинки(виджет на основе медиа) видно а если через веб - картинок не видно. Что мне нужно исправить?
Сообщение создано: 12. 01. 2010 [16:12]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3747
Демо работает?

Learn, learn and learn better than work, work and work.
Сообщение создано: 12. 01. 2010 [16:52]
sonder
Олександр Клюшин
Создатель темы
Зарегистрирован(а) с: 24.12.2009
Сообщения: 47
Демо работает.
... Искал где в деме лежат огонек и вентилятор - так и не нашел....
Сообщение создано: 12. 01. 2010 [17:02]
Aleksey
Aleksey Popkov
Contributor
Зарегистрирован(а) с: 31.07.2008
Сообщения: 326
sonder wrote:

Демо работает.
... Искал где в деме лежат огонек и вентилятор - так и не нашел....

Mime данные кадра.
Сообщение создано: 12. 01. 2010 [17:03]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3747
Значит формат ваших медиа-файлов не поддерживается браузером.

Learn, learn and learn better than work, work and work.
Сообщение создано: 12. 01. 2010 [17:05]
Aleksey
Aleksey Popkov
Contributor
Зарегистрирован(а) с: 31.07.2008
Сообщения: 326
Библиотека "Тестовая" -> Ctrl-P -> Mime данные
Сообщение создано: 12. 01. 2010 [18:25]
sonder
Олександр Клюшин
Создатель темы
Зарегистрирован(а) с: 24.12.2009
Сообщения: 47
roman wrote:

Значит формат ваших медиа-файлов не поддерживается браузером.

формат .gif не анимированный.
Ни если задавать путь напряму ни через MIME не работает.
Пробовал формат png - тоже не работает (но в Демо ж работает и тот и другой).
Что-то я все-таки делаю не так, но что.....

Попробовал выдрать рисунок из Демо и вставить себе.... все равно не показывает в браузере....

[Сообщение редактировалось 3 раз(а), в последний раз 13.01.2010 в 09:14.]



4723