Скачиваний:
4
Добавлен:
02.05.2014
Размер:
26.7 Кб
Скачать
#-*- coding: cp1251 -*-

# -----------------------------------------------------
# Программа parATKvXXX.py
# Модуль expSub.py
#
# Модуль учебных (экспериментальных) подпрограмм
#
# Данный модуль содержит подпрограммы дополонительных циклов
# конфигурации АТК12 (двенадцать силовых головок)
# автоматизированного технологического комлпекса АТК.
# Модуль предназначен для упрощения экспериментов
# по многопоточному программированию
# с групповыми циклами силовых головок в конфигурации АТК12.
# Для программных экспериментов на основе данного модуля
# в блок переключателей рабочего режима на пульте управления
# дополнительно введены
# второй и третий ряды перецелючателей циклов (радио-кнопки).
#
# ----------------------------------------------------
# Разработчик программы parATK Житников А.П.
# ноябрь 2005г.
# -----------------------------------------------------

import ConfigParser
import tkFileDialog
import thread
import threading
import math, time

import expSub



# -------------------------------------

#----------------------------------
#----------------------------------
#----------------------------------
# Группа задач Э2: Этап 2: Тренаж: Простые примеры
# Первичный тренаж - упаковка в паралльеные потоки отдельных команд
# Используется второй ряд переключателей циклов рабочего режима


# #-----------------------------------------
# Пример A001: Пустой алгоритм - проходная интерпретация

# СФА: Структурная формула алгоритма
# A001 = () = (-) = (->) = (R) = -> = R
# ССА: Структурная схема алгоритма
# A211: R
# ----------> = ------+---->
# ВТА: Вербальный текст алгоритма / ПиПТ: Питон-подобный текст
# ГИ: Горизонтальное исполнение
# ШТА: Шаблон текста алгоритма
# A001 = () = R
# A001 = R
# РТА: Рабочий текст алгоритма
# alg A001(): pass
# ВИ: Вертикальное исполнение
# ШТА: Шаблон текста алгоритма РТА: Рабочий текст алгоритма

# A001 A001= A001= A001= alg A001():
# = ( ( | R pass
# ( R | R
# R ) )
# )

# ТПР: Текст программной реализации алгоритма

def eA001(ccrt, hCycles): # alg A001():
pass # пустой оператор: R = ->

# Необходимо строго соблюдать стандартные отступы



# #-----------------------------------------
# Пример A002: Пустой алгоритм - непроходная интерпретация
# Для сведения
# СФА: Структурная формула алгоритма
# A002 = (|)



# #-----------------------------------------
# Пример A101: Единичный алгоритм

# СФА: Структурная формула алгоритма
# A101 = (Z7) = Z7
# ССА: Структурная схема алгоритма
# A211: Z7
# ------+----->
# ВТА: Вербальный текст алгоритма / ПиПТ: Питон-подобный текст
# ГИ: Горизонтальное исполнение
# ШТА: Шаблон текста алгоритма
# A001 = (Z7) = Z7
# A001 = Z7
# РТА: Рабочий текст алгоритма
# alg A001(): Zh7()
# ВИ: Вертикальное исполнение
# ШТА: Шаблон текста алгоритма РТА: Рабочий текст алгоритма

# A001 A001= A001= A001= alg A001( ):
# = ( ( | Z7 Zh7( )
# ( Z7 | Z7
# Z7 ) )
# )

def eA101(ccrt, hCycles): # alg A211():
hCycles.Zh(ccrt.techsys.head7) # Zh7() - типовой цикл СГ7

# Необходимо строго соблюдать стандартные отступы




# #-----------------------------------------
# Пример A211: Последовательность двух команд

