我有一些代码基本上改变了电机控制器的速度并记录了数据,但是我想现在添加另一个类来包含一个pid控制器,我不知道(因为我是python编程的新手) ),如何在记录数据的同时调用每次迭代并为电机设置不同的值,换句话说,如何组合代码的两个部分:有人可以帮我这个吗?感谢
答案 0 :(得分:0)
不是将TESTER.onTimer
传递给PeriodicTimer
构造函数,而是传递一个同时调用TESTER.onTimer
和PID.update()
的函数。您必须拥有PID
的实例,就像TESTER
Tester
的实例一样。
另外,我建议像这样if __name__ == "__main__":
(注意main
函数和小写局部变量):
def main():
csv_file = open('DataRecorded.csv', 'wb')
writer = csv.writer(csv_file)
writer.writerow(['Time', 'Current[mA]', 'Voltage[V]', 'Position',
'Period', 'CurrentAct[mA]', 'VoltageAct[V]' ])
tester = Tester(5) #Change number to
timer = PeriodicTimer(0.05, tester.onTimer)
timer.start()
raw_input('Monitoring Current and Voltage') # Use input() in Python 3
IPCON.disconnect()
csv_file.close()
if __name__ == "__main__":
main()
您可能应该将{Birckd连接部分移到main()
内,但这可能会偏离主题。