Вверх ↑
Этот топик читают: Гость
Ответов: 80
Рейтинг: -5
#1: 2009-08-03 04:29:31 ЛС | профиль | цитата
Привет всему народу!!!
Интересно, кто нить думал что данная прога очень похожа на электросхему?

Вот по такой аналогии я собираю программы. Очень часто возникает нужда в элементе похожем на элементарное реле.
Описание реле (если кто нить незанеет): катушка, якорь магнитный который втягивается в катушку и контакты прикрепленные к якарю.
Вобще, контактов в реле самое малое 2 - замыкающих или размыкающихся от втягивания якоря в катушку, или 3 контакта (замыкающе размыкающая группа), где средний контакт в нормальном состоянии
замкнут на верхний, и при втягивании якоря замыкается на нижний.

После долгих поисков было найдено полобное решение с помощю элементов Hiasm. К сожелению закачать рисунок или схему не получилось, перейду к словесному описанию:
Выставляем элементы сверху вниз: Memory, GetIndexData и If_else. В память вставляется строчка довольно нейтральная, очень редко встречающаяся, например [+++---+++-0] - типа стринг.
Точно такое-же прописывается и в во второй переменной элемента IF. Соединение поизводят по одной линии DATA от ПАМЯТИ к GetIndexData [0] и к первой переменной If_else.
Как это работает по вашему я не знаю но главное при переключении в точке doIndex элемента GetIndexData, на выходе события непроисходят, так как эл. If_else еще не запрашивал данные.
В данном описании присутствуют только две точки вход-DATA [Data1 и Data2] элемента GetIndexData. Подачана сигнала производитса подачей номера канала Data1=0 и Data2=1 на вход doIndex эл.GetIndexData.
Для получения события сигнал подается на вход doCompare эл. If_else и на его выходе примерно означающие да/нет уже получают события.
Переключение происходит при = --> Да или при <> ---> нет.

Проблемы !!! Данное действие верно при поступлении событий равных стринг-формату [текст], а если подать событие с форматом данных integer? то логика работы нарушается.

Комбинируя количество памяти, линии даннных, кодовых комбинаций [0,1,2,3,...], и элементов IF можно собрать самое различное по группам контактов - реле.

Хотелось иметь данный элемент в составе основного пакета Hiasm, но без описанных проблем. Извините за длинный слог, но элемент Switch своими действиями совсем не похож на описанное выше.

С уважением !!!
карма: 0

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#2: 2009-08-03 05:06:05 ЛС | профиль | цитата
Посмотрите компонент Relay от Galkova. Где-то в разделе Upload.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 5446
Рейтинг: 323
#3: 2009-08-03 05:11:05 ЛС | профиль | цитата
Sergoo, советую прочитать статью Обмен файлами, дабы не возникало потом вопросов по вставке схем на форум. Без схемы, а также без объяснений, что не так с компонентом Switch, трудно сказать что-либо вразумительное по высказанному пожеланию.
карма: 1

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#4: 2009-08-03 08:00:14 ЛС | профиль | цитата
http://hiasm.com/forum.html?q=3&p=5334#p5334
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Разработчик
Ответов: 26135
Рейтинг: 2126
#5: 2009-08-03 08:32:06 ЛС | профиль | цитата
Sergoo, так какое нужно реле, я из описания нефига не понял -- НЗ, НО или переключаемое

Чует мое, что нафиг там не нужен сторонний компонент и все это делается из штатных компонентов
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#6: 2009-08-03 12:57:45 ЛС | профиль | цитата
nesco писал(а):
так какое нужно реле
да никакого.
Sergoo, IndexToChanelChanelToIndex
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26135
Рейтинг: 2126
#7: 2009-08-03 13:17:10 ЛС | профиль | цитата
Tad писал(а):
да никакого