# СФА: Структурная формула алгоритма
# A211 = (Z7-Z4)
# ССА: Структурная схема алгоритма
# A211: Z7 Z4
# ------+--+---->
# ВТА: Вербальный текст алгоритма / ПиПТ: Питон-подобный текст
# ГИ: Горизонтальное исполнение
# ШТА: Шаблон текста алгоритма
# A211 = (Z7-Z4) = Z7-Z4
# A211 = Z7-Z4
# РТА: Рабочий текст алгоритма
# alg A211(): Zh7( ); Zh4( )
# ВИ: Вертикальное исполнение
# ШТА: Шаблон текста алгоритма РТА: Рабочий текст алгоритма

# A211 A211= A211= A211= A211= alg A211( ):
# = ( ( | Z7 - | Z7 Zh17( )
# ( Z7 - | Z7 - | Z4 | Z4 Zh4( )
# Z7 Z4 | Z4
# - ) )
# Z4
# )
# ТПР: Текст программной реализации алгоритма

def eA211(ccrt, hCycles): # alg A211():
hCycles.Zh(ccrt.techsys.head7) # Zh7() - типовой цикл СГ7
hCycles.Zh(ccrt.techsys.head4) # Zh4() - типовой цикл СГ4
# Необходимо строго соблюдать стандартные отступы



# #-----------------------------------------
# Пример A222: Параллельная конъюнкция двух команды (#&).
# Одна команда (Z4) выносится в поток.

# СФА: Структурная формула алгоритма
# A222 = (Z7 & Z4) = (Z7 #& Z4) = #(Z7, Z4)& = #Z7,Z4&
# ССА: Структурная схема алгоритма // Исходная формула
# Исходная схема
# A222: # Z7 &
# ------+--+--+---->
# | Z4 |
# +--+--+
# Модификация схемы

# A222: FZ4 Z7 J&Z4
# ------+-----+----+---->
# Z4
# |-----+-----| команда Z4, упакованная в поток (thread)

# FZi = F(Zi) = Fork(Zi) - оператор узла вилки:
# кпаковка в поток и вызов команды Zi в потоке
# J&Zi = J&(Zi) = Join_&(Zi) - оператор узла сборки:
# ожижание (wait) завершения команды Zi

# ВТА: Вербальный текст алгоритма / ПиПТ: Питон-подобный текст
# ГИ: Горизонтальное исполнение
# ШТА: Шаблон текста алгоритма
# A222 = #(Z7, Z4)& = # Z7, Z4 & = # Z7 Z4 & = FZ4 Z7 JZ4 = FZ4-Z7-J&Z4
# * * * метки
# РТА: Рабочий текст алгоритма
# alg A222(): Fork(Zh4()); Zh7(); Join_&(Zh4())
# ВИ: Вертикальное исполнение
# ШТА: Шаблон текста алгоритма РТА: Рабочий текст алгоритма

# A222 = alg A222():
# | FZ4 Fork(Zh4())
# | Z7 Zh7()
# | J&Z4 Join_&(Zh4())

# ТПР: Текст программной реализации алгоритма

# Исходный вариант

def eA222a(ccrt, hCycles): # alg A222():
thread.start_new(hCycles.Zh, (ccrt.techsys.head4, )) # Fork(Zh4())
hCycles.Zh(ccrt.techsys.head7) # Zh7()
while not ccrt.techsys.head7.yzh: # Join(Zh4(): ожидание (head4.yzh = 1)
pass # пустой оператор тела цикла

def fffff(ccrt, hCycles):
hCycles.Zh(ccrt.techsys.head4)

def eA222b(ccrt, hCycles): # alg A222():
print '1111111111111111111111'
thread = threading.Thread(target = fffff(ccrt, hCycles))
# tttttt = hCycles.Zh(ccrt.techsys.head4)
# thread = threading.Thread(target = tttttt)
# thread = threading.Thread(target = hCycles.Zh(ccrt.techsys.head4))
# thread = threading.Thread(target = hCycles.Zh(ccrt.techsys.head4),)
# thread = threading.Thread(target = hCycles.Zh(ccrt.techsys.head4,)) thread = threading.Thread(target = hCycles.Zh(ccrt.techsys.head4),)
# thread = threading.Thread(target = hCycles.Zh(ccrt.techsys.head4,),)
# thread = threading.Thread(None, hCycles.Zh(ccrt.techsys.head4), None, args=(), kwargs =())
thread.start() # Fork(Zh4())
print '2222222222222222222222'
hCycles.Zh(ccrt.techsys.head7) # Zh7()
thread.join() # Fork(Zh4())

