Система и способ автоматизации системы на основе интерпретации древовидной последовательности операций
Иллюстрации
Показать всеИзобретение относится к системе и способу автоматизации системы. Технический результат заключается в автоматизации определения и выполнения операций, осуществляемых машиной или в ходе производственного процесса. Согласно представленным системе и способу автоматизации системы, интерпретатор генерирует и выполняет исполняемый код на основании команд, принимаемых в виде древовидной последовательности, которая содержит информацию о параллельных операциях для определения соответствующих процедур автоматизации. В основу определения древовидной последовательности может быть положен стандартизированный удобный для восприятия человеком и машиночитаемый формат, такой как, например, документ на языке XML. 3 н. и 24 з.п. ф-лы, 10 ил.
Реферат
Область техники, к которой относится изобретение
Изобретение относится к системе и способу автоматизации системы, в котором интерпретатор генерирует и выполняет исполняемый код на основании команд, принимаемых в виде древовидной последовательности, в которой содержатся данные параллельных операций для определения соответствующей процедуры автоматизации. В основу определения древовидной последовательности может быть положен удобный для восприятия человеком стандартизированный и машиночитаемый формат, такой как, например, документ на языке 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-сообщение или электронное текстовое сообщение любого другого типа.
В одном из предпочтительных вариантов осуществления генерирование исполняемого кода интерпретатором предусматривает промежуточный шаг генерирования промежуточного кода представления. В данном случае интерпретатор преобразует команды, принимаемые в виде меньшей мере одной древовидной последовательности, в определенный промежуточный код представления и выполняет его.
В одном из альтернативных предпочтительных вариантов осуществления по меньшей мере одна древовидная последовательность, принимаемая интерпретатором, представляет собой исходный код, который интерпретатор выполняет непосредственно в блоке обработки.
В еще одном из альтернативных предпочтительных вариантов осуществления интерпретатором является линеаризатор, который генерирует и выполняет линеаризованный исполняемый код на основании принимаемой по меньшей мере одной древовидной последовательности. Еще более предпочтительно, чтобы линеаризатор генерировал стек ссылочных данных на основании древовидной последовательности и синхронно выполнял стек ссылочных данных в блоке обработки в высокоскоростном режиме обработки, чтобы обеспечить квазипараллельную обработку операторов, инициируемых одним и тем же шагом.
В одном из предпочтительных вариантов осуществления настоящего изобретения интерпретатор также выполняет предварительно скомпилированный код. В данном случае интерпретатор в прямой форме выполняет хранящийся предварительно скомпилированный код, созданный компилятором, который может являться частью самого интерпретатора.
В блоке обработки предпочтительно действует ядро, ориентированное на работу в реальном времени, или операционная система реального времени.
Согласно другой особенности настоящего изобретения предложена компьютерная программа, которая при выполнении компьютером побуждает описанный выше интерпретатор к генерированию и выполнению исполняемого кода в соответствии с описанным способом автоматизации системы.
Кроме того, в одном из предпочтительных вариантов осуществления настоящего изобретения предложены две компьютерные программы, первая из которых выполняется с низким приоритетом для генерирования исполняемого кода и выполнения периферийных задачи автоматизации, таких как, например, регистрация данных или вывод данных на дисплей оператора, а вторая программа выполняется ядром, ориентированным на работу в реальном времени, или операционной системой реального времени, выполняющей исполняемый код.
Согласно еще одной особенности настоящего изобретения предложена компьютерная программа, хранящаяся на носителе, содержащем описанные выше команды, принимаемые интерпретатором в виде по меньшей мере одной древовидной последовательности в соответствии с описанным способом автоматизации системы.
Согласно другой особенности изобретения предложен машиночитаемый носитель, который побуждает компьютер к тому, чтобы описанный выше интерпретатор принимал команды в виде по меньшей мере одной древовидной последовательности и генерировал и выполн