Изобретение относится к способу определения последовательности обработки функциональных модулей, в частности, при проектировании/программировании систем автоматизации посредством графических инструментов. Оно относится, кроме того, к системе автоматизации для выполнения способа.
Организация программ в системах автоматизации происходит обычно с помощью так называемых организационных, программных и функциональных модулей.
При проектировании/программировании систем автоматизации все в большей степени используют графические программы редактирования, посредством которых символы модулей, выполняемых в приборах автоматики элементарных операций и основных функций, связаны друг с другом в комплексные сети.
Из этих имеющихся затем в графической форме сетей с помощью генераторов кода или так называемых устройств отображения ("Mapper") формируют организационные и программные модули для управляющих программ системы автоматизации. При этом должна устанавливаться также последовательность обработки этих модулей.
Обычно это делает пользователь вручную таким образом, что он, например, задает соответствующие параметры модулей. Автоматические предпосылки для этих параметров модулей, которые формируются системой автоматизации или, соответственно, автоматически и выводятся из хронологической обработки символов модулей или из как-либо иначе установленных пусковых значений, должны, как правило, снова переписываться пользователем, так как результирующаяся отсюда последовательность обработки, как правило, непригодна для правильной реализации технологической функции модульной сети при выполнении программы.
Это имеет следствием, что при проектировании и программировании для определения последовательности обработки функциональных модулей должна производиться очень большая ручная работа. В частности, после каждого изменения сети необходимы изменение последовательности обработки, а также ее документации и тестовые прогоны измененной сети, что является очень трудоемким и подвержено ошибкам.
В случае комплексных задач автоматизации на функциональных схемах могут быть расположены и соединены многие сотни символов модулей. Поэтому, в частности, для подобных комплексно выполненных сетей ручное установление последовательности обработки функциональных модулей является очень сложным и подверженным ошибкам способом.
В основе изобретения поставлена задача создания способа, а также системы автоматизации для определения последовательности обработки функциональных модулей, причем способ должен применяться, в частности, с использованием электронной обработки данных, чтобы обеспечивать постоянное качество сформированных таким образом сетей.
Задача решается согласно изобретению с помощью признаков независимых пунктов 1, 3 формулы изобретения. Основой соответствующего изобретению способа является так называемый ВОВ-способ ("Ввод-Обработка-Вывод"). Обработка сигналов сети происходит при этом принципиально в последовательности ввод, обработка и вывод.
За счет этого обеспечивают, в частности, что исключается "циклический сдвиг" между вводом и обработкой, что таким образом в цикле обработки не производят никакого определения результата, не имея уже необходимых к этому моменту времени промежуточных результатов, подлежащих далее обработке в этом актуальном цикле обработки.
Перед тем как функциональный модуль обрабатывают согласно соответствующему изобретению способу, должны приниматься во внимание выходящие за пределы функции критерии. Для этого анализируют функциональные схемы относительно функций, представленных ими. В цикле обработки прибора автоматизации при этом сначала обращаются к тем программным модулям, которые обрабатывают функции ввода, например регистрацию измеренных значений. Следующими обрабатывают те программные модули, которые реализуют функции обработки, например функции регулирования и управления, и затем обращаются к тем программным модулям, которые имеют функциональность вывода.
Следовательно, также при таком выходящем за пределы функции рассмотрении выдерживается последовательность ввод-обработка-вывод.
Согласно способу, соответствующему изобретению, последовательность обработки функциональных модулей устанавливают внутри одной технологической функции, речь идет при этом, таким образом, об определении локальной для функции последовательности обработки.
Для определения последовательности обработки должен учитываться также тип сети, который лежит в основе технологической функции. Кроме того, может играть роль место архивирования промежуточных результатов, например, записывают ли эти промежуточные результаты в регистр или в общий модуль данных.
Элементарные типы сетей:
- Открытые последовательные сети: Речь идет при этом о сетях со структурой согласно Фиг.1. К подобным сетям соответствующий изобретению способ можно применять непосредственно.
- Соединение открытых последовательных сетей в общую сеть зависимых частичных сетей: подобные сети имеют, например, структуру согласно Фиг.2. При этом общая сеть может быть разделена на частичные сети. Некоторые из этих частичных сетей могут обрабатываться независимо друг от друга относительно установления их последовательности обработки, в то время как часть сетей может зависеть от наличия результатов обработки других частичных сетей. Последовательность обработки независимых частичных сетей относительно друг друга является тогда произвольной, в то время как обработка через зависимую частичную сеть может быть начата только тогда, когда включенные перед ней частичные сети предоставили в распоряжение свои промежуточные результаты.
- Комплексные последовательные сетевые структуры: уже названные типы сетей можно далее разнообразно комбинировать друг с другом так, что получаются сетевые структуры любой степени сложности. Подобные сети тогда перед установлением последовательности обработки подлежат разбиению на ранее названные типы сетей.
- Сети с петлями обратной связи: в случае этого типа сетей речь идет о сетях, в которых, по крайней мере, часть выходных сигналов, по крайней мере, одного функционального модуля возвращают к входу, по крайней мере, одного предыдущего функционального модуля. Установление последовательности обработки для технологической функции, которая реализована посредством подобной охваченной обратной связью сети, изложена в качестве предпочтительной формы выполнения согласно пункту 2 формулы изобретения.
Если в сети появляются несколько петель обратной связи, то каждую из этих петель обратной связи можно обрабатывать согласно предпочтительной форме выполнения по пункту 2 формулы изобретения.
Наряду с названным различением типов сетей можно различать еще между двоичными частичными сетями и модульными сетями.
В двоичных частичных сетях обрабатывают исключительно элементарные связи. В общем, промежуточные результаты при этом откладывают в виде двоичного сигнала в регистрах и не присваивают в явном виде.
В противоположность этому в обычных модульных сетях формируют результаты вычислений любой степени сложности; в отличие от двоичных частичных сетей они присваиваются обычно в явном виде одному или нескольким модулям данных и могут затем нацеленно считываться, например, посредством интерфейса вызова функционального модуля.
В последующем три примера выполнения изобретения представлены более подробно. При этом показаны на:
Фиг.1 открытая последовательная сеть для осуществления соответствующего изобретению способа,
Фиг.2 комплексная сеть, состоящая из множества частичных сетей для осуществления соответствующего изобретению способа, и
Фиг.3 сеть с петлей обратной связи для осуществления соответствующего изобретению способа согласно предпочтительной форме выполнения.
На Фиг.1 отображена технологическая функция 1, представленная графической функциональной схемой 3, содержащей множество функциональных модулей 5, 5а, 5b.
Эти функциональные модули 5, 5а, 5b соответственно содержат входы модуля 11, а также выходы модуля 13.
Посредством входов модуля 11 к функциональным модулям 5, 5а, 5b подводят или входные сигналы 7 в качестве технологических сигналов извне технологической функции 1 или один или несколько выходных сигналов 9 другого функционального модуля 5, 5а, 5b. Аналогично этому с помощью функциональных модулей 5, 5а, 5b формируют один или несколько выходных сигналов 9, которые образуют или один, или несколько выходных сигналов 9 технологической функции 1 или обрабатываются дальше в качестве одного или нескольких входных сигналов 7, по крайней мере, одного другого функционального модуля 5, 5a, 5b.
В открытой последовательной сети согласно Фиг.1 производят последовательную обработку сигналов в направлении потока сигналов 15.
Из множества функциональных модулей 5, 5а, 5b определяют первый функциональный модуль 5а, все выходы модуля 13 которого являются или неподсоединенными или образуют исключительно один или несколько выходных сигналов 9 технологической функции 1.
Исходя из этого первого функционального модуля 5а, против направления потока сигналов 15 ищут второй функциональный модуль 5b, входы модуля 11 которого соответственно являются или неподсоединенными или принимают один или несколько входных сигналов 7 только технологической функции 1.
Исходя из этого второго функционального модуля 5b, во втором 5b и каждом следующем в направлении потока сигналов 15 до и включительно первого функционального модуля 5а функциональном модуле 5 идентифицируют все входы модуля 11, которые соответственно или являются неподсоединенными или принимают входной сигнал 7 только технологической функции 1 или соединены с, по крайней мере, одним выходом модуля 13 другого функционального модуля 5, все входы модуля 11 которого уже были идентифицированы, причем функциональный модуль 5 маркируют, как только идентифицированы все его входы модуля 11. Последовательность обработки функциональных модулей 5, 5а, 5b, наконец, определяют соответственно последовательности маркировки функциональных модулей.
Для представленной на Фиг.1 сети технологической функции 1 и тем самым простым образом и на основе ясных правил определяют последовательность обработки функциональных модулей 5, 5а, 5b.
Фиг.2 показывает технологическую функцию 1, причем эта технологическая функция 1 образована тремя частичными сетями 20а, 20b, 20с, которые связаны друг с другом.
Каждая их этих частичных сетей 20а, 20b, 20с содержит множество функциональных модулей 5, 5а, 5b, которые связаны, например, согласно представлению Фиг.1. Частные сети 20а, 20b, 20с являются открытыми последовательными сетями соответственно Фиг.1. Обработку сигналов внутри частичных сетей 20а, 20b, 20с соответственно производят в направлении потока сигналов 15.
Сети 20а и 20b являются независимыми друг от друга так, что соответственно их внутренняя последовательность обработки является независимой от последовательности обработки другой частичной сети и может устанавливаться согласно соответствующему изобретению способу.
Однако обработка сигналов частичной сетью 20с зависит от того, определили ли частичные сети 20а и 20b промежуточные результаты, которые обрабатываются дальше частичной сетью 20с. Поэтому внутренняя последовательность обработки частичной сети 20с не может быть независимой от обработки частичных сетей 20а, 20b; только если имеются определенные этими частичными сетями промежуточные результаты, может быть начата обработка частичной сетью 20с. Это дополнительное условие должно учитываться в случае типа сети согласно Фиг.2. Если мысленно отделить частичную сеть 20с от частичных сетей 20а и 20b в точке разделения 22, то получаются три частичные сети, которые имеют соответственно структуру согласно Фиг.1.
Внутреннюю последовательность обработки для каждой из этих частичных сетей можно затем определить согласно соответствующему изобретению способу, как это представлено в связи с Фиг.1.
Наконец, Фиг.3 показывает технологическую функцию 1, которая содержит множество связанных друг с другом функциональных модулей 5, 5а, 5b, причем имеется петля обратной связи 30 выходного сигнала одного из функциональных модулей к одному из предыдущих функциональных модулей. За исключением сигнала обратной связи 32 петли обратной связи 30, посредством которой выходной сигнал предпоследнего функционального модуля возвращают на вход сигнала первого функционального модуля, обработка сигналов происходит в направлении потока сигналов 15.
Подобную замкнутую сеть, охватывающую, по крайней мере, одну петлю обратной связи 30, можно обрабатывать посредством предпочтительной формы выполнения соответствующего изобретению способа, изложенного в пункте 2 формулы изобретения.
В последующем в качестве второго функционального модуля 5b определяют тот функциональный модуль, который принимает сигнал обратной связи 32 петли обратной связи 30 через, по крайней мере, один из своих входов модуля. Это означает, что в отличие от открытой последовательной сети согласно Фиг.1 второй функциональный модуль 5b может быть функциональным модулем, который не принимает никакие входные сигналы 7 извне технологической функции 1. Если бы, например, петля обратной связи 30 на Фиг.3 не возвращалась обратно к представленному вначале функциональному модулю, а возвращалась бы к следующему за ним функциональному модулю, то названный последним функциональный модуль был бы вторым функциональным модулем 5b согласно изобретению и соответствующее изобретению установление последовательности обработки относилось бы ко всем представленным на Фиг.3 функциональным модулям за исключением функционального модуля, представленного в качестве первого.
В заключение можно заметить, что для осуществления соответствующего изобретению способа предпринимают разбиение комплексной, образующей технологическую функцию сети, состоящей из множества функциональных модулей, на названные ранее элементарные типы сетей, причем с учетом их возможных взаимодействий друг с другом устанавливают соответствующую внутреннюю последовательность обработки для возникших таким образом частичных сетей.
Данная группа изобретений относится к проектированию систем автоматизации. Технический результат заключается в упрощении определения последовательности обработки функциональных модулей. Он достигается тем, что представлены способ и система автоматизации для определения последовательности обработки функциональных модулей технологической функции, причем внутри части функциональных модулей предусмотрена петля обратной связи и функциональные модули соединены друг с другом для реализации технологической функции, при этом определяют первый функциональный модуль, выходы которого являются или неподсоединенными, или выдают один или несколько выходных сигналов технологической функции, далее против направления потока сигналов ищут второй функциональный модуль, входы которого являются или неподсоединенными, или принимают входные сигналы технологической функции, или принимают через один из своих входов сигнал обратной связи, далее, исходя из второго функционального модуля в каждом следующем в направлении потока сигналов до первого функционального модуля, идентифицируют все входы модулей, которые являются или неподсоединенными, или принимают входной сигнал технологической функции, или принимают через один из их входов сигнал обратной связи, или соединены с выходом другого функционального модуля, все входы которого уже были идентифицированы, и последовательность обработки функциональных модулей устанавливают соответственно последовательности маркировки функциональных модулей. 2 н.п. ф-лы, 3 ил.
1. Способ определения последовательности обработки, по крайней мере, части функциональных модулей (5, 5а, 5b) технологической функции (1), содержащей соответствующие входные (7) и выходные сигналы (9), причем внутри части функциональных модулей (5) предусмотрена, по меньшей мере, одна петля обратной связи (30) и функциональные модули (5) соединены друг с другом для реализации технологической функции (1), отличающийся тем, что предусмотрены следующие этапы:
a) из части функциональных модулей (5) определяют первый функциональный модуль (5а), выходы модуля (13) которого соответственно являются или неподсоединенными или выдают исключительно один или несколько выходных сигналов (9) технологической функции (1),
b) исходя из первого функционального модуля (5а), против направления потока сигналов (15) ищут второй функциональный модуль (5b), входы модуля (11) которого соответственно являются или неподсоединенными или принимают один или несколько входных сигналов (7) только технологической функции (1) или принимает через, по меньшей мере, один из своих входов модуля (11) сигнал обратной связи (32) петли обратной связи (30),
c) исходя из второго функционального модуля (5b) во втором (5b) и в каждом следующем в направлении потока сигналов (15) до и включительно первого функционального модуля (5а) функциональном модуле (5) идентифицируют все входы модулей (11), которые соответственно являются или неподсоединенными или принимают входной сигнал (7) только технологической функции (1) или принимает через, по меньшей мере, один из их входов модуля (11) сигнал обратной связи (32) петли обратной связи (30) или соединены с, по крайней мере, одним выходом модуля (13) другого функционального модуля (5), все входы модуля (11) которого уже были идентифицированы, причем функциональный модуль (5) маркируют, как только все его входы модуля (11) являются идентифицированными, и
d) последовательность обработки функциональных модулей (5, 5а, 5b) устанавливают соответственно последовательности маркировки функциональных модулей.
2. Система автоматизации для выполнения способа по п.1, отличающаяся тем, что предусмотрен модуль обработки, который содержит код программного обеспечения, посредством которого являются выполняемыми шаги а) до d) во время прохождения кода программного обеспечения на системе автоматизации.
US 6233703 B1, 15.05.2001 | |||
DE 19949884 A, 07.06.2001 | |||
WO 9703389 A1, 30.01.1997 | |||
Устройство для контроля хода программ | 1979 |
|
SU983712A1 |
Авторы
Даты
2010-03-10—Публикация
2003-09-24—Подача