# Модификация 1: Задержка в цикле - разгрузка процессора

def eA222(ccrt, hCycles): # alg A2221():
thread.start_new(hCycles.Zh, (ccrt.techsys.head4, )) # Fork(Zh4())
hCycles.Zh(ccrt.techsys.head7) # Zh7()
while not ccrt.techsys.head4.yzh: # Join(Zh4(): ожидание (head4.yzh = 1)
time.sleep(0.1) # задержка для разгрузки процессора

# Модификация 2: Задержка в цикле и вывод сообщения (для отладки)

def eA222e(ccrt, hCycles): # alg A2221():
thread.start_new(hCycles.Zh, (ccrt.techsys.head4, )) # Fork(Zh4())
hCycles.Zh(ccrt.techsys.head7) # Zh7()
while not ccrt.techsys.head4.yzh: # Join(Zh4(): ожидание (head4.yzh = 1)
time.sleep(0.1) # задержка для разгрузки процессора
print 'yzh4 = 0' # вывод сообщения - работа узла Join


# #-----------------------------------------
# Пример A222_2: Параллельная конъюнкция двух команд (#&):
# обе команды (Z4, Z7) выносятся в поток.
# Вспомогательный вариант - для подготовки параллельной дизъюнкции (#V)

# СФА: Структурная формула алгоритма
# A222_2 = (Z7 & Z4) = (R &(Z7 & Z4)) = (R #& (Z7 #& Z4)) = #(R, #(Z7, Z4)&)& =
# = (R & Z7 & Z4) = (R #& Z7 #& Z4) = #(R, Z7, Z4)&
# R = -> - пустой оператор (повторитлеь),
# эквивалентный линии простой связи " -> "
# ССА: Структурная схема алгоритма
# Исходная схема
# A222_2: # Z7 & A222_2: # -> = R & A222_2: # (R) &
# --------+--+--+----> = --------+--------------+----> = --------+--+--+---->
# | Z4 | | # Z7 & | | Z7 |
# +--+--+ +--+--+--+--+ +--+--+
# | Z4 | | Z4 |
# +--+--+ +--+--+
# СФА: Структурная формула алгоритма // Продолжение
# A222_2 = (Z7 & Z4) = (R & Z7 & Z4) = ((R & Z7) & Z4))=
# = ((R #& Z7) #& Z4) = #(#(R, Z7)&, Z4)&
# ССА: Структурная схема алгоритма // Продолжение
# Исходная схема
# A222_2: # Z7 & A222_2: # # (R) & & A222_2: # # & &
# --------+--+--+----> = --------+--+--+--+--+----> = --------+--+-----+--+-->
# | Z4 | | | Z7 | | | | Z7 | |
# +--+--+ | +--+--+ | | +--+--+ |
# | Z4 | | Z4 |
# +------+------+ +-----+------+
# Модификация схемы
# A2221: FZ4 FZ7 (R) J&Z7 J&Z4 A2221: FZ4 FZ7 J&Z7 J&Z4
# --------+-----+-----+-----+------+------> = --------+-----+--------+------+------>
# Z7
# |-----+------| команда Z7, упакованная в поток (thread)
# Z4
# |-------------+--------------| команда Z4, упакованная в поток (thread)

# ВТА: Вербальный текст алгоритма / ПиПТ: Питон-подобный текст
# ГИ: Горизонтальное исполнение
# ШТА: Шаблон текста алгоритма
# A222_2 = #(#(R, Z7)&, Z4)& = # # R, Z7 &, Z4 & =
# = # # R Z7 & Z4 & = FZ4 # R Z7 & J&Z4 =
# * * * * * *
# = FZ4 FZ7 R J&Z7 J&Z4

