Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о программировании

Вопросы о программировании Вопросы, касающиеся программирования на FBD

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2012, 11:42   #1
lgedmitry
Новичок
 
Регистрация: Apr 2012
Сообщения: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Проектирование - зачем это нужно

У меня вопрос отдельный: как мне в проекте сделать начальную инициализацию оборудования?

Последний раз редактировалось Arsie, 20.04.2012 в 16:28
lgedmitry вне форума   Ответить с цитированием
Старый 20.04.2012, 12:00   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 116
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: FBD чайникам

Цитата:
Сообщение от lgedmitry
Прошу прощенья, получилось что в чужой разговор вклинился. Я этого не хотел совсем. У меня вопрос отдельный был: как мне в проекте сделать начальную инициализацию оборудования? Проект Nickа я совсем не имел в виду.
Тогда вам нужно раскрыть смысл слов "начальная инициализация", т.к. в природе в ходу непрерывные процессы, там нет понятия "начальное состояние температуры воздуха", например. Или "начальное количество людей в помещении".

Чтобы я вас понял, вам нужно описать обычное состояние оборудования, что это за оборудование и чем начальное состояние отличается от обычного. И случаи, в которых это оборудование должно попадать в это самое начальное состояние.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 20.04.2012, 12:13   #3
lgedmitry
Новичок
 
Регистрация: Apr 2012
Сообщения: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: FBD чайникам

Цитата:
Сообщение от Arsie
Тогда вам нужно раскрыть смысл слов "начальная инициализация", т.к. в природе в ходу непрерывные процессы, там нет понятия "начальное состояние температуры воздуха", например. Или "начальное количество людей в помещении".

Чтобы я вас понял, вам нужно описать обычное состояние оборудования, что это за оборудование и чем начальное состояние отличается от обычного. И случаи, в которых это оборудование должно попадать в это самое начальное состояние.
Имеем катушку, на которую мотаем провод. Контроллер SMH 2Gi управляет направлением раскладчика и рассчитывает коэффициенты редукции скорости движения раскладчика относительно скорости вращения катушки. Это я всё нарисовал уже. Или написал, не знаю, как правильно выразиться.
Теперь нужно добавить:
а) при подаче напряжения питания: нужно съездить обмотчиком туда-сюда, чтобы он смог найти себя в пространстве относительно датчика середины пути.
б) при смене катушки: запросить ширину катушки, диаметр провода и край (левый-правый), откуда пойдём мотать. А затем ждать нажатия кнопочки, чтобы включить эту самую взаимосвязь между вращением и раскладкой.
Вот так в общих чертах...
lgedmitry вне форума   Ответить с цитированием
Старый 20.04.2012, 12:32   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 116
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: FBD чайникам

Цитата:
Сообщение от lgedmitry
Имеем катушку, на которую мотаем провод. Контроллер SMH 2Gi управляет направлением раскладчика и рассчитывает коэффициенты редукции скорости движения раскладчика относительно скорости вращения катушки. Это я всё нарисовал уже. Или написал, не знаю, как правильно выразиться.
Теперь нужно добавить:
а) при подаче напряжения питания: нужно съездить обмотчиком туда-сюда, чтобы он смог найти себя в пространстве относительно датчика середины пути.
б) при смене катушки: запросить ширину катушки, диаметр провода и край (левый-правый), откуда пойдём мотать. А затем ждать нажатия кнопочки, чтобы включить эту самую взаимосвязь между вращением и раскладкой.
Вот так в общих чертах...
Я вижу тут только одно условие: при подаче питания определиться в пространстве. Второй пункт является частью рабочего процесса. Так?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 20.04.2012, 13:20   #5
lgedmitry
Новичок
 
Регистрация: Apr 2012
Сообщения: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: FBD чайникам

Да, так. Только этот второй пункт бывает редко. Может 3..10 раз в сутки. Активироваться будет кнопкой "стоп". завершаться - кнопкой "пуск"
lgedmitry вне форума   Ответить с цитированием
Старый 20.04.2012, 13:25   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 116
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: FBD чайникам

Цитата:
Сообщение от lgedmitry
Да, так. Только этот второй пункт бывает редко. Может 3..10 раз в сутки. Активироваться будет кнопкой "стоп". завершаться - кнопкой "пуск"
Дополнительный вопрос: почему датчик положения установлен на середине хода каретки, а не на одном из крайних её положений?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 20.04.2012, 13:45   #7
lgedmitry
Новичок
 
