RU2546563C2 - Система и способ автоматизации системы на основе интерпретации древовидной последовательности операций - Google Patents

Система и способ автоматизации системы на основе интерпретации древовидной последовательности операций Download PDF

Info

Publication number
RU2546563C2
RU2546563C2 RU2012127688/08A RU2012127688A RU2546563C2 RU 2546563 C2 RU2546563 C2 RU 2546563C2 RU 2012127688/08 A RU2012127688/08 A RU 2012127688/08A RU 2012127688 A RU2012127688 A RU 2012127688A RU 2546563 C2 RU2546563 C2 RU 2546563C2
Authority
RU
Russia
Prior art keywords
processing unit
interpreter
operator
operators
tree
Prior art date
Application number
RU2012127688/08A
Other languages
English (en)
Other versions
RU2012127688A (ru
Inventor
ВАН-СЕТТЕН Барри
РОМАЙС Кристиан
ХЕСКЕ Кристиан
Original Assignee
Умикоре Аг Унд Ко. Кг
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Умикоре Аг Унд Ко. Кг filed Critical Умикоре Аг Унд Ко. Кг
Publication of RU2012127688A publication Critical patent/RU2012127688A/ru
Application granted granted Critical
Publication of RU2546563C2 publication Critical patent/RU2546563C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities

Abstract

Изобретение относится к системе и способу автоматизации системы. Технический результат заключается в автоматизации определения и выполнения операций, осуществляемых машиной или в ходе производственного процесса. Согласно представленным системе и способу автоматизации системы, интерпретатор генерирует и выполняет исполняемый код на основании команд, принимаемых в виде древовидной последовательности, которая содержит информацию о параллельных операциях для определения соответствующих процедур автоматизации. В основу определения древовидной последовательности может быть положен стандартизированный удобный для восприятия человеком и машиночитаемый формат, такой как, например, документ на языке XML. 3 н. и 24 з.п. ф-лы, 10 ил.

Description

Область техники, к которой относится изобретение
Изобретение относится к системе и способу автоматизации системы, в котором интерпретатор генерирует и выполняет исполняемый код на основании команд, принимаемых в виде древовидной последовательности, в которой содержатся данные параллельных операций для определения соответствующей процедуры автоматизации. В основу определения древовидной последовательности может быть положен удобный для восприятия человеком стандартизированный и машиночитаемый формат, такой как, например, документ на языке XML.
Уровень техники
Задача автоматизации систем связана с определением и выполнением операций, осуществляемых машиной или в ходе производственного процесса. С этой целью подлежащую автоматизации систему, такую как, например, химическая реакционная установка, самоходная испытательная установка или аналитический прибор, далее именуемые управляемой установкой или процессом, обычно соединяют по меньшей мере с одним исполнительным блоком, далее именуемым актором, и по меньшей мере одним датчиком, который регистрирует и передает информацию об установке контроллеру, который на ее основании вычисляет управляющий сигнал и передает его по меньшей мере одному актору, соединенному с установкой и управляющему ей.
Соответствующий актор может представлять собой исполнительный элемент, такой как, например, клапан, насос или нагреватель, но кроме того может представлять собой устройство распределенного управления для настройки соответствующего исполнительного элемента на предварительно заданное значение. Упомянутое устройство управления автоматизированной системы как таковое может быть сконфигурировано на передачу по меньшей мере одному актору управляющего сигнала в виде заданного значения, при этом соответствующее заданное значение отображает желаемый уровень значения, которое должно регулироваться с использованием соответствующего устройства распределенного управления.
Кроме того, соответствующий датчик может представлять собой чувствительный элемент, такой как, например, термочувствительный элемент, датчик давления или датчик рН, но, кроме того, может представлять собой оценивающие или фильтрующие компоненты, используемые для фильтрации данных, которые регистрирует соответствующий чувствительный элемент, с целью повышения качества сигнала датчика или оценки состояния автоматизированной системы путем использования структур наблюдения за состоянием, таких как фильтры Калмана или известные из техники динамические фильтры других типов. Соответствующий датчик регистрирует и передает устройству управления информацию об установке.
Автоматизированная система может представлять собой простую или сложную машину или технический процесс, связанный с устройством управления посредством по меньшей мере одного актора и по меньшей мере одного датчика, и спроектирована и реализована таким образом, чтобы решать задачу выполнения заданных операций некоторого типа, например:
химическая реакционная установка может содержать датчики с чувствительными элементами, такими как термочувствительные элементы, датчики давления или датчики рН, и акторы с исполнительными элементами, такими как клапаны, насосы, нагреватели в качестве примеров нескольких возможностей, при этом задачей автоматизированной системы может являться химический синтез;
самоходная испытательная установка может содержать несколько различных датчиков и акторов, применяемых в автоматизированной системе для проверки или контроля технических характеристик самоходного компонента;
аналитический прибор может содержать различные датчики и акторы, применяемые в автоматизированном лабораторном испытательном оборудовании для определения свойств объекта или органического или неорганического соединения или смеси. Свойствами могут являться химический состав или какое-либо физическое свойство или воздействие, которое объект исследования или соединение или смесь оказывает на другой объект, соединение или смесь.
Устройство управления автоматизированной системы представляет собой вычислительный блок обработки для выполнения расчетов и, возможно, принятия логических решений, чтобы определять, как с течением времени должны изменяться настройки отдельных компонентов, таких как акторы автоматизированной системы. Если в основе таких решений лежат показания датчиков, считается, что устройство управления реализовано в виде созвездия с обратной связью, тогда как решения, принимаемые в устройстве управления без обратной связи, не зависят от каких-либо показаний датчиков.
Следовательно, автоматизированная система выполняет операции определенного типа с целью решения заданной задачи, при этом порядок и структура операций обычно определяются в виде какой-либо последовательности. Такие последовательности определяются вручную или автоматически таким образом, чтобы автоматизированная система, т.е. ее устройство управления действовало в соответствии с решаемой задачей. Процесс определения и применения таких соответствующих последовательностей операций упрощают так называемые устройства задания последовательности, которые могут использоваться человеком-оператором с возможностью ввода команд посредством, например, сценария последовательностей, таблицы последовательностей или легко конфигурируемого пользовательского интерфейса управления последовательностями. В этом смысле информация о последовательности, используемая для ввода команд в устройство задания последовательности, представляет собой перечень расположенных в последовательном порядке операций, определяемых как шаги, которые интерпретируются один за другим устройством задания последовательности, в виде, например, заданной сценарием линейной последовательности, проиллюстрированной на фиг.1. Шаг обычно состоит из оператора совершения действия, возможного набора входных параметров для настройки действий и, возможно, выходной величины какого-либо рода. Из этого следует, что оператор может, например, относиться к реализованной общими средствами программного обеспечения функции или способу. В этом смысле, устройство задания последовательности можно рассматривать как интерпретатор и часть автоматизированной системы.
Например, в WO 03/054561 описан редактор последовательностей тестирования трансформатора, который позволяет тестеру реализовывать последовательности тестирования с регулируемыми параметрами тестирования. В этом смысле, механизм задания последовательностей тестирования позволяет тестеру выполнять последовательности тестов, а автоматизированный редактор последовательностей тестирования редактировать последовательность тестирования. Из этого следует, что команда тестов выполняются в порядке, указанном в отредактированных последовательностях тестирования.
Тем не менее часто желательно, чтобы операции в автоматизированных системах выполнялись не только последовательно, а также параллельно, как, например, при выполнении задачи одновременной калибровки различных деталей машины, когда человеку-оператору автоматизированной системы, очевидно, было бы предпочтительно иметь простые средства ввода команд в систему и параллельного выполнения множества операций. Тем не менее информация, принимаемая известными из техники устройствами задания последовательности, не предусматривает возможности задать параллельный режим выполнения операций, и человеку-оператору остается выбирать субоптимальное и занимающее много времени последовательное выполнение шагов или вариант обращения к системному интегратору, например, лицу или провайдеру, поставившему устройство задания последовательности, чтобы он использовал свои экспертные знания и углубленные навыки программирования в области, например, C++, Basic или Labview для разработки специализированной подпрограммы параллельной калибровки. В результате, человек-оператор не имеет возможности быстро реализовывать новые идеи параллельного выполнения операций, и вынужден привлекать системного интегратора и мириться с соответствующим временем на разработку, расходами и другими неудобствами.
Раскрытие изобретения
В основу настоящего изобретения положена задача создания усовершенствованных или альтернативных системы и способа автоматизации систем на основе интерпретации древовидной последовательности операций. Решение этой задачи обеспечивается за счет объекта формулы изобретения.
Согласно одной из особенностей настоящего изобретения предложена усовершенствованная автоматизированная система, содержащая устройство управления и установку, соединенные по меньшей мере с одним актором, и по меньшей мере одним датчиком, который регистрирует и передает информацию об установке устройству управления, которое на ее основании вычисляет управляющий сигнал и передает его по меньшей мере одному актору. Устройство управления содержит блок обработки для вычисления и вывода управляющего сигнала устройством управления, при этом блок обработки может содержать один или несколько цифровых процессоров. Кроме того, в автоматизированную систему входит интерпретатор, генерирующий исполняемый код и выполняющий его в блоке обработки устройства управления, при этом интерпретатор принимает команды в виде древовидной последовательности или множества древовидных последовательностей. Древовидная последовательность может, создаваться, например, вручную, а именно, в виде сценария, вручную редактируемого человеком-оператором автоматизированной системы, или может генерироваться на основании вводимых человеком-оператором данных в инструментальном программном средстве автоматизированного проектирования в качестве примеров нескольких возможностей.
Согласно вариантам осуществления изобретения древовидная последовательность определяется как иерархическая структура подпоследовательностей, шагов и операторов, которые связаны друг с другом отношениями типа "родитель - потомок". Началом такой иерархической структуры является строго одна подпоследовательность, называемая корневой подпоследовательностью, которая содержит в качестве потомка по меньшей мере один шаг, который содержит в качестве потомка по меньшей мере один оператор. Когда подпоследовательность содержит несколько шагов-потомков, эти шаги являются узлами-братьями друг друга. Когда шаг содержит несколько операторов-потомков, эти операторы являются узлами-братьями друг друга. Каждым из соответствующих операторов является оператор присваивания, определяющий вычислительные или периферийные процедуры, которые должны выполняться устройством управления, или оператор приостановки, приостанавливающий выполнение в положение оператора приостановки, или оператор процесса управления, используемый для инициирования подпоследовательности-потомка. Поскольку подпоследовательность-потомок предпочтительно имеет такие же свойства, как и корневая подпоследовательность, структура наследования может иметь неограниченную глубину.
Исполняемый код, генерируемый и выполняемый интерпретатором, побуждает блок обработки к выполнению шагов-потомков, последовательно инициируемых каждой подпоследовательностью. Операторы-потомки, инициируемые каждым шагом, выполняются блоком обработки параллельно или квазипараллельно. Иными словами, блок обработки обрабатывает шаги-братья последовательно, а операторы-братья - параллельно или квазипараллельно. В данном случае блок обработки может допускать параллельную или квазипараллельную обработку операторов-братьев, при этом квазипараллельная обработка осуществляется при работе блока обработки в высокоскоростном режиме обработки, что будет подробнее описано далее.
Соответствующие операторы присваивания обычно связаны с управляемым процессом, например, представляют собой операторы, способные вычислять и устанавливать значение актора, или операторы, выводящие сообщение для человека-оператора процесса или открывающие окно сообщений на дисплее в котором человеку-оператору предлагается ввести данные с приостановкой выполнения родительского шага, пока человек-оператор не закроет окно сообщений, или операторы, адаптирующие свойства регистратора данных, или операторы, сохраняющие текущие значения акторов или датчиков для использования позднее.
В одном из предпочтительных вариантов осуществления настоящего изобретения команды, принимаемые интерпретатор, заданы на языке XML, например, в виде XML-документа, при этом еще более предпочтительно эти команды заданы в виде применимого XML-документа в соответствии с технологией XML Schema. Следует отметить, что, как легко может быть понято специалистами, в этих целях применимо множество стандартизированных удобных для восприятия человеком и машиночитаемых форматов.
Предпочтительно использовать операторы приостановки, которые способны приостанавливать выполнение на протяжении заданного времени ожидания, не приостанавливая выполнение операторов-братьев. Заданным временем ожидания может являться период времени определенной длительности или период времени, необходимый таймеру устройства задания последовательности, становится кратным заданному времени ожидания. В последнем случае он может использоваться для синхронизации параллельных подпоследовательностей. Как известно из техники, в различных в сценариях и языках программирования упомянутые операторы имеют различные названия. Эти операторы могут называться, например, операторами ожидания, паузы, приостановки.
Также предпочтительно использовать операторы процесса управления для инициирования новых подпоследовательностей. Операторы процесса управления инициируют новые подпоследовательности-потомки безусловно или условно. Операторы процесса управления являются условными операторами управления, которые выполняют подпоследовательность-потомок только при выполнении определенного условия, или операторами управления циклом, которые выполняют подпоследовательность-потомок ноль или более число раз, пока не будет выполнено определенное условие, или операторами дистанционного управления, которые выполняют дистанционную подпоследовательность, после чего процесс управления обычно восстанавливается. Как известно из техники, в различных в сценариях и языках программирования упомянутые операторы имеют различные названия. Эти операторы могут называться, например, операторами цикла со счетчиком, цикла с условием продолжения, условными операторами, операторами цикла с условием завершения, подпроцедуры, выбора, цикла с обусловленным продолжением в качестве нескольких примеров.
Также предпочтительно, чтобы операторы процесса управления циклом имели возможность приостанавливать действие всякий раз при завершении подпоследовательности-потомка и продолжать действие, когда показание таймера устройства задания последовательности становится кратным временному интервалу, заданному для оператора управления циклом.
В одном из предпочтительных вариантов осуществления настоящего изобретения установкой является самоходная испытательная установка, в одном из альтернативных предпочтительных вариантов осуществления настоящего изобретения установкой является химическая реакционная установка, или в одном из альтернативных предпочтительных вариантов осуществления настоящего изобретения установкой является аналитический прибор.
Предпочтительно, чтобы по меньшей мере один датчик измерял частоту вращения, усилие, температуру, содержание компонента, напряжение, ток, давление, массу, скорость потока или логическое состояние цифрового выхода.
Также предпочтительно, чтобы автоматизированная система дополнительно содержала дисплей, соединенный с устройством управления, при этом по меньшей мере один из упомянутых операторов выводит на дисплей сообщение для человека-оператора автоматизированной системы. Таким дисплеем может являться, например, дисплей на тонкопленочных транзисторах, жидкокристаллический дисплей или дисплей любого другого типа, применимый для представления информации человеку-оператору.
Кроме того, с устройством управления также может быть соединен один или несколько средств обмена электронными текстовыми сообщениями, посредством которых по меньшей мере один из упомянутых операторов способен инициировать передачу электронного сообщения человеку-оператору. Как известно из техники, существуют различные службы обмена сообщениями, такие как электронная почта, SMS, Twitter лишь в качестве нескольких примеров.
В одном из предпочтительных вариантов осуществления настоящего изобретения генерирование исполняемого кода интерпретатором предусматривает промежуточный шаг генерирования промежуточного кода представления. В данном случае интерпретатор преобразует команды, принимаемые в виде по меньшей мере одной древовидной последовательности, в определенный промежуточный код представления и выполняет его.
В одном из альтернативных предпочтительных вариантов осуществления по меньшей мере одна древовидная последовательность, принимаемая интерпретатором, представляет собой исходный код, который интерпретатор выполняет непосредственно в блоке обработки.
В еще одном из альтернативных предпочтительных вариантов осуществления интерпретатором является линеаризатор, который преобразует древовидную последовательность во множество стеков данных, которые обрабатывает блок обработки. Линеаризатор генерирует на основании древовидной последовательности стек ссылочных подпоследовательностей, стек ссылочных шагов, стек ссылочных операторов и стек ссылок на стек ссылочных подпоследовательностей, в котором в качестве исходных данных содержится только ссылка на корневую подпоследовательность. Каждый оператор из стека ссылочных операторов содержит данные о действии, которое должен выполнить оператор, называемые далее операторными данными, а, если оператором из стека ссылочных операторов является условный оператор процесса управления, операторные данные кроме того содержат, например, подтверждаемое условие в виде перечня из одной или более ссылок на подпоследовательности-потомки из стека ссылочных подпоследовательностей, за счет чего формируются отношения один к п типа "родитель - потомок", а если оператором из стека ссылочных операторов является оператор процесса управления циклом, операторные данные кроме того содержат счетчик итераций циклов в виде единственной ссылки на подпоследовательность-потомок из стека ссылочных подпоследовательности, за счет чего формируются взаимно-однозначные отношения типа "родитель - потомок".
Каждый шаг из стека ссылочных шагов содержит перечень из одной или нескольких ссылок на операторы-потомки из стека ссылочных операторов, за счет чего формируются отношения один к n типа "родитель - потомок", а в каждом из перечней отслеживается состояние операторов-потомков, которым может являться "начатое" состояние, состояние "продолжения" или "завершенное" состояние.
Каждая подпоследовательность из стека ссылочных подпоследовательностей содержит единственную ссылку на подпоследовательность из стека ссылочных подпоследовательностей, которая инициировала шаг, который инициировал оператора, который инициировал упомянутую подпоследовательность, за счет чего формируются взаимнооднозначные отношения типа "прапрародитель - правнук", и каждая подпоследовательность из стека ссылочных подпоследовательностей содержит отсортированный перечень ссылок на шаги-потомки из стека ссылочных шагов, за счет чего формируются отношения один к n типа "родитель - потомок", при этом в каждой подпоследовательности из стека ссылочных подпоследовательностей хранится положение ссылки на выполняемый шаг из упомянутого перечня, далее именуемое итератором шагов, а выполняемый шаг далее именуется активным шагом, при этом начальным значением каждого итератора шагов является 0.
Линеаризатор передает упомянутые стеки блоку обработки.
Блок обработки последовательно обрабатывает любую ссылку из стека ссылок на подпоследовательности из стека ссылочных подпоследовательностей согласно принципу обратного магазинного типа (FIFO), при этом упомянутый стек далее именуется простой очередью.
Действует следующий механизм обработки ссылок на подпоследовательности из простой очереди.
1) Блок обработки получает из простой очереди следующую ссылку на подпоследовательность из стека подпоследовательностей, которая далее именуется активной подпоследовательностью.
2) Блок обработки считывает активную подпоследовательность из упомянутого стека подпоследовательностей.
3) Блок обработки считывает перечень ссылок на шаги-потомки из активной подпоследовательности.
4) Блок обработки обрабатывает ссылки на шаги-потомки следующим образом:
i) Блок обработки увеличивает на 1 показание итератора шагов активной подпоследовательности, чтобы тем самым сделать следующий шаг активным.
ii) Блок обработки считывает ссылку на активный шаг из перечня ссылок на шаги-потомки.
iii) Блок обработки считывает активный шаг из стека ссылочных шагов.
iv) Блок обработки выполняет активный шаг.
v) В зависимости от информации о состоянии, принимаемой от выполненного активного шага, возможны четыре маршрута:
а) Если активный шаг "завершен", а показание итератора является меньшим, чем число ссылок на шаги-потомки из перечня, в этом случае блок обработки возвращается к стадии 4i) механизма обработки ссылок на подпоследовательности.
б) Если активный шаг "начат", в этом случае блок обработки помещает ссылку на активную подпоследовательность в простую очередь и прекращает выполнение активной подпоследовательности.
в) Если активный шаг "продолжается", в этом случае блок обработки прекращает выполнение активной подпоследовательности.
г) Если активный шаг "завершен", и показание итератора равно числу ссылок на шаги-потомки из перечня, в этом случае блок обработки помещает ссылку на прапрародительскую подпоследовательность в простую очередь. Если ссылка на прапрародителя отсутствует, завершенной подпоследовательностью является корневая подпоследовательность, и последовательность готова.
Действует следующий механизм обработки активных шагов-потомков:
1) В блок обработки поступает ссылка на активный шаг из стека шагов.
2) Блок обработки считывает активный шаг из стека шагов.
3) Блок обработки считывает перечень операторов-потомков из активного шага.
4) Блок обработки повторяет следующие действия со всеми "начатыми" операторами-потомками.
i) Блок обработки получает ссылку на следующий оператор-потомок, который далее именуется активным оператором.
ii) Блок обработки осуществляет считывание активного оператора из стека ссылочных операторов.
iii) Блок обработки осуществляет выполнение активного оператора, и в ответ ему сообщается состояние от активного оператора. Блок обработки соответствующим образом изменяет состояние активного оператора в перечне операторов-потомков активного шага.
5) Когда все "начатые" операторы-потомки выполнены, блок обработки имеет следующие возможности для продолжения процесса.
i) Если в перечне ссылок на операторы-потомки упомянутого шага содержится по меньшей мере одна ссылка на оператор-потомок, выполнение которого "продолжается", в этом случае родительской подпоследовательности сообщается, что выполнение активного шага "продолжается".
ii) Если в перечне ссылок на операторы-потомки упомянутого шага содержится по меньшей мере одна ссылка на "начатый" оператор-потомок, в этом случае родительской подпоследовательности сообщается, что выполнение активного шага "начато".
iii) Если в перечне ссылок на операторы-потомки упомянутого шага содержатся только ссылки на "завершенные" операторы-потомки, в этом случае родительской подпоследовательности сообщается, что выполнение активного шага "завершено".
Действует следующий механизм обработки активного оператора.
1) Блок обработки получает ссылку на активный оператор из стека операторов.
2) Блок обработки осуществляет считывание активного оператора из стека операторов.
3) Блок обработки считывает операторные данные из активного оператора.
4) Блок обработки осуществляет выполнение активного оператора, если состоянием является "начатое" состояние или состояние "продолжения". В данном случае возможны три маршрута.
а) Если оператором является оператор присваивания, в этом случае оператор выполняется полностью, и его родительскому шагу сообщается о том, что выполнение оператора "завершено".
б) Если оператором является оператор приостановки, он не приостанавливает блок обработки, который проверяет, приостановлен ли оператор приостановки, и в этом случае родительскому шагу сообщается о том, что выполнение оператора "начато", или, если приостановка завершена, в этом случае родительскому шагу сообщается о том, что выполнение оператора "завершено".
в) Если активным оператором является условный оператор процесса управления, условие которого подтверждает блок обработки, и, когда условие выполнено, блок обработки получает соответствующую ссылку на подпоследовательность-потомок из операторных данных и помещает ее в простую очередь, а родительскому шагу сообщается о том, что выполнение оператора "завершено".
г) Если активным оператором является оператор процесса управления циклом, блок обработки определяет, требуется ли новая итерация. Когда требуется новая итерация, блок обработки получает соответствующую ссылку на подпоследовательность-потомок из операторных данных и помещает ее в простую очередь, а родительскому шагу сообщается о том, что выполнение оператора "продолжается". Когда новая итерация не требуется, родительскому шагу сообщается о том, что выполнение оператора "завершено".
Следует учесть, что описанный способ организации стеков данных в древовидные последовательности и последующей обработки таких стеков является одним из примеров, и возможны другие способы организации и обработки древовидной последовательности, которые предусматривают такие же операции. В качестве одного из примеров другого способа, вместо использования итератора шагов удаляют из активной последовательности стека последовательностей ссылки на "завершенные" шаги-потомки. Стек данных также может быть организован другим способом, например, путем создания стеков для операторов различных типов. Можно также сократить время использования ЦП путем действительной приостановки выполнения, если в простой очереди находятся только ссылки на приостановку подпоследовательностей, и в этом случае блок обработки должен проверять, на какое время он может приостанавливаться прежде, чем он должен возобновить выполнение. Следует также отметить, что блоку обработки могут поручаться дополнительные задачи, которые не входят в настоящее изобретение. Например, блок обработки может периодически проверять, не нажал ли пользователь клавишу прекращения выполнения, или не находится ли показание датчика вне допустимого диапазона, и в этом случае он может прекращать выполнение.
В одном из предпочтительных вариантов осуществления настоящего изобретения интерпретатор принимает команды в виде множества древовидных последовательностей, каждая из которых содержит корневую последовательность, а блок обработки параллельно выполняет множество древовидных последовательностей.
Кроме того, в одном из предпочтительных вариантов осуществления настоящего изобретения интерпретатор выполняет предварительно скомпилированный код. В данном случае интерпретатор в прямой форме выполняет хранящийся предварительно скомпилированный код, созданный компилятором, который может входить в состав самого интерпретатора.
Согласно другой особенности настоящего изобретения предложен способ автоматизации системы, содержащей устройство управления с блоком обработки и установку, соединенные по меньшей мере одним актором и по меньшей мере одним датчиком, который регистрирует информацию об установке и передает ее устройству управления, которое использует блок обработки для вычисления управляющего сигнала на основании принимаемой информации и передачи вычисленного управляющего сигнала по меньшей мере одному актору. В данном случае блок обработки может содержать один или множество цифровых процессоров. Кроме того, интерпретатор, входящий в автоматизированную систему, принимает команды в виде древовидной последовательности или множества древовидных последовательностей, содержащих по меньшей мере один шаг, в котором содержится по меньшей мере один оператор, которым является оператор присваивания, определяющий вычислительные или периферийные процедуры для выполнения устройством управления, или оператор процесса управления, используемый для инициирования новой подпоследовательности, или оператор приостановки, используемый для приостановки выполнения в положении оператора. В этом смысле соответствующие операторы присваивания обычно связаны с управляемым процессом, например, представляют собой операторы, устанавливающие значение актора, или операторы, выводящие сообщение для человека-оператора процесса. На основании принимаемых команд интерпретатор генерирует и выполняет исполняемый код в блоке обработки. Из этого следует, что блок обработки последовательно выполняет шаги каждой подпоследовательности таким образом, что каждый из упомянутых шагов выполняется до тех пор, пока не будут выполнены все операторы, содержащиеся в соответствующем шаге, при этом операторы, инициируемые одним и тем же шагом, выполняются параллельно или квазипараллельно. Древовидная последовательность может, создаваться, например, вручную, а именно, в виде сценария, вручную редактируемого человеком-оператором автоматизированной системы, или может генерироваться на основании вводимых человеком-оператором данных в инструментальном программном средстве автоматизированного проектирования в качестве примеров нескольких возможностей.
Исполняемый код, который генерирует и выполняет интерпретатор, побуждает блок обработки к последовательному выполнению шагов каждой подпоследовательности. В данном случае каждый из шагов выполняется блоком обработки до тех пор, пока не будут выполнены все операторы, содержащиеся в соответствующем шаге. Тем не менее операторы, инициируемые один и тем же шагом, выполняются блоком обработки параллельно или квазипараллельно. Иными словами, операторы, которые содержатся в каждом отдельном шаге, выполняются в блоке обработки параллельно или квазипараллельно. Блок обработки может допускать параллельную или квазипараллельную обработку команд, при этом квазипараллельная обработка осуществляется при работе блока обработки в высокоскоростном режиме.
В одном из предпочтительных вариантов осуществления настоящего изобретения команды, принимаемые интерпретатор, заданы на языке XML, например, в виде XML-документа, при этом еще более предпочтительно эти команды заданы в виде применимого XML-документа в соответствии с технологией XML Schema. Следует отметить, что, как легко может быть понято специалистами, в этих целях применимо множество стандартизированных удобных для восприятия человеком и машиночитаемых форматов.
В данном случае для инициирования новой подпоследовательности также предпочтительно использовать оператор процесса управления.
В одном из предпочтительных вариантов осуществления установкой является самоходная испытательная установка, в одном из альтернативных предпочтительных вариантов осуществления установкой является химическая реакционная установка, и в одном из альтернативных предпочтительных вариантов осуществления установкой является аналитический прибор.
Также предпочтительно, чтобы по меньшей мере один датчик измерял частоту вращения, усилие, температуру, содержание компонента, напряжение, ток, давление, массу, скорость потока или логическое состояние цифрового выхода.
Также предпочтительно, чтобы автоматизированная система дополнительно содержала дисплей, соединенный с устройством управления, при этом по меньшей мере один из упомянутых операторов выводит на дисплей сообщение для человека-оператора автоматизированной системы. Таким дисплеем может являться, например, дисплей на тонкопленочных транзисторах, жидкокристаллический дисплей или дисплей любого другого типа, применимый для представления информации человеку-оператору. В автоматизированную система может дополнительно входить система обмена электронными текстовыми сообщениями, посредством которых по меньшей мере один из упомянутых операторов способен инициировать передачу электронного сообщения человеку-оператору. Таким электронным сообщением может являться, например, сообщение электронной почты, SMS-сообщение или электронное текстовое сообщение любого другого типа.
В одном из предпочтительных вариантов осуществления генерирование исполняемого кода интерпретатором предусматривает промежуточный шаг генерирования промежуточного кода представления. В данном случае интерпретатор преобразует команды, принимаемые в виде меньшей мере одной древовидной последовательности, в определенный промежуточный код представления и выполняет его.
В одном из альтернативных предпочтительных вариантов осуществления по меньшей мере одна древовидная последовательность, принимаемая интерпретатором, представляет собой исходный код, который интерпретатор выполняет непосредственно в блоке обработки.
В еще одном из альтернативных предпочтительных вариантов осуществления интерпретатором является линеаризатор, который генерирует и выполняет линеаризованный исполняемый код на основании принимаемой по меньшей мере одной древовидной последовательности. Еще более предпочтительно, чтобы линеаризатор генерировал стек ссылочных данных на основании древовидной последовательности и синхронно выполнял стек ссылочных данных в блоке обработки в высокоскоростном режиме обработки, чтобы обеспечить квазипараллельную обработку операторов, инициируемых одним и тем же шагом.
В одном из предпочтительных вариантов осуществления настоящего изобретения интерпретатор также выполняет предварительно скомпилированный код. В данном случае интерпретатор в прямой форме выполняет хранящийся предварительно скомпилированный код, созданный компилятором, который может являться частью самого интерпретатора.
В блоке обработки предпочтительно действует ядро, ориентированное на работу в реальном времени, или операционная система реального времени.
Согласно другой особенности настоящего изобретения предложена компьютерная программа, которая при выполнении компьютером побуждает описанный выше интерпретатор к генерированию и выполнению исполняемого кода в соответствии с описанным способом автоматизации системы.
Кроме того, в одном из предпочтительных вариантов осуществления настоящего изобретения предложены две компьютерные программы, первая из которых выполняется с низким приоритетом для генерирования исполняемого кода и выполнения периферийных задачи автоматизации, таких как, например, регистрация данных или вывод данных на дисплей оператора, а вторая программа выполняется ядром, ориентированным на работу в реальном времени, или операционной системой реального времени, выполняющей исполняемый код.
Согласно еще одной особенности настоящего изобретения предложена компьютерная программа, хранящаяся на носителе, содержащем описанные выше команды, принимаемые интерпретатором в виде по меньшей мере одной древовидной последовательности в соответствии с описанным способом автоматизации системы.
Согласно другой особенности изобретения предложен машиночитаемый носитель, который побуждает компьютер к тому, чтобы описанный выше интерпретатор принимал команды в виде по меньшей мере одной древовидной последовательности и генерировал и выполнял исполняемый код в соответствии с описанным способом автоматизации системы.
Краткое описание чертежей
Далее будут подобнее описаны предпочтительные варианты осуществления изобретения со ссылкой на прилагаемые лишь в качестве примера чертежи, на которых:
на фиг.1 показано наглядное представление заданной сценарием линейной последовательности,
на фиг.2 - наглядный пример древовидной последовательности,
на фиг.3 - наглядный пример линеаризованный древовидной последовательности,
на фиг.4 - наглядное представление в формате XMLSpy древовидной последовательности согласно технологии XML Schema,
на фиг.5 - определение древовидной последовательности в формате XMLSpy GridView,
на фиг.6 - типовой газовый испытательный стенд для автомобильных каталитических нейтрализаторов согласно первому варианту осуществления настоящего изобретения,
на фиг.7 - представление в формате XMLSpy GridView сценария, описывающего испытание автомобильных каталитических нейтрализаторов,
на фиг.8 - представление в формате XMLSpy GridView вызываемого шага "goto_starttemperature",
на фиг.9 - представление в формате XMLSpy GridView вызываемого шага "calibrate_massflowcontroller",
на фиг.10 - представление в формате XMLSpy GridView вызываемого шага "C__CO2BYA1500__calibration".
Подробное описание примеров осуществления
В одном из примеров осуществления настоящего изобретения для выполнения параллельных операций в автоматизированной системе стендовых испытаний системный оператор определяет древовидную последовательность, содержащую множество шагов, каждый из которых может содержать любое число операторов. На фиг.2 проиллюстрирована возможная структура такой древовидной последовательности, в которой ссылочными операторами являются операторы присваивания или операторы приостановки или операторы процесса управления, при этом последние используются для инициирования новых подпоследовательностей. Как ясно видно на фиг.2, подпоследовательности могут иметь структуру, представляющую собой вложенное созвездие шагов последовательностей, при этом каждая из новых подпоследовательностей инициируется оператором процесса управления. Кроме того, показано, что древовидная последовательность представляет собой древовидную систему данных одного из типов.
На фиг.3. проиллюстрирован один из примеров того, как показанная на фиг.2 подпоследовательность может быть линеаризована, при этом позиции на фиг.3 соответствуют позициям на фиг.2.
На фиг.4 показано, как технология XML Schema обеспечивает удобное средство определения таких древовидных последовательностей путем определения типа последовательности с рекурсивным самовызовом в условных операторах процесса управления, операторах цикла (со счетчиком) и цикла с условием продолжения. В данном случае на фиг.5 показано определение соответствующей древовидной последовательности с использованием стандартного предлагаемого на рынке редактора XML, называемого XMLSpy.
Параллелизм, включенный в определенную древовидную последовательность, с учетом параметров и стоимости может быть реализован в виде стеков линейно обрабатываемых ссылочных данных. С этой целью, чтобы обеспечить достаточную степень параллелизма, устанавливают более высокую скорость обновления устройства задания последовательности, чем временное разрешение (частоту выборки), необходимое для управления основным процессом, и достаточно высокую для выполнения операторов присваивания и операторов процесса управления во время приостановки других подпоследовательностей.
Далее приведены примеры древовидных последовательностей (именуемых "сценариями испытаний" или "сценариями"), которые используются при испытании автомобильных каталитических нейтрализаторов, например, при проведении испытаний по пуску двигателя на типовом газовом испытательном стенде. Тем не менее, поскольку XML-сценарий, описывающий полное продуктивное использование такого газового испытательного стенда, вполне может содержать более 17000 строк, а также для обеспечения лучшей ясности далее рассматриваются только выборочные части сценария.
Соответственно, на фиг.6 показана упрощенная схема типового газового испытательного стенда 1, который используется для проведения испытаний по пуску двигателя с использованием образца 1 автомобильного каталитического нейтрализатора в реакторе, предпочтительно стеклянном или стальном реакторе, который помещен в трубчатую печь 3. Для регулирования температуры газа напротив каталитического нейтрализатора предусмотрена термопара 4, которая определяет фактическую температуру газа напротив каталитического нейтрализатора и передает ее ПИД-регулятору 5, который регулирует мощность, отдаваемую печи 3.
В левой части типового газового испытательного стенда 1, проиллюстрированного на фиг.6, находится ряд регуляторов 8 массового расхода (РМР), каждый из которых регулирует массовый расход определенного газа 9, который отбирают и синтезируют, чтобы получить модельный выхлопной газ. С этой целью, для регулирования массового или объемного расхода могу калиброваться или устанавливаться заданные значения регуляторов 8 массового расхода. В связи с этим следует отметить, что в качестве газа, необходимого для подпитки системы, при синтезе модельного выхлопного газа может использоваться, например, газообразный азот N2. Как показано на фиг.6, соответствующий модельный выхлопной газ собирают в трехходовом клапане 6, откуда он поступает в обогреваемый печью реактор 2 или обводной трубопровод 7. В данном случае, как показано на фиг.6, модельный выхлопной газ, собранный в трехходовом клапане, может поступать в обход реактора по обводному трубопроводу 7, который используется для осуществления описанной далее корректировки содержания газа. Затем соответствующий очищенный каталитическим нейтрализатором или поступающий в обход модельный выхлопной газ собирают в трехходовом клапане 10 и подают в анализатор 11 выхлопных газов для определения или измерения содержания различных газов в выходящем выхлопном газе, протекающий в сторону выходного отверстия 12 типового газового испытательного стенда 1. Как известно из техники, такой газоанализатор 11 может содержать несколько отдельных газоанализаторов для выполнения отдельных задач анализа газа.
Кроме того, для упрощения чтения описанных далее сценариев используется показанная на фиг.6 таблица 13, в которой сопоставлены устройства и блоки, показанные на фиг.6, и их соответствующие названия, используемые в подробно описанных далее сценариях испытаний. Соответственно, PV означает технологический параметр или фактическое значение, такое как, например, температура термопары 4 "PV thermocouple" или результат анализа содержания СО "PV CO analyzer", полученный анализатором 11. Кроме того, SP означает заданное значение, присваиваемое устройству управления, такое как, например, заданное значение "SP PID controller", определяющее заданное значение ПИД-регулятора 5. Соответственно, в таблице 13 соответствующий процесс и заданные значения сопоставлены с "именами" или "тегами", используемыми в следующих примерах сценариев испытаний. Кроме того, хотя это не представлено в таблице, в следующих сценариях испытаний полный расход газа, собираемого трехходовом клапане 6, именуется "VOFEXHSPMF500__".
Испытание образца 2 каталитического нейтрализатора на типовом газовом испытательном стенде 1, проиллюстрированном на фиг.6, осуществляется на следующих шагах.
1. Помещают образец 2 каталитического нейтрализатора в реактор 3.
2. Предписывают каждому из регуляторов 8 массового расхода обеспечивать расход газа соответствующего типа с соответствующим содержанием для газа заданного типа, который затем собирают в трехходовом клапане 6 и подают в газоанализатор 11 по обводному трубопроводу 7 в обход реактора 3 с образцом 2 каталитического нейтрализатора.
3. Следующие два шага (а) и (б) выполняются параллельно.
а. Шаг корректировки содержания газа
Когда газоанализатор 11 определяет отклонение от желаемого содержания газа определенного типа, например, NO, корректируют заданное значение соответствующего регулятора массового расхода, например "SPNOPMP", пока газоанализатор 11 не определит, что содержание в выхлопе является желаемым. В связи с этим, соответствующие регуляторы 8 массового расхода настроены на параллельную корректировку содержания следующих газов:
i. NO,
ii. CO,
iii. CO2,
iv. О2,
v. углеводородов.
б. Шаг разогрева реактора
Запускают нагреватель обогреваемого печью реактора 3, настраивают его на желаемую температуру в реакторе 3. В данном случае устройство задания последовательности ожидает, пока температура не установится на желаемом уровне.
4. После успешной настройки желаемого содержания в выхлопном газе и температуры в реакторе на шаге 3а и шаге 3б переключают трехходовые клапаны 6 и 10 на подачу синтезированного выхлопного газа в реактор 3.
5. Затем повышают температуру в реакторе 3 путем фиксированного плавного изменения, и завершают эксперимент после достижения заданной конечной температуры. На протяжении соответствующего плавного изменения отслеживают содержание токсичных компонентов с помощью газоанализатора 11 с целью оценки свойств, таких как рабочие параметры образца 2 каталитического нейтрализатора.
Как упоминалось выше, регуляторы 8 массового расхода могут быть настроены или калиброваны на регулирование массового или объемного расхода. В следующем далее сценарии испытаний заданные значения регуляторов 8 массового расхода определяют в объемных ч./млн. и объемных процентах. На основании этих значений вычисляют соответствующие требуемые потоки, и соответствующим образом настраивают регуляторы 8 массового расхода в системе стендовых испытаний.
На фиг.7 показан моментальный снимок экрана, на котором в формате XMLSpy GridView представлен сценарий испытания автомобильных каталитических нейтрализаторов, в котором шаги 1-7 выполняются последовательно, а вызываемые шаги 1-16 отображают дистанционные подпоследовательности, которые могут выполняться с использованием оператора процесса управления "call_step", как, например, "call_step calibrate_massfloweontroller" и "call_step goto_starttemperature", вызывающие шаг 3 последовательности, который обеспечивает параллельное выполнение обеих подпоследовательностей.
Как можно понять из фиг.7, следующие шаги 1-6 выполняются последовательно, при этом шаг 3 обеспечивает параллельное выполнение двух операторов i и ii.
1. На пульт управления автоматизированной системы выводится сообщение.
2. Вызывается шаг, который задает все начальные условия испытания.
3. Два оператора процесса управления "call_step" параллельно выполняют две следующие дистанционные подпоследовательности.
i. Вызываемый шаг goto_starttemperature" вызывает вызываемый шаг 4, отображающий подпоследовательность нагрева обогреваемого печью реактора 3 и стабилизации температуры на впуске автомобильного каталитического нейтрализатора. Подробности этого вызываемого шага рассмотрены далее со ссылкой на фиг.8.
ii. Вызываемый шаг "calibrate_massflowcontroller" вызывает вызываемый шаг 5, отображающий подпоследовательность параллельной калибровки нескольких регуляторов 8 массового расхода. Этот вызываемый шаг рассмотрен далее со ссылкой на фиг.9. В данном случае подробно не рассматриваются некоторые свойства, поскольку они имеют аналоги в подобно рассмотренном вызываемом шаге "goto_temperature" с той разницей, что осуществляется управление регуляторами 8 массового расхода, а не установкой температуры в реакторе 3.
4. Калиброванный газ подается в реактор, и осуществляются шаги испытания по пуску двигателя.
5. Осуществляются шаги испытания по останову двигателя.
6. На пульт управления выводится сообщение о том, что испытание завершено.
На фиг.8 показана выборочная часть сценария испытания, определяющего дистанционную подпоследовательность "goto_starttemperature", в ходе которой нагревают реактор и устанавливают в нем температуру на заданном уровне. В данном случае последовательно выполняются следующие шаги:
1. Для тега "T_EXHSPNC500__" устанавливается значение начального параметра ("Starttemperature"). Этот шаг отображает установку заданного значения ПИД-регулятора 5, который сконфигурирован на регулирование температуры напротив образца каталитического нейтрализатора выхлопа с помощью печи.
2. На пульт управления автоматизированной системы выводится сообщение.
3. Раз в секунду в течение 60 секунд регистрируется значение температуры "Т__EXPPVNC500__", определяемую термочувствительным элементом 4, и сохраняют его в массиве с идентификатором array_id=5.
4. С помощью оператора цикла с условием продолжения устройству задания последовательности дается команда раз в секунду проверять, находится ли измеренная температура в пределах температурного окна "Starttemperature" +/- 2°С, и прекращать цикл с условием продолжения, если это условие выполнено. Соответствие интервалу +/-2°С проверяют согласно формуле "(min(5)} T[Starttemperature]-2) and (max(5) {T[Starttemperature]+2)", в которой "min" служит для вычисления минимального значения в массиве с идентификатором array_id=5, a "max" служит для вычисления максимального значения в массиве с идентификатором array_id=5, с помощью функции "and" (И) реализуется окно при условии, что минимальное значение должно превышать "Starttemperature - 2", а максимальное значение должно быть меньшим, чем "Starttemperature + 2". В этом контексте символы '{'и'}' используются для определения условия цикла с условием продолжения, при этом '{' означает "меньше, чем", а '}' означает "больше, чем". Вместе с тем, если условие цикла с условием продолжения не выполнено, каждую секунду регистрируется новое значение измеренной температуры "Т__EXPPVNC500__", которое прибавляется к массиву с идентификатором array_id=5, действующему как простая очередь (обратного магазинного типа).
После того как выполнение оператором цикла с условием продолжения успешно завершено (то есть без возникновения ошибок в связи с тайм-аутом), считается, что температура напротив образца каталитического нейтрализатора выхлопа успешно установлена и стабилизирована.
Аналогичным образом, на фиг.9 показана выборочная часть сценария испытания, определяющего дистанционную подпоследовательность "calibrate_massflowcontroller", которая, как описано, выше служит для корректировки массового расхода, создаваемого каждым из соответствующих регуляторов 8 массового расхода. В данном случае последовательно выполняются следующие шаги.
1. Для тега "calibration_ready" устанавливается значение 0, означающее, что соответствующая калибровка продолжается.
2. Вызывается вызываемый шаг "set_valves_in_bypass" с целью выполнения подпоследовательности переключения трехходовых клапанов 6 и 10 таким образом, чтобы использовать обводной трубопровод 7 в обход реактора.
3. Устанавливается точность калибровки и время стабилизации.
4. Устанавливается значение "VOFEXHSPMF500__" полного потока выхлопных газов
5. На этом шаге параллельно выполняется 6 подпоследовательностей, в ходе которых осуществляются корректировки соответствующих регуляторов 8 массового расхода, и вычисляется скользящее среднее с целью ослабления измеренных шумовых сигналов. Это соответствующее скользящее среднее используется на последующих шагах, чтобы оценивать, следует ли адаптировать массовый расход, генерируемый соответствующим регулятором 8 массового расхода. Вызываемый шаг "С__CO_BYA15000__calibration" подробно рассмотрен далее. Следует отметить, что эти 6 подпоследовательностей сгруппированы в вызываемый шаг для улучшения удобочитаемости сценария испытания. По существу, содержание соответствующих вызываемых шагов также может быть реализовано как часть самой родительской последовательности без использования каких-либо вызываемых шагов.
6. Для тега "calibration_ready" устанавливается значение 1, означающее, что калибровка успешно завершена.
На фиг.10 показана выборочная часть сценария испытания, определяющего дистанционную подпоследовательность "C__COBYA1500__calibration" корректировки массового расхода, создаваемого регулятором 8 массового расхода СО. В данном случае последовательно выполняются следующие шаги.
1. Регулятор массового расхода СО (шаг 2 и далее) калибруется, только если требуемое содержание СО превышает 0 част/млн.
2. На пульт управления автоматизированной системы стендовых испытаний выводит зарегистрированное сообщение.
3. Устанавливается заданное значение регулятора массового расхода СО в соответствии с требуемым содержанием газа в обводном трубопроводе.
4. Устройство задания последовательности ожидает в течение заданного времени с тем, чтобы газовый трубопровод мог быть заполнен выхлопным газом с соответствующим составом.
5. На шаге 5 выполняется фактическая калибровка.
а. Если абсолютное значение разности между требуемым содержанием газа в обводном трубопроводе и усредненным значением за время работы, измеренное анализатором СО, превышает требуемую точность, начинается калибровка.
б. Оператор цикла с условием продолжения корректирует содержание СО, требуемое от регулятора массового расхода СО. В конце каждой итерации проверяется наличие условия останова оператора цикла с условием продолжения, если начинается новая итерация.
в. Изменяется содержание СО, требуемое от регулятора массового расхода СО.
г. Подпоследовательность приостанавливается на предварительно заданное время, тем не менее, хотя подпоследовательность находится в состоянии ожидания, продолжается выполнение других параллельно действующих подпоследовательностей.
д. С помощью тайм-аута ограничивается число итераций калибровки.
6. На пульт управления автоматизированной системы стендовых испытаний выводится зарегистрированное сообщение, указывающее человеку-оператору, насколько был скорректирован регулятор массового расхода.
Следует упомянуть, что, хотя процедура, определяемая описанным сценарием, может использоваться для компенсации незначительных отклонений, газоанализаторы и регуляторы массового расхода могут независимо калиброваться и обслуживаться согласно отдельным разделам сценария испытаний вне зависимости от этой процедуры.
Хотя настоящее изобретение описано со ссылкой на варианты его осуществления, специалистам в данной области техники ясно, что в описанные варианты осуществления может быть внесено множество изменений, не выходящих за пределы объема настоящего изобретения. Соответственно, объем настоящего изобретения ограничен не описанными в нем системами, а только системами, охарактеризованными в формуле изобретения и ее эквивалентах.