# РТА: Рабочий текст алгоритма
# alg A222_2(): Fork(Zh4()); Fork(Zh7()); pass; Join_&(Zh()); Join_&(Zh4())
# ВИ: Вертикальное исполнение
# ШТА: Шаблон текста алгоритма РТА: Рабочий текст алгоритма

# A222_1= alg A222_1():
# | FZ4 Fork(Zh4())
# | FZ7 Fork(Zh7(
# | J&Z7 Join_&(Zh7())
# | J&Z4 Join_&(Zh4())

# ТПР: Текст программной реализации алгоритма

def eA222_2(ccrt, hCycles):
thread.start_new(hCycles.Zh, (ccrt.techsys.head4, ))
thread.start_new(hCycles.Zh, (ccrt.techsys.head7, ))
# pass # может стоять пустой оператор: pаss = R (может опускаться)
# однако появляется неусточивость в работе - необходима задержка
time.sleep(1) # задержка R(m) - задержанный повторитель (m = 1 sec)
while not ccrt.techsys.head7.yzh: # Join(Zh7(): ожидание (head7.yzh = 1)
time.sleep(0.1) # (необязательная) задержка для разгрузки процессора
# print 'yzh7 = 0' # (необязательный) вывод сообщения - работа узла Join
while not ccrt.techsys.head4.yzh: # Join(Zh4(): ожидание (head4.yzh = 1)
time.sleep(0.1) # (необязательная) задержка для разгрузки процессора
# print 'yzh4 = 0' # (необязательный) вывод сообщения - работа узла Join



# #-----------------------------------------
# Пример A222_3: Параллельная конъюнкция двух команд (#&).
# Обе команды выносятся в поток.
# Модифицируется узел сборки
# Вспомогательный вариант - для подготовки параллельной дизъюнкции (#V)

# СФА: Структурная формула алгоритма // Продолжение
# A222_3 = (Z7 & Z4) = (R & Z7 & Z4) = ((R & Z7) & Z4))=
# = ((R #& Z7) #& Z4) = #(#(R, Z7)&, Z4)&
# ССА: Структурная схема алгоритма // Модификация
# A222_3: # Z7 & A222_3: # # & &
# --------+--+--+----> = --------+--+-----+--+--> =
# | Z4 | | | Z7 | |
# +--+--+ | +--+--+ |
# | Z4 |
# +------+-----+
#
# A222_3: # # &
# = --------+--+--------+--> =
# | | |
# | | ----& Дополнительный узел &-сборки
# | | Z7 | |
# | +--+--+ |
# | Z4 |
# +------+-----+
# ВТА: Вербальный текст алгоритма / ПиПТ: Питон-подобный текст
# ГИ: Горизонтальное исполнение
# ШТА: Шаблон текста алгоритма // Модификация
# A222_2 = #(#(R, Z7)&, Z4)& = # # R, Z7 &, Z4 & =
# = # # R Z7 & Z4 & = FZ4 # R Z7 & J&Z4 =
# * * * * * *
# A222_3 = FZ4 FZ7 R J&Z7 J&Z4 = FZ4 FZ7 R J&(Z7' & Z4')
#
# РТА: Рабочий текст алгоритма
# alg A222_3(): Fork(Zh4()); Fork(Zh7()); pass; Join_&(Zh()'and (Zh4()')
# ВИ: Вертикальное исполнение
# ШТА: Шаблон текста алгоритма РТА: Рабочий текст алгоритма

# A222_3= alg A222_3():
# | FZ4 Fork(Zh4())
# | FZ7 Fork(Zh7(
# | J&(Z7'& Z4') Join_&(Zh7()' and (Zh4()')

# ТПР: Текст программной реализации алгоритма

