12.02.2019, 12:27 | #721 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
12.02.2019, 12:27 | #722 | |
Новичок
Регистрация: Jan 2019
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Цитата:
Добавлено через 1 минуту В самом конце, после первого. Кран едет сверху вниз. |
|
12.02.2019, 12:32 | #723 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Итак, как я уже понимаю, есть некий кран, который доставляет паллеты с дурью через стену на Мексиканской границе Этот кран совершает возвратно-поступательные движения (иначе это не кран, а конвейер). Пока всё верно? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
12.02.2019, 12:44 | #724 |
Новичок
Регистрация: Jan 2019
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Кран поддон с грузом у которого условно находится на верху. Оператор нажимает на пульте кнопку вниз (без фиксации), груз начинает опускаться на макс скорости (10 вольт на аналог). Внизу два датчика расположенные вертикально. Поддон достигает первого датчика если считать сверху, скорость опускания снижается (на аналог 3 вольта). Затем достигая второго самого нижнего датчика стоп. (аналоговый в 0 вольт, дискретный в резет) .
|
12.02.2019, 13:00 | #725 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Цитата:
Ок, как кран возвращается обратно? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
12.02.2019, 13:18 | #726 | |
Новичок
Регистрация: Jan 2019
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Цитата:
Ручной режим весь изладил, кнопка вверх - кран вверх на верхнем датчике переключается на движение вперед горизонтально, потом доезжает до двух горизонтальных датчиков начинает опускаться. Все было хорошо... потом заказчик говорит надо чтобы все было на двух скоростях и опускание и поднимание и вперед и назад. Вначале движения макс. скорость перед завершением пониженная скорость, там привада для этого. Застопорился когда стало надо не только просто замкнуть один дискрет на включение, но еще одновременно подать на аналог с начало 10 вольт, потом 3 вольта. Этот механизм что-то ниакак не пойму. |
|
12.02.2019, 13:22 | #727 |
Новичок
Регистрация: Jan 2019
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Ели интересно вот проект.
Вперед вниз как раньше было, вверх в состоянии разрухи. Последний раз редактировалось Arsie, 19.02.2019 в 10:26 |
12.02.2019, 14:12 | #728 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
В общем, как я понял, "кран" уезжает с "датчика 2" по нажатию другой кнопки.
Тогда так: Левый MUX переключает скорости, правый включает/выключает аналоговый выход. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
12.02.2019, 14:32 | #729 |
Новичок
Регистрация: Jan 2019
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Похоже ларчик как всегда просто открывался. В мыслях что-то подобное и было но не понимал как в фбд. Спасибо!
|
12.02.2019, 14:46 | #730 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Цитата:
Задача движения с торможением делится на две независимые подзадачи, имеющие разные источники (как говорят в Европе и США, триггеры) запуска и обе заканчиваются в одно и то же время. В итоге, если правильно проговорить ТЗ, то решение уже готово. Даже название блоков есть)) __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
22.02.2019, 07:33 | #731 |
Новичок
Регистрация: Feb 2019
Сообщения: 22
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Здравствуйте, помогите пожалуйста сделать эту картинку средствами SMLogix, не могу понять полностью функционал т.к. контроллера запасного нет(единственный стоит в непрерывном цикле), опробовать не на чем. И если кому не сложно, объясните каким путем, в данном язычке решаются вопросы EN\ENO, сеты\ресеты, позитивного и негативного фронта.
Последний раз редактировалось ВалераМ, 22.02.2019 в 07:59 |
22.02.2019, 12:23 | #732 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Цитата:
Иногда ещё говорят передний/задний фронт, но это неграмотно ещё и лексически, т.к. само по себе слово "Фронт" (Raise) означает движение вверх. "Отрицательное движение вверх" сродни "отрицательному росту" в устах наших политиков, а "заднее движение вверх" вообще ни в какие ворота не лезет)) Сеты/Ресеты - это глухие триггеры, RS, с единственной подключенной линией, S (set) или R (reset). Глухие - потому что их невозможно перевести в противоположное состояние без перезапуска контроллера. ENO - бессмысленная конкретно для языка FBD операция (наследство от LAD), вопрос решается отсечением вывода блока наиболее подходящим способом: мультиплексором (MUX), если результат отключения должен быть предустановленным или регистром-защёлкой (D-trigger или REG), если должен быть сохранён предыдущий результат обработки. EN - тоже бессмысленная, однозначно имитируется имитатором ENO на входе, но при наличии ENO достаточно просто ничего не делать - ничего это в логике прохождения данных не изменит, выход и так не изменится. Инверсия делается пропусканием логического сигнала через инвертор, NOT. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
22.02.2019, 23:38 | #733 |
r/o
Регистрация: Mar 2010
Сообщения: 363
Благодарил(а): 1 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: FBD чайникам
А как можно весь проект , например конструктора, свернуть в макрос ?
|
23.02.2019, 12:01 | #734 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 174
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: FBD чайникам
как обычно, выделил, создать макрос.
|
23.02.2019, 18:02 | #735 |
r/o
Регистрация: Mar 2010
Сообщения: 363
Благодарил(а): 1 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: FBD чайникам
не получается выделить
|
23.02.2019, 20:29 | #736 |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 174
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: FBD чайникам
https://yadi.sk/d/oROPY60LdYP9kQ
по ссылке экзешник со скринвидео и со встроенным плейером |
23.02.2019, 22:13 | #737 |
r/o
Регистрация: Mar 2010
Сообщения: 363
Благодарил(а): 1 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: FBD чайникам
Премного благодарен
|
26.02.2019, 09:49 | #738 |
Новичок
Регистрация: Feb 2019
Сообщения: 22
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
А с верхней просьбой моей поможете?
на скриншоте. Очень прошу. Есть еще один скрин, подобный. помогите сделать на SMlogix |
26.02.2019, 13:27 | #739 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Цитата:
1) F_TRIG №0 - это детектор спада. Спад по английски называется Fall. Move - в данном применении выполняет функцию либо регистра-защёлки, либо мультиплексора, либо демультиплексора. Скорее всего функцию демультиплексора. 2) BLINK - обычный генератор для лампы, которая мигает как маячок. Собственно, в нашей библиотеке макросов есть макрос маячка, чтобы не делать эту функцию вручную. 3) Маячок используется не по назначению, но в данном случае это не мешает - повезло, что счётчик CTUD ловит фронты на счётном входе, а не уровень. А вот последующий ADD может отработать с ошибкой, т.к. перенос осуществляется не мгновенный, а в течении 500 мс. Это явный алгоритмический ляп, из-за которого пришлось ставить блок R_TRIG №4. Блок сложения в конце одновременно выполняет функцию защёлки результата (блокировкой входных данных). Похоже, складываются какие-то аналоговые величины в виде накопительного кольцевого буфера. 4) Блок DIV делит результат счёта на 20. Счётчик тоже считает до 20 и схема очень похожа на плавное наращивание аналоговой величины от 0 до 100%. 5) Результат деления в виде плавно наращиваемой величины никому не нужен, поэтому можно сделать предположение, что эта схема является всего лишь усредняющим фильтром, реализуемом на двух блоках что в Кодесисе, что в Степе, что Лоджике. Собственно "trig3" совместно с блоком MOVE #12 как раз и занимается тем, что отсекает выход в процессе накопления и усреднения. 6) Блоки №14, №15 и №16 занимается обнулением кольцевого буфера каждый раз, как счётчик досчитает до 20. Исходя из вышеописанного, я лучше сделаю накопительный буфер так, как его нужно строить в SMLogix. Прямое копирование будет неэффективно, тем более, что эта схема некорректно себя ведёт при повторном запуске. Логика работы схемы следующая: по сигналу режим = 1 на выход схемы каждые 20 циклов передаётся входная величина и затем она же, но усреднённая по 20 выборкам. По смене сигнала на режим = 0 входная величина передаётся без усреднения. PS. Я потому редко выполняю просьбы о преобразовании или примерах программирования, потому что невинный вопрос "как заменить блок" или "покажите пример" выливается в потерю часа-двух-трёх времени на анализ задачи. Сейчас это время было откушено от других посетителей форума и техподдержки. Кольцевой буфер "набросать" на Лоджике дело примерно 10 минут, если есть понимание, зачем это нужно. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
26.02.2019, 13:30 | #740 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Схожесть если только графическая. Функционально схема полностью не соответствует. Я вам помогу, если вы проведёте анализ задачи. Пример см. выше.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
26.02.2019, 13:44 | #741 | |
Новичок
Регистрация: Feb 2019
Сообщения: 22
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Спасибо большое , теперь есть понимание работы многих элементов.
А все таки симулятор облегчил бы жизнь и Вам и нам. Очень благодарен Вам, Arsie. А вообще мне очень понравилась и среда и контроллер. Как разберусь с Лоджиком буду еще их заказывать. Добавлено через 19 минут Цитата:
Мне нужно было усреднить за время, входное аналоговое значение и записать среднее на аналоговый выход. Причем на выходе никогда не должно быть нулевое значение. Ну видать я объясняльщик не от бога (программистского) посему, мучаюсь. |
|
26.02.2019, 14:17 | #742 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Да, эту схему я сделал для вас.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
27.02.2019, 11:40 | #743 |
Новичок
Регистрация: Feb 2019
Сообщения: 22
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: FBD чайникам
Здравствуйте! Arsie, а каким образом защелка пропускает в начале цикла значение на выход, я просто стоял наблюдал, 1 не приходит никогда на блок OR, который стоит перед защелкой.
И как сделать чтоб время на втором таймере чередовалось например сначала 20 сек, потом 40 сек, потом опять 20 сек? Заранее спасибо. ЗЫ: Мультиплексор у Вас макросом в Select реализован? (на входе Bool) И еще, точность таймера может упасть если программа не вместиться в 100мс? |
27.02.2019, 12:40 | #744 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Цитата:
Цитата:
И это не секунды, это итерации. Длительность одной итерации задаётся первым таймером. http://forum.segnetics.com/showthread.php?t=736 Подберите круглое время цикла и поделив 1 секунду на его значение, получите число для счёта первым счётчиком. Можно и проще: используйте блок time to tick, он сам всё посчитает, вам останется только круглое время подобрать, чтобы одно на другое нацело делилось. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||
10.03.2019, 21:46 | #745 |
r/o
Регистрация: Mar 2010
Сообщения: 363
Благодарил(а): 1 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: FBD чайникам
Подскажите пожалуйста, какие есть особенности работы с датчиками кислорода (О2) выход 4... 20мА, какой к ним подойдет макрос. Прикрутил макрос датчика влажности, но может есть еще какая -нибудь информация. ?
|
11.03.2019, 10:37 | #746 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Никаких особенностей, всё как обычно для датчиков 0-10В/4-20mA.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
14.03.2019, 11:38 | #747 |
Senior Member
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: FBD чайникам
Добрый день! Подскажите пожалуйста по поводу работоспособности счетчика.
Требуется организовать энергонезависимый циклический счетчик. Он должен сохраняться в момент пропадания питания. Работоспособно ли данное решение? Последний раз редактировалось Arsie, 25.03.2022 в 16:48 |
14.03.2019, 11:48 | #748 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Нажмите правую кнопку мыши на блоке Device (kernel) и прочтите справку по функциональности используемого вами выхода.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
14.03.2019, 12:07 | #749 |
Senior Member
Регистрация: Dec 2018
Адрес: Tomsk
Сообщения: 431
Благодарил(а): 10 раз(а)
Поблагодарили:
4 раз(а) в 4 сообщениях
|
Ответ: FBD чайникам
как понял что если напряжение питания не восстанавливается в исходное состояние то сигнал на данном выходе не появляется. А тогда есть другие способы понять что контроллер отключается и при этом успеть записать значение в память?
|
14.03.2019, 12:13 | #750 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: FBD чайникам
Цитата:
Другой вопрос, нужно ли вам это. Требует ли этого ваша задача или вы просто выполняете её первым пришедшим на ум способом. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|