我在写一个脚本来记录太阳能逆变器的串行数据。这个脚本在windows上运行了好几个小时,但随后开始出现问题。你知道吗
脚本应该将调试数据打印到控制台,并大致每分钟将日志数据写入一个.csv文件。你知道吗
我已经编程很多年了,但我对python还不熟悉。我肯定我没有犯过溢出错误或类似的错误。我不认为你会从中得到什么,但我已经把脚本的主要循环放在下面了。你知道吗
try:
if not ser.is_open:
print("Opening Serial")
ser.open()
# global inverterSettings
inverterSettings = crc.readSettings(ser)
qpigsColumns = dp.qpigsParamsModified.keys()
print("qpigsColumns:\n", qpigsColumns)
qpigsArray = pd.DataFrame([], columns=qpigsColumns)
qpigsArray.set_index("24hDecimal", inplace=True)
today = time.strftime(
"%a, %d %b %Y", time.localtime()
) # nicely formatted date variable
print("Sarting @ " + today)
while 1:
newToday = time.strftime(
"%a, %d %b %Y", time.localtime()
) # checking for a new day every minute or so
if today != newToday:
today = newToday # updating to new day
qpigsArray = pd.DataFrame(
[], columns=qpigsColumns
) # creating new dataFrame for new day
qpigsArray.set_index("24hDecimal", inplace=True)
print("\n" + today)
# read solar data loop
# --------------------
print(".", end="", flush=True)
for i in range(30):
rawQpigsData = dp.readQPIGS(ser)
data = pd.DataFrame([rawQpigsData], columns=qpigsColumns)
data.set_index("24hDecimal", inplace=True)
qpigsArray = qpigsArray.append(data, ignore_index=False)
qpigsArray.to_csv(today + ".csv")
# ---------
if (rawQpigsData[-1] > 6) and (
rawQpigsData[-1] < 18
): # between 6 am and 6 pm (daylight hours)
if (rawQpigsData[13] > PVocV / 2) and (
rawQpigsData[15] < 10
): # Panels have enough voltage, but not producing any solar power
print("?", end="", flush=True)
floatV = inverterSettings["userSettings"]["floatChargeV"]
rx1 = crc.adjustFloatV(
(floatV - 0.1), ser
) # potential fix for panels not working?
rx2 = crc.adjustFloatV((floatV + 0.1), ser)
if rx1 == rx2 == "Ack":
print("?", end="", flush=True)
else:
print("¿", end="", flush=True)
except Exception:
traceback.print_exc()
finally:
ser.close()
脚本似乎没有崩溃或抛出任何错误。所以我假设这是Windows处理长时间运行的进程时的一个错误。我计划很快把这个移到r-pi
所以一般来说,我需要一些关于如何设置python代码的建议,这样它就可以在windows和r-pi上无限期地运行,而不需要进入睡眠状态,或者几个月后崩溃。一个人通常怎么做?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