def eA222_3(ccrt, hCycles):
thread.start_new(hCycles.Zh, (ccrt.techsys.head4, ))
thread.start_new(hCycles.Zh, (ccrt.techsys.head7, ))
# pass # может стоять пустой оператор: pаss = R (может опускаться)
# однако появляется неусточивость в работе - необходима задержка
time.sleep(1) # задержка R(m) - задержанный повторитель (m = 1 sec)
while not(ccrt.techsys.head4.yzh and ccrt.techsys.head7.yzh):
time.sleep(0.1) # задержка для разгрузки процессора
# print 'yzh7 = 0' # (необязательный) вывод сообщения - работа узла Join
pass



# #-----------------------------------------
# Пример A232: Параллельная дизъюнкция двух команд (#&).
# Обе команды выносятся в поток.
# Модифицируется узел сборки

# СФА: Структурная формула алгоритма
# A232 = (Z7 V Z4) = (R & (Z7 V Z4)) = (R #& (Z7 #V Z4)) = #(R, #(Z7, Z4)V)& =
# = (R & Z7 & Z4) = (R #& Z7 #& Z4) = #(R, Z7, Z4)&
# ССА: Структурная схема алгоритма // Модификация
# ССА: Структурная схема алгоритма
# A232: # Z7 V A232: # -> = R &
# --------+--+--+----> = --------+--------------+----> =
# | Z4 | | # Z7 V |
# +--+--+ +--+--+--+--+
# | Z4 |
# +--+--+
# ССА: Структурная схема алгоритма // Модификация
# A232: # # &
# = --------+--+---------+--> =
# | | |
# | | ----V Дополнительный узел V-сборки
# | | Z7 | |
# | +--+--+ |
# | Z4 |
# +-----+-----+
#
# ТПР: Текст программной реализации алгоритма

def eA232(ccrt, hCycles):
thread.start_new(hCycles.Zh, (ccrt.techsys.head5, ))
thread.start_new(hCycles.Zh, (ccrt.techsys.head4, ))
hCycles.Zh(ccrt.techsys.head7) # Zh7()
while not(ccrt.techsys.head4.yzh or ccrt.techsys.head7.yzh):
time.sleep(0.1) # задержка для разгрузки процессора
# print 'yzh5 = 0' # (необязательный) вывод сообщения - работа узла Join





# #-----------------------------------------
# Пример A323: Параллельная дизъюнкция трех команд (#&).
# Две команды выносятся в поток.

def eA323(ccrt, hCycles):
thread.start_new(hCycles.Zh, (ccrt.techsys.head7, ))
thread.start_new(hCycles.Zh, (ccrt.techsys.head5, ))
thread.start_new(hCycles.Zh, (ccrt.techsys.head4, ))
time.sleep(1)
while not ccrt.techsys.head7.yzh: # Join(Zh7(): ожидание (head7.yzh = 1)
time.sleep(0.1) # задержка для разгрузки процессора
while not ccrt.techsys.head4.yzh: # Join(Zh4(): ожидание (head4.yzh = 1)
time.sleep(0.1) # задержка для разгрузки процессора





# #-----------------------------------------
# Пример A343: Параллельный алгоритм:


def eA342(ccrt, hCycles):
thread.start_new(hCycles.Zh, (ccrt.techsys.head4, ))
thread.start_new(hCycles.Zh, (ccrt.techsys.head7, ))
time.sleep(1) # спец. задержка
while not(ccrt.techsys.head4.yzh or ccrt.techsys.head7.yzh):
time.sleep(0.1) # задержка для разгрузки процессора
hCycles.Zh(ccrt.techsys.head5) # цикл силовой головки
while not(ccrt.techsys.head4.yzh and ccrt.techsys.head7.yzh):
time.sleep(0.1) # задержка для разгрузки процессора







#----------------------------------
#----------------------------------
#----------------------------------
# Группа задач Э3: Этап 3: Работа: Самостоятельные разработки
# Применяется упаковка попрограмм в паралльеные потоки
# Используется третий ряд переключателей циклов рабочего режима


# #-----------------------------------------
# Пример A141: Опорный пример: Параллельная конъюнкция


