странное желание "ловить" события с помощью функции, да и сам алгоритм вызывает сомнения, к примеру если операторы начнут совершать двойные нажатия на кнопки. Автоматизация это же не безусловное использование вычислительной техники в любого рода задачах. Кто будет определять что привод действительно остановился, чтоб только после этого задать другое направление. По хорошему всё же должна быть третья кнопка которая просто останавливает процесс, а вперед и назад должны работать по принципу нажал и забыл, автоматом должна происходить парковка(остановка) и смена направления по единственному нажатию, надеюсь ОС с частотника заведена в контроллер
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Вторые строчки в топку
Сравнение с труе/фальсе в топку
Явные скобки в логических выражениях
И разберетесь
Мой вариант с защитой от залипания:
Реверсивное управление двумя кнопками с защитой от залипания.png
Реверсивное управление двумя кнопками с защитой_2.owle
Вот добавил блокировку включения реверса на 5 секунд:
Реверсивное управление двумя кнопками с защитой_3.owle
Последний раз редактировалось Сергей0308; 31.05.2023 в 01:59.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Ну, хочет человек ST.
Вот мой вариант
Безымянный.png
Всем спасибо. Разобрался. Для себя подчерпнул много нового. Для переживающего о двойном нажатии и резкой смене движения. Еще ни разу не было обращений. Я же эту систему сначала чисто на блоках сделал. Просто как она выглядит на блоках и как с помощью ST это большая разница и если знать нюансы ST и иметь больше опыта легче в создании вразы. А уж при появлении возможности создать функциональный блок, это можно все в один блок запихать.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Вопрос: а когда можно будет вставлять st-функции внутрь ФБ?
Ошибка при Включении отладки и использование блока ST
Подскажите с чем это связанно и как этого избежать
System.ArgumentException: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
at System.Collections.Generic.List`1.GetRange(Int32 index, Int32 count)
at Owen.ProgrammableRelay.StackBuild.CopyCellsTo(Int3 2 sourceCellIndex, Int32 destCellIndex, Int32 cellsCount)
at ProgramRelayFBD.ApplicationLayer.ST.AnalizeFunctio nElementService.Analize(StFunctionElement element, ProgramCode program, ICompiledFunctionRepository compiledFunctionRepo)
at Owen.General.DomainEvents.RaiseEvent[T](T event, IEnumerable`1 actions)
at ProgramRelayFBD.DomainLayer.OnlineDebugging.Online DebuggingCompilerState.HandleBuildElement(IBuildin gElement element, ProgramCode program, ICompiler compiler)
at Owen.Compiling.ProgramLinker.CompilingElements(Pro gramCode program, IEnumerable`1 elements, CancellationToken cancellationToken)
at ProgramRelayFBD.DomainLayer.Compilers.BaseCompiler .CompilePrograms(ProgramItem programItem, CancellationToken cancellationToken)
at ProgramRelayFBD.DrawingView.<>c__DisplayClass91_0. b__0()
at System.Threading.ExecutionContext.RunFromThreadPoo lDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.Tasks.Task.ExecuteWithThreadLocal (Task& currentTaskSlot, Thread threadPoolThread)
Подскажите, какой сценарий возникновения такой ошибки и на какой версии owen logic?
Менеджер по продукту | Owen Logic
email: soft@owen.ru