Модуль системы программного управления

Реферат

 

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении систем управления технологическими процессами. Технический результат заключается в расширении области применения устройства на основе включения дополнительных средств, позволяющих использовать устройство при формировании систем программного управления, обеспечивающих возможность реализации как последовательных, так и параллельных алгоритмов управления при сохранении минимальной сложности межмодульного интерфейса. Технический результат достигается за счет последовательного (временного) кодирования информации, передаваемой через межмодульные линии связи в различных режимах работы системы, а также за счет того, что модуль содержит блок памяти микрокоманд, счетчик адреса, счетчик времени задержки, регистр микроопераций, шифратор адреса, триггер режима, шину микроопераций, коммутатор направления приема адреса, десять элементов И, девять элементов ИЛИ, регистр, шифратор кода синхронизации, схему сравнения, блок тристабильных элементов, две группы триггеров, четыре группы элементов И, три группы элементов ИЛИ, два триггера, два элемента задержки и генератор импульсов. 5 ил.

Изобретение относится к автоматике и вычислительной технике и может быть использовано при построении систем управления технологическими процессами.

Известно модульное устройство для программного управления и контроля, содержащее блок памяти, счетчик адреса, регистр микроопераций, мультиплексоры адреса и логических условий, демультиплексор, два регистра логических условий, регистр номера, два коммутатора, два дешифратора, шифратор, генератор тактовых импульсов, триггеры пуска и управления, блок элементов ИЛИ, группу элементов ИЛИ, два элемента И и два элемента ИЛИ (а.с. 1647519 СССР G 05 В 19/18; опубл. 07.05.91, БИ N17).

Недостатками известного устройства являются значительное число внешних входов и выходов, требуемых для организации взаимодействия с другими аналогичными устройствами при построении управляющих систем, а также существенная зависимость этого числа от количества идентичных устройств в составе системы.

Наиболее близким к предлагаемому устройству по технической сущности является устройство для программного управления, содержащее блок памяти микрокоманд, счетчики адреса и времени задержки, регистр микроопераций, коммутатор направления приема адреса, триггер режима, шифратор направления приема управления, дешифратор направления передачи управления, шину микроопераций, элемент запрета, четыре элемента ИЛИ и два элемента И (а.с. 1800445 СССР G 05 В 19/18; опубл. 07.03.93; БИ N9).

Недостатком данного устройства является узкая область применения, обусловленная отсутствием возможности построения на его основе управляющих систем, предназначенных для реализации параллельных алгоритмов (программ) управления.

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