# СФА: Структурная формула алгоритма
# A991 = (Z1 - (( ( Z2 & Z5 ) - Z2) & ((( Z7 - (Z8 &Z3 )) & (Z4 - Z1 ) ) - Z0 ) ) )

# ТПР: Текст программной реализации алгоритма

# Исходный вариант
def A40(ccrt, hCycles):
hCycles.za40 = 0
hCycles.Zh(ccrt.techsys.head5)
hCycles.za40 = 1

def A30(ccrt, hCycles):
hCycles.za30 = 0
hCycles.Zh(ccrt.techsys.head4)
hCycles.Zh(ccrt.techsys.head1)
hCycles.za30 = 1

def A20(ccrt, hCycles):
hCycles.za20 = 0
hCycles.Zh(ccrt.techsys.head3)
hCycles.za20 = 1

def A10(ccrt, hCycles):
hCycles.za10 = 0
thread.start_new(expSub.A30, (ccrt, hCycles, ))
hCycles.Zh(ccrt.techsys.head7)
thread.start_new(expSub.A20, (ccrt, hCycles, ))
hCycles.Zh(ccrt.techsys.head8)
while not hCycles.za20:
time.sleep(0.1)
while not hCycles.za30:
time.sleep(0.1)
hCycles.Zh(ccrt.techsys.head10)
hCycles.za10 = 1

def eAxx1(ccrt, hCycles):
thread.start_new(expSub.A10, (ccrt, hCycles, ))
thread.start_new(expSub.A40, (ccrt, hCycles, ))
hCycles.Zh(ccrt.techsys.head2)
while not hCycles.za40:
time.sleep(0.1)
hCycles.Zh(ccrt.techsys.head2)
while not hCycles.za10:
time.sleep(0.1)



# Модификация 1:

def A20m1(ccrt, hCycles): # подпрограмма дополнитtльного потока
print 'begin A20'
hCycles.za20 = 0
hCycles.Zh(ccrt.techsys.head5) # СГ5 - типовой цикл
hCycles.Zh(ccrt.techsys.head6) # СГ6 - типовой цикл
hCycles.za20 = 1
print 'end A20'


def A10m1(ccrt, hCycles): # подпрограмма дополнитtльного потока
print 'begin A10'
# mutex = thread.allocate_lock() # замок взаимного исключения доступа
hCycles.za10 = 0
hCycles.Zh(ccrt.techsys.head3) # СГ3 - типовой цикл
thread.start_new(expSub.A20, (ccrt, hCycles, )) # поток СГ1
hCycles.Zh(ccrt.techsys.head4) # СГ4 - типовой цикл
print 'begin while A10'
while not hCycles.za20:
# expSub.mutex2.acquire()
time.sleep(0.1) # задержка для разгрузки процессора
print 'A10 -----------'
# expSub.mutex2.release()
print 'end while A10'
hCycles.za10 = 1
print 'end A10'


def eAxx1m1(ccrt, hCycles): # A992
print 'begin eAxx1'
expSub.mutex = thread.allocate_lock() # замок взаимного исключения доступа
thread.start_new(expSub.A10, (ccrt, hCycles, )) # поток СГ1
hCycles.Zh(ccrt.techsys.head1) # СГ1 - типовой цикл
hCycles.Zh(ccrt.techsys.head2) # СГ2 - типовой цикл
print 'begin while eAxx1'
while not hCycles.za10:
expSub.mutex.acquire()
print 'eAxx1 &&&&&&&&&&&'
expSub.mutex.release()
time.sleep(0.1) # задержка для разгрузки процессора
print 'end while eAxx1'
hCycles.Zh(ccrt.techsys.head3) # СГ3 - типовой цикл
hCycles.Zh(ccrt.techsys.head1) # СГ1 - типовой цикл
print 'end eAxx3'





# #-----------------------------------------
# Пример A142: Опорный пример: Параллельная дизъюнкция

# СФА: Структурная формула алгоритма
# A992 = (Z1 - (((Z2 & Z5) – Z2)&(Z7 – ((Z8 & Z3)&(Z4 – Z1)))) – Z0)

