Привет всему народу!!!
Интересно, кто нить думал что данная прога очень похожа на электросхему?
Вот по такой аналогии я собираю программы. Очень часто возникает нужда в элементе похожем на элементарное реле.
Описание реле (если кто нить незанеет): катушка, якорь магнитный который втягивается в катушку и контакты прикрепленные к якарю.
Вобще, контактов в реле самое малое 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 своими действиями совсем не похож на описанное выше.
С уважением !!!
Ответов: 80
Рейтинг: -5
|
|||
карма: 0 |
|