Техническая задача решается тем, что в модуль системы программного управления, содержащий блок памяти микрокоманд, счетчик адреса, счетчик времени задержки, регистр микроопераций, шифратор адреса, триггер режима, шину микроопераций, коммутатор направления приема адреса, первый и второй элементы И, первый, второй, третий и четвертый элементы ИЛИ, причем прямой выход триггера режима соединен с первым входом первого элемента ИЛИ, выход которого подключен к первому входу первого элемента И и к первому входу второго элемента И, выход которого подключен к входу синхронизации регистра микроопераций, информационный вход которого соединен с выходом микроопераций блока памяти микрокоманд, выход адреса которого подключен к входам второго элемента ИЛИ и к первому информационному входу коммутатора направления приема адреса, выход шифратора адреса соединен со вторым информационным входом коммутатора направления приема адреса и с входами третьего элемента ИЛИ, выход которого соединен с инверсным и прямым управляющими входами коммутатора направления приема адреса, выход которого подключен к информационному входу счетчика адреса, выход которого подключен к адресному входу блока памяти микрокоманд, выход кода времени задержки которого соединен с информационным входом счетчика времени задержки, информационный выход которого подключен к входам четвертого элемента ИЛИ, выход которого соединен с управляющим входом счетчика времени задержки, дополнительно введены регистр, шифратор кода синхронизации, схема сравнения, блок тристабильных элементов, первая и вторая группы триггеров, с первой по четвертую группы элементов И, с первой по третью группы элементов ИЛИ, первый и второй триггеры, с третьего по десятый элементы И, с пятого по девятый элементы ИЛИ, первый и второй элементы задержки и генератор импульсов, причем входы модуля с первого по (k-1)-й (где k- число идентичных модулей в составе системы программного управления) соединены с первыми входами элементов И первой группы с первого по (k-1)-й соответственно и с первыми входами элементов И второй группы с первого по (k-1)-й соответственно, выходы которых подключены к первым входам элементов ИЛИ первой группы с первого по (k-1)-й соответственно, выходы элементов И первой группы с первого по (k- 1)-й подключены к счетным входам триггеров первой группы с первого по (k-1)-й соответственно, инверсные выходы которых соединены со вторыми входами элементов И первой группы с первого по (k-1)-й соответственно, выходы элементов ИЛИ второй группы с первого по (k-1)-й соединены с входами сброса триггеров первой группы с первого по (k-1)-й соответственно, прямые выходы которых подключены ко вторым входам элементов И второй группы с первого по (k-1)-й соответственно, а также к D-входам триггеров второй группы с первого по (k-1)-й соответственно и к входу шифратора кода синхронизации, выход которого соединен с первым входом схемы сравнения, k-й вход модуля соединен с входом установки k-го триггера второй группы, D-вход которого подключен к шине нулевого потенциала, прямые выходы триггеров второй группы с первого по k-й подключены к входам шифратора адреса с первого по k-й соответственно, выход второго элемента ИЛИ соединен с прямым входом третьего элемента И, выход которого соединен с управляющим входом счетчика адреса, счетный вход и вход синхронизации которого подключены к выходу четвертого элемента И, выход регистра микроопераций подключен к информационному входу блока тристабильных элементов, выход которого соединен с шиной микроопераций, управляющий вход блока тристабильных элементов соединен с прямым выходом триггера режима, выход третьего элемента ИЛИ подключен к первому входу пятого элемента ИЛИ и к первому входу пятого элемента И, выход которого подключен ко вторым входам элементов ИЛИ первой группы с первого по (k-1)-й и к входу синхронизации k-го триггера второй группы, прямые выходы триггеров второй группы с первого по (k-1)-й соединены с первыми входами элементов ИЛИ второй группы с первого по (k-1)-й соответственно, выходы элементов ИЛИ первой группы с первого по (k-1)-й подключены к входам синхронизации триггеров второй группы с первого по (k-1)-й соответственно, выход адреса блока памяти микрокоманд соединен с информационным входом регистра и со вторым входом схемы сравнения, выход которой подключен к первому входу шестого элемента И, выход которого соединен с первым входом седьмого элемента И и со вторым входом пятого элемента ИЛИ, выход которого соединен с J-входом триггера режима, выход метки передачи управления блока памяти микрокоманд подключен к первому инверсному входу третьего элемента И, к первым входам элементов И третьей группы с первого по (k-1)-й и к первому входу шестого элемента ИЛИ, выход которого соединен с первым входом восьмого элемента И, выход которого соединен с входом синхронизации регистра, выход метки конца участка блока памяти микрокоманд подключен ко второму входу шестого элемента ИЛИ, к первому входу седьмого элемента ИЛИ, к первому входу четвертого элемента И и к первому входу девятого элемента И, выход которого соединен с входом сброса счетчика адреса, выход метки управления синхронизацией блока памяти микрокоманд подключен ко второму инверсному входу третьего элемента И, к первому входу десятого элемента И, ко второму входу шестого элемента И и ко второму входу седьмого элемента ИЛИ, выход которого соединен со вторым входом первого элемента ИЛИ и K-входом триггера режима, вход синхронизации которого соединен с первым выходом генератора импульсов, второй выход которого подключен ко второму входу второго элемента И, первый выход генератора импульсов подключен ко второму входу первого элемента И и ко второму входу седьмого элемента И, выход которого соединен со вторыми входами элементов ИЛИ второй группы с первого по (k-1)-й, с первым входом восьмого элемента ИЛИ и с первым входом девятого элемента ИЛИ, выход которого подключен к счетному входу и входу синхронизации счетчика времени задержки, выход переноса которого соединен со вторыми входами четвертого, пятого и девятого элементов И и с входом установки первого триггера, прямой выход которого подключен ко второму входу восьмого элемента И, выход первого элемента И соединен со вторым входом девятого элемента ИЛИ, с входом первого элемента задержки, со вторыми входами элементов И третьей группы с первого по (k-1)-й и со вторым входом десятого элемента И, выход которого подключен ко второму входу восьмого элемента ИЛИ, выход которого соединен со счетным входом второго триггера, прямой выход которого подключен к третьему входу шестого элемента И, а инверсный выход соединен с третьим входом первого элемента И и с третьим входом второго элемента И, выход которого подключен к третьему входу восьмого элемента И и к входу второго элемента задержки, выход которого соединен с входом сброса первого триггера и с первыми входами элементов И четвертой группы с первого по (k-1)-й, выходы которых подключены к первым входам элементов ИЛИ третьей группы с первого по (k-1)-й соответственно, выход первого элемента задержки соединен с входом сброса регистра, выходы с первого по (k-1)-й которого подключены ко вторым входам элементов И четвертой группы с первого по (k-1)-й соответственно и к третьим входам элементов И третьей группы с первого по (k-1)-й соответственно, выходы которых соединены со вторыми входами элементов ИЛИ третьей группы с первого по (k-1)-й соответственно, выходы которых являются выходами модуля с первого по (k-1)-й соответственно.