# ТПР: Текст программной реализации алгоритма


def A50(ccrt, hCycles): # подпрограмма дополнитtльного потока
print 'begin A30'
hCycles.za30 = 0
hCycles.Zh(ccrt.techsys.head1) # СГ1 - типовой цикл
hCycles.Zh(ccrt.techsys.head2) # СГ2 - типовой цикл
hCycles.za30 = 1
print 'end A30'

def eAxx2(ccrt, hCycles): # A992
print 'begin eAxx2'
expSub.mutex = thread.allocate_lock() # замок взаимного исключения доступа
thread.start_new(expSub.A10, (ccrt, hCycles, )) # поток СГ1
thread.start_new(expSub.A30, (ccrt, hCycles, )) # поток СГ1
time.sleep(1) # спец. задержка
while not (hCycles.za10 or hCycles.za30):
time.sleep(0.1) # задержка для разгрузки процессора
hCycles.Zh(ccrt.techsys.head3) # СГ3 - типовой цикл
hCycles.Zh(ccrt.techsys.head1) # СГ1 - типовой цикл
print 'end eAxx2'

def eAxx2a(ccrt, hCycles): # A992
print 'begin eAxx2'
expSub.mutex = thread.allocate_lock() # замок взаимного исключения доступа
thread.start_new(expSub.A10, (ccrt, hCycles, )) # поток СГ1
thread.start_new(expSub.A30, (ccrt, hCycles, )) # поток СГ1
time.sleep(1) # спец. задержка
while not (hCycles.za10 or hCycles.za30):
expSub.mutex.acquire()
print 'eAxx1 &&&&&&&&&&&'
expSub.mutex.release()
time.sleep(1) # спец. задержка
pass
hCycles.Zh(ccrt.techsys.head3) # СГ3 - типовой цикл
hCycles.Zh(ccrt.techsys.head1) # СГ1 - типовой цикл
print 'end eAxx2'




# #-----------------------------------------

def eAxx3(ccrt, hCycles):
print 'begin eAxx3'
print 'end eAxx3'
pass

def eAxx4(ccrt, hCycles):
print 'begin eAxx4'
thread.start_new(expSub.A10, (ccrt, hCycles, )) # поток СГ1
thread.start_new(expSub.A30, (ccrt, hCycles, )) # поток СГ1
time.sleep(1) # спец. задержка
while not (hCycles.za10 and hCycles.za30):
# expSub.mutex.acquire()
print 'eAxx1 &&&&&&&&&&&'
# expSub.mutex.release()
time.sleep(1) # спец. задержка
pass
hCycles.Zh(ccrt.techsys.head3) # СГ3 - типовой цикл
hCycles.Zh(ccrt.techsys.head1) # СГ1 - типовой цикл
print 'end eAxx4'

def eAxx5(ccrt, hCycles):
print 'begin eAxx5'
print 'end eAxx5'
pass

def eAxx6(ccrt, hCycles):
print 'begin eAxx6'
print 'end eAxx6'
pass

def eAxx7(ccrt, hCycles):
print 'begin eAxx7'
print 'end eAxx7'
pass

def eAxx8(ccrt, hCycles):
print 'begin eAxx8'
print 'end eAxx8'
pass

def eAxx9(ccrt, hCycles):
print 'begin eAxx9'
print 'end eAxx9'
pass
Соседние файлы в папке ATK ASOI 231 Baimuratov 060126'1
  • #
    02.05.2014298 б4222
  • #
    02.05.2014296 б4547
  • #
    02.05.201426.7 Кб4expSub.py
  • #
    02.05.201414.41 Кб4expSub.pyc
  • #
    02.05.20146.2 Кб4onHelpMsg.py
  • #
    02.05.20149.72 Кб5onHelpMsg.pyc
  • #
    02.05.20145.39 Кб4paramSet.py
  • #
    02.05.20144.55 Кб4paramSet.pyc