From cf67e55d2cebfe84bd5644705438dd1fa6970076 Mon Sep 17 00:00:00 2001 From: cdeyw <827523911@qq.com> Date: Mon, 29 Sep 2025 10:41:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- feeding/__pycache__/controller.cpython-39.pyc | Bin 4668 -> 4677 bytes feeding/__pycache__/process.cpython-39.pyc | Bin 6831 -> 7793 bytes hardware/__pycache__/inverter.cpython-39.pyc | Bin 2357 -> 2366 bytes hardware/inverter.py | 8 +- .../test_feeding_process.cpython-39.pyc | Bin 1834 -> 1757 bytes .../test_relay_controller.cpython-39.pyc | Bin 0 -> 3976 bytes tests/hardware_test.py | 155 ++++++++++++++++++ 7 files changed, 160 insertions(+), 3 deletions(-) create mode 100644 tests/__pycache__/test_relay_controller.cpython-39.pyc create mode 100644 tests/hardware_test.py diff --git a/feeding/__pycache__/controller.cpython-39.pyc b/feeding/__pycache__/controller.cpython-39.pyc index 48cb19035cd41a1552c05b0126747a147c2ed6ea..e56c404298020dd1879b221a266461b748220cc0 100644 GIT binary patch delta 522 zcmYk2PfNov7{<+*vn#E$GEror$P_l+6mQ}|rWXI=q#!~NLS17w=vH}`=}G+rDi}Y2 zXK&h*;7z>x0rnY0LkMTQ%(%eZbprPP4@rF=_Unq7WBaAS@zZ7>K8=l={#Pd%mkP}*Ss|@#r zQs+Qetxh2=4RL{XPsMLA@IB0Ll7&L#ZXF%{b1zwDX_J(!$|zS)lqNxygSy(k*WZ<|G!E#OLIfrxwMRr)H*Sl-v>k3qd&XC7HRYMWP@L zEI{HGdvbnWNl|{zt;usabw!}MOA87Rx+mY`lwge7{GIbK&ExcK`A#ryb&y9UJ@-Qp=pEJ{x;i3h8P zXq(K*uP<_o3+!L8uqI0p4@l=^AASj70H*TSGkSs?o({x7@WH-F0Z932vLS*5Y*mpd vP`F4LL}-BsK@htRUS{lZ0FW^i7F& diff --git a/feeding/__pycache__/process.cpython-39.pyc b/feeding/__pycache__/process.cpython-39.pyc index 95eb83fd2a96131d44dafd573cf3749e75ca0048..cf4b4810323be6277abfddcce4fb54a6fcdc9c8e 100644 GIT binary patch delta 2143 zcmb_cU2GIp6rMY?KeMwtE3~D*2raFU#o7RZN(F)uFeF$AXwVTH*S$kKrQK=n%%G6g zEh0gwNb2QBBI;Hl=nF_zj0p&dFTSb|#BBUc+->Viqdprw=T2G42HtElXU{$N+;h%% z&Uf#nRe!8WrgdGD;BWJmn|;r(98dNTI=*{%g4Vw#89Hs)A*C8GUsnm)z`rIb)w5jB z-PP5_XUM%o=DNJO?*%wKEcHwMgp$1qYxHC)A0kAe$_}vSl?lo11Y78q4fL?k37#@T zH24jJZ)8G(a}i+&Yd$L05GNJ&YxuA7JbpuNTmAqfEFCUPpSU=6@p|dpk*OQ+m)|;H zI(K>Mv-308-YlQamkTFL*G5Yh#(w)^tbFPW|5~5-^YZ9HzXg0IzZ{>udUo>a zg~=0FN@qU4eHfekr5HraW7huqr&az>I`l=~EuTGBIy%9y`_lx3p}GU*EngX%x^yz2!n6#5dIXMu2IW(y(S7t_#XWF* z%5MhG+qpE0TQI7-HI>XUjAbNTD@%bhgM;ZTHENlarl#wqJ>R`$WOL9@9~7X>%z$lW zy<&8hWk$U?(dP_MJKJkAtJiiti@8j}LlN-WWA_#{+qJV0HJh=Dv5hZhtRc_NIawA0 zr(#S*plL4+y%=y@D-~ujkrFQ^gmj0TtZNzZTT6eyn_awQ*}Z*Ukys3g9Edn-b3t^# z=dJ)D$+A3$gn;@H1usBEQHe~RkcswpB%)Q!umSfYLXz-*AhpS|5YaZ~WME2NcfVqV z86_#ptdai{J{~jVy}hgzQWnlcnn`UfXaXc#h#Jz5e;0j&bn;!QAFhMt=E6{7wf3ap%J!rp!RRYvHna^}w{AC|-nMPyb}>(*)*l+Om`NRnnM00idp0~0 zcS^DzB6so2O>0S#&onK4t^wBK(ldb$uK+_}3}?)+XAE%!4Ooxbe<+0}UJZPu@pCby UO4PX8px(y^n^(us`WJlCzZxbeF#rGn delta 1175 zcmb_b%}*0i5Z`&*((kn`l+x1jZKcKts3`KG7dV(85Ks?B*wpSq3uN28wuvSr95^Wl zf)f*uc+`s_dobZ@!p(5=u+cvNJtAUmcf7(mA6!x!8QOC zL!DEE?UFW7gsvJVU)P$l<9@A(7`OBb?@ohUi=1o&eq=+?f(I;ychw+x@S)m;uhi|J zCQ4PJM2-b<#5HVx@Bm|nfcw6!fWuan9Cv=TR59%Ze-hd$kh=spK5pg=-N;pQj&I^g z-Yi#(B?~tL&me=bV9nhqf;#N2UcobT(H!=|GrcFk0o}h;ygH|L1o%k{` z8KqKh8n{pT33~A;(ghASN88<(gk#knj&`&4IPFmpF3W|4HO2dA-A^z;&??|i6_9P> zVRDeouMm(Jew9FSk*p*a$w~^O?(uelYXqGH9)fcMZt+1fuM2P*7fsU;z0xby+>)tR z3*0ohY}pXS)HUjc@V&s}_!vHow%N7VKCDaH^;)EiVLCuc{VRymMfk6R#-*ZDf|?eK zRc5 zdRD(bGcz$OC+alT%4L)5MybU0a;Z|JU*yd5Zi{p`uBOKzgm2Rq?=@3RsetakB+qHU ooO;5E?TJXrJH<`1l)nv#4Z499%J+gd;EiHm+f5(&j>N0{0rG3xmjD0& diff --git a/hardware/__pycache__/inverter.cpython-39.pyc b/hardware/__pycache__/inverter.cpython-39.pyc index 2db389521d8d30986763856794132e1806071454..a1322430f0c6da1c94f4344d04db1b738ec9c325 100644 GIT binary patch delta 542 zcmdlgv`>gPk(ZZ?0SHz-yqU3OBkw9kMz_g37&SRcQj1H9WAyYkKVV$UTpz>8z)-`O z!dS*wBvrzY!c@aJn_(_fGb1BI3Ue^S1jZ_zs%te2S&Ugs3z!!&6ng;Guz+O4fekS&ZF6u1E#M-LWXOxEVNBr!>YImE z9~TyV++cl5KofXs7-uugWdiZT8N%y9RspSEz_O5mks*aCn4yHdhN*<3nW^XvP%&=} z6Ov*KwLk+<#rT35SQtt;CoonzF*4LLGcr_Z0ZrkrVMdq|$&eyY%Us6{(J6#%HAG@^ z60svi#adjFSX46El-CX^Oa?CB*#+#L~e6s diff --git a/hardware/inverter.py b/hardware/inverter.py index 5090b2b..76db96d 100644 --- a/hardware/inverter.py +++ b/hardware/inverter.py @@ -51,6 +51,11 @@ class InverterController: def control(self, action): """控制变频器启停""" + # 先检查动作是否有效 + if action not in ['start', 'stop']: + print(f"无效操作: {action}") + return False + try: if not self.relay_controller.modbus_client.connect(): print("无法连接网络继电器Modbus服务") @@ -70,9 +75,6 @@ class InverterController: slave=self.config['slave_id'] ) print("停止变频器") - else: - print(f"无效操作: {action}") - return False if isinstance(result, Exception): print(f"控制失败: {result}") diff --git a/tests/__pycache__/test_feeding_process.cpython-39.pyc b/tests/__pycache__/test_feeding_process.cpython-39.pyc index 77cd2eef89e60a26eadd116cf5756cf2c75d07f0..1e274438c96bd516614d3cf59fd098947378eaa2 100644 GIT binary patch delta 725 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