Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

43 строки
1.7 KiB
Python

# 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)