Сущность изобретения заключается в следующем.

Предлагаемый модуль совместно с другими аналогичными модулями образует систему программного управления, предназначенную для реализации сложных алгоритмов управления, содержащих как последовательные, так и параллельные участки. За каждым из модулей закрепляется определенное подмножество участков алгоритма, при этом для реализации алгоритма в целом предусматривается межмодульный обмен управляющими сигналами. Структура межмодульного интерфейса системы обеспечивает возможность непосредственного взаимодействия модулей по принципу "каждый с каждым".

В процессе функционирования системы каждый модуль может работать в различных режимах в зависимости от форматов считываемых (обрабатываемых) микрокоманд. Для обеспечения перехода между участками программы, закрепленными за различными модулями, в системе управления аналогично прототипу предусматривается возможность межмодульной передачи управления, однако в отличие от прототипа предлагаемый модуль может продолжать выполнение программы после передачи управления другому модулю системы.

Дополнительно, в системе, использующей предлагаемый модуль, имеется возможность синхронизации завершения подмножеств параллельных участков программ. Наличие данной возможности необходимо при реализации параллельных алгоритмов управления, критичных к рассогласованию моментов запуска некоторых параллельных участков. При синхронизации параллельных участков один из модулей (условно считающийся "ведущим") функционирует в режиме управления синхронизацией и производит опрос состояния участков (завершен / не завершен), исполняемых другими модулями системы. После окончания всех требуемых участков модуль выходит из режима управления синхронизацией и возобновляет выполнение программы. Передача информации о состоянии параллельных участков осуществляется с использованием тех же линий связи, которые служат для передачи управления.

Общее число межмодульных линий связи (сложность межмодульного интерфейса) в системе программного управления на базе рассматриваемого модуля составляет k(k-l), где k- число модулей в системе, т.е. для связи каждой пары модулей требуются две физические линии, что соответствует прототипу. Сохранение сложности межмодульного интерфейса в системе при одновременном введении дополнительных функциональных возможностей достигается представлением информации, передаваемой через межмодульные линии связи, последовательным кодом. В качестве квитанций окончания параллельных участков выступают одиночные импульсы, а в качестве сигналов передачи управления используются серии из двух следующих друг за другом импульсов.

Сущность изобретения поясняется чертежами, где на фиг.1 представлена функциональная схема модуля системы программного управления; на фиг.2 изображены форматы микрокоманд, реализуемые модулем; на фиг.3 дана структурная схема системы программного управления, построенной на основе предлагаемого модуля; на фиг.4 приведены временные диаграммы работы модуля при запуске системы управления, передаче управления другому аналогичному модулю и завершении участка программы; на фиг.5 показаны временные диаграммы работы модуля в режиме управления синхронизацией параллельных участков программ.

