доброго времени суток
нужен стек на 16 целых чисел
может кто-нибудь видел или делал что-нибудь подобное
пробовал написать сам но получается слишком медленный
на 1 сдвиг по стеку уходит 17 циклов а охото за 1-2 цикла уложится
Вид для печати
доброго времени суток
нужен стек на 16 целых чисел
может кто-нибудь видел или делал что-нибудь подобное
пробовал написать сам но получается слишком медленный
на 1 сдвиг по стеку уходит 17 циклов а охото за 1-2 цикла уложится
http://www.owen.ru/forum/showthread.php?t=23494 Пример реализации регистратора событий, макрос стек 32, легко обрезать до 16
Тигра такой потянет
Вложение 25075
Раньше использовал для этого универсальный счётчик или SEL как элемент памяти, но тут особый случай, решил заморочиться: слово, диапазона 0-65535, разбирается на биты, сдвигается обычными Д-триггерами, на них сделаны регистры сдвига, затем собирается!
Всем спасибо посмотрел идеи замечательные, но
в фиксаторе событий 1 цикл - 1 перезапись ячеек таким образом на 16 ячеек требуется 16 циклов это долго
в стек_16 все быстро как и нужно но не хватает энергонезависимости (хотя сбой питания маловероятен)
хотел сделать 16 переменных Ахх
и за 1 цикл перезаписать писать
А16:=А15
А15:=А14
....
А01:=new
Да кто ж для ПР циклы считает ,для каких задач?
Не поверите линия убоя птицы скорость движения 3 курицы в секунду стоит оптический датчик который считает ноги продолжительность импульса 30мс
курицы висят плотно можно было бы считать счетчиком но бывают прилипшие перья и прочие помехи вот и пытаюсь за счет логики исключить ошибку подсчета это уже почти реализовал на на 2000 курей ошибка в 1 курицу
теперь хочу на экране вывести бегущую строку в виде 16 движущихся значков
- пустая
Х полная
0 помеха
Могу сделать макрос для вашей задачи, если интересно, пишите в личку, договоримся.
не поверите счетчик птицы на линии убоя
начальство хочет считать еще живую курицу скорость линии 3 курицы в секунду
считаю оптическим датчиком ноги за счет логики отфильтровываю помехи в виде перьев, хвостов
считаю уже хорошо на 2000 куриц 1-2 ошибки
теперь хочу на дисплей вывести бекущую строчку
Х курица
_ пустая подвеска
0 мусор
16 символов вот и нужен СТЕК достаточно быстрый
хотел использовать SEL и задать порядок выполнения, но что то не идет ни как
после 3-4 циклов порядок сбивается
Есть подозрения, что Вам надо фильтровать импульсы по времени(продолжительности)!
Всем спасибо
Победил сделал через промежуточные переменные проверил работает
Вложение 25092
может только не совсем рационально
Подскажите, а в макросе (который онлайн) "Упр.Нас.ZL" если на вход "ZL" ни чего не подавать, то ни один из насосов не должен включаться?
Вторая версия макроса интервального таймера с маской недели (даты и секунд нет), для возможности вводить с экрана уставки включения и выключения и др.
Релиз v2.0 (от 19.08.2016):
Релиз v2.1 (от 26.10.2016):
Релиз v2.2 (от 30.09.2017):
http://www.owen.ru/forum/attachment....1&d=1506805065
Назначение входов и выходов описаны в свойствах, в поле комментарий.
При использовании данного макроса всю ответственность Вы берете на себя.
ЗЫ авторское право по схеме подключений стандартных ФБ оставляю за собой.
По моему вот этот макрос интервального таймера с маской недели надо сделать онлайн в ОЛ.
Спасибо Pavel_.
Можно пойти ещё намного дальше, достаточно добавить в сервисные переменные дни недели, хотя уже не так актуально, но по этому вопросу если честно, лично у меня возникают сомнения в адекватности "творцов", это же получается, для других доступно(по сети), а для себя - нет! Типа купил часы, другие могут посмотреть и узнать время, а ты - нет! Маразм, мягко выражаясь!
Можно пойти еще дальше, ввести в ОЛ именованные константы и простейшие пользовательские типы например перечисления, а про структуры я и не заикаюсь... ;)Цитата:
Можно пойти ещё намного дальше, достаточно добавить в сервисные переменные дни недели, хотя уже не так актуально, но по этому вопросу если честно, лично у меня возникают сомнения в адекватности "творцов", это же получается, для других доступно(по сети), а для себя - нет! Типа купил часы, другие могут посмотреть и узнать время, а ты - нет! Маразм, мягко выражаясь!
Я тот макрос в онлайн базе уже доработал, просто он еще не обновлен, сейчас готовлю полное описание с диаграммами, и выложу.
Здесь в тексте вроде ошибка?Цитата:
1. Для того чтобы в режиме 2 таймер автоматически блокировался после однократного
срабатывания, необходимо на вход и на вход назначать одну переменную, тогда она
автоматически перезапишется в «0» после однократного срабатывания, и таймер
заблокируется.
Вот на основе 512 разрядного стека вещественных значений, соорудил макрос среднего значения скользящим окном с изменяемой шириной:
Вложение 26784
Уменьшение ширины окна увеличивает быстродействие, увеличение обеспечивает лучшее сглаживание, макрос всё это совмещает в себе!
Проект и макрос долго открываются, порядка 3-4 минут, необходимо иметь терпение!
У кого то слишком много свободного времени ...;) .Не правильной дорогой идете, Товарищи!
по поводу скользящих, вот ребята с форекса высказывают идеи что считать все совсем не обязательно
нормальный способ ...если ограничен в быстродействии .Но нужно сначала заполнить весь стек ,а у потом действовать как предложено .Если делать на FBD то может сложнее получится реализация, а код не уменьшится и быстродействие не увеличится ..
Тут не от FBD-неFBD зависит, а от наличия подходящих блоков.
Сейчас в ОЛ массивы в зачаточном состоянии находятся. А, возможно, даже и в противо-.
Были бы удобные блоки для работы со стеками/очередями -- было бы намного удобнее.
Процессору добавить элемент в стек это несколько команд. А на текущем FDB это порнография полнейшая. Да, работает, да, кому-то душу греет (ну, что "даже в текущих ограничениях ОЛ получается"), но, положа руку на сердце, блоков в ОЛ слишком мало.
Да уже не один год работаем с очередями -стеками и нет проблем для понимания и применения ...Проблемы и споры с разработчиками были когда нужно было регистры сдвига битовые реализовывать ,но разработчики услышали и ввели явные связи ...Что для вас порно ,для нас легкая эротика :p,самый цымус ...
ну вот еще способ, вернее формула Yn = 3 * LWMA - 2 * SMA
PS и приведу за одним уж цитату третьего способаЦитата:
3-й метод. Приближение
Суть этого метода состоит в том, чтобы заменить используемые в эксперте "тяжелые" индикаторы на существенно более быстрые, но рассчитывающие нужные величины лишь приблизительно.Польза от этого в том, что можно быстро тестировать разрабатываемую стратегию. Ведь на этапе отладки не очень важна точность прогнозов.
Также этот метод можно применять и в уже рабочей стратегии - для проведения грубой оптимизации параметров. Это позволяет быстро найти оптимальные области значений параметров. А потом уже пройтись по ним с "тяжелыми" индикаторами для точной настройки
Ширины окна 16 за глаза для фильтрации, какие 512. Ввиду специфики FBD ,проект короче не будет ибо первоначально вы должны сделать N сложений и деление ,а уж потом прибавлять,отнимать по одному значению ...но посмотреть и потренироваться можно ..
Уже присмотрел практически готовый пример, только стек добавить, выход стека на вычитание:
Вложение 26794
Короче чуть переделать, хорошо стек поставлю 16 разрядный, так и проще выйдет!