Исходный текст программной реализации
ВИ: Вертикальное исполнение
Первичное решение
def A40(ccrt, hCycles): # подпрограмма дополнительного
потока
hCycles.za40 = 0 # Введение индикации окончания
A40
hCycles.Zh(ccrt.techsys.head5) # СГ5 - типовой цикл
hCycles.za40 = 1 # Окончание
процесса A40
def A30(ccrt, hCycles): # подпрограмма дополнительного
потока
hCycles.za30 = 0 # Введение индикации окончания
A30
hCycles.Zh(ccrt.techsys.head7) # СГ7 - типовой цикл
thread.start_new(expSub.A40, (ccrt, hCycles,
)) # поток A40
hCycles.Zh(ccrt.techsys.head4) # СГ4
- типовой цикл
while not hCycles.za40: # Контроль
окончания A40
time.sleep(0.1) # задержка
в цикле
ожидания
hCycles.za30 =
1 # Окончание процессаA30
def A20(ccrt, hCycles): # подпрограмма дополнительного
потока
hCycles.za20 = 0 # Введение индикации окончания
A20
hCycles.Zh(ccrt.techsys.head3) # СГ3 - типовой цикл
hCycles.Zh(ccrt.techsys.head6) # СГ6 - типовой цикл
hCycles.za20 = 1 # Окончание процесса A20
def A10(ccrt, hCycles): # подпрограмма дополнительного
потока
hCycles.za10 = 0 # Введение индикации окончания
A10
hCycles.Zh(ccrt.techsys.head6) # СГ6 - типовой цикл
thread.start_new(expSub.A20, (ccrt, hCycles,
)) # поток A20
hCycles.Zh(ccrt.techsys.head0) # СГ0
- типовой цикл
while not hCycles.za20: # Контроль
окончания A20
time.sleep(0.1) # задержка
в цикле
ожидания
hCycles.za10 =
1 # Окончание процессаA10
defeA581(ccrt,hCycles): #algA581() программа основного
потока
thread.start_new(expSub.A30, (ccrt, hCycles, )) #
поток A30
thread.start_new(expSub.A10, (ccrt, hCycles, )) #
поток A10
hCycles.Zh(ccrt.techsys.head1) # СГ1
- типовой цикл
while not hCycles.za10: # Контроль
окончания A10
while not hCycles.za30: # Контроль
окончания A30
time.sleep(0.1) #
задержка в цикле ожидания
3