Модуль системы программного управления (фиг. 1) содержит блок 1 памяти микрокоманд с выходами 1.1 микроопераций, 1.2 адреса, 1.3 метки передачи управления, 1.4 метки конца участка, 1.5 метки управления синхронизацией, 1.6 кода времени задержки, счетчик 2 адреса, счетчик 3 времени задержки, регистр 4 микроопераций, шифратор 5 адреса, триггер 9 режима, шину 11 микроопераций, коммутатор 14 направления приема адреса, первый 15 и второй 16 элементы И, первый 17, второй 18, третий 19 и четвертый 20 элементы ИЛИ, причем прямой выход триггера 9 режима соединен с первым входом элемента ИЛИ 17, выход которого подключен к первому входу элемента И 15 и к первому входу элемента И 16, выход которого подключен к входу синхронизации регистра 4 микроопераций, информационный вход которого соединен с выходом 1.1 микроопераций блока 1 памяти микрокоманд, выход 1.2 адреса которого подключен к входам элемента ИЛИ 18 и к первому информационному входу коммутатора 14 направления приема адреса, выход шифратора 5 адреса соединен со вторым информационным входом коммутатора 14 направления приема адреса и с входами элемента ИЛИ 19, выход которого соединен с инверсным и прямым управляющими входами коммутатора 14 направления приема адреса, выход которого подключен к информационному входу счетчика 2 адреса, выход которого подключен к адресному входу блока 1 памяти микрокоманд, выход 1.6 кода времени задержки которого соединен с информационным входом счетчика 3 времени задержки, информационный выход которого подключен к входам элемента ИЛИ 20, выход которого соединен с управляющим входом счетчика 3 времени задержки, а также дополнительно введенные регистр 6, шифратор 7 кода синхронизации, схему 8 сравнения, блок 10 тристабильных элементов, первую группу триггеров 12.1-12. k-1 (где k- число идентичных модулей в составе системы программного управления), вторую группу триггеров 13.1-13.k, первую группу элементов И 21.1- 21.k-1, вторую группу элементов И 22.1-22. k-1, третью группу элементов И 23.1-23.k-l, четвертую группу элементов И 24.1-24.k-1, первую группу элементов ИЛИ 25.1-25.k-1, вторую группу элементов ИЛИ 26.1-26.k-1, третью группу элементов ИЛИ 27.1-27.k-1, первый 28 и второй 29 триггеры, третий 30, четвертый 31, пятый 32, шестой 33, седьмой 34, восьмой 35, девятый 36 и десятый 37 элементы И, пятый 38, шестой 39, седьмой 40, восьмой 41 и девятый 42 элементы ИЛИ, первый 43 и второй 44 элементы задержки и генератор 45 импульсов с выходами 45.1 и 45.2, причем входы 46.1-46.k-1 модуля соединены с первыми входами элементов И 21.1-21.k-l соответственно и с первыми входами элементов И 22.1-22.k-1 соответственно, выходы которых подключены к первым входам элементов ИЛИ 25.1-25.k-1 соответственно, выходы элементов И 21.1-21.k-1 подключены к счетным входам триггеров 12.1-12.k-1 соответственно, инверсные выходы которых соединены со вторыми входами элементов И 21.1-21.k-1 соответственно, выходы элементов ИЛИ 26.1-26. k-1 соединены с входами сброса триггеров 12.1-12.k-1 соответственно, прямые выходы которых подключены ко вторым входам элементов И 22.1-22.k-1 соответственно, а также к D-входам триггеров 13.1-13.k-1 соответственно и к входу шифратора 7 кода синхронизации, выход которого соединен с первым входом схемы 8 сравнения, вход 46.k модуля соединен с входом установки триггера 13.k, D-вход которого подключен к шине нулевого потенциала, прямые выходы триггеров 13.1-13.k подключены к входам шифратора 5 адреса с первого по k-й соответственно, выход элемента ИЛИ 18 соединен с прямым входом элемента И 30, выход которого соединен с управляющим входом счетчика 2 адреса, счетный вход и вход синхронизации которого подключены к выходу элемента И 31, выход регистра 4 микроопераций подключен к информационному входу блока 10 тристабильных элементов, выход которого соединен с шиной 11 микроопераций, управляющий вход блока 10 тристабильных элементов соединен с прямым выходом триггера 9 режима, выход элемента ИЛИ 19 подключен к первому входу элемента ИЛИ 38 и к первому входу элемента И 32, выход которого подключен ко вторым входам элементов ИЛИ 25.1-25.k-1 и к входу синхронизации триггера 13. k, прямые выходы триггеров 13.1-13.k-1 соединены с первыми входами элементов ИЛИ 26.1-26.k-1 соответственно, выходы элементов ИЛИ 25.1-25.k-1 подключены к входам синхронизации триггеров 13.1-13.k-1 соответственно, выход 1.2 адреса блока 1 памяти микрокоманд соединен с информационным входом регистра 6 и со вторым входом схемы 8 сравнения, выход которой подключен к первому входу элемента И 33, выход которого соединен с первым входом элемента И 34 и со вторым входом элемента ИЛИ 38, выход которого соединен с J-входом триггера 9 режима, выход 1.3 метки передачи управления блока 1 памяти микрокоманд подключен к первому инверсному входу элемента И 30, к первым входам элементов И 23.1-23.k-1 и к первому входу элемента ИЛИ 39, выход которого соединен с первым входом элемента И 35, выход которого соединен с входом синхронизации регистра 6, выход 1.4 метки конца участка блока 1 памяти микрокоманд подключен ко второму входу элемента ИЛИ 39, к первому входу элемента ИЛИ 40, к первому (инверсному) входу элемента И 31 и к первому входу элемента И 36, выход которого соединен с входом сброса счетчика 2 адреса, выход 1.5 метки управления синхронизацией блока 1 памяти микрокоманд подключен ко второму инверсному входу элемента И 30, к первому входу элемента И 37, ко второму входу элемента И 33 и ко второму входу элемента ИЛИ 40, выход которого соединен со вторым входом элемента ИЛИ 17 и K-входом триггера 9 режима, вход синхронизации которого соединен с первым 45.1 выходом генератора 45 импульсов, второй выход 45.2 которого подключен ко второму входу элемента И 16, выход 45.1 генератора 45 импульсов подключен ко второму входу элемента И 15 и ко второму входу элемента И 34, выход которого соединен со вторыми входами элементов ИЛИ 26.1-26.k-1, с первым входом элемента ИЛИ 41 и с первым входом элемента ИЛИ 42, выход которого подключен к счетному входу и входу синхронизации счетчика 3 времени задержки, выход переноса (р) которого соединен со вторыми входами элементов И 31, 36, 32 и с входом установки триггера 28, прямой выход которого подключен ко второму входу элемента И 35, выход элемента И 15 соединен со вторым входом элемента ИЛИ 42, с входом элемента 43 задержки, со вторыми входами элементов И 23.1-23.k-1 и со вторым входом элемента И 37, выход которого подключен ко второму входу элемента ИЛИ 41, выход которого соединен со счетным входом триггера 29, прямой выход которого подключен к третьему входу элемента И 33, а инверсный выход соединен с третьим входом элемента И 15 и с третьим входом элемента И 16, выход которого подключен к третьему входу элемента И 35 и к входу элемента 44 задержки, выход которого соединен с входом сброса триггера 28 и с первыми входами элементов И 24.1-24. k-1, выходы которых подключены к первым входам элементов ИЛИ 27.1-27. k-1 соответственно, выход элемента 43 задержки соединен с входом сброса регистра 6, выходы с первого по (k-1)-й которого подключены ко вторым входам элементов И 24.1-24.k- 1 соответственно и к третьим входам элементов И 23.1-23. k-1 соответственно, выходы которых соединены со вторыми входами элементов ИЛИ 27.1-27.k-1 соответственно, выходы которых являются выходами 47.1-47.k-1 модуля соответственно.

