Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#31: 2011-05-12 20:36:54 ЛС | профиль | цитата
Ingvar, у вас одному рабочему соответствует оди резервный ? Т.е. они в паре?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 16
Рейтинг: 1
#32: 2011-05-12 20:40:12 ЛС | профиль | цитата
Tad писал(а):
Есть 10 рабочих и 5 резервных насосов.
Система должна фиксировать:
1. Номера исправных рабочих
2. Номера исправных резервных
3. Номера работающих в данный момент рабочих
4. Номера работающих в данный момент резервных
5. Номер горячего резервного

Правильно сказал nesco - нужно сохранять эти данные в файл и загружать при запуске Вашей программы.
Или, если есть датчики, производить их опрос при запуске Вашей программы.
Это не "фантастика", а реальность.
В данном случае готовность "Аварийного резерва" должна объявиться в случае "Включенного состояния" Рабочего насоса и готовности включения Резервного насоса (это к вопросу о датчиках, которые контролируют "собранность схемы управления" выбранного в "резерв" насоса). А включение резервного насоса происходит либо по отключению работающего насоса (к примеру защита по маслу) или по параметру (упало давление в напорной магистрали)
------------ Дoбавленo в 20.40:
Tad писал(а):
Ingvar, у вас одному рабочему соответствует оди резервный ? Т.е. они в паре?
В данной группе из трёх насосов один или два рабочих и один резерв
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#33: 2011-05-12 20:46:25 ЛС | профиль | цитата
Т.е. резервные и рабочие не в паре ? Если вышел из строя второй рабочий, то можно включить первый резервный ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 16
Рейтинг: 1
#34: 2011-05-12 20:51:39 ЛС | профиль | цитата
1nd1g0 писал(а):
Начнём из далека. Вы поставили на обе машины HiAsm и запускаете один и тот же SHA файл? Или вы запускаете полученный при компиляции EXE (лежит в папке с проектом SHA после первого запуска) на второй машине, где нет HiAsm, но она ведёт себя как-то не так?
Когда то давно (это версия 4.03) скачал с вашего сайта и установил в папку. Пока не было нужды всё хозяйство там и лежало. Потом попробовав разобраться (работал на разных машинах) носил его на флешке от туда и запускал. недавно поключили иннет скачал обновление программа сохранила его папке. тот файл был загружен на диск С обоих машин. может этот факт и породил проблему.
------------ Дoбавленo в 20.51:
Tad писал(а):
Т.е. резервные и рабочие не в паре ? Если вышел из строя второй рабочий, то можно включить первый резервный ?
Они сами по себе не подозревают кто из них первый и кто второй. Схема построена таким образом, что кто бы из двух рабочих не отключился давление в системе должен поддержать включившийся резерв.
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#35: 2011-05-12 20:58:00 ЛС | профиль | цитата
Ingvar писал(а):
В данной группе из трёх насосов один или два рабочих и один резерв

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

0
Ответов: 16884
Рейтинг: 1239
#36: 2011-05-12 21:05:21 ЛС | профиль | цитата
Ingvar, вот наконец-то я тебя подвел под монастырь.
Ingvar писал(а):
кто бы из двух рабочих не отключился давление в системе должен поддержать включившийся резерв.
Т.е. главное у нас "Электро-контактный манометер". Включили первый - давление ниже нужного. Включили второй - давление нормальное. Первый отключился из-за проблем с маслом. Давление в магистрали упало - включился резерв.

Вопрос: нахрена сравнивать какой сдох ? - первый или второй .
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 16
Рейтинг: 1
#37: 2011-05-12 21:19:09 ЛС | профиль | цитата
nesco писал(а):
Вот это немного разные условия. При одном рабочем получается два резервных, при двух рабочих -- только один резервный. При одном рабочем всегда можно вывести один насос в ремонт, не опасаясь, что упадет давление и его не подопрет резервный. При двух рабочих возникает опасность того, что при выдении одного из насаосов в ремонт, мы теряем резерв
То, что резер должен быть только один это факт (так принято было проектом). В условиях аварийного резерва допускается выводить один в ремон если один рабочий справиться. Если работают два и один в ремонте то резерва неть. Получается повторил твою мысль.
------------ Дoбавленo в 21.12:
Tad писал(а):
Вопрос: нахрена сравнивать какой сдох ? - первый или второй .
Вопрос риторический?! Думаю теорию алгоритма вы изучили блистательно и возможно ключ к програмной реализации вопроса у меня в руках ...
------------ Дoбавленo в 21.19:
Мне показалось, что выподающие списки это оптимальный выриант выбора режима работы нососов (это ещё не касасясь ЭКМов и состояния робочего исполнительного механизма). Потом пришли счётчики для контроля над выбором рабочих и резервов. Данные их потока могут повторятся а счётчикам "по барабану" состояния списка и они регистрируют изменения потока. Пришлось припаять ключи, которые могут только однократно переключеться во включенное состояние(но почемуто счётчики видят двухкратное изменение одного и того же списка). Потом был "сброс" в случае перебора. При чём необходимо было сбросить списки, ключи и счётчики и вот с последними по ходу проблема. И при контроле состояния счётчиков с помощью глабальной метки смутило отсутствие события при обнулении счётчика и я заблудился.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#38: 2011-05-12 21:43:20 ЛС | профиль | цитата
Ingvar писал(а):
Вопрос риторический?!
да нет (чисто русский ответ )
На этот вопрос ответят ремонтники.