Что-то ты упустил из описания. Тут получится не реле, а коммутатор
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#8: 2009-08-03 13:30:51 ЛС | профиль | цитата
nesco писал(а):
Тут получится не реле, а коммутатор
Не надо игры слов.
Реле и есть коммутатор.
И If_Else тоже реле (или коммутатор).
И IndexToChanel при задействованной верхней точке Index (катушка) тоже реле.
ИМХО.


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26135
Рейтинг: 2126
#9: 2009-08-03 13:38:26 ЛС | профиль | цитата
Или я чег-то не так понял, или тут имелось в виду что-то подобное


Add(MainForm,2953706,133,119)
{
}
Add(Switch,5093422,546,238)
{
Point(doOn)
Point(DataOn)
Point(DataOff)
Point(onOn)
Point(onOff)
link(DataOn,5246221:Var2,[(552,227)(531,227)])
link(DataOff,5246221:Var3,[(559,212)])
link(onOn,10050057:doWork2,[])
link(onOff,14298446:doWork1,[(669,258)])
}
Add(Switch,4234706,546,308)
{
Point(doOn)
Point(DataOn)
Point(DataOff)
Point(onOn)
Point(onOff)
link(DataOn,405933:Var2,[(552,297)(531,297)])
link(DataOff,405933:Var3,[(559,282)])
link(onOn,10824680:doWork2,[])
link(onOff,3393882:doWork2,[])
}
Add(Switch,13559338,546,399)
{
Point(doOn)
Point(DataOn)
Point(DataOff)
Point(onOn)
Point(onOff)
link(DataOn,15415074:Var2,[(552,388)(531,388)])
link(DataOff,15415074:Var3,[(559,373)])
link(onOn,13952166:doWork2,[])
link(onOff,7657836:doWork2,[])
}
Add(Switch,515220,546,469)
{
Point(doOn)
Point(DataOn)
Point(DataOff)
Point(onOn)
Point(onOff)
link(DataOn,3782014:Var2,[(552,458)(531,458)])
link(DataOff,3782014:Var3,[(559,443)])
link(onOn,13952166:doWork3,[(641,482)])
link(onOff,7657836:doWork3,[(669,489)])
}
Add(IntToBits,7776563,399,308)
{
Count=4
Data_0=Integer(0)
Data_1=Integer(1)
link(onBit1,2553764:doEvent,[(443,314)(443,251)])
link(onBit2,9323764:doEvent,[])
link(onBit3,13732596:doEvent,[(454,328)(454,412)])
link(onBit4,12814905:doEvent,[(444,335)(444,482)])
}
Add(Math,3240223,350,308)
{
OpType=9
Op1=1
ResultType=0
link(onResult,7776563:doBits,[])
}
Add(IndexToChanel,2553764,469,245)
{
link(onEvent1,5093422:doReset,[])
link(onEvent2,5093422:doOn,[])
}
Add(IndexToChanel,9323764,469,315)
{
link(onEvent1,4234706:doReset,[])
link(onEvent2,4234706:doOn,[])
}
Add(IndexToChanel,13732596,469,406)
{
link(onEvent1,13559338:doReset,[])
link(onEvent2,13559338:doOn,[])
}
Add(IndexToChanel,12814905,469,476)
{
link(onEvent1,515220:doReset,[])
link(onEvent2,515220:doOn,[])
}
Add(ChanelToIndex,12981840,301,308)
{
Count=4
link(onIndex,3240223:doOperation,[])
}
Add(Memory,13340104,210,161)
{
link(onData,12981840:doWork1,[(283,167)(283,314)])
}
Add(Memory,15090803,210,231)
{
link(onData,12981840:doWork2,[(272,237)(272,321)])
}
Add(Memory,3673195,210,322)
{
link(onData,12981840:doWork3,[])
}
Add(Memory,1742203,210,378)
{
link(onData,12981840:doWork4,[(261,384)(261,335)])
}
Add(GetDataEx,15415074,518,364)
{
Angle=3
link(Data,3673195:Value,[(216,373)])
}
Add(GetDataEx,3782014,518,434)
{
Angle=3
link(Data,1742203:Value,[(216,443)])
}
Add(GetDataEx,5246221,518,203)
{
Angle=3
link(Data,13340104:Value,[(216,212)])
}
Add(GetDataEx,405933,518,273)
{
Angle=3
link(Data,15090803:Value,[(216,282)])
}
Add(Edit,3022962,714,245)
{
Left=95
Top=10
Width=60
Text=""
}
Add(Edit,904298,714,287)
{
Left=95
Top=35
Width=60
Text=""
}
Add(Button,6400391,133,161)
{
Left=30
Top=10
Caption="1"
Data=Integer(1)
link(onClick,13340104:doValue,[])
}
Add(Button,9933163,133,231)
{
Left=30
Top=35
Caption="2"
Data=Integer(2)
link(onClick,15090803:doValue,[])
}
Add(Button,10836103,133,322)
{
Left=30
Top=60
Caption="3"
Data=Integer(3)
link(onClick,3673195:doValue,[])
}
Add(Button,14420551,133,378)
{
Left=30
Top=85
Caption="4"
Data=Integer(4)
link(onClick,1742203:doValue,[])
}
Add(HubEx,10050057,637,238)
{
link(onEvent,3022962:doText,[])
}
Add(HubEx,10824680,637,308)
{
Angle=3
link(onEvent,10050057:doWork3,[])
}
Add(HubEx,13952166,637,399)
{
Angle=3
link(onEvent,10824680:doWork3,[])
}
Add(HubEx,14298446,665,280)
{
link(onEvent,904298:doText,[])
}
Add(HubEx,3393882,665,315)
{
Angle=3
link(onEvent,14298446:doWork3,[])
}
Add(HubEx,7657836,665,406)
{
Angle=3
link(onEvent,3393882:doWork3,[])
}