Назначение элементов модуля системы программного управления (фиг. 1) состоит в следующем.

Блок 1 памяти микрокоманд служит для постоянного хранения и выдачи микрокоманд, входящих в участки программ, закрепленные за текущим модулем. Очередная микрокоманда появляется на выходах блока 1 сразу (спустя некоторое время задержки) после подачи на его адресный вход соответствующего адреса.

Счетчик 2 адреса предназначен для приема, хранения, модификации и выдачи исполнительного адреса следующей микрокоманды. Счетчик 2 функционирует в одном из двух режимов в зависимости от сигнала на его управляющем входе (V). Если этот сигнал нулевой, то счетчик 2 работает в режиме счета и поступление заднего фронта очередного импульса на его счетный вход и вход синхронизации вызывает увеличение его содержимого на единицу. Если данный сигнал единичный, то счетчик 2 работает в режиме приема информации и появление заднего фронта импульса на его счетном входе и входе синхронизации обусловливает запись в него кода с информационного входа (D). (Вход синхронизации и счетный вход счетчика 2 соединены.) Счетчик 3 времени задержки служит для отсчета времени обработки (выдачи) микрокоманд. Указанное время (выраженное числом периодов следования импульсов синхронизации, формируемых генератором 45) определяется разностью 2n+1-, где 0 < < 2n+1 - код времени задержки, размещаемый в счетчике 3; n - разрядность счетчика 3. Максимальное время обработки микрокоманды задается кодом = 00...01; обработка микрокоманды без задержки осуществляется при = 11...11. Счетчик 3 аналогично счетчику 2 адреса работает либо в режиме счета импульсов, либо в режиме приема информации. Переход в первый из указанных режимов происходит при единичном сигнале на управляющем входе (V) счетчика 3; во втором режиме счетчик 3 работает при нулевом сигнале на управляющем входе. (Вход синхронизации и счетный вход счетчика 3 соединены.) Регистр 4 микроопераций используется для приема, временного хранения и выдачи кода микроопераций.

