# MM2.py - Модуль для ввода параметров и выполнения моделирования # Ввод параметров znach = input('k1,T,k2,Xm,A,F,N=').split(',') k1 = float(znach[0]) # Коэффициент усиления двигателя T = float(znach[1]) # Постоянная времени двигателя k2 = float(znach[2]) # Коэффициент тахогенератора Xm = float(znach[3]) # Половина зоны нечувствительности A = float(znach[4]) # Амплитуда входного сигнала F = float(znach[5]) # Частота входного сигнала (в отсчетах на период) N = int(znach[6]) # Количество точек расчета import math # Формирование входного сигнала (синусоида) vhod = [] for i in range(N): vhod.append(A * math.sin((2 * i * math.pi) / F)) # Импорт модуля с функциями import MM1 as mod # Начальные условия yi1 = 0 # Текущее значение выхода двигателя yin1 = 0 # Внутренняя переменная двигателя yi2 = 0 # Текущее значение выхода тахогенератора # Моделирование системы vyhod = [] for xt in vhod: # Отрицательная обратная связь xt1 = xt - yi2 # Двигатель [yi1, yin1] = mod.realdvig(xt1, k1, T, yi1, yin1) # Тахогенератор (интегрирует скорость) yi2 = mod.tahogen(yin1, k2, yi2) # Зона нечувствительности yt = mod.nechus(yin1, Xm)