Я не сторонник применения компьютера и программ, там где вопрос решается электро-контактным манометром или датчиками минимального и максимального давления + пара реле + таймер + три пускателя.
Да, для пускания пыли в глаза (мол знай наших) можно конечно заменить пару реле и таймер (все остальное присутствует в любом случае) современным компьютером с программой этак мегабайт на X-дцать + модем или сеть, но надежности это не добавит. Наоборот сведет всю надежность к 0.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 3889
Рейтинг: 362
#39: 2011-05-12 21:48:55 ЛС | профиль | цитата
Tad, [flood]а я вот стеснялся всё это время высказать аналогичное мнение, чтобы не мешать человеку творить одну из первых в жизни схем (по впечатлению, а то и программ...). У нас в ВУЗах и не такие "полезные" вещи разрабатывают. И, что самое страшное, успешно внедряют.
[/flood]
Ingvar, вы бы на радиокнопки обратили свой взор.
карма: 1

0
Ответов: 16884
Рейтинг: 1239
#40: 2011-05-12 22:29:06 ЛС | профиль | цитата
1nd1g0 писал(а):
а я вот стеснялся
[flood]а я уже в таком возрасте, что стесняться перестал. [/flood]
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#41: 2011-05-12 22:40:57 ЛС | профиль | цитата
Вот набросал, то, что понял



