СПОСОБ РАБОТЫ УСТРОЙСТВА АВТОМАТИЗАЦИИ
AUTOMATION DEVICE OPERATION METHOD

Изобретение относится к способу работы устройства автоматизации в соответствии с родовым понятием пункта 1 формулы изобретения.
Из уровня техники известны программируемые логические контроллеры (ПЛК), с помощью которых в технике автоматизации могут программироваться и автоматически управляться исполнительные устройства, в частности рабочие органы и системы подготовки, а также датчики и другие функциональные блоки машины или установки. Такой функциональный элемент, который, в принципе, может управляться программируемым логическим контроллером, как индивидуально, так и в комбинации, здесь и далее по тексту называется модулем ввода-вывода. Обычно эти программируемые логические контроллеры предоставляются посредством специально предусмотренных для этого приборов и электронных узлов. Как правило, подобные программируемые логические контроллеры осуществляют связь по шине, например промышленной шине, с модулем ввода-вывода, для управления которым они предусмотрены.
В то же время, известны программируемые логические контроллеры, функциональность которых обеспечивается с помощью компьютерной программы, исполняемой на компьютере. Такая компьютерная программа может называться компьютерной программой  ПЛК, причем система, приводимая в действие такой компьютерной программой, может обозначаться как программное обеспечение ПЛК. Таким образом, никаких специальных аппаратных средств больше не предусматривается для программируемого логического контроллера, а его функциональность обеспечивается компьютерной программой, которая исполняется на обычном компьютере или на промышленном ПК или встроенном ПК, приспособленном к среде автоматизации. Для управления модулями ввода-вывода такой компьютер может быть подключен также к промышленной шине.
Из уровня техники и конкретно из ЕР 1586967 А2, из которого исходит настоящее изобретение, также известны расширения с помощью программного обеспечения такой компьютерной программы ПЛК. Такое известное расширение может, например, служить для того, чтобы обеспечивать связь с конкретным устройством с помощью драйвера или т.п. В случае представленных в этом известном уровне техники расширений речь идет о таких модулях расширения, как, например, динамические подключаемые библиотеки (DLL - Dynamic-link libraries), к которым компьютерная программа ПЛК может обращаться или включать их. Таким образом, они находятся под программно-техническим контролем компьютерной программы ПЛК. Контроль программируемого логического контроллера в программно-техническом смысле посредством этого расширения не предусматривается.
В секциях (ячейках) автоматизации в качестве составной части системы автоматизации, как правило, имеет место то, что модуль ввода-вывода, управляемый при помощи программируемого логического контроллера, располагается на манипуляторе, который представляет собой, например, многоосевой робот. В частности, модуль ввода-вывода может быть расположен в центральной точке инструмента (TCP) манипулятора.
Такой манипулятор, как правило, управляется в отношении своих перемещений посредством числового программного управления, которая упоминается здесь и далее как ( система ЧПУ. Также эта система ЧПУ может в принципе обеспечиваться компьютерной программой, исполняющейся на компьютере. За счет предусмотрения модуля ввода-вывода на манипуляторе действия, выполняемые модулем ввода-вывода, которые, например, задаются компьютерной программой ПЛК, а также движения манипулятора, которые, в свою очередь, контролируются системой ЧПУ, находятся в тесной взаимосвязи.
Исходя из этого, задача настоящего изобретения состоит в том, чтобы усовершенствовать способ работы устройства автоматизации и особенно такого устройства автоматизации, в котором функциональность программируемого логического контроллера предоставляется с помощью компьютерной программы, таким образом, чтобы обеспечивалась возможность улучшенной интеграции между компьютерной программой для программируемого логического контроллера и системы ЧПУ для управления манипулятором.
Указанная задача решается в способе работы устройства автоматизации с признаками родового понятия пункта 1 формулы изобретения с помощью признаков отличительной части пункта 1 формулы изобретения.
Существенным для изобретения является знание о том, что наряду с компьютерной программой ПЛК для обеспечения программируемого логического контроллера, в качестве программно-технически вышестоящей по отношению к нему на вычислительном устройстве предусмотрена компьютерная программа контроля секции, которая, с одной стороны, для управления модулем ввода-вывода управляет интерфейсом компьютерной программы ПЛК, а с другой стороны, обеспечивает функцию системы ЧПУ , причем тогда посредством этой компьютерной программы контроля секции выполняется собственно управление манипулятором и другими компонентами.
Другими словами, это компьютерная программа контроля секции образует вышестоящую в программно-техническом смысле ʺвершинуʺ, которая имеет под своим контролем все функции, необходимые для устройства автоматизации, включая функциональность ПЛК, и таким образом может координировать их друг с другом. При этом можно по модульному принципу получать доступ к функциональности  компьютерной программы ПЛК, причем эта компьютерная программа ПЛК может быть введена в качестве уже существующего компонента в общую систему. За счет этого объединения под эгидой компьютерной программы контроля секции может также предоставляться единый интерфейс системы в целом вовне, что, в свою очередь, обеспечивает возможность единообразного управления устройством автоматизации.
Предпочтительный вариант осуществления в соответствии с зависимым пунктом 3 формулы изобретения относится к предпочтительной шинной системе для подключения модулей ввода-вывода, а также манипуляторов к вычислительному устройству.
Предпочтительные варианты осуществления согласно зависимым пунктам 6-8 формулы изобретения, в свою очередь, описывают рациональные подразделения компьютерной программы ПЛК или компьютерной программы контроля секции в пределах операционной системы и структуры процесса вычислительного устройства.
Зависимый пункт 9 формулы изобретения описывает предпочтительные возможности межпроцессного взаимодействия на вычислительном устройстве между компьютерной программой контроля секции и компьютерной программой ПЛК, которая, в частности, удовлетворяет требованиям синхронизации, предъявляемым к этим обеим программам.
Зависимые пункты 10-12 формулы изобретения описывают выполнение ЧПУ обработчика в качестве составной части компьютерной программы контроля секции и его специфическое взаимодействие с компьютерной программой ПЛК, с одной стороны, и управлением манипулятором, с другой стороны.
Как описано в зависимых пунктах 13-15 формулы изобретения, при этом управлении манипулятором и других доступах предпочтительно использовать объектно-ориентированную архитектуру программного обеспечения.
Другие детали, признаки, цели и преимущества настоящего изобретения будут пояснены ниже со ссылками на чертежи предпочтительного примера выполнения, на которых представлено следующее:
Фиг. 1 - схематичное изображение устройства автоматизации для осуществления предложенного способа,
Фиг. 2 - схематичное представление структуры программного обеспечения на вычислительном устройстве устройства автоматизации согласно фиг. 1,
Фиг. 3 - схематичное представление потока данных компьютерной программы контроля секции согласно устройству автоматизации по фиг. 1,
Фиг. 4 - схематичное представление архитектуры компьютерной программы контроля секции согласно фиг. 3.
Предлагаемый способ служит для работы устройства 1 автоматизации с манипулятором 2а, b и модулем 3a, b ввода-вывода, причем манипулятор 2а, b и модуль 3a, b ввода-вывода, соответственно, предусмотрены для автоматизированного производства.
Такое устройство 1 автоматизации показано на фиг. 1, причем здесь предусмотрено два манипулятора 2а, b и два модуля 3a, b ввода-вывода, из которых модуль 3b ввода-вывода представляет собой защитный модуль 4. Этот защитный модуль 4 может обеспечивать функциональность аварийного останова. На фиг. 3 представлены только, соответственно, один манипулятор 2a и один модуль 3a ввода-вывода.
Устройство 1 автоматизации, которое должно работать согласно предложенному способу, также включает в себя вычислительное устройство 5. Устройство 1 автоматизации может представлять собой, в частности, секцию 1а автоматизации, то есть модульное устройство для автоматизации в рамках более крупной системы автоматизации, например, крупного предприятия.
В соответствии с предложением, на вычислительном устройстве 5 исполняется компьютерная программа 6 ПЛК для обеспечения программируемого логического контроллера для 3 модуля ввода-вывода, причем компьютерная программа 6 ПЛК через шину 7  модуля для управления модулем 3a, b ввода-вывода соединена с ним посредством коммуникационного соединения.
Предложенный способ отличается тем, что на вычислительном устройстве 5 исполняется компьютерная программа 8 контроля секции для управления компьютерной программой 6 ПЛК через интерфейс 9 ПЛК компьютерной программы ПЛК, причем компьютерная программа 9 контроля секции предоставляет систему ЧПУ 10 для манипулятора 2а, b, и что компьютерная программа 8 контроля секции через сетевую шину 11 для управления манипулятором 2a, b, соединена с ним посредством коммуникационного соединения.
Манипулятор 2а, b может, как в данном случае, представлять собой многоосевой манипулятор, в частности шестиосевой манипулятор. Вычислительное устройство 5 также может состоять из нескольких отдельных вычислительных блоков. Точно так же, как компьютерная программа 6 ПЛК, так и компьютерная программа 8 контроля секции может строиться из ряда отдельных компьютерных программ, которые, соответственно, могут исполняться в собственном процессе. Более детально это описано ниже.
В предпочтительном варианте осуществления, модуль 3a, b ввода-вывода имеет размещенное на манипуляторе 2a, b устройство 12 применения. Модуль 3a, b ввода-вывода также может состоять из такого устройства 12 применения. Это устройство 12 применения может, в частности, размещаться в центральной точке инструмента манипулятора 2a, b и предпочтительно может представлять собой инструмент, измерительное устройство или базирующий элемент. Устройство 12 применения может, в частности, управляться с помощью компьютерной программы 6 ПЛК через управление самим модулем 3a, b ввода-вывода.
Кроме того, предпочтительным является, что шина 7 модуля представляет собой промышленную шину 13. В качестве альтернативы или дополнительно, сетевая шина 11 может представлять собой Ethernet-шину 14, причем в этом случае, в частности, используется Ethernet-шина 14а с возможностью работы в реальном времени. Ethernet-шина 14а является Ethernet-шиной протокола, который обеспечивает способность работы в режиме реального времени.
Аналогично, предпочтительным является, что компьютерная программа 8 контроля секции соединена через сетевую шину 11 с сенсорным устройством 15a, b посредством коммуникационного соединения для считывания сенсорного устройства 15a, b. В примере выполнения согласно фиг. 1, сенсорное устройство 15a представляет собой строчный сканер, а сенсорное устройство 15b представляет собой камеру или систему камер, причем в этом случае каждая камера системы камер может быть выполнена различным образом.
Устройство 1 автоматизации и конкретно секция 1а автоматизации может, как уже было , вместе с другими устройствами автоматизации быть составной частью более крупной системы автоматизации, которая, например, управляется централизованно. В таком случае предпочтительно предусмотрено, что компьютерная программа 8 контроля секции обеспечивает интерфейс контроля секции через заводскую шину 16, причем компьютерная программа 8 контроля секции находится в информационно-техническом соединении с этой заводской шиной 16. Соответствующий драйвер 16а заводской шины показан на фиг. 2. Таким образом, центральный вычислитель, который управляет несколькими секциями автоматизации, может также получать доступ к секции 1а автоматизации и конкретно к компьютерной программе 8 контроля секции на вычислительном устройстве 5.
В принципе, вычислительное устройство 5 может представлять собой любое устройство компьютерного типа, такое как промышленный компьютер или иная микропроцессорная система. Однако предпочтительным является, что вычислительное устройство 5 представляет собой персональный компьютер 17. Это предоставляет возможность, наряду с компьютерной программой 8 контроля секции, гибким образом выполнять на вычислительном устройстве 5 еще и другие компьютерные программы. Здесь также предпочтительно, что компьютерная программа 6 ПЛК и компьютерная программа 8 контроля секции исполняются на мультимедийной операционной системе 18 для персонального компьютера 17.
Схематично эта взаимосвязь представлена на фиг. 2. Здесь прежде всего можно видеть компьютерную программу 6 ПЛК, которая реализует различные функциональные блоки, здесь функцию 6а рабочего органа, систему 6b подвода инструмента, базу данных 6с заготовки, а также защитные функции 6d. Любая такая функция может быть реализована с помощью отдельного модуля в программно-техническом смысле. Для коммуникационного соединения с шиной 7 модуля предусмотрен драйвер 6е шины модуля. Интерфейс к внешней среде, в программно-техническом смысле, образует вышеописанный интерфейс 9 ПЛК.
Компьютерная программа 8 контроля секции обращается к компьютерной программе 6 ПЛК через этот интерфейс 9 ПЛК. Компьютерная программа 8 контроля секции имеет также драйвер 8а сетевой шины для коммуникационного соединения с сетевой шиной 11. Другими, в частности, программно-техническими модулями компьютерной программы 8 контроля секции являются модуль 8b визуализации, диагностический модуль 8с, модуль 8d робота, модуль 8e датчика нормали, модуль 8f датчика положения, модуль 8g лазерного датчика и модуль ЧПУ 8h. Эти модули взаимодействуют друг с другом. Кроме того, могут быть предусмотрены дополнительные модули.
Помимо компьютерной программы 8 контроля секции и на операционной системе, которая представляет собой здесь мультимедийную операционную систему 18, исполняется, в свою очередь, наряду с вышеописанным драйвером 16а заводской шины для коммуникационного соединения с заводской шиной 16, модуль 18а конфигурации, который, например, разрешает доступ для конфигурации к компьютерной программе 8 контроля секции через обычную плоскость обслуживания мультимедийной операционной системы 18.
Кроме того, предпочтительно, что компьютерная программа 6 ПЛК и компьютерная программа 8 контроля секции исполняются, соответственно, посредством различных процессов. Понятие ʺпроцессʺ следует понимать здесь в программно-техническом смысле. При этом, как компьютерная программа 6 ПЛК, так и компьютерная программа 8 контроля секции исполняются, соответственно, посредством отдельного процесса. Но также может быть, что компьютерная программа 6 ПЛК и компьютерная программа 8 контроля секции исполняются, соответственно, множеством различных процессов. Разделение компьютерной программы 6 ПЛК и компьютерной программы 8 контроля секции на отдельные процессы может при этом соответствовать разделению на модули в соответствии с представлением на фиг. 2 или аналогичному разделению, но также несколько модулей могут быть объединены и могут исполняться в отдельном процессе. Кроме того, может быть, что некоторые модули по меньшей мере частично предоставляются операционной системой, например, драйверы.
Предпочтительное подразделение компьютерной программы 8 контроля секции на различные процессы предусматривает, что компьютерная подпрограмма ЧПУ компьютерной программы 8 контроля секции исполняется для предоставления системы ЧПУ  10 в процессе ЧПУ, и что подпрограмма манипулятора компьютерной программы 8 контроля секции исполняется для управления манипулятором 2а, b в процессе работы манипулятора. При этом процесс работы манипулятора, таким образом, отличается от процесса ЧПУ. Система ЧПУ 10 и, таким образом, компьютерная подпрограмма ЧПУ обрабатывает команды ЧПУ, которые, с одной стороны, относятся к управлению модулем 3a, b ввода-вывода, а с другой стороны, относятся к управлению манипулятором 2a, b. Полученная из команд ЧПУ информация для управления манипулятором 2a, b, то есть ʺочищеннаяʺ от информации для управления модулем 3a, b ввода-вывода, может затем обрабатываться подпрограммой манипулятора. Эта подпрограмма ЧПУ для обеспечения системы ЧПУ 10 может согласно представлению на фиг. 3 представлять собой модуль ЧПУ 8h согласно фиг. 2, а подпрограмма манипулятора компьютерной программы 8 контроля секции может представлять собой модуль 8d робота согласно фиг. 2.
К интерфейсу 9 ПЛК компьютерной программы 6 ПЛК можно обращаться, как правило, из любых программ и, соответственно, из различных процессов. С одной стороны, к нему обращаются для управления модулем 3a, b ввода-вывода посредством компьютерной программы 8 контроля секции, с другой стороны, через  интерфейс 9 также предоставляются данные для вызова, которые затем посредством модуля 8b визуализации компьютерной программы 8 контроля секции могут представляться на экране вычислительного устройства 5.
Кроме того, может быть, что системные процессы операционной системы вычислительного устройства 5 и, в частности, мультимедийной операционной системы 18 должны обращаться к интерфейсу 9 ПЛК компьютерной программы 6 ПЛК. При этом, как правило, для установления синхронности между действиями модуля 3a, b ввода-вывода и движениями манипулятора 2a, b, доступ к управлению модулями 3a, b ввода-вывода является более важным и особенно более критичным по времени, чем, например, визуализация на экране.
Следовательно, является предпочтительным, что вычислительное устройство 5 предоставляет несколько межпроцессных каналов для коммуникации с компьютерной программой 6 ПЛК, а именно, с по меньшей мере частично различной приоритетностью. Здесь приоритетность означает последовательность, в которой соответствующая коммуникация через такой межпроцессный канал обрабатывается операционной системой, причем скорость реакции на коммуникацию по межпроцессному каналу с более высоким приоритетом более высокая, чем на коммуникацию по межпроцессному каналу с более низким приоритетом. В частности, процесс с более высоким приоритетом процесса может прервать исполняющийся в текущий момент процесс с более низким приоритетом. Это может быть сделано, с одной стороны, тем, что отдельный процесс обеспечивает коммуникацию по межпроцессным каналам и обрабатывает ее в зависимости от соответствующего приоритета межпроцессных каналов. В качестве альтернативы или дополнительно, любой межпроцессный канал может быть сопоставлен с процессом с приоритетом в соответствии с приоритетом межпроцессного канала, причем тогда соответствующий процесс обрабатывается в соответствии с его приоритетом.
Кроме того, является предпочтительным, что компьютерная подпрограмма ЧПУ и программа визуализации, выполняемая в процессе визуализации, соответственно, осуществляют коммуникацию через межпроцессный канал с компьютерной программой 6 ПЛК, и межпроцессный канал компьютерной подпрограммы ЧПУ имеет более высокий приоритет, чем таковой для программы визуализации. Это учитывает то описанное обстоятельство, что управление посредством компьютерной подпрограммы ЧПУ является более важным и должно выполняться быстрее, чем визуализация.
Со ссылкой на представление на фиг. 3 и фиг. 4, предпочтительно предусмотрено, что компьютерная программа 6 контроля секции имеет ЧПУ обработчик 19 для преобразования программы 20 ЧПУ в команды 21 переключения для управления модулем 3a, b ввода-вывода. В качестве альтернативы или дополнительно, ЧПУ обработчик 19 может также быть выполнен с возможностью преобразования программы 20 ЧПУ в геометрические данные 22а и/или в технологические данные 22b для управления манипулятора 2a, b. Соответствующие представления на фиг. 3 и фиг. 4 дополняют друг друга, поскольку на фиг. 3 в первую очередь представлен поток обработки данных, а на фиг. 4 описана программно-техническая структура интерфейсов.
ЧПУ обработчик 19, с одной стороны, может состоять из нескольких модулей, которые исполняются, соответственно, в своем собственном процессе. В качестве альтернативы, ЧПУ обработчик 19 может исполняться полностью в одном процессе, при этом, в частности, речь может идти о вышестоящем  процессе ЧПУ. Таким образом, ЧПУ обработчик 19 может, в частности, соответствовать вышестоящей компьютерной подпрограмме ЧПУ или быть включенным в нее. Следовательно, ЧПУ обработчик также может быть образован посредством вышестоящего модуля ЧПУ 8h.
В случае приведенной выше программы 20 ЧПУ, речь идет о последовательности NC-команд, которые написаны в виде обычного текста. Это также известно как G-код. G-код может включать в себя G-команды, а также M-команды и общие параметры. ЧПУ обработчик 19 включает в себя  ЧПУ интерпретатор 19а и ЧПУ преобразователь 19b команд, который имеет доступ к базе данных 23 команд. ЧПУ интерпретатор 19a и ЧПУ преобразователь 19b команд преобразуют простой текст NC-программы 20 в геометрические данные 22а и/или технологические данные 22b, с одной стороны, соответственно, для управления манипулятором 2а, b, и в команды 21 переключения для управления модулем 3a, b ввода-вывода, с другой стороны. При этом генерация команд 21 переключения может быть основана также на технологических данных 22b.
Программа 20 ЧПУ может также включать в себя ссылки на или зависимости от данных датчика, так что предпочтительно предусмотрено, что ЧПУ обработчик 19 также приспособлен к тому, чтобы преобразовывать NC-программу 20 в опросы датчиков для считывания сенсорного устройства 15а, b.
В данном примере ЧПУ обработчик 19 включает в себя еще ЧПУ сборщик 19с данных, который при обработке программы ЧПУ сохраняет автоматически сформированные блоки данных в протокольной базе данных 24.
Далее предусмотрено, что ЧПУ обработчик 19 выполняет вычислительную подпрограмму 25 для планирования траектории манипулятора 2а, b на основании геометрических данных 22а и/или на основе технологических данных 22b. Предпочтительно, планирование траектории, выполняемое вычислительной подпрограммой 25, включает в себя кинематическое преобразование, т.е. преобразование декартовых координат в осевые координаты или наоборот. В качестве альтернативы или дополнительно, планирование траектории, выполняемое вычислительной подпрограммой 25, может также включать в себя интерполяцию. На основе результатов вычислительной подпрограммы 25, затем один или несколько регуляторов положения 25а манипулятора 2а снабжаются задающими воздействиями. Этот вариант соответствует показанному на фиг. 3. В отличие от этого представления, вычислительная подпрограмма 25 может также предоставляться модулем 8d робота.
В другом варианте, эта вычислительная подпрограмма 25 выполняет вышеупомянутое кинематическое преобразование, а не планирование траектории. Здесь, на основе кинематического преобразования, роботизированное управление (не показано) манипулятора 2а, b снабжается результатами кинематического преобразования. Как планирование траектории, так и функциональные возможности вышеупомянутого регулятора 25а положения тогда предоставляются посредством этого роботизированного управления.
В отношении модуля 3a, b ввода-вывода, специально предусмотрено, что ЧПУ обработчик 19 выполняет команды 21 переключения, при этом компьютерная программа 8 контроля секции - компонентом которой является ЧПУ обработчик 19 - получает доступ к интерфейсу 9 ПЛК компьютерной программы 6 ПЛК, и компьютерная программа 6 ПЛК в ответ на этот доступ управляет модулем 3a, b ввода-вывода через шину 7 модуля.
При этом для этого доступа и других доступов может быть предусмотрен специальный вид инкапсулирования, как показано здесь ниже со ссылкой на фиг. 4. В частности, предпочтительно предусмотрено, что ЧПУ обработчик 19 для управления манипулятором 2а, b, предпочтительно также для считывания сенсорного устройства 15а, b, в частности, также для выполнения вычислительной программы 25 получает доступ к интерфейсу 26 инкапсулирования компьютерной программы 8 контроля секции, и что в ответ на этот доступ манипулятор 2а, b управляется через сетевую шину 11. Кроме того, предпочтительно, что, при необходимости, также сенсорное устройство 15a, b считывается через сетевую шину 11, и затем, в частности, в ответ на этот доступ, также выполняется планирование маршрута.
Как этот доступ к интерфейсу 26 инкапсулирования, так и доступ к интерфейсу 9 ПЛК могут быть осуществлены с помощью объектно-ориентированного класса интерфейсов. Поэтому предпочтительно, что доступ к интерфейсу 26 инкапсулирования и/или к интерфейсу 9 ПЛК включает в себя доступ к объектно-ориентированному классу 27 интерфейсов типа класса 27а манипулятора 27а, класса 27b модуля ввода-вывода, класса 27с планирования траектории и/или класса 27d датчика. Тем самым, таким образом, соответственно, для управления манипулятором, модулем ввода-вывода, подпрограммой планирования траектории или датчиком всегда предоставляется тот же интерфейс для этих доступов, и любые различия в реализации инкапсулируются. В частности, доступ к интерфейсу 9 ПЛК может включать в себя доступ к классу 27b модуля ввода-вывода.
Они принимаются во внимание за счет того, каким образом предпочтительно класс 27а манипулятора, класс 27b модуля ввода-вывода и/или класс 27d датчика, соответственно, реализуется посредством объекта 28а манипулятора, объекта 28b модуля ввода-вывода и объекта 28d датчика, который зависит от типа манипулятора 2а, b, модуля 3а, b ввода/вывода или сенсорного устройства 15а, b. Аналогично, класс 27d планирования траектории может быть реализован с помощью объекта 28d планирования траектории, который зависит от конкретных алгоритмов, которыми реализуется планирование траектории и, в частности, интерполяция и кинематическое преобразование.