СИСТЕМА ПРОГРАММНОГО ПОЗИЦИОНИРОВАНИЯ ПЕРЕМЕЩАЕМОГО ОБЪЕКТА

Предлагаемая система программного позиционирования перемещаемого объекта относится к области автоматики и автоматизации производства и может быть использована для управления перемещениями исполнительных органов станков, промышленных роботов, а также мобильных роботов подобных, например, роботу-наблюдателю с подвижной видеокамерой.
В настоящее время системы программного позиционирования, аналогичные предлагаемой, широко известны и рассмотрены в технической литературе. Наиболее полно они описаны в книге «Л.А. Срiбнер, Л.К. Шраго. Кодовi датчики положения в системах програмного керування металорiзальными верстатами. - Киiв, «Технiка», 1968». Системы-аналоги включают в себя реверсивный привод перемещения объекта, кодовый датчик положения объекта, кинематически связанный с приводом, блок запоминания кода позиции, в которую требуется переместить объект, ячейку запоминания направления перемещения объекта, соединенную с реверсирующим входом привода, и схему совпадения кодов, первые входы которой соединены с блоком запоминания кода позиции, вторые - с выходами кодового датчика, а выход со входом включения-выключения привода. Блок запоминания кода позиции и ячейка запоминания направления перемещения вместе образуют устройство задания программы системы. Если объект, подлежащий перемещению, находится в исходном положении, то при вводе программы в систему с помощью устройства задания программы схема совпадения кодов выдаст сигнал несовпадения, выражающийся в появлении на ее выходе логической единицы. Эта единица послужит сигналом включения привода, и объект, подлежащий перемещению, начнет перемещаться. Как только он достигнет требуемой позиции, коды от задающего устройства и от датчика положения совпадут, сигнал на выходе схемы совпадения кодов примет нулевое значение, и привод выключится.
Особенностью систем-аналогов является то, что программа в них вводится в том же коде, что выдает кодовый датчик положения. Если, например, датчик формирует естественный двоичный код, то и программу вводят в естественном двоичном коде. Такой подход ведет к упрощению системы, так как в ней не требуются блоки преобразования кодов. Тем не менее, систему стремятся и дальше упростить, но уже за счет упрощения конструкции датчика. Если датчик выполнить формирующим не естественный двоичный код, а комбинаторный, то его конструкция существенно упростится. В целом система будет наиболее простой, но тогда программу придется вводить тоже в комбинаторном коде. Это неудобно, так как такой код не является арифметическим. В нем сложно рассчитывать программу, не очень просто и проверять ее правильность.
Указанный недостаток систем-аналогов можно устранить, если программу вводить в естественном двоичном коде, а кодовый датчик конструировать, все-таки, формирующим комбинаторный код. Но в таком случае в систему потребуется ввести кодопреобразователь, преобразующий двоичный код в комбинаторный. Это несколько усложнит систему, но сделает ее более удобной в эксплуатации. Именно так построена система программного управления, описанная в книге «Ю.С. Шарин. Технологическое обеспечение станков с ЧПУ. - М.: Машиностроение, 1986» на стр. 169 и проиллюстрированная рис. 125, в. Эта система, принятая нами за прототип, содержит реверсивный привод перемещения объекта, кодовый датчик положения объекта, кинематически связанный с приводом, блок запоминания кода позиции в которую требуется переместить объект, ячейку запоминания направления перемещения объекта, соединенную с реверсирующим входом привода, кодопреобразователь, входы которого соединены с блоком запоминания кода позиции, и схему совпадения кодов, первые входы которой соединены с выходами кодопреобразователя, вторые входы - с выходами кодового датчика, а выход - со входом включения-выключения привода.
При эксплуатации системы-прототипа с помощью блока запоминания кода позиции в систему вводят кодовую комбинацию естественного двоичного кода, соответствующую требуемой позиции. Эта комбинация преобразуется в комбинаторный код или другой, но такой, в каком работает кодовый датчик положения. Когда перемещаемый объект находится в исходном положении, датчик выдает код, отличающийся от кода, выданного кодопреобразователем. Схема совпадения кодов выдает логическую единицу, привод работает и объект перемещается. Как только требуемая позиция объектом будет достигнута, схема совпадения выдаст логический ноль, привод и перемещаемый им объект остановятся. В системе-прототипе датчик может быть достаточно простым, в частности, в результате применения комбинаторного кода, а программу готовить для нее и вводить в нее удобно, так как это делается в естественном двоичном коде. Однако и у системы-прототипа есть недостаток. На преобразование кода требуется некоторое время, и после отработки программы может возникнуть необходимость вернуть кодопреобразователь в исходное состояние.
В зависимости от количества позиции, в которые нужно перемещать объект, от требуемой дискретности системы, число разрядов n естественного двоичного кода, в котором задается программа, может быть разным и довольно большим: 30-50 и более. Для преобразования кодов с такими n применяют импульсно-счетные кодопреобразователи (см. книгу «М.М. Сухомлин, В.И. Выхованец. Преобразователи кодов чисел. - Киев, Техника, 1965»), которые акт преобразования совершают за несколько микросекунд. Если в систему с импульсно-счетным преобразователем ввести программу, не принимая специальных мер, то в ней может произойти сбой и, как результат, ошибочное позиционирование. То же самое может произойти, если кодопреобразователь перед новым циклом преобразования не установлен на «ноль». Эксплуатационная надежность системы для практического применения может оказаться совершенно недостаточной.
В связи с изложенными при разработке полезной модели была поставлена задача повышения надежности системы-прототипа, что может быть обеспечено путем задержки пуска системы после ввода программы на время кодопреобразования и установкой кодопреобразователя в исходное состояние перед каждым очередным циклом его работы.
Технически поставленная задача решена таким образом, что система программного позиционирования перемещаемого объекта, содержащая реверсивный привод перемещения объекта, кодовый датчик положения объекта, кинематически связанный с приводом, блок запоминания кода позиции, в которую требуется переместить объект, ячейку запоминания направления перемещения объекта, соединенную с реверсирующим входом привода, кодопреобразователь, входы которого соединены с блоком запоминания кода позиции, и схему совпадения кодов, первые входы которой соединены с выходами кодопреобразователя, а вторые входы - с выходами кодового датчика, отличается от прототипа тем, что она снабжена ячейкой запоминания команды пуска привода, элементом задержки, вход которого соединен с ячейкой запоминания команды пуска, элементом дифференцирования, логическим элементом НЕ, формирователем импульса, RS-триггером, логическим элементом И. При этом выход схемы совпадения кодов соединен с первым входом элемента И и со входом элемента НЕ, выход элемента НЕ соединен со входом формирователя импульса, выход формирователя соединен с первым входом RS-триггера и входом установки кодопреобразователя в исходное состояние, выход элемента задержки соединен со входом элемента дифференцирования, выход элемента дифференцирования соединен со вторым входом RS-триггера, первый выход RS-триггера соединен со вторым входом элемента И, а выход элемента И соединен со входом включения-выключения привода.
Схема предлагаемой системы приведена на фиг. 1. Она содержит реверсивный привод 1 перемещения объекта (в качестве примера таким объектом на фиг. 1 является видеокамера 2), кодовый датчик положения объекта, кинематически связанный с приводом (он также для примера изображен на фиг. 1 в виде блока 3 фотоголовок, взаимодействующих с тросом 4 со светоотражающими участками, показанными толстыми линиями, и светопоглащающими участками, показанными тонкими линиями), блок запоминания кода позиции 5, в которую требуется переместить объект 2, ячейку 6 запоминания направления перемещения объекта, соединенную с реверсирующим входом привода 1, кодопреобразователь 7, входы которого соединены с блоком запоминания 5 кода позиции, и схему совпадения кодов, состоящую из сумматоров 8 по модулю два, параллельно соединенных с логическим элементом ИЛИ 9. Первые входы схемы совпадения соединены с выходами кодопреобразователя 7, а вторые входы - с выходами кодового датчика (с блоком фотоголовок 3). Кроме того она снабжена ячейкой 10 запоминания команды пуска привода, элементом задержки 11, вход которого соединен с ячейкой запоминания команды пуска (он задерживает входной сигнал на время цикла преобразования кода преобразователем 7), элементом дифференцирования 12 (он «вырезает» передний фронт входного импульса), логическим элементом НЕ 13, формирователем импульса 14, RS-триггером 15, логическим элементом И 16. Выход схемы совпадения кодов соединен с первым входом элемента И 16 и со входом элемента НЕ 13, выход элемента НЕ 13 соединен со входом формирователя импульса 14, выход формирователя соединен с первым входом RS-триггера 15 и входом установки кодопреобразователя 7 в исходное состояние, выход элемента задержки 11 соединен со входом элемента дифференцирования 12, выход элемента дифференцирования соединен со вторым входом RS-триггера 15, первый выход RS-триггера соединен со вторым входом элемента И 16, а выход элемента И 16 соединен со входом включения-выключения привода 1. При необходимости система может быть также снабжена двухпозиционным групповым переключателем 17, позволяющим отключать блок 5, элемент 6 и кодопреобразователь 7, вместе образующие устройство ввода программы в систему, от остальной части системы. А для запуска системы «вручную» она может быть дополнительно снабжена логическим элементом ИЛИ 18, через который команда пуска привода 1 может подаваться от дополнительной шины П, параллельной ячейке 10. Впрочем, переключатель 17 и элемент 18 обычно не нужны. Их можно применить лишь для удобства наладки системы.
Перед использованием системы RS-триггер 16 устанавливают в состояние, при котором на его первом выходе будет логический ноль. После этого в систему вводится программа. Она содержит код позиции, в которую должен быть установлен объект 2 (эта часть программы вводится в блок 5), код направления перемещения объекта 2 к требуемой позиции (это вводимая в ячейку 6 логическая единица, если требуется перемещение вперед «вперед», и логический ноль, если «назад») и команда «Пуск», представляющая собой логическую единицу, вводимую в ячейку 10. Кодовая комбинация, вводимая в блок 5, выражена в естественном двоичном коде. Кодовый датчик, показанный на фиг. и состоящий из фотоголовки 3 и троса 4, формирует на выходах фотоголовок комбинаторный код. Как только программа в систему будет введена, естественный двоичный код от блока 5 поступит в преобразователь 7 и начнет преобразовываться в соответствующую комбинаторную кодовую комбинацию. Сигнал от ячейки 6 в это время поступит на привод 1 и подготовит его к движению «вперед» или «назад». Команда «Пуск» поступит от ячейки 10 на элемент задержки 11 и будет задержана им. На выходе схемы совпадения кодов, состоящей из элементов 8 и 9, в это время будет переходный процесс, на выходе элемента 13 тоже, но на выходе элемента 16 будет ноль, и привод 1 движение не начнет. Когда преобразование комбинации естественного двоичного кода в комбинацию комбинаторного кода завершится, результат преобразования зафиксируется на первых входах схемы совпадения кодов. Но на вторые входы этой схемы поступает кодовая комбинация от фотоголовок 3. Если объект 2 не находиться в требуемой позиции, то эти комбинации разные. На первом входе элемента 16 установится логическая единица, эта единица пройдет на выход элемента 16, но только тогда, когда на элемент задержки 11 поступит сигнал «Пуск» от элемента 10, тот, в свою очередь, заставит элемент 12 подать импульс на триггер 15, триггер переключится, и единица появится на втором входе элемента И 16. Когда на выходе элемента 16, появится единица, привод 1 начнет работать, перемещая объект 2, причем в направлении, заданном ячейкой 6. Когда комбинация, выданная кодовым датчиком, совпадет с комбинацией, поступившей от кодопреобразователя, на выходе схемы совпадения кодов (элемента 9) появится ноль. Он поступит на первый вход элемента 16, и привод остановится. Но элементом 13 ноль инвертируется и, поступив на формирователь импульса 14, заставит последний выдать прямоугольный импульс той длительности, на которую он настроен (настройка выполняется при наладке системы). В ответ на это триггер 15 переключится, на его первом выходе появится ноль, а на установочный вход кодопреобразователя 7 поступит единица. Преобразователь установится в исходное состояние, после чего система будет вновь готова к работе. Если теперь в устройство ввода программы ввести новую информацию: новую комбинацию позиции, куда требуется установить объект 2, новый сигнал (ноль или единицу), задающий направление движения объекта 2, и вновь подать сигнал «Пуск», то все описанное выше повторится. При этом, как и в первом случае привод начнет отрабатывать программу только тогда, когда переходный процесс - процесс преобразования кодовой комбинации естественного двоичного кода в комбинацию комбинаторного кода окончится, причем после остановки привода кодопреобразователь будет возвращен в исходное состояние. Указанное приведет к снижению вероятности сбоев при эксплуатации системы, а значит, к повышению ее надежности. Как показывают расчеты, надежность предлагаемой полезной модели увеличиться на 15-20% по сравнению с прототипом, что и представляет собой ее технический результат.