Add(Label,14987165,63,70)
{
Left=105
Top=15
Width=141
Height=20
Font=[MS Sans Serif,10,0,0,1]
Caption="Режим работы НПР-1"
}
Add(ComboBox,1216222,259,168)
{
@Hint=#12:Выбор режима|12:работы НПР-2|
Left=310
Top=45
Width=140
Height=21
Hint="Выбор режима работы НПР-2"
Strings=#8:Отключен|7:Рабочий|9:Резервный|
Text="НПР-2"
ReadOnly=0
Point(Index)
Point(doSelect)
link(onClick,1977765:doWork3,[(305,181)])
}
Add(Label,3163188,70,77)
{
Left=310
Top=15
Width=141
Height=20
Font=[MS Sans Serif,10,0,0,1]
Caption="Режим работы НПР-2"
}
Add(ComboBox,11970639,196,161)
{
@Hint=#12:Выбор режима|12:работы НПР-1|
Left=105
Top=45
Width=140
Height=21
Name="НПР-1"
Hint="Выбор режима работы НПР-1"
Strings=#8:Отключен|7:Рабочий|9:Резервный|
Text="НПР-1"
ReadOnly=0
Point(Index)
Point(doSelect)
link(onClick,8135445:doWork3,[(242,174)])
}
Add(Label,15076951,77,84)
{
Left=510
Top=15
Width=151
Height=20
Font=[MS Sans Serif,10,0,0,1]
Caption="Режим работы НПР-3"
}
Add(ComboBox,16078882,322,175)
{
@Hint=#12:Выбор режима|12:работы НПР-3|
Left=510
Top=45
Width=150
Height=21
Hint="Выбор режима работы НПР-3"
Strings=#8:Отключен|7:Рабочий|9:Резервный|
Text="НПР-3"
ReadOnly=0
Point(Index)
Point(doSelect)
link(onClick,1977765:doWork2,[(366,188)(366,139)])
}
Add(Message,10922009,742,427)
{
@Hint=#7:Условие|16:"резервирования"|9:Выполнено|
Message="Зарезервирован НПР"
Caption="Готовность АВР НПР"
Icon=4
Point(onOK)
}
Add(Message,2056564,378,259)
{
@Hint=#13:Невозможность|14:резервирования|15:более 1-го НПРа|
Message="Более одного
"зарезервированного"
НПРа"
Caption="Готовность АВР НПР"
Icon=1
Point(onOK)
link(onOK,5389056:doWork3,[(424,272)])
}
Add(Message,14085232,651,385)
{
@Hint=#12:Сигнализация|13:об отсутствии|13:Рабочего НПРа|
Message="Отсутствует
Рабочий
НПР в АВР"
Caption="Готовность АВР НПР"
Icon=4
}
Add(Message,5243084,588,336)
{
@Hint=#9:Объявляет|15:о черезмерности|15:"рабочих" НПРов|
Message="Выбрано более
двух "рабочих"
НПРов"
Caption="Готовность АВР НПР"
Icon=1
Point(onOK)
link(onOK,5389056:doWork2,[(636,349)(636,130)])
}
Add(MainForm,91728,14,189)
{
@Hint=#5:НПР-1|
Left=278
Top=283
Width=740
Height=123
ParentFont=0
Ctl3D=0
Caption="АВР НПР"
BorderStyle=6
DragForm=0
TransparentColor=12632256
MouseCapture=0
ClientSize=0
Position=1
Point(doPicture)
link(onCreate,14690850:doWork2,[])
}
Add(MathParse,5916077,210,259)
{
DataCount=3
MathStr="10^%1 + 10^%2 + 10^%3"
ResultType=0
link(onResult,13571253:doOperation,[])
link(X1,11970639:Index,[])
link(X2,1216222:Index,[(223,239)(279,239)])
link(X3,16078882:Index,[(230,246)(342,246)])
}
Add(HubEx,1977765,301,133)
{
Angle=2
link(onEvent,8135445:doWork2,[])
}
Add(HubEx,8135445,238,133)
{
Angle=2
link(onEvent,5916077:doCalc,[(183,139)(183,265)])
}
Add(Hub,8483069,126,203)
{
OutCount=3
link(onEvent1,11970639:doSelect,[])
link(onEvent2,1216222:doSelect,[])
link(onEvent3,16078882:doSelect,[])
}
Add(DoData,1551462,77,203)
{
Data=Integer(0)
link(onEventData,8483069:doEvent1,[])
}
Add(Math,13571253,259,259)
{
OpType=7
Op2=100
ResultType=0
link(onResult,2507152:doCompare,[])
}
Add(If_else,2507152,322,259)
{
Type=2
Op2=Integer(1)
link(onTrue,2056564:doMessage,[])
link(onFalse,6591578:doOperation,[(366,272)(366,342)])
}
Add(Math,9442949,427,336)
{
OpType=7
Op2=10
ResultType=0
link(onResult,13502071:doCompare,[])
}
Add(If_else,13502071,476,336)
{
Type=2
Op2=Integer(2)
link(onTrue,5243084:doMessage,[])
link(onFalse,4277514:doOperation,[(523,349)(523,391)])
}
Add(Math,6591578,378,336)
{
OpType=8
Op2=100
ResultType=0
link(onResult,9442949:doOperation,[])
link(Op1,10008105:Var2,[])
}
Add(Math,4277514,539,385)
{
OpType=8
Op2=10
ResultType=0
link(onResult,15218641:doCompare,[])
link(Op1,728427:Var2,[])
}
Add(GetDataEx,10008105,378,309)
{
Angle=3
link(Data,5916077:Result,[(216,314)])
}
Add(If_else,15218641,588,385)
{
Op2=Integer(3)
link(onTrue,14085232:doMessage,[])
link(onFalse,10786621:doCompare,[(637,398)(637,433)])
}
Add(If_else,10786621,686,427)
{
Op2=Integer(120)
link(onTrue,10922009:doMessage,[])
link(Op1,728427:Var3,[(692,314)])
}
Add(GetDataEx,728427,539,309)
{
Angle=3
link(Data,10008105:Var3,[])
}
Add(HubEx,14690850,56,203)
{
link(onEvent,1551462:doData,[])
}
Add(HubEx,5389056,420,124)
{
Angle=2
link(onEvent,14690850:doWork1,[(60,130)])
}

карма: 22

1
Голосовали:Ingvar
Ответов: 3889
Рейтинг: 362
#42: 2011-05-12 23:10:18 ЛС | профиль | цитата
nesco, выбираешь более двух насосов и все отключаются. На объекте аврал ( ), скидываются на киллера () программисту ( )
карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#43: 2011-05-12 23:13:03 ЛС | профиль | цитата
1nd1g0 писал(а):
выбираешь более двух насосов и все отключаются

А у него, вроде так и предусмотрено, в схеме же можно убрать очистку по мессаге. Кстати, а ты его схему не пробовал, вроде, она тоже отключала. Может, так и надо
карма: 22

0
Ответов: 3889
Рейтинг: 362
#44: 2011-05-12 23:14:18 ЛС | профиль | цитата
Пробовал, долго втыкал что к чему, вскипел и вышел из строя на пару часов.
карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#45: 2011-05-12 23:15:27 ЛС | профиль | цитата
Проверил, у него по трем насосам тоже отключаются. Я не собираюсь обдумывать алгоритм, тк не знаю что толком нужно, просто показал, как можно упростить схему и сделать ее без счетчиков и свитчей
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)