Claims (27)

1. Автоматизированная система, содержащая устройство управления и установку, соединенные по меньшей мере с одним актором и по меньшей мере одним датчиком, который способен регистрировать и передавать информацию об установке устройству управления, которое на ее основании способно вычислять управляющий сигнал и передавать его по меньшей мере одному актору, причем устройство управления содержит блок обработки для вычисления и вывода управляющего сигнала устройством управления,
при этом автоматизированная система дополнительно содержит интерпретатор, генерирующий исполняемый код и выполняющий его в блоке обработки, причем интерпретатор принимает команды в виде древовидной последовательности, содержащей по меньшей мере один шаг, в котором содержится по меньшей мере один оператор, которым является:
оператор присваивания, определяющий вычислительные или периферийные процедуры, которые должны выполняться устройством управления, или
оператор процесса управления, используемый для инициирования новой подпоследовательности, или
оператор приостановки, используемый для приостановки выполнения в положении оператора приостановки без приостановки выполнения операторов, содержащихся в соответствующем шаге,
и при этом исполняемый код, генерируемый и выполняемый интерпретатором, побуждает блок обработки к последовательному выполнению шагов каждой подпоследовательности, в результате чего каждый из шагов выполняется блоком обработки до тех пор, пока не будут выполнены все операторы, содержащиеся в соответствующем шаге, причем операторы, инициируемые одним и тем же шагом, выполняются блоком обработки параллельно или квазипараллельно.
2. Система по п.1, в которой команды заданы интерпретатором в виде документа на языке XML.
3. Система по п.1, в которой оператор процесса управления служит для инициирования новой подпоследовательности в виде цикла с условием продолжения, цикла со счетчиком, условной конструкции или конструкции выбора, конструкции подпроцедуры.
4. Система по п.1, в которой установкой является самоходная испытательная установка, химическая реакционная установка или аналитический прибор.
5. Система по любому из пп.1-4, в которой по меньшей мере один датчик измеряет частоту вращения, усилие, температуру, содержание компонента, напряжение, ток, давление, массу, скорость потока или логическое состояние цифрового выхода.
6. Система по любому из пп.1-4, которая дополнительно содержит дисплей, соединенный с устройством управления, при этом по меньшей мере один из операторов выводит на дисплей сообщение для человека-оператора автоматизированной системы.
7. Система по любому из пп.1-4, в которой генерирование исполняемого кода интерпретатором предусматривает промежуточный шаг генерирования промежуточного кода представления.
8. Система по любому из пп.1-4, в которой древовидная последовательность, принимаемая интерпретатором, отображает исходный код, который интерпретатор выполняет непосредственно в блоке обработки.
9. Система по любому из пп.1-4, в которой интерпретатором является линеаризатор, генерирующий и выполняющий линеаризованный исполняемый код на основании принимаемой древовидной последовательности.
10. Система по п.9, в которой линеаризатор генерирует линейные стеки ссылочных данных из древовидных последовательностей и выполняет линейные стеки ссылочных данных в блоке обработки по линейному закону в высокоскоростном режиме, обеспечивающем квазипараллельную обработку операторов, образованных различными подпоследовательностями, инициированными операторами процесса управления, которые содержатся в соответствующем шаге.
11. Система по любому из пп.1-4, в которой интерпретатор выполняет предварительно скомпилированный код.
12. Система по любому из пп.1-4, в которой интерпретатор принимает команды в виде множества древовидных последовательностей, каждая из которых содержит корневую последовательность, а блок обработки параллельно выполняет множество древовидных последовательностей.
13. Система по любому из пп.1-4, в которой в блоке обработки действует ядро, ориентированное на работу в реальном времени, или операционная система реального времени.
14. Способ автоматизации системы, содержащей устройство управления с блоком обработки и установку, соединенные по меньшей мере одним актором и по меньшей мере одним датчиком, который регистрирует информацию об установке и передает ее устройству управления, которое использует блок обработки для вычисления управляющего сигнала на основании принимаемой информации и передачи вычисленного управляющего сигнала по меньшей мере одному актору,
причем интерпретатор, входящий в автоматизированную систему, принимает команды в виде древовидной последовательности, содержащей по меньшей мере один шаг, в котором содержится по меньшей мере один оператор, которым является:
оператор присваивания, определяющий вычислительные или периферийные процедуры, которые должны выполняться устройством управления, или
оператор процесса управления, используемый для инициирования новой подпоследовательности, или
оператор приостановки, используемый для приостановки выполнения в положении оператора приостановки без приостановки выполнения операторов, содержащихся в соответствующем шаге, и
на основании принимаемых команд интерпретатор генерирует и выполняет исполняемый код в блоке обработки путем побуждения блока обработки к последовательному выполнению шагов каждой подпоследовательности, в результате чего каждый из шагов выполняется до тех пор, пока не будут выполнены все операторы, содержащиеся в соответствующем шаге, причем операторы, инициируемые одним и тем же шагом, выполняются параллельно или квазипараллельно.
15. Способ по п.14, в котором команды, принимаемые интерпретатором, заданы в виде документа на языке XML.
16. Способ по п.14, в котором оператор процесса управления служит для инициирования новой подпоследовательности в виде цикла с условием продолжения, цикла со счетчиком, условной конструкции или конструкции выбора, конструкции подпроцедуры.
17. Способ по п.14, в котором установкой является самоходная испытательная установка, химическая реакционная установка или аналитический прибор.
18. Способ по любому из пп.14-17, в котором по меньшей мере один датчик измеряет частоту вращения, усилие, температуру, содержание компонента, напряжение, ток, давление, массу, скорость потока или логическое состояние цифрового выхода.
19. Способ по любому из пп.14-17, в котором автоматизированная система дополнительно содержит дисплей, соединенный с устройством управления, при этом по меньшей мере один из операторов выводит на дисплей сообщение для человека-оператора автоматизированной системы.
20. Способ по любому из пп.14-17, в котором генерирование исполняемого кода интерпретатором предусматривает промежуточный шаг генерирования промежуточного кода представления.
21. Способ по любому из пп.14-17, в котором древовидная последовательность, принимаемая интерпретатором, отображает исходный код, который интерпретатор выполняет непосредственно в блоке обработки.
22. Способ по любому из пп.14-17, в котором интерпретатором является линеаризатор, генерирующий и выполняющий линеаризованный исполняемый код на основании принимаемой древовидной последовательности.
23. Способ по п.22, в котором линеаризатор генерирует линейные стеки ссылочных данных из древовидных последовательностей и выполняет линейные стеки ссылочных данных в блоке обработки по линейному закону в высокоскоростном режиме, обеспечивающем квазипараллельную обработку операторов, образованных различными подпоследовательностями, инициированными операторами процесса управления, которые содержатся в соответствующем шаге.
24. Способ по любому из пп.14-17, в котором интерпретатор выполняет предварительно скомпилированный код.
25. Способ по любому из пп.14-17, в котором интерпретатор принимает команды в виде множества древовидных последовательностей, каждая из которых содержит корневую последовательность, а блок обработки параллельно выполняет множество древовидных последовательностей.
26. Способ по любому из пп.14-17, в котором в блоке обработки действует ядро, ориентированное на работу в реальном времени, или операционная система реального времени.
27. Машиночитаемый носитель, обеспечивающий управление компьютером так, чтобы интерпретатор принимал команды в виде по меньшей мере одной древовидной последовательности и генерировал и выполнял исполняемый код для автоматизации системы в соответствии со способом по любому из пп.14-26.
RU2012127688/08A 2009-12-04 2010-10-28 Система и способ автоматизации системы на основе интерпретации древовидной последовательности операций RU2546563C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09178073.4 2009-12-04
EP09178073.4A EP2333628B1 (en) 2009-12-04 2009-12-04 A system and method for system automation based on interpreting a tree sequence of operations
PCT/EP2010/066366 WO2011067047A1 (en) 2009-12-04 2010-10-28 A system and method for system automation based on interpreting a tree sequence of operations