карма: 22

0
Ответов: 3514
Рейтинг: 184
#10: 2009-08-03 15:13:50 ЛС | профиль | цитата
Я тоже подобный компонент делал :-D
карма: 0
0
Ответов: 80
Рейтинг: -5
#11: 2009-08-03 16:42:50 ЛС | профиль | цитата
Какой ты имееш ввиду? по первому или по второму?
------------ Дoбавленo в 17.21:
Пытаюсь отпарить файл схемы - все попытки закачать -неудачны.
Я участник и закачивать схемы, рисунки и другое не могу. Это ограничение вашего форума. Приятного аппетита
карма: 0

0
Ответов: 5446
Рейтинг: 323
#12: 2009-08-04 02:36:56 ЛС | профиль | цитата
Sergoo, файлообмен используй. Туда вроде все (кроме гостей) могут класть файлы.
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#13: 2009-08-04 12:00:12 ЛС | профиль | цитата
Sergoo писал(а):
Я участник и закачивать схемы, рисунки и другое не могу. Это ограничение вашего форума. Приятного аппетита

видимо не только с закачкой проблема, но и с банальным чтением.

iarspider писал(а):
Sergoo, советую прочитать статью Обмен файлами


Обмен файлами писал(а):
Если Ваш ранг на форуме "Участник", то Вы пока не можете прикреплять к своим сообщениям файлы, но можете воспользоваться сервисом Файлообмен и вставлять в сообщения ссылки на выложенные файлы. Учтите только, что "время жизни" файла в файлообменнике ограничено.


... писал(а):
Приятного аппетита

карма: 27
-1
Голосовали:Sergoo
Ответов: 3851
Рейтинг: 159
#14: 2009-08-04 12:57:54 ЛС | профиль | цитата

вот ещё вариант code_14431.txt (читаем комментарии к элементам)

PS: Sergoo, по аккуратнее с высказываниями..
карма: 0
начавший
1
файлы: 1code_14431.txt [982B] [601]
Голосовали:Sergoo
Администрация
Ответов: 15295
Рейтинг: 1519
#15: 2009-08-04 13:55:14 ЛС | профиль | цитата
Sergoo, безлимитный интернет есть не у всех, но и желание читать неуместный(как было показано выше) сарказм тоже не у всех присутствует.
карма: 27
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)