Регистрация: Apr 2012
Сообщения: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: FBD чайникам

Цитата:
Сообщение от Arsie
Дополнительный вопрос: почему датчик положения установлен на середине хода каретки, а не на одном из крайних её положений?
К сожалению, не смогу ответить. Ставил не я. Моя задача - оснастить уже существующее устройство электроникой, чтоб оно заработало. Возможно, это сделано для симметрии конструкции.
lgedmitry вне форума   Ответить с цитированием
Старый 20.04.2012, 13:47   #8
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 116
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: FBD чайникам

Цитата:
Сообщение от lgedmitry
К сожалению, не смогу ответить. Ставил не я. Моя задача - оснастить уже существующее устройство электроникой, чтоб оно заработало. Возможно, это сделано для симметрии конструкции.
Намотка происходит с середины бобины или с краю?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 20.04.2012, 14:10   #9
lgedmitry
Новичок
 
Регистрация: Apr 2012
Сообщения: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: FBD чайникам

Цитата:
Сообщение от Arsie
Намотка происходит с середины бобины или с краю?
намотка - с краю. Преимущественно - с одного и того же. Но не исключено, что и с другого когда-нить придётся. Думаю сделать слева - значение по умолчанию, а справа - если оператор особо попросит.

Про начальную инициализацию думаю, чтоб сперва спрашивала, справа или слева от середины находится катушка, а потом уж ехала привязываться к системе координат. Если укажут неправильно - сработает конечник запредельно правого или запредельно левого положения, на экране появится "врать нехорошо" и катушка поедет обратно.
lgedmitry вне форума   Ответить с цитированием
Старый 20.04.2012, 14:25   #10
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 116
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: FBD чайникам

Цитата:
Сообщение от lgedmitry
намотка - с краю. Преимущественно - с одного и того же. Но не исключено, что и с другого когда-нить придётся. Думаю сделать слева - значение по умолчанию, а справа - если оператор особо попросит.

Про начальную инициализацию думаю, чтоб сперва спрашивала, справа или слева от середины находится катушка, а потом уж ехала привязываться к системе координат. Если укажут неправильно - сработает конечник запредельно правого или запредельно левого положения, на экране появится "врать нехорошо" и катушка поедет обратно.
Ага, всё-таки концевики крайних положений есть. Что вы ещё "забыли" рассказать?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 20.04.2012, 14:53   #11
lgedmitry
Новичок
 
Регистрация: Apr 2012
Сообщения: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: FBD чайникам

Я б не назвал эти конечники "крайними положениями". По моему пониманию - это аварийные положения, и при нормальной работе оборудования и персонала они должны мхом зарости.

Что забыл: после нажатия кнопки "стоп" оператор может как хочет крутить катушку - хоть руками, хоть частотным преобразователем. Каретка никак не должна реагировать. Само управление катушкой сделано до меня и мне там делать нЕчего. Кроме того лишь, что оттуда я беру аналоговый сигнал 0...10В, пропорциональный скорости вращения, и подаю его напрямую в частотник каретки. Контроллер лишь меняет коэффициенты пропорциональности в зависимости от толщины провода.

Ну и на всякий случай, планирую 2 кнопки "взад-вперёд" для частотника каретки. (мало-ли чего на свете случается и требуется). Они вообще никак не будут связаны с работой программы. Кроме той части, что касается аварийных конечников.
lgedmitry вне форума   Ответить с цитированием
Старый 20.04.2012, 14:57   #12
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 116
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: FBD чайникам

Цитата:
Сообщение от lgedmitry
Я б не назвал эти конечники "крайними положениями". По моему пониманию - это аварийные положения, и при нормальной работе оборудования и персонала они должны мхом зарости.
Тогда каков их сакраментальный смысл? С какой точностью планируете позиционировать каретку относительно барабана и какими средствами этого добиваться?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 20.04.2012, 15:40   #13
lgedmitry
Новичок
 
Регистрация: Apr 2012
Сообщения: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: FBD чайникам