Шифратор 5 адреса предназначен для формирования адреса приема управления при поступлении сигналов передачи управления от других модулей или устройства управления верхнего уровня. Указанный адрес аналогично прототипу однозначно определяется номером входа или направлением, с которого поступает сигнал передачи управления.

Регистр 6 введен для временной фиксации кодов передачи управления и кодов окончания параллельных участков программ при работе модуля в режиме передачи управления другим модулям и завершении параллельных участков соответственно.

Шифратор 7 кода синхронизации обеспечивает преобразование обобщенного состояния других модулей системы, определяемого кодом на прямых выходах триггеров 12.1-12.k-l, в соответствующий двоичный код.

Схема 8 сравнения предназначена для сравнения кода обобщенного состояния других модулей с кодом синхронизации, задающим подмножество требуемых (синхронизируемых) параллельных участков программ (т. е. реализующих эти участки модулей).

Триггер 9 режима служит для индикации текущего режима работы модуля. Единичное состояние триггера 9 соответствует рабочему режиму модуля, нулевое состояние определяет нахождение модуля в режиме ожидания передачи управления от другого модуля или устройства управления верхнего уровня, либо работу модуля в режиме управления синхронизацией параллельных участков программ.

Блок 10 тристабильных элементов используется для отключения выхода регистра 4 от шины 11 микроопераций при переходе модуля в режим ожидания или управления синхронизацией параллельных участков программ.

Шина 11 микроопераций предназначена для передачи сигналов микроопераций с выходов блоков 10 модулей системы на входы объекта управления.

Триггеры 12.1-12. k-1 введены для хранения обобщенного состояния других модулей системы при работе текущего модуля в режиме управления синхронизацией параллельных участков. Переключение триггеров 12.1-12.k-1 в единичное состояние происходит при поступлении импульсов от других модулей на входы 46.1-46.k-1 соответственно.

Триггеры 13.1-13.k служат для временной фиксации сигналов передачи управления, поступающих на входы 46.1-46.k от других модулей и устройства управления верхнего уровня соответственно.

Коммутатор 14 направления приема адреса обеспечивает подключение информационного входа счетчика 2 адреса либо к выходу 1.2 блока 1 памяти микрокоманд, либо к выходу шифратора 5 адреса.

Элементы И 15, 16 служат для блокировки передачи импульсов синхронизации с выходов генератора 45 импульсов на входы элементов 37, 42, 43, 23.1-23. k-1, а также элементов 35, 44 и регистра 4 соответственно.

Элемент ИЛИ 17 служит для объединения сигналов с выхода элемента ИЛИ 40 и прямого выхода триггера 9 режима.

Элемент ИЛИ 18 предназначен для формирования сигнала - признака режима адресации следующей микрокоманды. При единичном сигнале на выходе элемента 18 реализуется режим принудительной адресации, при нулевом - режим естественной адресации.

Элемент ИЛИ 19 используется для формирования сигнала - признака приема управления.

Элемент ИЛИ 20 служит для формирования сигнала управления счетчиком 3 времени задержки.

Элементы И 21.1-21. k-1 служат для запрещения прохождения импульсов с входов 46.1-46.k-1 модуля на счетные входы триггеров 12.1-12.k-1 соответственно.

Элементы И 22.1-22-k-1 предназначены для запрещения прохождения импульсов с входов 46.1-46. k-1 модуля на входы элементов ИЛИ 25.1- 25.k-1 соответственно.

Элементы И 23.1-23.k-1 используются для блокировки /разрешения передачи импульсов с выхода элемента И 15 на вторые входы элементов ИЛИ 27.1-27.k-1 соответственно.

Элементы И 24.1-24.k-1 используются для блокировки /разрешения передачи импульсов с выхода элемента 44 задержки на первые входы элементов ИЛИ 27.1-27.k-1 соответственно.

Элементы ИЛИ 25.1-25.k-1 служат для формирования сигналов переключения триггеров 13.1-13.k-1 соответственно.

Элементы ИЛИ 26.1-26.k-1 служат для формирования сигналов сброса триггеров 12.1-12.k-1 соответственно.

Элементы ИЛИ 27.1-27.k-1 предназначены для объединения сигналов с выходов элементов И 24.1-24.k-1 и 23.1-23.k-1 соответственно.

Триггер 28 предназначен для управления блокировкой элемента И 35.

Триггер 29 служит для попеременной блокировки элемента И 33 и элементов И 15,16.

Элемент И 30 предназначен для формирования сигнала управления счетчиком 2 адреса.

