распределенная система для программного управления
Классы МПК: | G05B19/18 числовое управление, те автоматически действующие устройства, в частности станки, например при обеспечении производственно-технических условий, таких как выполнение позиционирования, перемещения или координируемых операций с помощью программируемых данных в числовой форме |
Автор(ы): | Миневич Л.М., Медведев А.В., Медведева М.В., Колосков В.А., Титов В.С. |
Патентообладатель(и): | Курский государственный технический университет |
Приоритеты: |
подача заявки:
2000-07-04 публикация патента:
10.02.2003 |
Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении управляющих и вычислительных систем высокой производительности, АСУТП, а также других систем, к которым предъявляются жесткие требования по надежности. Техническим результатом является расширение области применения распределенной системы за счет введения технических средств, обеспечивающих непрерывное функционирование системы при возникновении отказов отдельных модулей. Для этого в распределенную систему для программного управления, содержащую nm модулей, где n - число строк, m - число столбцов, и каждый i-й модуль системы содержит первый, второй, третий и четвертый блоки памяти, блок выбора, блок сообщений, блок анализа, коммутатор адреса, регистр адреса, регистр команд, мультиплексор логических условий, мультиплексор выбора программ, блок синхронизации, блок элементов запрета, блок элементов И, элемент И, первый элемент ИЛИ, дополнительно введены второй и третий элементы ИЛИ, одновибратор, триггер, регистр, первый и второй элементы задержки, демультиплексор, мультиплексор. 5 з. п.ф-лы, 13 ил., 5 табл.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5, Рисунок 6, Рисунок 7, Рисунок 8, Рисунок 9, Рисунок 10, Рисунок 11, Рисунок 12, Рисунок 13, Рисунок 14, Рисунок 15, Рисунок 16, Рисунок 17
Формула изобретения
1. Распределенная система для программного управления, содержащая nxm модулей, где n - число строк, m - число столбцов, причем i-й модуль системы содержит первый, второй, третий и четвертый блоки памяти, блок выбора, блок сообщений, блок анализа, коммутатор адреса, регистр адреса, регистр команд, мультиплексор логических условий, мультиплексор выбора программ, блок синхронизации, блок элементов запрета, блок элементов И, элемент И, первый элемент ИЛИ, причем первый выход блока синхронизации соединен с синхронизирующим входом регистра адреса, выход которого соединен со входами первого, второго, третьего и четвертого блоков памяти, второй выход блока синхронизации соединен с синхронизирующим входом регистра команд, выходы первого и второго полей которого соединены соответственно с первым и вторым информационными входами мультиплексора логических условий, выход которого соединен с младшим разрядом первого информационного входа коммутатора адреса, выход третьего поля регистра команд соединен со старшими разрядами первого информационного входа коммутатора адреса, выход которого соединен с информационным входом регистра адреса, вход логических условий модуля соединен с управляющим входом мультиплексора логических условий, выход четвертого поля регистра команд соединен с информационным входом блока элементов запрета, выход которого соединен с пятым информационным выходом модуля, первый выход блока сообщений соединен со вторым информационным входом коммутатора адреса, выход четвертого поля регистра команд соединен с информационным входом блока элементов И, выход которого и выход элемента И соединены с первым информационным входом блока анализа, управляющий выход которого соединен с первым входом первого элемента ИЛИ, третий выход блока синхронизации соединен со вторым входом элемента И, выход пятого поля регистра команд соединен с инверсным управляющим входом блока элементов запрета, прямым управляющим входом блока элементов И и первым входом элемента И, первый информационный выход блока анализа соединен с первым информационным входом блока сообщений, выходы блоков памяти с первого по четвертый соединены с информационными входами мультиплексора выбора программ с первого по четвертый соответственно, выход мультиплексора выбора программ соединен с информационным входом регистра команд, выход шестого поля регистра команд соединен с прямым и инверсным управляющими входами коммутатора адреса и первым управляющим входом блока сообщений, третий выход блока выбора соединен со вторым входом первого элемента ИЛИ, выход которого соединен с третьим управляющим выходом модуля, управляющие входы модуля с первого по пятый соединены со входами блока выбора с первого по пятый соответственно, первый и второй выходы блока выбора соединены соответственно с первым и вторым управляющими выходами модуля, первый управляющий вход модуля предназначен для приема сигнала об отказе модуля, третий управляющий выход модуля предназначен для выключения распределенной системы для программного управления, пятый информационный выход модуля предназначен для выдачи логических управляющих сигналов на объект управления, второй информационный выход q-го модуля k-го столбца соединен со вторым информационным входом q-го модуля (k+1)-го столбца, первый информационный выход р-го модуля (j+1)-й строки соединен с первым информационным входом р-го модуля j-й строки, четвертый информационный выход (q+1)-го модуля (k+1)-го столбца соединен с четвертым информационным входом (q+1)-го модуля k-го столбца, третий информационный выход (р+1)-го модуля j-й строки соединен с третьим информационным входом (р+1)-го модуля (j+1)-й строки, первый управляющий выход первого модуля р-го столбца соединен со вторым управляющим входом модулей р-го столбца с первого по n-й, первый управляющий выход (j+1)-го модуля р-го столбца соединен с третьим управляющим входом j-го модуля р-го столбца, второй управляющий выход k-го модуля q-й строки соединен с четвертым управляющим входом (k+1)-го модуля q-й строки, второй управляющий выход k-го модуля j-й строки соединен с пятым управляющим входом (k+1)-го модуля (j+1)-й строки, четвертый управляющий вход модулей первого столбца с первого по n-й, третий управляющий вход модулей n-й строки с первого по m-й, пятый управляющий вход модулей первой строки с первого по m-й и первого столбца со второго по n-й соединены с источником логического нуля, отличающаяся тем, что каждый модуль дополнительно содержит второй и третий элементы ИЛИ, одновибратор, триггер, регистр, первый и второй элементы задержки, демультиплексор, мультиплексор, причем первый управляющий вход модуля соединен с третьим информационным входом регистра, выходы которого с первого по третий соединены со входами блока анализа с первого по третий соответственно, шестой управляющий вход модуля соединен со вторым входом второго элемента ИЛИ, выход которого соединен с четвертым управляющим выходом модуля, седьмой и восьмой управляющие входы которого соединены соответственно с первым и вторым входами третьего элемента ИЛИ, выход которого соединен с пятым управляющим выходом модуля, первый, второй, третий и четвертый информационные входы которого соединены соответственно с первым, вторым, третьим и четвертым информационными входами демультиплексора, первый, второй, третий и четвертый выходы мультиплексора соединены соответственно с первым, вторым, третьим и четвертым информационными выходами модуля, первый управляющий вход модуля соединен с первым входом блока синхронизации и входом одновибратора, выход которого соединен с первым входом второго элемента ИЛИ, четвертый и пятый выходы блока выбора соединены соответственно с первым и вторым информационными входами регистра, первый и второй выходы которого соединены с первым и вторым управляющими входами мультиплексора выбора программ соответственно и со вторым и третьим управляющими входами блока сообщений соответственно, девятый управляющий вход модуля соединен с входом второго элемента задержки, S-входом триггера и входом первого элемента задержки, выход которого соединен с R-входом триггера, прямой выход которого соединен со вторым входом блока синхронизации, R-входом регистра команд, четвертым управляющим входом блока анализа, четвертым управляющим входом блока сообщений, управляющим входом демультиплексора и управляющим входом мультиплексора, выход второго элемента задержки соединен с синхронизирующим входом регистра, выходы первой группы выходов демультиплексора с первого по четвертый соединены с информационными входами блока анализа со второго по пятый соответственно, выходы второй группы выходов демультиплексора с первого по четвертый соединены с информационными входами блока сообщений с четвертого по седьмой соответственно, информационные выходы блока анализа со второго по пятый соединены со входами первой группы информационных входов мультиплексора с первого по четвертый соответственно, шестой и седьмой информационные выходы блока анализа соединены соответственно со вторым и третьим информационными входами блока сообщений, выходы блока сообщений со второго по пятый соединены со входами второй группы информационных входов мультиплексора с первого по четвертый соответственно, четвертый управляющий выход k-го модуля q-й строки соединен с шестым управляющим входом (k+1)-го модуля q-й строки, четвертый управляющий выход m-го модуля q-й строки соединен с седьмым управляющим входом модулей q-й строки с первого по m-й, пятый управляющий выход (j+1)-го модуля р-го столбца соединен с восьмым управляющим входом j-го модуля р-го столбца, пятый управляющий выход первого модуля р-го столбца соединен с девятым управляющим входом модулей р-го столбца с первого по n-й, шестой управляющий вход модулей первого столбца с первого по n-й, восьмой управляющий вход модулей n-й строки с первого по m-й соединены с источником логического нуля. 2. Система по п.1, отличающаяся тем, что блок выбора содержит элемент запрета, первый и второй элементы И, первый и второй элементы ИЛИ, элемент И-ИЛИ, причем выход элемента И-ИЛИ соединен с четвертым выходом блока, второй вход блока соединен с прямым входом элемента запрета, выход которого соединен с первым инверсным и вторым прямым входами элемента И-ИЛИ и пятым выходом блока, первый и третий входы блока соединены с первым и вторым входами первого элемента ИЛИ соответственно и с первым и вторым входами первого элемента И соответственно, выход первого элемента ИЛИ соединен с инверсным входом элемента запрета и первым выходом блока, четвертый вход которого соединен со вторым входом второго элемента ИЛИ, вторым входом второго элемента И и первым прямым входом элемента И-ИЛИ, второй инверсный вход которого соединен с пятым входом блока, выход первого элемента И соединен с первым входом второго элемента ИЛИ и первым входом второго элемента И, выход которого соединен с третьим выходом блока, выход второго элемента ИЛИ соединен со вторым выходом блока. 3. Система по п. 1, отличающаяся тем, что блок синхронизации содержит элемент ИЛИ-НЕ, распределитель импульсов, причем первый и второй входы блока соединены соответственно с первым и вторым входами элемента ИЛИ-НЕ, выход которого соединен со входом распределителя импульсов, первый, второй и третий выходы которого соединены соответственно с первым, вторым и третьим выходами блока. 4. Система по п.1, отличающаяся тем, что блок анализа содержит первый-пятый блоки памяти сообщений, мультиплексор, блок выбора направления передачи информации, блок памяти константы, триггер, буферный регистр, демультиплексор, выходной демультиплексор, дешифратор, счетчик, распределитель импульсов, первый и второй элементы запрета, первый и второй элементы ИЛИ, причем выход первого элемента ИЛИ соединен с прямым входом второго элемента запрета и инверсным входом первого элемента запрета, выход которого соединен с первым входом второго элемента ИЛИ, выход которого соединен с входом сброса триггера, четвертый управляющий вход блока соединен со вторым входом второго элемента ИЛИ и инверсным входом второго элемента запрета, выход которого соединен с входом установки триггера, прямой выход триггера соединен с управляющим входом распределителя импульсов, четвертый выход которого соединен со счетным входом счетчика, выходы счетчика соединены со входами дешифратора и управляющими входами мультиплексора, выход которого соединен с информационным входом буферного регистра, синхронизирующий вход которого соединен со вторым выходом распределителя импульсов, первый-третий входы блока памяти константы соединены соответственно с первым-третьим управляющими входами блока, первый и второй выходы блока памяти константы соединены с первым и четвертым входами блока выбора направления передачи информации соответственно и с шестым и седьмым информационными выходами блока соответственно, второй и третий выходы блока выбора направления передачи информации соединены соответственно с первым и вторым управляющими входами выходного демультиплексора, второй, третий и пятый входы блока выбора направления передачи информации соединены соответственно с выходом поля вертикального адреса, выходом поля горизонтального адреса и выходом поля бита обхода буферного регистра, выход поля вертикального адреса, выход поля горизонтального адреса, выход операционного поля буферного регистра, пятый выход блока выбора направления передачи информации и третий выход распределителя импульсов соединены с информационным входом демультиплексора, второй выход демультиплексора соединен с первым информационным выходом блока, первый выход демультиплексора соединен с информационным входом выходного демультиплексора, первый-четвертый выходы которого соединены соответственно со вторым-пятым информационными выходами блока, первый-пятый информационные входы которого соединены с информационными и первыми управляющими входами первого-пятого блоков памяти сообщений соответственно, информационные выходы которых соединены с соответствующими информационными входами мультиплексора, управляющие выходы первого-пятого блоков памяти сообщений соединены со входами первого элемента ИЛИ, третий выход распределителя импульсов соединен с прямым входом первого элемента запрета, первый выход блока выбора направления передачи информации соединен с управляющим входом демультиплексора, четвертый выход блока выбора направления передачи информации соединен с управляющим выходом блока, первый выход распределителя импульсов соединен с тактовыми входами первого-пятого блоков памяти сообщений, выходы дешифратора с первого по пятый соединены со вторыми управляющими входами первого-пятого блоков памяти сообщений соответственно. 5. Система по п.1, отличающаяся тем, что блок сообщений содержит первый-шестой демультиплексоры, блок регистров с первого по l-й, группу блоков элементов ИЛИ с первого по (l-1)-й, первую группу элементов И с первого по l-й, вторую группу элементов И с первого по l-й, группу элементов ИЛИ с первого по l-й, элемент ИЛИ, одновибратор, распределитель импульсов, первую-третью схемы сравнения, первый и второй дешифраторы, первый-пятый мультиплексоры, причем первый управляющий вход блока соединен с входом одновибратора, выход которого соединен с первым входом элемента ИЛИ, выход которого соединен с инверсным управляющим входом первого демультиплексора и первыми входами элементов ИЛИ группы элементов ИЛИ с первого по l-й, выходы которых соединены с синхронизирующими входами регистров с первого по l-й соответственно, четвертый управляющий вход блока соединен с инверсным управляющим входом одновибратора, управляющим входом второго демультиплексора и управляющим входом первого мультиплексора, выход которого соединен с информационным входом первого демультиплексора и со вторыми входами элементов И второй группы элементов И с первого по l-й, выходы которых соединены со вторыми входами элементов ИЛИ группы элементов ИЛИ с первого по l-й соответственно, первый,..., (l-1)-й выходы первого демультиплексора соединены с первыми входами блоков элементов ИЛИ с первого по (l-1)-й соответственно, выходы которых соединены с информационными входами регистров с первого по (l-1)-й соответственно, l-й выход первого демультиплексора соединен с информационным входом l-го регистра, первый информационный вход блока соединен с первым информационным входом первого мультиплексора, инверсные выходы блока регистров с первого по l-й соединены со входами элементов И первой группы элементов И с первого по l-й соответственно, выходы которых соединены с первыми входами элементов И второй группы элементов И с первого по l-й соответственно и адресным входом первого демультиплексора, прямые выходы второго - l-го регистров соединены со вторыми входами блоков элементов ИЛИ с первого по (l-1)-й соответственно, прямой выход первого регистра соединен с первыми входами первой, второй и третьей схем сравнения и информационным входом второго демультиплексора, первый выход которого соединен с первым выходом блока, второй информационный вход которого соединен со вторым входом первой схемы сравнения, инверсный выход которой соединен со входом распределителя импульсов, первый выход которого и второй выход второго демультиплексора соединены со вторыми входами второго-пятого мультиплексоров, выходы второго-пятого мультиплексоров соединены соответственно с третьим, четвертым, пятым и вторым выходами блока, третий информационный вход которого соединен со вторыми входами второй и третьей схем сравнения, инверсные выходы второй и третьей схем сравнения соединены соответственно с первым и вторым входами второго дешифратора, выходы которого с первого по четвертый соединены с управляющими входами второго, пятого, третьего и четвертого мультиплексоров соответственно, информационные входы блока с четвертого по седьмой соединены с информационными входами третьего-шестого демультиплексоров соответственно, первые выходы третьего-шестого демультиплексоров соединены с первыми информационными входами второго-пятого мультиплексоров соответственно, второй и третий управляющие входы блока соединены соответственно с первым и вторым входами первого дешифратора, выходы которого с первого по четвертый соединены с управляющими входами третьего-шестого демультиплексоров соответственно, вторые выходы третьего-шестого демультиплексоров соединены со вторым информационным входом первого мультиплексора, второй выход распределителя импульсов соединен со вторым входом элемента ИЛИ. 6. Система по п.4, отличающаяся тем, что блок выбора направления передачи информации содержит первую-третью схемы сравнения, мультиплексор, шифратор, первый-шестой элементы И, элемент ИЛИ, причем пятый вход блока соединен со вторым входом элемента ИЛИ, выход которого соединен с управляющим входом мультиплексора, пятым выходом блока и третьим входом шестого элемента И, выход которого соединен с четвертым выходом блока, первый вход блока соединен с первым входом первой схемы сравнения, выход "Равно" которой соединен с первым выходом блока, второй и третий входы которого соединены соответственно с первыми входами второй и третьей схем сравнения, четвертый вход блока соединен со вторыми входами второй и третьей схем сравнения, выход "Больше" второй схемы сравнения соединен с четвертым входом первой группы информационных входов мультиплексора, выход "Меньше" второй схемы сравнения соединен со вторым входом первой группы информационных входов мультиплексора и первыми входами первого и второго элементов И, выходы которых соединены соответственно со вторым и первым входами второй группы информационных входов мультиплексора, выход "Равно" второй схемы сравнения соединен со вторыми входами третьего, четвертого и пятого элементов И, выход "Больше" третьей схемы сравнения соединен с первым входом третьего элемента И, выход которого соединен с первым входом первой группы информационных входов мультиплексора, выходы "Меньше" и "Равно" третьей схемы сравнения соединены со вторыми входами первого и второго элементов И соответственно и первыми входами четвертого и пятого элементов И соответственно, выход четвертого элемента И соединен с третьим входом первой группы информационных входов мультиплексора и вторым входом шестого элемента И, первый вход которого соединен с выходом "Не равно" первой схемы сравнения, выход пятого элемента И соединен с четвертым входом второй группы информационных входов мультиплексора и первым входом элемента ИЛИ, первый-четвертый выходы мультиплексора соединены соответственно с первым-четвертым входами шифратора, первый и второй выходы которого соединены соответственно со вторым и третьим выходами блока, второй вход первой схемы сравнения подключен ко второму и третьему входам блока.Описание изобретения к патенту
Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении управляющих и вычислительных систем высокой производительности, АСУТП, а также других систем, к которым предъявляются жесткие требования по надежности. Известно модульное устройство для программного управления и контроля, содержащее блок памяти, счетчик адреса, регистр микроопераций, два мультиплексора, два регистра логических условий, два коммутатора, шифратор, два дешифратора, генератор тактовых импульсов, два триггера, регистр номера, демультиплексор, блок элементов ИЛИ, группу элементов ИЛИ, два элемента ИЛИ и два элемента И (а.с. СССР 1647519, G 05 В 19/18, опубл. 07.05.91, БИ 17). Недостатком известного устройства является значительное число внешних входов и выходов. Наиболее близкой к предлагаемому устройству по технической сущности является распределенная система для программного управления технологическими процессами, содержащая nm модулей, где n - число строк, m - число столбцов, причем i-й модуль системы содержит первый, второй, третий и четвертый блоки памяти, блок выбора, блок сообщений, блок анализа, коммутатор адреса, регистр адреса, регистр команд, мультиплексор логических условий, мультиплексор выбора программ, блок синхронизации, блок элементов запрета, блок элементов И, элемент И, элемент ИЛИ (патент по заявке РФ 97115695/09, G 05 В 19/18, G 06 В 9/28). Недостатком известной системы является узкая область применения, обусловленная отсутствием средств, обеспечивающих возможность ее непрерывного функционирования при возникновении отказов отдельных модулей. То есть отсутствуют средства, позволяющие автоматически, без управления от машины верхнего уровня, осуществлять не только перенастройку модулей на определяемые отказовой ситуацией алгоритмы управления, но и перезагрузку принятых каждым модулем сообщений в соответствии с новыми настройками. Под отказом модуля понимается искажение управляющей информации, подаваемой им на объект управления (средства взаимодействия модулей считаются работоспособными). Технической задачей изобретения является расширение области применения распределенной системы за счет введения технических средств, обеспечивающих ее непрерывное функционирование при возникновении отказов отдельных модулей. Техническая задача решается тем, что в распределенную систему для программного управления, содержащую nm модулей, где n - число строк, m - число столбцов, причем i-й модуль системы содержит первый, второй, третий и четвертый блоки памяти, блок выбора, блок сообщений, блок анализа, коммутатор адреса, регистр адреса, регистр команд, мультиплексор логических условий, мультиплексор выбора программ, блок синхронизации, блок элементов запрета, блок элементов И, элемент И, первый элемент ИЛИ, причем первый выход блока синхронизации соединен с синхронизирующим входом регистра адреса, выход которого соединен с входами первого, второго, третьего и четвертого блоков памяти, второй выход блока синхронизации соединен с синхронизирующим входом регистра команд, выходы первого и второго полей которого соединены соответственно с первым и вторым информационными входами мультиплексора логических условий, выход которого и выход третьего поля регистра команд соединены с первым информационным входом коммутатора адреса, выход которого соединен с информационным входом регистра адреса,вход логических условий модуля соединен с управляющим входом мультиплексора логических условий, выход четвертого поля регистра команд соединен с информационным входом блока элементов запрета, выход которого соединен с пятым информационным выходом модуля, первый выход блока сообщений соединен с вторым информационным входом коммутатора адреса, выход четвертого поля регистра команд соединен с информационным входом блока элементов И, выход которого и выход элемента И соединены с первым информационным входом блока анализа, управляющий выход которого соединен с первым входом первого элемента ИЛИ, третий выход блока синхронизации соединен с вторым входом элемента И, выход пятого поля регистра команд соединен с инверсным управляющим входом блока элементов запрета, прямым управляющим входом блока элементов И и первым входом элемента И, первый информационный выход блока анализа соединен с первым информационным входом блока сообщений,
выходы блоков памяти с первого по четвертый соединены с информационными входами мультиплексора выбора программ с первого по четвертый соответственно, выход мультиплексора выбора программ соединен с информационным входом регистра команд, выход шестого поля регистра команд соединен с прямым и инверсным управляющими входами коммутатора адреса и первым управляющим входом блока сообщений, третий выход блока выбора соединен с вторым входом первого элемента ИЛИ, выход которого соединен с третьим управляющим выходом модуля, управляющие входы модуля с первого по пятый соединены с входами блока выбора с первого по пятый соответственно. Первый и второй выходы блока выбора соединены соответственно с первым и вторым управляющими выходами модуля, второй информационный выход q-го модуля k-го столбца соединен со вторым информационным входом q-го модуля (k+1)-го столбца, первый информационный выход р-го модуля (j+1)-й строки соединен с первым информационным входом р-го модуля j-й строки, четвертый информационный выход (q+1)-го модуля (k+1) столбца соединен с четвертым информационным входом (q+1)-го модуля k-го столбца, третий информационный выход (р+1)-го модуля j-й строки соединен с третьим информационным входом (р+1)-го модуля (j+1)-й строки, первый управляющий выход первого модуля р-го столбца соединен со вторым управляющим входом модулей р-го столбца с первого по n-й. Первый управляющий выход (j+1)-го модуля р-го столбца соединен с третьим управляющим входом j-го модуля р-го столбца, второй управляющий выход k-го модуля q-й строки соединен с четвертым управляющим входом (k+1)-го модуля q-й строки, второй управляющий выход k-го модуля j-й строки соединен с пятым управляющим входом (k+1)-го модуля (j+1)-й строки, четвертый управляющий вход модулей первого столбца с первого по n-й, третий управляющий вход модулей n-й строки с первого по m-й, пятый управляющий вход модулей первой строки с первого по m-й и первого столбца со второго по n-й соединены с источником логического нуля, дополнительно введены второй и третий элементы ИЛИ, одновибратор, триггер, регистр, первый и второй элементы задержки, демультиплексор, мультиплексор,
Причем первый управляющий вход модуля соединен с третьим информационным входом регистра, выходы которого с первого по третий соединены с входами блока анализа с первого по третий соответственно, шестой управляющий вход модуля соединен с вторым входом второго элемента ИЛИ, выход которого соединен с четвертым управляющим выходом модуля, седьмой и восьмой управляющие входы которого соединены соответственно с первым и вторым входами третьего элемента ИЛИ, выход которого соединен с пятым управляющим выходом модуля, первый, второй, третий и четвертый информационные входы которого соединены соответственно с первым, вторым, третьим и четвертым информационными входами демультиплексора, первый, второй, третий и четвертый выходы мультиплексора соединены соответственно с первым, вторым, третьим и четвертым информационными выходами модуля. Первый управляющий вход модуля соединен с первым входом блока синхронизации и входом одновибратора, выход которого соединен с первым входом второго элемента ИЛИ, четвертый и пятый выходы блока выбора соединены соответственно с первым и вторым информационными входами регистра, первый и второй выходы которого соединены с первым и вторым управляющими входами мультиплексора выбора программ соответственно и с вторым и третьим управляющими входами блока сообщений соответственно, девятый управляющий вход модуля соединен с входом второго элемента задержки, S-входом триггера и входом первого элемента задержки, выход которого соединен с R-входом триггера, прямой выход которого соединен с вторым входом блока синхронизации, R-входом регистра команд, четвертым управляющим входом блока анализа, четвертым управляющим входом блока сообщений, управляющим входом демультиплексора и управляющим входом мультиплексора. Выход второго элемента задержки соединен с синхронизирующим входом регистра, выходы первой группы выходов демультиплексора с первого по четвертый соединены с информационными входами блока анализа с второго по пятый соответственно, выходы второй группы выходов демультиплексора с первого по четвертый соединены с информационными входами блока сообщений с четвертого по седьмой соответственно, информационные выходы блока анализа со второго по пятый соединены со входами первой группы информационных входов мультиплексора с первого по четвертый соответственно, шестой и седьмой информационные выходы блока анализа соединены соответственно с вторым и третьим информационными входами блока сообщений,
выходы блока сообщений со второго по пятый соединены со входами второй группы информационных входов мультиплексора с первого по четвертый соответственно, четвертый управляющий выход k-го модуля q-й строки соединен с шестым управляющим входом (k+1)-го модуля q-й строки, четвертый управляющий выход m-го модуля q-й строки соединен с седьмым управляющим входом модулей q-й строки с первого по m-й, пятый управляющий выход (j+1)-го модуля р-го столбца соединен с восьмым управляющим входом j-го модуля р-го столбца, пятый управляющий выход первого модуля р-го столбца соединен с девятым управляющим входом модулей р-го столбца с первого по n-й, шестой управляющий вход модулей первого столбца с первого по n-й, восьмой управляющие входы модулей n-й строки с первого по m-й соединены с источником логического нуля. Сущность изобретения заключается в следующем. В распределенной системе из nm модулей n-я строка и m-й столбец являются резервными. Местоположение модуля в матрице определятся его физическим адресом (ФА) - (i,j) (где - номер строки, - номер столбца матрицы, содержащих модуль). Каждый модуль (i, j) может выполнять как собственный алгоритм функционирования, так и алгоритмы функционирования трех соседних модулей - верхнего (i-1, j)-го, левого (i, j-1)-го и диагонального (i-1,j-1)-го, в случае их отказов или изменения алгоритмов функционирования. Наряду с ФА для идентификации модулей системы используется так называемый логический адрес (ЛА). Модуль (i, j) имеет ЛА (i",j"), если он реализует алгоритм модуля с ФА (i", j"). При отсутствии отказов резервные модули не задействованы (они не имеют собственных алгоритмов функционирования), ФА и ЛА всех модулей совпадают. При возникновении отказов распределенная система перестраивается путем изменения алгоритмов функционирования модулей по следующим правилам:
- в каждом столбце самому нижнему отказавшему модулю присваивается статус "вертикальный отказ", а всем остальным отказавшим модулям - "горизонтальный отказ";
- если в любой строке имеется более одного модуля со статусом "горизонтальный отказ", то фиксируется фатальный отказ (ФО) распределенной системы - перестройка невозможна;
- в каждом столбце всем модулям ниже модуля со статусом "вертикальный отказ" (в том числе и резервным) присваивается статус "вертикальная перестройка";
- в каждой строке всем модулям правее модуля со статусом "горизонтальный отказ" (в том числе и резервным) присваивается статус "горизонтальная перестройка";
- ЛА модулей со статусом "горизонтальная перестройка" приобретают значение ФА модулей, стоящих от них слева;
- ЛА модулей со статусом "вертикальная перестройка", приобретают значение ФА модулей, стоящих от них сверху;
- ЛА всех отказавших модулей полагается нулевым. Показанные выше шаги последовательного выполнения перестройки на самом деле выполняются параллельно при помощи комбинационных схем. Если (i,j)-й модуль не отказал, то после перестройки (реконфигурации) он может выполнять либо собственный алгоритм, либо алгоритм одного из трех соседей: верхнего (i-1,j)-го, диагонального (i-1,j-1)-го или левого (i,j-1)-го. Если алгоритм (i, j)-го модуля не выполняется им самим, то он выполняется одним из его трех соседей: правым (i,j+1)-м, диагональным (i+1,j+1)-м или нижним (i+1,j)-м. При возникновении новых отказов перестройка системы осуществляется повторно, и так до тех пор, пока не произойдет фатальный отказ. Взаимодействие модулей распределенной системы осуществляется путем обмена сообщениями. Сообщения между модулями передаются по четырем направлениям и содержат адрес программы, которую должен выполнить модуль-приемник, ФА модуля-приемника и специальный бит обхода (первоначально устанавливаемый в нуль). При отсутствии в распределенной системе отказов сообщение последовательно передается от модуля-источника в модуль с ФА, равным адресу в сообщении (АС). Этот модуль будет являться модулем-приемником. Передача сообщения сначала осуществляется по столбцу (по вертикали). В ходе передачи каждый транзитный модуль сравнивает свой ЛА с АС. Если они равны, то данный модуль является модулем-приемником и сообщение передано. Иначе, модуль сравнивает вертикальную составляющую своего ФА (т.е. номер соответствующего ему столбца) с вертикальной составляющей АС. Если они не равны, он передает сообщение в соседний по вертикали модуль в сторону уменьшения разницы между вертикальными составляющими адресов. При совпадении вертикальных составляющих АС и ФА модуля направление передачи сообщения меняется на горизонтальное и сообщение аналогичным образом (путем сравнения горизонтальных составляющих ФА модулей и АС) передается по горизонтали в модуль-приемник. При наличии в распределенной системе отказавших модулей сообщение так же, как и при отсутствии отказов, передается сначала в модуль с ФА, равным АС. При этом, так как ЛА модулей могут не совпадать с их ФА, то сообщение может быть принято модулем-приемником до достижения сообщением модуля с ФА, равным АС. Если ЛА модуля с ФА, равным АС, равен АС, то он как и при отсутствии отказов является модулем-приемником. Если они не равны, то, следовательно, алгоритм данного модуля выполняется одним из его трех соседей: правым (i, j+1)-м, правым по диагонали (i+1,j+1)-м или нижним (i+1,j)-м, и модуль-приемник следует искать среди них. Для идентификации этапа поиска модуля-приемника бит обхода в сообщении устанавливается в единицу. Затем сообщение последовательно передается в модуль (i,j+1), из него - в модуль (i+1,j+1) и из последнего - в модуль (i+1,j). При этом каждый модуль сравнивает свой ЛА с АС и в случае их совпадения прекращает передачу сообщения - модуль приемник найден. В случае несовпадения адресов даже в модуле (i+1,j) генерируется фатальный отказ распределенной системы - перестройка системы невозможна. Непрерывность функционирования распределенной системы обеспечивается за счет переразмещения (перезагрузки) в ходе перестройки принятых каждым модулем сообщений. При этом, после переназначения логических адресов, каждый модуль в случае несовпадения АС в принятых им ранее сообщениях со своим ЛА передает их и принимает соответственно сообщения с АС равными своему ЛА. Передача сообщений производится по кольцевым маршрутам по часовой стрелке. При этом начальное направление выдачи определяется АС принятых ранее сообщений, а направление приема - ЛА модуля. После перезагрузки сообщений перестройка заканчивается, и система продолжает функционирование. При этом каждый модуль начинает свою работу с повтора последней программы управления. Введение второго и третьего элементов ИЛИ, одновибратора, триггера, регистра и первого и второго элементов задержки необходимо для распределенной синхронизации процесса реконфигурации в модулях. Введение демультиплексора и мультиплексора необходимо для изменения маршрутов передачи сообщений при реконфигурации. Сущность изобретения поясняется чертежами, где на фиг.1 представлена функциональная схема i-го модуля распределенной системы для программного управления; на фиг.2 - функциональная схема блока выбора; на фиг. 3 - функциональная схема блока анализа; на фиг.4 - функциональная схема блока сообщений; на фиг. 5 - функциональная схема блока синхронизации; на фиг. 6 - функциональная схема блока памяти сообщений; на фиг.7 - функциональная схема блока выбора направления передачи информации; на фиг.8 - функциональная схема блока памяти константы; на фиг.9 - формат команды обработки (а) и формат операционной части команды обмена (б); на фиг.10 - структурная схема распределенной системы; на фиг.11 - пример пошагового выполнения реконфигурации распределенной системы; на фиг.12 - процесс передачи сообщения; на фиг.13 - процесс перезагрузки сообщений. i-й Модуль распределенной системы для программного управления (фиг.1) содержит первый 3, второй 4, третий 5 и четвертый 6 блоки памяти, блок 20 выбора, блок 23 сообщений, блок 22 анализа, коммутатор 1 адреса, регистр 2 адреса, регистр 8 команд, мультиплексор 9 логических условий, мультиплексор 7 выбора программ, блок 13 синхронизации, блок 10 элементов запрета, блок 11 элементов И, элемент И 12, первый 25, второй 15 и третий 16 элементы ИЛИ, одновибратор 14, триггер 18, регистр 19, первый элемент задержки 17.1, второй элемент задержки 17.2, демультиплексор 21, мультиплексор 24. Причем первый 26 управляющий вход модуля соединен с третьим информационным входом регистра 19, выходы которого с первого по третий соединены с управляющими входами блока 22 анализа с первого по третий соответственно, шестой 31 управляющий вход модуля соединен с вторым входом элемента ИЛИ 15, выход которого соединен с четвертым 43 управляющим выходом модуля, седьмой 32 и восьмой 33 управляющие входы которого соединены соответственно с первым и вторым входами элемента ИЛИ 16, выход которого соединен с пятым 44 управляющим выходом модуля, первый 36, второй 37, третий 38 и четвертый 39 информационные входы которого соединены соответственно с первым, вторым, третьим и четвертым информационными входами демультиплексора 21. Первый, второй, третий и четвертый выходы мультиплексора 24 соединены соответственно с первым 45, вторым 46, третьим 47 и четвертым 48 информационными выходами модуля, первый 26 управляющий вход модуля соединен с первым входом блока 13 синхронизации и с входом одновибратора 14, выход которого соединен с первым входом элемента ИЛИ 15, девятый 34 управляющий вход модуля соединен с входом второго элемента задержки 17.2, выход которого соединен с синхронизирующим входом регистра 19, S-входом триггера 18 и входом первого элемента задержки 17.1, выход которого соединен с R-входом триггера 18, прямой выход которого соединен с вторым входом блока 13 синхронизации, R-входом регистра 8 команд, четвертым управляющим входом блока 22 анализа, четвертым управляющим входом блока 23 сообщений, управляющим входом демультиплексора 21 и управляющим входом мультиплексора 24. Выходы первой группы выходов демультиплексора 21 с первого по четвертый соединены с информационными входами блока 22 анализа с второго по пятый соответственно, выходы второй группы выходов демультиплексора 21 с первого по четвертый соединены с информационными входами блока 23 сообщений с четвертого по седьмой соответственно, информационные выходы блока 22 анализа со второго по пятый соединены с входами первой группы информационных входов мультиплексора 24 с первого по четвертый соответственно, первый, шестой и седьмой информационные выходы блока 22 анализа соединены соответственно с первым, вторым и третьим информационными входами блока 23 сообщений, выходы блока 23 сообщений с второго по пятый соединены с входами второй группы информационных входов мультиплексора 24 с первого по четвертый соответственно. Первый выход блока 13 синхронизации соединен с синхронизирующим входом регистра 2 адреса, выход которого соединен со входами первого 3, второго 4, третьего 5 и четвертого 6 блоков памяти, второй выход блока 13 синхронизации соединен с синхронизирующим входом регистра 8 команд, выходы первого и второго полей которого соединены соответственно с первым и вторым информационными входами мультиплексора 9 логических условий, выход которого и выход третьего поля регистра 8 команд соединены с первым информационным входом коммутатора 1 адреса, выход которого соединен с информационным входом регистра 2 адреса, вход 35 логических условий модуля соединен с управляющим входом мультиплексора 9 логических условий, выход четвертого поля регистра 8 команд соединен с информационным входом блока 10 элементов запрета, выход которого соединен с пятым 49 информационным выходом модуля. Первый выход блока 23 сообщений соединен с вторым информационным входом коммутатора 1 адреса, выход четвертого поля регистра 8 команд соединен с информационным входом блока 11 элементов И, выход которого и выход элемента И 12 соединены с первым информационным входом блока 22 анализа, управляющий выход которого соединен с первым входом элемента ИЛИ 25, третий выход блока синхронизации 13 соединен со вторым входом элемента И 12, выход пятого поля регистра 8 команд соединен с инверсным управляющим входом блока 10 элементов запрета, прямым управляющим входом блока 11 элементов И и первым входом элемента И 12, выходы блоков 3, 4, 5 и 6 памяти соединены с информационными входами мультиплексора 7 выбора программ с первого по четвертый соответственно, выход мультиплексора 7 выбора программ соединен с информационным входом регистра 8 команд. Выход шестого поля регистра 8 команд соединен с прямым и инверсным управляющими входами коммутатора 1 адреса и первым управляющим входом блока 23 сообщений, четвертый и пятый выходы блока 20 выбора соединены соответственно с первым и вторым информационными входами регистра 19, первый и второй выходы которого соединены с первым и вторым управляющими входами мультиплексора 7 выбора программ соответственно и с вторым и третьим управляющими входами блока 23 сообщений соответственно, третий выход блока 20 выбора соединен с вторым входом элемента ИЛИ 25, выход которого соединен с третьим 42 управляющим выходом модуля, первый 26, второй 27, третий 28, четвертый 29 и пятый 30 управляющие входы модуля соединены с входами блока 20 выбора с первого по пятый соответственно, первый и второй выходы блока 20 выбора соединены соответственно с первым 40 и вторым 41 управляющими выходами модуля. Блок 20 выбора (фиг.2) содержит элемент запрета 50, первый 51 и второй 52 элементы И, первый 53 и второй 54 элементы ИЛИ, элемент И-ИЛИ 55, причем выход элемента И-ИЛИ 55 соединен с четвертым выходом блока, второй вход блока соединен с прямым входом элемента запрета 50, выход которого соединен с первым инверсным и вторым прямым входами элемента И-ИЛИ 55 и пятым выходом блока, первый и третий входы блока соединены с первым и вторым входами элемента ИЛИ 53 соответственно и с первым и вторым входами элемента И 51 соответственно, выход элемента ИЛИ 53 соединен с инверсным входом элемента запрета 50 и первым выходом блока, четвертый вход которого соединен со вторым входом элемента ИЛИ 54, вторым входом элемента И 52 и первым прямым входом элемента И-ИЛИ 55, второй инверсный вход которого соединен с пятым входом блока, выход элемента И 51 соединен с первым входом элемента ИЛИ 54 и первым входом элемента И 52, выход которого соединен с третьим выходом блока, выход элемента ИЛИ 54 соединен с вторым выходом блока. Блок 22 анализа (фиг.3) содержит группу 56.1-56.5 блоков памяти сообщений, мультиплексор 57, блок 58 выбора направления передачи информации, блок 59 памяти константы, триггер 60, буферный регистр 61 с полями: операционным 61.1, вертикального адреса 61.2, горизонтального адреса 61.3 и бита обхода 61.4, демультиплексор 62, выходной демультиплексор 63, дешифратор 64, счетчик 65, распределитель импульсов 66, первый элемент запрета 67, второй элемент запрета 69, первый элемент ИЛИ 68, второй элемент ИЛИ 70, причем выход элемента ИЛИ 68 соединен с прямым входом элемента запрета 69 и инверсным входом элемента запрета 67, выход которого соединен с первым входом элемента ИЛИ 70, выход которого соединен с входом сброса (R-входом) триггера 60. Четвертый управляющий вход блока соединен с вторым входом элемента ИЛИ 70 и инверсным входом элемента запрета 69, выход которого соединен с входом установки (S-входом) триггера 60, прямой выход триггера 60 соединен с управляющим входом распределителя импульсов 66, четвертый выход которого соединен со счетным входом счетчика 65, выходы счетчика 65 соединены с входами дешифратора 64 и управляющими входами мультиплексора 57, выход которого соединен с информационным входом буферного регистра 61, синхронизирующий вход которого соединен с вторым выходом распределителя импульсов 66, первый-третий входы блока 59 памяти константы соединены соответственно с первым-третьим управляющими входами блока, первый и второй выходы блока 59 памяти константы соединены с первым и четвертым входами блока 58 выбора направления передачи информации соответственно и с шестым и седьмым информационными выходами блока соответственно. Второй и третий выходы блока 58 выбора направления передачи информации соединены соответственно с первым и вторым управляющими входами выходного демультиплексора 63, второй, третий и пятый входы блока 58 выбора направления передачи информации соединены соответственно с выходами 61.2, 61.3 и 61.4 буферного регистра 61, выходы 61.1,61.2 и 61.3 буферного регистра 61, пятый выход блока 58 выбора направления передачи информации и третий выход распределителя импульсов 66 соединены с информационным входом демультиплексора 62, второй выход демультиплексора 62 соединен с первым информационным выходом блока, первый выход демультиплексора 62 соединен с информационным входом выходного демультиплексора 63, первый-четвертый выходы которого соединены соответственно с вторым-пятым информационными выходами блока. Первый-пятый информационные входы которого соединены с информационными и первыми управляющими входами блоков 56.1-56.5 памяти сообщений соответственно, информационные выходы которых соединены с соответствующими информационными входами мультиплексора 57, управляющие выходы блоков 56.1-56.5 памяти сообщений соединены с входами элемента ИЛИ 68, третий выход распределителя импульсов 66 соединен с прямым входом элемента запрета 67, первый выход блока 58 выбора направления передачи информации соединен с управляющим входом демультиплексора 62, четвертый выход блока 58 выбора направления передачи информации соединен с управляющим выходом блока, первый выход распределителя импульсов 66 соединен с тактовыми входами блоков 56.1-56.5 памяти сообщений, выходы дешифратора 64 с первого по пятый соединены с вторыми управляющими входами блоков 56.1-56.5 памяти сообщений соответственно. Блок 23 сообщений (фиг.4) содержит первый 71, второй 85, третий 86, четвертый 87, пятый 88 и шестой 89 демультиплексоры, блок регистров 72.1-72.l (где l - максимальная глубина очереди), группу блоков элементов ИЛИ 73.1-(73. l-1), первую группу элементов И 74.1-74.l, вторую группу элементов И 75.1-75. l, группу элементов ИЛИ 76.1-76.l, элемент ИЛИ 77, одновибратор 78, распределитель импульсов 79, первую 80, вторую 81 и третью 82 схемы сравнения, первый 83 и второй 84 дешифраторы, первый 90, второй 91, третий 92, четвертый 93 и пятый 94 мультиплексоры, причем первый управляющий вход блока соединен с входом одновибратора 78, выход которого соединен с первым входом элемента ИЛИ 77, выход которого соединен с инверсным управляющим входом демультиплексора 71 и первыми входами элементов ИЛИ 76.1-76.l, выходы которых соединены с синхронизирующими входами регистров 72.1-72.l соответственно. Четвертый управляющий вход блока соединен с инверсным управляющим входом одновибратора 78, с управляющим входом демультиплексора 85 и управляющим входом мультиплексора 90, выход которого соединен с информационным входом демультиплексора 71 и с вторыми входами элементов И 75.1-75.l, выходы которых соединены с вторыми входами элементов ИЛИ 76.1-76.l соответственно, первый,...,(-1)-й выходы демультиплексора 71 соединены с первыми входами блоков элементов ИЛИ 73.1-(73.l-1) соответственно, выходы которых соединены с информационными входами регистров 72.1-(72.l-1) соответственно, l-й выход демультиплексора 71 соединен с информационным входом регистра 72.l, первый информационный вход блока соединен с первым информационным входом мультиплексора 90, инверсные выходы блока регистров 72.1-72.l соединены с входами элементов И 74.1-74. l соответственно, выходы которых соединены с первыми входами элементов И 75.1-75.l соответственно и адресным входом демультиплексора 71. Прямые выходы регистров 72.2-72.l соединены с вторыми входами блоков элементов ИЛИ 73.1-(73.l-1) соответственно, прямой выход регистра 72.1 соединен с первыми входами схем 80, 81 и 82 сравнения и информационным входом демультиплексора 85, первый выход которого соединен с первым выходом блока, второй информационный вход которого соединен с вторым входом схемы 80 сравнения, инверсный выход которой соединен с входом распределителя импульсов 79, первый выход которого и второй выход демультиплексора 85 соединены с вторыми входами мультиплексоров 91, 92, 93 и 94, выходы мультиплексоров 91, 92, 93 и 94 соединены соответственно с третьим, четвертым, пятым и вторым выходами блока, третий информационный вход которого соединен с вторыми входами схем 81 и 82 сравнения. Инверсные выходы схем 81 и 82 сравнения соединены соответственно с первым и вторым входами дешифратора 84, выходы которого с первого по четвертый соединены с управляющими входами мультиплексоров 91, 94, 92 и 93 соответственно, информационные входы блока с четвертого по седьмой соединены с информационными входами демультиплексоров 86, 87, 88 и 89 соответственно, первые выходы демультиплексоров 86, 87, 88 и 89 соединены с первыми информационными входами мультиплексоров 91, 92, 93 и 94 соответственно, второй и третий управляющие входы блока соединены соответственно с первым и вторым входами дешифратора 83, выходы которого с первого по четвертый соединены с управляющими входами демультиплексоров 86, 87, 88 и 89 соответственно, вторые выходы демультиплексоров 86, 87, 88 и 89 соединены с вторым информационным входом мультиплексора 90, второй выход распределителя импульсов 79 соединен со вторым входом элемента ИЛИ 77. Блок 13 синхронизации (фиг.5) содержит элемент ИЛИ-НЕ 95, распределитель импульсов 96, причем первый и второй входы блока соединены соответственно с первым и вторым входами элемента ИЛИ-НЕ 95, выход которого соединен с входом распределителя импульсов 96, первый, второй и третий выходы которого соединены соответственно с первым, вторым и третьим выходами блока. Первый 56.1 - пятый 56.5 блоки памяти сообщений (фиг.6) содержат блок регистров 97.1-97.K (где K - максимальная глубина очереди сообщений), группу блоков элементов ИЛИ 98.1-98.(K-1), первый блок элементов И 99.1-99.K, второй блок элементов И 100.1-100.K, блок элементов ИЛИ 101.1-101.K, демультиплексор 102, элемент И 103, элемент И-НЕ 104, причем тактовый и второй управляющий входы блока соединены с первым и вторым входами элемента И 103 соответственно, выход которого соединен с вторыми входами элементов ИЛИ 101.1-101. K и инверсным управляющим входом демультиплексора 102, первый выход которого соединен с информационным входом регистра 97.K. Второй - K-й выходы демультиплексора 102 соединены с вторыми входами блоков элементов ИЛИ 98. (K-1)-98.1 соответственно, выходы которых соединены с информационными входами регистров 97.(K-1)-97.1 соответственно. Инверсные выходы регистров 97.1-97.K соединены со входами элементов И 99.1-99.K соответственно, выходы которых соединены с адресным входом демультиплексора 102 и входами элемента И-НЕ 104, выход которого соединен с управляющим выходом блока, информационный выход которого соединен с прямым выходом регистра 97.1. Прямые выходы регистров 97.K-97.2 соединены с первыми входами блоков элементов ИЛИ 98.(K-1)-98.1 соответственно. Первый управляющий вход блока соединен с вторыми входами элементов И 100.1-100.K, первые входы которых соединены с выходами элементов И 99.1-99.K соответственно. Выходы элементов И 100.1-100. K соединены с первыми входами элементов ИЛИ 101.1-101.K соответственно, выходы которых соединены с входами синхронизации регистров 97.1 - 97.K соответственно. Информационные входы блока соединены с информационными входами демультиплексора 102. Блок 58 выбора направления передачи информации (фиг.7) содержит первую 105, вторую 106 и третью 107 схемы сравнения, мультиплексор 108, шифратор 109, первый 110, второй 111, третий 112, четвертый 113, пятый 114 и шестой 115 элементы И, элемент ИЛИ 116, причем пятый вход блока соединен с вторым входом элемента ИЛИ 116, выход которого соединен с управляющим входом мультиплексора 108, пятым выходом блока и третьим входом шестого элемента И 115, выход которого соединен с четвертым выходом блока, первый вход блока соединен с первым входом схемы 105 сравнения, выход "Равно" которой соединен с первым выходом блока, второй и третий входы которого соединены соответственно с первыми входами схем 106 и 107 сравнения, четвертый вход блока соединен со вторыми входами схем 106 и 107 сравнения. Выход "Больше" схемы 106 сравнения соединен с четвертым входом первой группы информационных входов мультиплексора 108, выход "Меньше" схемы 106 сравнения соединен с вторым входом первой группы информационных входов мультиплексора 108 и первыми входами элементов И 110 и 111, выходы которых соединены соответственно с вторым и первым входами второй группы информационных входов мультиплексора 108, выход "Равно" схемы 106 сравнения соединен со вторыми входами элементов И 112, 113 и 114, выход "Больше" схемы 107 сравнения соединен с первым входом элемента И 112, выход которого соединен с первым входом первой группы информационных входов мультиплексора 108. Выходы "Меньше" и "Равно" схемы 107 сравнения соединены со вторыми входами элементов И 110 и 111 соответственно и первыми входами элементов И 113 и 114 соответственно, выход элемента И 113 соединен с третьим входом первой группы информационных входов мультиплексора 108 и вторым входом элемента И 115, первый вход которого соединен с выходом "Не равно" схемы 105 сравнения, выход элемента И 114 соединен с четвертым входом второй группы информационных входов мультиплексора 108 и первым входом элемента ИЛИ 116, первый-четвертый выходы мультиплексора 108 соединены соответственно с первым-четвертым входами шифратора 109, первый и второй выходы которого соединены соответственно со вторым и третьим выходами блока, второй вход схемы 105 сравнения подключен к второму и третьему входам блока. Блок 59 памяти константы (фиг.8) содержит блок 117 хранения физического адреса, группу блоков 118.1-118.3 хранения физического адреса, мультиплексор 119, выход которого соединен с первым выходом блока, первый-третий входы которого соединены с первым-третьим адресными входами мультиплексора 119 соответственно, второй-четвертый информационные входы которого соединены с выходами блоков 118.1-118.3 группы блоков хранения физического адреса соответственно, выход блока 117 хранения физического адреса соединен с первым информационным входом мультиплексора 119 и вторым выходом блока, на пятом-восьмом информационных входах мультиплексора 119 постоянно присутствует потенциал логического нуля. Рассмотрим процесс функционирования распределенной системы. Так как система состоит из однотипных модулей, ее работу рассмотрим на примере функционирования отдельного модуля, например модуля с физическим адресом (i, j), причем работу последнего будем рассматривать во взаимосвязи с другими модулями системы. Запуск и останов системы осуществляется соответственно подачей и отключением напряжения питания. Первоначально элементы памяти (i,j)-го модуля находятся в нулевом состоянии, за исключением разряда 8.6 регистра 8 команд, определяющего признак конца программы управления, и регистра 72.1 блока 23 сообщений, содержащего адрес первой команды. После запуска системы нулевые сигналы с первого 26 управляющего входа модуля и выхода триггера 18 поступают соответственно через первый и второй входы блока 13 синхронизации (фиг. 5) на первый и второй входы элемента ИЛИ-НЕ 95, на выходе которого образуется единичный сигнал, который поступает на вход распределителя импульсов 96. На выходах распределителя импульсов 96 (а следовательно, и блока 13 синхронизации) начинается формирование трех импульсных последовательностей, сдвинутых друг относительно друга на треть периода. Первый тактовый импульс с первого выхода блока 13 синхронизации (фиг.1) поступает на синхронизирующий вход регистра 2 адреса и осуществляет запись в него информации с первого выхода блока 23 сообщений через коммутатор 1 адреса. С выхода регистра 2 адрес команды поступает на входы первого 3, второго 4, третьего 5 и четвертого 6 блоков памяти и обеспечивает считывание первой команды программы управления. Считывание производится как из блока 3, так и из блоков 4, 5 и 6, однако передача команд на информационный вход регистра 8 осуществляется только из одного блока. Выбор блока памяти, а следовательно, и назначение алгоритма функционирования модуля осуществляется путем настройки мультиплексора 7. Настройка выполняется блоком 20 выбора алгоритма функционирования (работа блока 20 рассматривается ниже). В случае если отказавшие модули отсутствуют (фиг.10) или имеются, но не требуют перестройки текущего модуля на реализацию другого алгоритма (например фиг. 11, модуль с ФА (2,3)), команды соответствующей программы считываются из блока 3. В противном случае текущий модуль переходит к выполнению программы, размещенной либо в блоке 4 (например фиг.11, модуль с ФА (3,4)), либо 5 (например фиг.11, модуль с ФА (5,4)), либо 6 (например фиг. 11, модуль с ФА (5,1)). Сигналы с четвертого и пятого выходов блока 20 выбора поступают на адресные входы мультиплексора 7, что обеспечивает передачу на его выход команды из соответствующего блока памяти программ. Рассмотрим процесс обработки команды. Переданная команда по тактовому импульсу со второго выхода блока 13 синхронизации записывается в регистр 8 команд (формат считанной команды представлен на фиг.9а). В зависимости от содержимого полей считанной команды, модуль может функционировать одним из следующих способов. 1. Предположим, в поле 8.5 регистра 8 команд признак передачи управления отсутствует. Операционная часть команды с поля 8.4 регистра 8 команд поступает через блок элементов запрета 10 на информационный выход 49 модуля для логического управления объектом управления. Поля 8.1, 8.2 и 8.3 регистра 8 команд формируют адрес очередной команды с использованием мультиплексора 9 логических условий. Адрес следующей команды, получаемый объединением значения младшего (модифицируемого) разряда адреса с выхода мультиплексора 9 и немодифицированных разрядов с выхода 8.3 регистра 8, через коммутатор 1 поступает на информационный вход регистра 2 и фиксируется в данном регистре с приходом следующего импульса с первого выхода блока 13. После записи этого адреса в регистр 2 осуществляется переход к считыванию и выполнению очередной команды программы управления. Считываемая команда выполняется аналогично рассмотренному выше. С выдачей последней команды программы управления в поле 8.6 регистра 8 команд заносится единичная метка - признак окончания программы. Единичный сигнал с выхода 8.6 регистра 8 поступает на первый управляющий вход блока 23 и передним фронтом возбуждает на выходе одновибратора 78 импульс. Этот импульс через элемент ИЛИ 77, а затем элементы ИЛИ 76.1-76.l подается на синхронизирующие входы регистров 72.1-72.l и обеспечивает сдвиг очереди сообщений. В регистр 72.1 поступает адрес очередной программы. Одновременно сигнал выхода 8.6 регистра 8 поступает на управляющие входы коммутатора 1 и коммутирует его выход с первым информационным выходом блока 23. Если после сдвига информации в блоке 23 очередь поступивших на обслуживание запросов становится пустой (нулевое состояние регистров 72.1-72.l), модуль продолжает свою работу с первой программы управления (имеющей нулевой адрес первой команды). 2. Если в поле 8.5 считанной команды присутствует единичный признак передачи управления, то эта команда является командой обмена (передачи управления) и на выходе 8.4 операционного поля регистра 8 формируется сообщение K. Формат операционной части команды обмена представлен на фиг.9б. Сообщение K имеет вид:
K = ФAпрБобAк,
где ФАпр - физический адрес модуля-приемника информации;
Боб - бит обхода (первоначально равный нулю);
Ак - адрес программы, которую должен выполнить модуль-приемник;
- знак конкатенации. В свою очередь
ФAпр = ФAстлбФAстр,
где ФАстлб - физический номер модуля в столбце (вертикальная составляющая адреса);
ФАстр - физический номер модуля в строке (горизонтальная составляющая адреса). Единичная метка с выхода 8.5 регистра 8 поступает на управляющий вход блока элементов И 11 и первый вход элемента И 12 (фиг.1) и разрешает тем самым прохождение информации с поля 8.4 регистра 8 команд через блок элементов И 11 на первый информационный вход блока 22 анализа (фиг.3) с целью последующей выдачи на один из выходов 45,...,48 (фиг.1) через мультиплексор 24 (работа блока 22 анализа рассмотрена ниже). Вместе с выдаваемым сообщением с выхода блока 13 синхронизации через элемент И 12 (фиг.1) поступает тактовый импульс. Обмен командами в распределенной системе для программного управления осуществляется (фиг.10) в четырех направлениях. По каждому из направлений в блоке 22 анализа (фиг. 3) имеется блок памяти сообщений, причем блок 56.1 памяти сообщений предназначен для хранения сообщений от собственного модуля. Рассмотрим процесс приема и выдачи сообщений. Допустим, сообщение поступает на информационный вход блока 56.2 памяти сообщений. Предположим, что в текущий момент все регистры 97.1 - 97.K обнулены (фиг.6). На выходах элементов И 99.1 - 99.K находятся единичные сигналы. Эти сигналы, поступая на вход элемента И-НЕ 104, формируют на его выходе сигнал логического нуля (этот сигнал индицирует отсутствие сообщений в блоке 56.2). Кроме того, рассматриваемые сигналы подаются на адресный вход демультиплексора 102 и коммутируют его информационный вход с K-м выходом. Эти же сигналы открывают элементы 100.1-100.K. Сообщение с информационного входа блока через демультиплексор 102 и блок элементов ИЛИ 98.1 передается и фиксируется на информационном входе регистра 97.1. Одновременно на первом управляющем входе блока появляется тактовый импульс, сопровождающий данное сообщение. Этот импульс через открытые элементы И 100.1-100. K и элементы ИЛИ 101.1-101.K поступает на входы синхронизации регистров 97.1-97.K и задним фронтом производит запись поступающего сообщения в регистр 97.1 (состояние остальных регистров при этом не изменяется, поскольку на первом - (K-1) выходах демультиплексора 102 находятся нулевые коды). На выходе элемента 99.1 появляется сигнал логического нуля. Сигналы с выходов элементов И 99.1-99.K поступают на вход элемента И-НЕ 104, формируя на его выходе сигнал логической единицы, индицирующий наличие сообщения в блоке. Одновременно эти же сигналы подаются на адресный вход демультиплексора 102, коммутируют его информационный вход с (K-1)-м выходом и тем самым обеспечивают возможность записи последующего сообщения в регистр 97.2. Кроме того, нулевой сигнал с выхода элемента И 99.1 блокирует элемент И 100.1 и запрещает модификацию содержимого регистра 97.1. Таким образом на информационном выходе блока появляется поступившее сообщение, а на управляющий выход поступает единичный сигнал. Единичный сигнал с управляющего выхода блока 56.2 через элемент ИЛИ 68 (фиг. 3) и элемент запрета 69 устанавливает триггер 60 в единичное состояние и тем самым разрешает формирование тактовых импульсов на выходе распределителя импульсов 66 для синхронизации работы блока 22 анализа. Синхронизация работы блока 22 анализа происходит по четырем импульсным последовательностям. Цикл работы состоит из четырех фаз, каждая из которых начинается тактовым импульсом соответствующей импульсной последовательности. По первому импульсу с четвертого выхода распределителя 66 содержимое счетчика 65 увеличивается на единицу. Код с выхода счетчика 65 формирует унитарный код на выходе дешифратора 64 блока памяти сообщений 56.k, а также коммутирует выход мультиплексора 57 с его информационным входом, соответствующим блоку 56. k. Сообщение из этого блока через мультиплексор 57 передается на информационный вход регистра 61. Тактовый импульс с второго выхода распределителя 66 фиксирует считанное сообщение в регистре 61. После записи сообщения в регистр 61 осуществляется выбор направления дальнейшей передачи сообщения. Этот выбор определяется соотношением вертикальных и горизонтальных составляющих ФА и АС и выполняется блоком 58. ФА поступает на второй выход блока 59 с выхода блока 117 (фиг.8). Если отказы в системе отсутствуют и на всех управляющих входах мультиплексора 119 присутствуют сигналы логического нуля, этот же адрес через мультиплексор 119 передается на первый выход блока 59. Выбор направления передачи информации осуществляется следующим образом. АС сравнивается с ЛА модуля. Сравнение ЛА модуля и АС производится схемой сравнения 105 блока 58 (фиг.7). Если адреса равны, то данный модуль является модулем-приемником и на выходе "Равно" схемы сравнения 105 появляется единичный сигнал, который разрешает прием сообщения текущим модулем. Если адреса не равны, то модуль должен передать сообщение другому модулю и единичный сигнал появится на выходе "Не равно" схемы сравнения 105, и поступит на первый вход элемента И 115. Одновременно схема 106 сравнивает вертикальные составляющие АС и ФА модуля, а схема 107 сравнивает горизонтальные составляющие этих адресов. По результатам сравнения на выходах блока формируются сигналы, определяющие способ передачи поступившего сообщения. Эти сигналы вырабатываются комбинационной схемой, состоящей из мультиплексора 108, шифратора 109, элементов И 110-114, элемента ИЛИ 116, в соответствии с табл. 5. Сигналы на втором и третьем выходах блока 58 кодируют направление передачи сообщения и, поступая затем на адресные входы демультиплексора 63, обеспечивают выдачу сообщения в соответствующем направлении. На четвертом выходе блока 58 формируется единичный сигнал при наличии ситуации фатального отказа (табл.5), т.е. модуль-приемник не был найден ни в одном из модулей по причине сбоев при перестройке. На пятом выходе блока 58 формируется бит обхода (табл.5). Если на первом выходе блока 58 присутствует сигнал логической единицы, то сообщение через демультиплексор 62 передается на первый информационный выход блока анализа для последующей обработки текущим модулем. В противном случае сообщение с выходов регистра 61 через демультиплексор 62 передается на один из четырех выходов демультиплексора 63. Одновременно с выбором направления передачи считанного сообщения производится сдвиг информации в выбранном блоке памяти сообщений (в нашем примере - в блоке 56.2). Сдвиг информации в блоках 56.1-56.5 синхронизируется импульсом с первого выхода распределителя 66. Следующий импульс с третьего выхода распределителя 66 синхронизирует прием выдаваемого сообщения либо текущим модулем, либо одним из модулей-соседей, поступая соответственно через демультиплексор 62 на первый информационный выход блока 22 анализа, либо через демультиплексор 62 и демультиплексор 63 на второй, третий, четвертый или пятый информационные выходы блока анализа. Одновременно этот импульс поступает на прямой вход элемента запрета 67 и в случае отсутствия сообщений в блоках 56.1-56.5 проходит через элемент ИЛИ 70 на вход сброса триггера 60 и тем самым выключает распределитель 66. Рассмотрим работу системы при возникновении отказов. Под отказом модуля понимается искажение управляющей информации, подаваемой им на объект управления (отказ блоков 1-12 и соответствующих связей). Средства взаимодействия модулей считаются работоспособными. Отслеживание правильности функционирования блоков 1-12 и их связей, фиксация модулей, в которых нарушено правильное функционирование указанных блоков, и останов системы в случае фатального отказа обеспечиваются внешними по отношению к системе средствами контроля и управления. Состояние (i, j)-го модуля (работоспособен / неработоспособен) индицируется состоянием внешнего триггера отказа. Допустим, отказавшим является модуль (i-1,j), находящийся сверху над текущим, а все остальные модули распределенной системы работоспособны. Исходя из логики работы системы текущий модуль (i,j) должен принять на себя функции верхнего (i-1,j)-го модуля и в дальнейшем считывать команды из блока 6 памяти, причем возобновить работу он должен с повторения той программы управления, которую выполнял (i-1,j)-й модуль до появления отказа. Внешние средства контроля, обнаружив отказ, фиксируют его переводом триггера отказа (i-1,j)-го модуля в единичное состояние. Единичный сигнал с триггера отказа поступает на вход 26 (i-1,j)-го модуля, с которого подается через первый вход блока 13 синхронизации (фиг.5) на первый вход элемента ИЛИ-НЕ 95, на выходе которого образуется нулевой сигнал, который выключает распределитель импульсов 96. Передача управляющих сигналов на объект управления прекращается - модуль выключен. Дальнейшее включение модуля оказывается невозможным из-за присутствия постоянного единичного сигнала с триггера отказа на первом входе элемента ИЛИ-НЕ 95. Одновременно сигнал с триггера отказа поступает на вход одновибратора 14 и инициирует синхронный останов всех работоспособных модулей. Импульс с выхода одновибратора 14 поступает через элемент ИЛИ 15 на выход 43 (i-1,j)-го модуля и передается вправо (i-1,j+1)-мy модулю (фиг.1, 10). Поступая на вход 31 (i-1, j+1)-го модуля, импульс через элемент ИЛИ 15 поступает на выход 43 (i-1, j+1)-го модуля и передается аналогичным образом по строке вправо до (i-1, m)-го модуля. С выхода 43 (i-1,m)-го модуля импульс поступает на вход 32 модулей (i-1)-й строки с первого по m-й и передается через элемент ИЛИ 16 на выход 44 этих модулей. С выхода 44 модулей (i-1)-й строки с первого по m-й импульс поступает на вход 33 модулей (i-2)-й строки с первого по m-й соответственно и передается через элемент ИЛИ 16 на выход 44 этих модулей. Аналогичным образом импульс с выхода 44 модулей (i-2)-й строки с первого по m-й передается вверх до модулей первой строки с первого по m-й соответственно. С выхода 44 модулей первой строки с первого по m-й импульс одновременно поступает на вход 34 модулей всех строк с первого по m-й соответственно. Далее импульс с входов 34 поступает на S-вход триггеров 18 и устанавливает их в единичное состояние. Одновременно импульс поступает на вход элементов 17.1, где задерживается на время, достаточное для выполнения перестройки системы. Кроме этого, импульс поступает на вход элементов задержки 17.2, где задерживается на время, достаточное для настройки блоков 20 выбора (фиг. 1). Описанный выше процесс распространения импульса происходит одновременно во всех модулях системы. Единичный сигнал с прямых выходов триггеров 18 поступает через второй вход блоков 13 синхронизации (фиг.5) на второй вход элемента ИЛИ-НЕ 95, на выходе которого образуется нулевой сигнал, который выключает распределители импульсов 96. (Передача управляющих сигналов на объекты управления временно прекращается.)
Единичный сигнал с входа 26 (i-1,j)-го модуля поступает на первый вход блока 20 выбора и инициирует перестройку системы. Блок 20 выбора (фиг.2) работает следующим образом. На первый вход блока 20 с выхода триггера отказа поступает сигнал об отказе собственного модуля. На второй, третий, четвертый и пятый входы блока 20 с управляющих входов 27, 28, 29 и 30 модуля соответственно поступают также сигналы от других модулей. Назначение сигналов на входах блока 20 описывается в табл.1. Комбинационная схема блока 20, состоящая из элементов 50-55, на основе сигналов на первом-пятом входах определяет согласно таблице истинности (табл.4) состояния первого-пятого выходов блока 20, назначение которых описывается в табл.2. Сигналы с первого и второго выходов блока 20 через управляющие выходы 40 и 41 соответственно поступают в другие модули. Сигнал с третьего выхода блока 20 поступает через элемент ИЛИ 25 и управляющий выход 42 модуля внешним средствам контроля. Его единичное значение определяет невозможность реконфигурации распределенной системы - фатальный отказ, по которому внешние средства управления выключают распределенную систему. Сигналы с четвертого и пятого выходов блока 20 определяют алгоритм, по которому будет функционировать модуль (табл.3). В нашем случае на первом выходе блока 20 и соответственно на выходе 40 (i-1, j)-го модуля появится единичный сигнал (табл.4), который, пройдя вверх через модули j-го столбца с (i-2)-го по первый, поступает на вход 27 текущего (i, j)-го модуля, с которого поступает на второй вход блока 20 и обеспечивает образование на четвертом и пятом выходах блока 20 кода "11" (табл.4). Через время задержки, достаточное для настройки блоков 20 выбора всех модулей системы, на выходе элемента задержки 17.2 появляется импульс, который поступает на синхронизирующий вход регистра 19 и обеспечивает запись в него кода "11" с четвертого и пятого выходов блока 20 выбора и нулевого сигнала с триггера отказа. Код "11" с первого и второго выходов регистра 19 подается на управляющие входы мультиплексора 7 и коммутирует его выход с выходом блока 6 (табл.3). Одновременно данный код совместно с нулевым сигналом с третьего выхода регистра 19 передается на первый, второй и третий управляющие входы блока 22 анализа и инициирует изменение ЛА модуля (i,j). Рассматриваемый код поступает на первый и второй входы блока 59 (фиг. 3,8). Далее единичные сигналы с первого и второго входа этого блока поступают соответственно на первый и второй управляющие входы мультиплексора 119 и, учитывая, что на третьем управляющем входе мультиплексора 119 находится сигнал логического нуля, коммутирует его выход с выходом блока 118.3. В данном блоке постоянно хранится код физического адреса вышестоящего модуля (i-1, j) (аналогично блоки 118.1 и 118.2 хранят коды ФА соответственно соседнего модуля слева (i,j-1) и соседнего модуля слева по диагонали (i-1,j-1)). Теперь на первом выходе блока 58 появляется новый ЛА текущего модуля, равный (i-1,j). Аналогично рассмотренному выше изменяются ЛА всех нижестоящих модулей, в том числе и резервного. Одновременно с выключением распределителя импульсов 96 единичный сигнал с выхода триггера 18 поступает на управляющие входы демультиплексора 21, мультиплексора 24, четвертый управляющий вход блока 22 анализа, четвертый управляющий вход блока 23 сообщений и R-вход регистра 8 команд, чем перестраивает модуль на перезагрузку принятых сообщений. 1. С четвертого входа блока 22 анализа (фиг.3) единичный сигнал поступает через элемент ИЛИ 70 на R-вход триггера 60, устанавливает его в нулевое состояние и выключает распределитель импульсов 66. Одновременно этот сигнал поступает на инверсный вход элемента запрета 69 и запрещает подачу на S-вход триггера 60 единичного сигнала. Передача сообщений временно прекращается. 2. Единичный сигнал поступает на управляющий вход демультиплексора 21 и соединяет первый 36, второй 37, третий 38 и четвертый 39 информационные входы модуля с информационными входами блока 23 сообщений с четвертого по седьмой соответственно. 3. Единичный сигнал поступает на управляющий вход мультиплексора 24 и соединяет выходы блока 23 сообщений с первого по четвертый с первым 45, вторым 46, третьим 47 и четвертым 48 информационными выходами модуля соответственно. 4. С четвертого управляющего входа блока 23 сообщений (фиг.4) единичный сигнал поступает на инверсный управляющий вход одновибратора 78 и запрещает его работу, а также поступает на управляющий вход мультиплексора 90 и подключает один из информационных входов с четвертого по седьмой к информационному входу демультиплексора 71 в зависимости от кода на входах дешифратора 83. Так как на входах дешифратора 23 с четвертого и пятого выходов блока 20 анализа соответственно присутствует код "11", то с информационным входом демультиплексора 71 соединен седьмой информационный вход блока и, соответственно, четвертый 39 информационный вход модуля, куда будут поступать сообщения от (i, j-1)-го модуля. Кроме этого, единичный сигнал с четвертого входа блока 23 сообщений поступает на управляющий вход демультиплексора 85 и подключает прямой выход регистра 72.1 к одному из информационных выходов блока со второго по пятый в зависимости от настройки дешифратора 84, которая определяется схемами сравнения 81 и 82. Схемы сравнения 81 и 82 сравнивают соответственно вертикальную и горизонтальную составляющие АС в принятых сообщениях с прямого выхода регистра 72.1 с вертикальной и горизонтальной составляющими ФА модуля со второго и третьего информационных входов блока. Так как мы предполагаем, что система отказала первый раз, то АС и ФА будут совпадать, следовательно на входе дешифратора 84 будет код "00" и прямой выход регистра 72.1 будет подсоединен к третьему выходу блока и соответственно ко второму 46 информационному выходу модуля, откуда сообщения будут поступать нижнему (i,j+1)-мy модулю. 5. Единичный сигнал поступает на R-вход регистра 8 команд, чем обнуляет его, а разряд 8.6 устанавливает в единичное состояние. Пятый и шестой входы блока остаются соединенными соответственно с четвертым и пятым выходами блока, что обеспечивает трансляцию сообщений других модулей. АС и ДА модуля сравниваются схемой 80 сравнения и, если они не равны (как в нашем случае), то единичный сигнал с инверсного выхода схемы сравнения 80 запускает распределитель импульсов 79, который начинает выдавать две последовательности импульсов сдвинутые на половину периода. Первая последовательность синхронизирует передачу сообщений, вторая - сдвиг сообщений. Таким образом будет осуществляться передача принятых (i,j)-м модулем сообщений (i, j+1)-му модулю, который должен взять на себя после реконфигурации системы функции (i,j)-го модуля. Передача будет осуществляться до тех пор, пока АС не сравняется с ЛА модуля, то есть все ранее принятые сообщения будут переданы. Рассмотрим дополнительный пример перезагрузки сообщений, иллюстрируемый на фиг. 13. На нем представлена система с восьмью одновременно отказавшими модулями с ФА (1.3), (2.2), (2.4), (3.3), (4.1), (4.3), (4.4) и (5.3). Предполагается, что до их появления отказов в системе не было. Следовательно, АС принятых сообщений во всех модулях будут совпадать с ФА модулей и сообщения, соответственно, первоначально выдаются вправо. Сообщения выдаются всеми модулями у которых ЛА не совпадает с ФА, то есть, кроме модулей с ФА (1.1), (1.2), (2.1), (2.3), (3.1) и (3.3). Выдача сообщений от резервных модулей не показана, так как они не имеют модулей-приемников. Модули с ФА (1.4)-(1.6), (2.5), (2,6), (3.4), (3.6) и (4.6) имеют ЛА равные ФА соседних модулей слева, поэтому настраиваются на прием сообщений слева от этих модулей. Модули с ФА (4.5), (5.4) и (5.5) имеют ЛА соседних модулей по диагонали (3.4), (4.3) и (4.4) соответственно, поэтому настраиваются на прием сообщений сверху через вышестоящие модулей, которые передают сообщения транзитом. Модули с ФА (4.2), (5.1), (5.2) и (6.1)-(6.5) имеют ЛА вышестоящих модулей, поэтому настраиваются на прием сообщений справа, при этом сообщения проходят транзитом через два модуля. Таким образом, перезагрузка принятых каждым модулем сообщений осуществляется по кольцевым маршрутам параллельно. Рассмотрим возобновление нормального функционирования системы. Через время задержки, достаточное для перестройки системы и перезагрузки принятых сообщений всех модулей, на выходе элемента задержки 17.1 всех модулей появляется импульс, который поступает на R-вход триггера 18 и устанавливает его в нулевое состояние, нулевой сигнал с выхода триггера 18 через второй вход блока 13 синхронизации (фиг.5) поступает на второй вход элемента ИЛИ-НЕ 95, на выходе которого в работоспособных модулях образуется единичный сигнал, который запускает распределитель импульсов 96. Работоспособные модули вновь начинают функционировать - перестройка системы завершена. Одновременно с запуском распределителя импульсов 96 нулевой сигнал с выхода триггера 18 поступает на управляющие входы демультиплексора 21, мультиплексора 24, четвертый управляющий вход блока 22 анализа и четвертый управляющий вход блока 23 сообщений, чем перестраивает модуль на нормальный режим работы - обработку команд и обмен сообщениями. 1. С четвертого входа блока 22 анализа (фиг.3) нулевой сигнал поступает через элемент ИЛИ 70 на R-вход триггера 60 и инверсный вход элемента запрета 69 и, тем самым, разрешает подачу на S-вход триггера 60 единичного сигнала. Передача сообщений возобновляется. 2. Нулевой сигнал поступает на управляющий вход демультиплексора 21 и соединяет первый 36, второй 37, третий 38 и четвертый 39 информационные входы модуля с информационными входами блока 22 анализа со второго по пятый соответственно. 3. Нулевой сигнал поступает на управляющий вход мультиплексора 24 и соединяет информационные выходы блока 22 анализа со второго по пятый с первым 45, вторым 46, третьим 47 и четвертым 48 информационными выходами модуля соответственно. 4. С четвертого управляющего входа блока 23 сообщений (фиг.4) нулевой сигнал поступает на инверсный управляющий вход одновибратора 78 и разрешает его работу, а также поступает на управляющий вход мультиплексора 90 и подключает первый информационный вход к информационному входу демультиплексора 71. Кроме этого, нулевой сигнал с четвертого входа блока 23 сообщений поступает на управляющий вход демультиплексора 85 и подключает прямой выход регистра 72.1 к первому информационному выходу блока. 5. Нулевой сигнал поступает на R-вход регистра 8 команд, и разрешает запись в него команд. Рассмотрим пример процесса обработки передаваемых сообщений в системе с отказавшими модулями. Пример передачи сообщения при наличии отказов в распределенной системе иллюстрируется на фиг.12. Сообщение должно быть передано от модуля-источника (5,2) в модуль-приемник с ЛА (2,4). Поэтому оно передается в модуль (2,4), который был бы модулем-приемником при отсутствии отказов в распределенной системе. Сначала из модуля (5,2) сообщение передается по вертикали через модули (4,2) и (3,2) в модуль (2,2) в котором вертикальные составляющие АС и ФА модуля сравняются. Затем сообщение передается по горизонтали через модуль (2,3) в модуль (2,4), ФА которого равен АС. Так как этот модуль отказал, то его ЛА равен (0,0) и не равен АС. Поэтому бит обхода устанавливается в единицу и сообщение передается первому из трех соседей ((2,5), (3,5) и (3,4)) модуля (2,4) - модулю (2,5). Так как ЛА этого модуля равен (2,4), то, следовательно, он выполняет алгоритм модуля (2,4) и является истинным модулем-приемником сообщения. Модуль-приемник найден и передача сообщения прекращается. Итак, после перестройки система в целом продолжает исполнение множества программ. При возникновении новых отказов система перестраивается аналогично рассмотренному; перестройка осуществляется вплоть до достижения ситуации фатального отказа. Таким образом, введение дополнительных технических средств позволяет обеспечить непрерывность функционирования системы за счет переразмещения принятых сообщений между модулями при возникновении отказов.
Класс G05B19/18 числовое управление, те автоматически действующие устройства, в частности станки, например при обеспечении производственно-технических условий, таких как выполнение позиционирования, перемещения или координируемых операций с помощью программируемых данных в числовой форме