Цитата:
Сообщение от Arsie
Тогда каков их сакраментальный смысл? С какой точностью планируете позиционировать каретку относительно барабана и какими средствами этого добиваться?
Смысл, в основном, как я уже писал - предотвращение долбления кареткой об края станка, когда конроллер только включили и он не знает, где края, где середина, а оператор посылает каретку не туда.
Позиционирование планирую по энкодеру, установленному на валу двигателя привода каретки: берём энкодер на 100 рисок, делим его встроенным в плату интерфейса частотника делителем на 128. Получаем с учётом механической редукции привода приблизительно 4.3 миллиметра на импульс при 6.5 импульса в секунду на максимальной скорости работы. Точность - не особо, хотя должно хватить.
Можно будет попробовать разделить не на 128, а на 64. Тогда имеем 2.1 мм и 13 импульсов в секунду. Тоже хорошо, но есть проблема. При начальной инициализации, а также выводе катушки в начальное положение при работе, скорость движения каретки неплохо б ставить максимально возможную для двигателя, а это уже будет раза в 3 быстрее: где-то около 40 импульсов в секунду. Боюсь, не успеет контроллер. Можно, конечно, менять коэффициенты деления частоты, приходящей с энкодера. Вот только я не решил ещё, нужна ли эта двойная точность, или не нужна. Скорей всего второе. До рабочих же испытаний ещё очень далеко, чтоб убедиться.
ну а сам алгоритм позиционирования простой: оператор вводит предельные величины движения каретки влево и вправо. А также диаметр провода. Контроллер вычитает из каждого предела половину диаметра провода, переводит миллиметры в импульсы. Затем считает импульсы и реверсирует двигатель в работе, каждый раз, когда стало "меньше или равно" и "больше или равно"
lgedmitry вне форума   Ответить с цитированием
Старый 20.04.2012, 16:24   #14
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 116
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: FBD чайникам

Цитата:
Сообщение от lgedmitry
Смысл, в основном, как я уже писал - предотвращение долбления кареткой об края станка, когда конроллер только включили и он не знает, где края, где середина, а оператор посылает каретку не туда.
Что мешает их установить по краям рабочего диапазона? Функцию "антидолбления" они выполнят успешно, заодно позволят очень сильно разгрузить математическую часть алгоритма.

Кстати, если у вас энкодер, то датчик среднего положения - ненужная штука.

Даже если крайние концевики вне рабочей зоны, всегда можно достать каретку "в стенку" и далее отступить нужное число импульсов до рабочей области.

Я до сих пор не понимаю, зачем вы пытаетесь искать проблем на свою голову - чем алгоритм проще, тем он лучше и надёжнее работает


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 20.04.2012, 17:00   #15
lgedmitry
Новичок
 
Регистрация: Apr 2012
Сообщения: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Проектирование - зачем это нужно

Всё-таки поверю в мудрость древних конструкторов. Конечно, можно забазироваться от одного из конечников, при этом убрав датчик середины. Но тогда лишимся радости корректировать ошибку при каждом проходе каретки. Опасно это, ошибка слой за слоем может немаленькая накопиться. Думаю, именно потому и ввели третий датчик, который всегда в поле зрения находится. А просто по конечникам работать - на этом станке аццки неудобно будет их перестраивать при смене катушки или кабеля. Лучше я не буду там ничего переделывать - ограничусь написанием программы под то, что уже есть.
lgedmitry вне форума   Ответить с цитированием
Старый 20.04.2012, 17:52   #16
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 116
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Проектирование - зачем это нужно

Цитата:
Сообщение от lgedmitry
Всё-таки поверю в мудрость древних конструкторов. Конечно, можно забазироваться от одного из конечников, при этом убрав датчик середины. Но тогда лишимся радости корректировать ошибку при каждом проходе каретки. Опасно это, ошибка слой за слоем может немаленькая накопиться. Думаю, именно потому и ввели третий датчик, который всегда в поле зрения находится. А просто по конечникам работать - на этом станке аццки неудобно будет их перестраивать при смене катушки или кабеля. Лучше я не буду там ничего переделывать - ограничусь написанием программы под то, что уже есть.
Вот вам и способ инициализации вашей системы: зная отступ от крайнего положения до рабочей зоны конкретной катушки, вы при включении питания должны сдвинуть каретку в любое крайнее положение и отступить нужное число шагов до рабочей зоны.

Всё. Инициализация окончена.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 11:45.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024