Элементы И 31, 36 введены для блокировки прохождения импульсов с выхода переноса счетчика 3 на вход синхронизации и счетный вход счетчика 2, а также на вход сброса (R) счетчика 2 соответственно.

Элемент И 32 предназначен для блокировки прохождения импульсов с выхода переноса счетчика 3 на входы элементов ИЛИ 25.1-25.k-1 и вход синхронизации триггера 13.k.

Элемент И 33 служит для формирования сигнала - признака окончания подмножества параллельных участков программ.

Элемент И 34 служит для блокировки прохождения импульсов синхронизации с выхода 45.1 генератора 45 при отсутствии признака окончания параллельных участков на выходе элемента И 33.

Элемент И 35 предназначен для блокировки /разрешения поступления импульсов синхронизации на вход синхронизации регистра 6.

Элемент И 37 введен для блокировки поступления импульсов синхронизации на вход элемента ИЛИ 41 с выхода элемента И 15.

Элемент ИЛИ 38 служит для объединения сигнала - признака приема управления с выхода элемента ИЛИ 19 и сигнала - признака окончания параллельных участков с выхода элемента И 33.

Элемент ИЛИ 39 предназначен для формирования обобщенного сигнала - метки передачи управления /окончания участка программы.

Элемент ИЛИ 40 предназначен для формирования обобщенного сигнала - метки окончания участка программы /управления синхронизацией параллельных участков.

Элемент ИЛИ 41 предназначен для объединения сигналов с выходов элементов И 34 и 37.

Элемент ИЛИ 42 служит для объединения сигналов с выходов элементов И 15 и 34.

Элемент 43 задержки обеспечивает сдвиг импульсов сброса регистра 6 на время, достаточное для передачи импульсов с выхода элемента И 15 через элементы И 23.i1-23.ip, i1,...,ip {1,2,...,k-1}, открытые единичными сигналами с соответствующих выходов регистра 6.

Элемент 44 задержки обеспечивает сдвиг импульсов сброса триггера 28 на время, достаточное для прохождения этих импульсов на выход элемента И 35.

Генератор 45 импульсов служит для формирования двух сдвинутых друг относительно друга импульсных последовательностей t1 и t2, синхронизирующих работу различных узлов модуля.

Рассмотрим работу предлагаемого модуля. Учитывая, что модуль предназначен для включения в состав системы управления, его функционирование будем рассматривать во взаимосвязи с другими аналогичными модулями. (Структура системы программного управления на базе предлагаемого модуля, содержащей шесть идентичных модулей, представлена на фиг.3.) Первоначально все элементы памяти (триггеры, регистры и счетчики) модуля находятся в состоянии логического нуля. (Цепи начальной установки на фиг.1 для упрощения условно не показаны.) В ячейках блока 1 памяти микрокоманд размещены микрокоманды, входящие в участки программ, закрепленные за рассматриваемым модулем. В ячейке блока 1 с адресом "00...0" хранится микрокоманда специального формата ФН (фиг.2), соответствующая исходному состоянию модуля.

Синхронизация работы различных элементов модуля аналогично прототипу осуществляется двумя сдвинутыми друг относительно друга импульсными последовательностями t1 и t2. В отличие от прототипа, где импульсы t1 и t2 поступают от внешнего генератора импульсов, общего для всех модулей системы, синхронизация в предлагаемом модуле является "внутренней": импульсы t1 и t2 вырабатываются генератором 45 (фиг.1). Формирование импульсов t1 и t2 на выходах генератора 45 начинается сразу после включения питания модуля и происходит непрерывно вплоть до отключения питания.

Поскольку на выходе счетчика 2 адреса присутствует нулевой код, на выходах блока 1 находится микрокоманда формата ФН. Нулевые сигналы с выходов 1.3 и 1.5 блока 1 в объединении с единичным кодом с выхода 1.2 блока 1, который обусловливает наличие сигнала логической единицы на выходе элемента ИЛИ 18, формируют единичный сигнал на выходе элемента И 30 и тем самым переводят счетчик 2 в режим приема информации с выхода коммутатора 14. Нулевой сигнал с прямого выхода триггера 9 закрывает блок 10, отключая выход регистра 4 от шины 11 микроопераций. Нулевые сигналы с выходов 1.3 и 1.4 блока 1 формируют нулевой сигнал на выходе элемента ИЛИ 39 и, таким образом, закрывают элемент И 35. Нулевой сигнал с выхода 1.4 блока 1, кроме того, блокирует элемент И 36, открывает элемент И 31, а также совместно с нулевым сигналом с выхода 1.5 блока 1 формирует нулевой сигнал на выходе элемента ИЛИ 40. Нулевые сигналы с выхода элемента 40 и прямого выхода триггера 9 обусловливают блокировку элементов И 15 и 16. Сигнал логического нуля с выхода 1.5 блока 1 закрывает элементы И 33 и 37, а следовательно, и элемент И 34. Нулевой код с информационного выхода счетчика 3 времени задержки устанавливает сигнал логического нуля на выходе элемента ИЛИ 20, в связи с чем счетчик 3 работает в режиме приема информации.