Publications (2)

Publication Number Publication Date
RU2012127688A RU2012127688A (ru) 2014-01-10
RU2546563C2 true RU2546563C2 (ru) 2015-04-10

Family

ID=42173458

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012127688/08A RU2546563C2 (ru) 2009-12-04 2010-10-28 Система и способ автоматизации системы на основе интерпретации древовидной последовательности операций

Country Status (8)

Country Link
US (1) US9317307B2 (ru)
EP (1) EP2333628B1 (ru)
JP (1) JP2013513141A (ru)
KR (1) KR101717454B1 (ru)
CN (1) CN102640069B (ru)
BR (1) BR112012013489B1 (ru)
RU (1) RU2546563C2 (ru)
WO (1) WO2011067047A1 (ru)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011100106A1 (de) * 2011-04-30 2012-10-31 Daimler Ag System zur Diagnose einer Komponente in einem Fahrzeug
WO2013104504A1 (en) * 2012-01-12 2013-07-18 Thomson Licensing Method and device for compiling a source program
WO2017139710A1 (en) * 2016-02-10 2017-08-17 Deitchman Andrew Systems and methods for cleaning a mobile device
EP3479261A1 (en) * 2016-06-30 2019-05-08 ExxonMobil Chemical Patents Inc. Methods and systems for operating a high pressure ethylene polymerization unit
CN110019365A (zh) * 2017-12-21 2019-07-16 天津数观科技有限公司 一种利用栈生成数据处理顺序的方法
CN109062154B (zh) * 2018-08-02 2019-12-31 国家能源投资集团有限责任公司 进料预处理器顺控方法、存储介质及电子设备
CN109270912A (zh) * 2018-11-06 2019-01-25 珠海格力智能装备有限公司 Plc系统的顺序控制方法及装置、存储介质及处理器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2249854C2 (ru) * 1998-03-19 2005-04-10 Лоренс Текнолоджиз, Ллс Архитектура для основанной на коробах вычислительной системы
RU2006133383A (ru) * 2004-02-19 2008-03-27 Квэлкомм Кембридж Лимитед (Gb) Визуализация пользовательского интерфейса
US7610578B1 (en) * 2004-08-24 2009-10-27 The Math Works, Inc. Test manager for integrated test environments

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3102030B2 (ja) 1990-11-30 2000-10-23 セイコーエプソン株式会社 プログラム作成装置
US5263124A (en) * 1991-02-27 1993-11-16 Neural Systems Corporation Method for producing a binary tree, pattern recognition and binary vector classification method using binary trees, and system for classifying binary vectors
JP2938374B2 (ja) * 1995-09-07 1999-08-23 株式会社東芝 順序シーケンス・プログラムの作成装置及び制御装置
JPH11167409A (ja) * 1997-12-03 1999-06-22 Yaskawa Electric Corp 並列実行言語で動作するプログラマブルコントローラ
JP2001075619A (ja) * 1999-09-06 2001-03-23 Toshiba Corp 機構制御システム及びその開発方法
JP3486903B2 (ja) * 1999-09-06 2004-01-13 日邦プレシジョン株式会社 装置の動作手順作成システム及びその動作手順が記録された記録媒体並びに制御システム
US6788077B2 (en) 2001-12-20 2004-09-07 Abb Inc. Automated test sequence editor and engine for transformer testing
JP2003256203A (ja) 2002-03-01 2003-09-10 Mitsubishi Electric Corp 自動機アプリケーションプログラム開発システム、プログラム開発方法、この方法を実行するプログラム、及びこのプログラムを記憶した記憶媒体
US7089534B2 (en) * 2002-05-01 2006-08-08 International Business Machines Corporation Model based test generation for validation of parallel and concurrent software
US7707126B2 (en) * 2004-08-03 2010-04-27 Rockwell Automation Technologies, Inc. Manual start learning process and manual start process for use with an automated system
EP1734442A1 (en) * 2005-05-19 2006-12-20 Agilent Technologies, Inc. Modular code generation
FR2888960B1 (fr) * 2005-07-19 2007-10-12 Gemplus Sa Detection d'une faute par perturbation longue
DE102005034168A1 (de) 2005-07-21 2007-02-01 Siemens Ag Verfahren zum Bedienen und Beobachten eines Steuergeräts, hiermit korrespondierendes Bedien-/Beobachtungsgerät, Steuergerät sowie Maschine mit einem solchen Steuergerät und Verwendungen des Verfahrens sowie Datenspeichermedien
CN101444101A (zh) * 2006-06-28 2009-05-27 三星电子株式会社 使用多个并行编码器的用于数字通信的系统和方法
JP2009122985A (ja) * 2007-11-15 2009-06-04 Mitsubishi Electric Corp サブプロセス実行システム及びサブプロセス実行プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2249854C2 (ru) * 1998-03-19 2005-04-10 Лоренс Текнолоджиз, Ллс Архитектура для основанной на коробах вычислительной системы
RU2006133383A (ru) * 2004-02-19 2008-03-27 Квэлкомм Кембридж Лимитед (Gb) Визуализация пользовательского интерфейса
US7610578B1 (en) * 2004-08-24 2009-10-27 The Math Works, Inc. Test manager for integrated test environments

