да при чем тут внутренности макросов ? один макрос - один алгоритм. Автор предполагает что алгоритмов будет 100. Посмотрите куда он выходы макросов хочет сводить ?
да при чем тут внутренности макросов ? один макрос - один алгоритм. Автор предполагает что алгоритмов будет 100. Посмотрите куда он выходы макросов хочет сводить ?
Василий Кашуба от перемены мест сумма не изменится, хоть вы блокировку выходов в макрос запихнете, хоть снаружи она будет.
Все ведь просто, выбор алгоритма + блокировка выхода это минимум 2 блока, сведение выхода каждого макроса на один физический выход это + 1 блок * количество алгоритмов.
Сами алгоритмы тоже состоят из блоков. Кстати не нашел для ПР200 сколько вообще он способен потянуть блоков ?
Всем доброго дня, и спасибо всем кто не равнодушен к моей проблеме!
Как а и писал ранее меня бы устроил вот такой алгоритм решения моей проблемы:
screenshot2018-11-19001.1542618358.png
НО переменные выделенные красным цветом не хотят назначаться!
Может быть я что то не так делаю?
Прочитал, все что вы тут выше написал, и понял только одно, что я очень сильно плаваю в некоторых терминах, хотя интуитивно я думаю, что донес основную мысль.
Так же понял, что возможно тот способ который я изначально предложил, и который мне помог реализовать Aviator_VZh, возможно не верный из-за того, что переменные (XYZDN) на выходе не могут нести "универсальную функцию использования".
Но как иначе мне управлять ими? Ведь это 5 основных исполнительных механизма станка, которые должны работать с правильной логикой и последовательностью, и ими можно управлять только по принципу 0,1...
Василий Кашуба, спрашивал по поводу "внутренностей" макросов/программ, Василий там ничего особенного нету, просто логическая последовательность с задержками по времени (скорее даже там нету никакой логики(логических блоков), а просто задержки). Просто для каждой из 100 программ есть своя индивидуальная задержка.
Я понимаю, что можно , наверное, решить эту проблему, просто создав для себя таблицу с каждой программой и задержками временными, и просто на дисплее ПР200 для каждой переменной вбивать каждую новую программу, новые значения, но это очень долго, и можно ошибиться (оператор может не справиться).
Я думал даже может просто уж если на то пошло написать просто 100 *.owl программ, и написать скрипт с помощью которого автоматически подключенный по USB нетбук будет каждый раз загружать в ПР200 новую программу, но это уже какая то муть получается.
UPD.
Условно говоря что внутри макросов/программ:
screenshot2018-11-19001.1542619517.png
Последний раз редактировалось NikitaR; 19.11.2018 в 12:26.
Конечно не такНО переменные выделенные красным цветом не хотят назначаться!
Может быть я что то не так делаю?
Нужно выходы макросов по ИЛИ объединять
в простейшем случае
Захват-1.png
Последний раз редактировалось petera; 19.11.2018 в 12:49.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Лоджик не позволяет дважды писать в переменную, поэтому Вы и не можете запустить описанный алгоритм и поэтому Вам проще изменить алгоритм.
Учитывая, что Вы пользуетесь задержками, то Вам проще вообще уйти от переменных на выходе, а использовать изменение задержек.
Т.е. блинк и прочее отправляете сразу на выход пр, а при помощи выбора значения алгоритма, задаете задежки тоф и тон.
Последний раз редактировалось Sel; 19.11.2018 в 12:51.
В более расширенном варианте
Захват-2.png
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
NikitaR
1. выбираете по номеру свой алгоритм, как вам предложили выше, но с блокировкой, дабы другой макрос, кроме выбранного не работал, то есть blink с 0 на входе.
2. Как предложил petera объединяете одноименные выходы через OR
Другой подход - Возьмите за основу макрос ПЗУ и сделайте на выходе ОДИН макрос. А все временные задержки пропишите в ПЗУ, и выбирая номер программы у вас все будет меняться и работать через ОДИН макрос. Сильно сэкономите по количеству FBD. при чем ОЧЕНЬ сильно.
Если есть некоторые отличия в программах, можно сделать 2,3 или нужное количество требуемых макросов + ПЗУ и уже только их менять как в первом варианте.
NikitaR я вам сразу сказал, что при таком решении будет космическое количество блоков.
a petera вам уже нарисовал расширенный вариант, только он там выходы блокировал.
И еще один момент, посмотрите по документации ОЛ как начинает работать его blink, кажется с паузы, в принципе если так устраивает то и ладно.
Макрос ПЗУ посмотрите в темах о макросах или даже в онлайн базе
EPROM или EEPROM еще может называться.