Функционирование модуля (и системы программного управления в целом) начинается с момента прихода на вход 46.k модуля импульса запуска от устройства управления верхнего уровня. Данный импульс поступает на вход установки триггера 13.k и переводит его в единичное состояние. Единичный сигнал с прямого выхода триггера 13.k совместно с нулевыми сигналами с прямых выходов триггеров 13.1-13. k-1 подается на входы шифратора 5 адреса. На выходе шифратора 5 образуется фиксированный ("жесткий") адрес первой микрокоманды начального участка реализуемой программы в блоке 1 Анач. Адрес Анач. поступает на входы элемента ИЛИ 19 и, будучи ненулевым, устанавливает на его выходе единичный сигнал. Этот сигнал подается на управляющие входы коммутатора 14, коммутирует его выход с выходом шифратора 5 и обеспечивает передачу адреса Анач. на информационный вход счетчика 2. Одновременно этот же сигнал открывает элемент И 32 и, проходя также через элемент ИЛИ 38 на J-вход триггера 9, подготавливает последний к переключению в единичное состояние.

Очередной импульс t1 с выхода 45.1 генератора 45 поступает на вход синхронизации триггера 9 и задним фронтом устанавливает этот триггер в состояние логической единицы. Единичный сигнал с прямого выхода триггера 9 через элемент ИЛИ 17 проходит на входы элементов И 15 и 16 и разрешает дальнейшее поступление импульсов t1 и t2 на их выходы. Этот же сигнал поступает на управляющий вход блока 10, переводит его в активный режим и подключает тем самым выход регистра 4 к шине 11.

Следующий импульс t2 с выхода 45.2 генератора 45 через элемент И 16 проходит на вход синхронизации регистра 4 и задним фронтом фиксирует в нем нулевой код с выхода 1.1 блока 1. Этот же импульс через элемент 44 задержки поступает на вход сброса триггера 28 и подтверждает его нулевое состояние. Поскольку элементы И 35, 24.1-24.k-1 заблокированы, импульс t2 других действий не производит: регистр 6 остается в нулевом состоянии, уровень сигнала на выходах 47.1-47.k-1 модуля остается нулевым.

Очередной импульс t1 поступает на вход синхронизации триггера 9 и подтверждает его единичное состояние. Этот же импульс через элемент И 15 и элемент ИЛИ 42 передается на вход синхронизации и счетный вход счетчика 3 и задним фронтом фиксирует в нем код "11...1", поступающий с выхода 1.6 блока 1. На выходе элемента ИЛИ 20 образуется сигнал логической единицы, и счетчик 3 переключается в режим счета. Одновременно импульс t1 с выхода элемента 15 через элемент 43 задержки подается на вход сброса регистра 6 и подтверждает его нулевое состояние.

Следующий импульс 12 подтверждает нулевое состояние регистра 4 и триггера 28.

Очередной импульс t1 через элемент 15 и элемент 42 поступает на счетный вход счетчика 3 и задним фронтом инициирует добавление единицы к текущему коду, размещенному в счетчике 3. Поскольку указанный код является единичным, прибавление к нему единицы вызывает переполнение счетчика 3. Счетчик 3 переходит в состояние "00...0", нулевой код с информационного выхода счетчика 3 формирует нулевой потенциал на выходе элемента 20 - счетчик 3 снова переключается в режим приема информации. Одновременно на выходе переноса (р) счетчика 3 появляется импульс переполнения p, по форме и длительности аналогичный импульсам t1 и t2.

Импульс p с выхода переноса счетчика 3 поступает на вход установки триггера 28 и переводит его в единичное состояние. Кроме того, импульс p через открытый элемент И 31 проходит на вход синхронизации счетчика 2 и задним фронтом фиксирует в нем адрес Анач, установленный на выходе шифратора 5. Одновременно этот же импульс через