Also Published As

Publication number Publication date
EP2333628A1 (en) 2011-06-15
US20130006392A1 (en) 2013-01-03
BR112012013489A2 (pt) 2016-05-31
EP2333628B1 (en) 2013-12-04
WO2011067047A1 (en) 2011-06-09
KR20120114285A (ko) 2012-10-16
JP2013513141A (ja) 2013-04-18
BR112012013489B1 (pt) 2021-01-26
RU2012127688A (ru) 2014-01-10
US9317307B2 (en) 2016-04-19
CN102640069B (zh) 2014-12-24
CN102640069A (zh) 2012-08-15
KR101717454B1 (ko) 2017-03-27

Similar Documents

Publication Publication Date Title
RU2546563C2 (ru) Система и способ автоматизации системы на основе интерпретации древовидной последовательности операций
US9851712B2 (en) Process control system and configuration system for an industrial plant
US20040158433A1 (en) Process analysis systems with automatic liquid sample preparation and connection to process control systems
US10108183B2 (en) Process control system and configuration system
Jee et al. A data flow-based structural testing technique for FBD programs
US9140675B2 (en) Test system
Chopda et al. Bridging the gap between PAT concepts and implementation: An integrated software platform for fermentation
CN104635660B (zh) 使用制造执行系统生产药品的方法
JP5508457B2 (ja) 汎用プログラマブル半導体処理システムのためのアーキテクチャおよびその方法
Naitza et al. Increasing the maturity of measurements of essential climate variables (ECVs) at Italian atmospheric WMO/GAW observatories by implementing automated data elaboration chains
US20230115021A1 (en) Method for operating an in-vitro diagnostics laboratory control software module with a simulated in-vitro diagnostics laboratory instrumentation
JP5931588B2 (ja) 試験システム
JP6863057B2 (ja) 校正作業支援装置、校正作業支援方法、校正作業支援プログラム及び記録媒体
JP2016014388A (ja) 燃料の特性を取り入れたエンジン制御のためのシステム及び方法
EP1706800B1 (en) Method and apparatus for the development of a control process for an instrument
Liu et al. Efficient testing based on logical architecture
Menezes Gama et al. A Diagnostic Tool for Good Chromatographic Practices Applied to HPLC in Pharmaceutical Quality Control
CN113533650A (zh) 一种气体测量设备一致性检测系统及检测方法
CN112881727B (zh) 一种精准加液与定容用液体处理机的自动校准方法
Chandrika et al. DeviceVeri-A Graphical Programming Based Test Script Generation Framework for Measurement Devices
Ávila Martínez PLCs software development for Telescope's mobile parts controlling
JPH05322602A (ja) プラント運転管理システム
CN110703707A (zh) 一种分布式厌氧发酵工艺参数采集及过程控制系统及方法
JPS62229336A (ja) 電子計算機システムのジヨブ実行自動化方式
Burian Multi Agent Systems for Fault States Diagnostics and Equipment and Process Management of Yogurt Ripening Tank