From 40767d813a294d50ba22ccf7419f09594abe1e32 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 2 Dec 2024 12:09:31 +0300 Subject: [PATCH] =?UTF-8?q?dev:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=82=D1=80=D0=B8=D1=81=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=8D=D1=82=D0=B0=D0=BF=D0=B0=20"=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=BC=D0=B5=D1=89=D0=B5=D0=BD=D0=B8=D0=B5"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- params/operator_params.json | 2 +- .../ConstantCalculator.cpython-310.pyc | Bin 1172 -> 1355 bytes .../__pycache__/OptAlgorithm.cpython-310.pyc | Bin 15481 -> 15505 bytes .../OptTimeCalculator.cpython-310.pyc | Bin 7744 -> 8862 bytes src/__pycache__/main.cpython-310.pyc | Bin 1045 -> 1045 bytes .../__pycache__/controller.cpython-310.pyc | Bin 894 -> 894 bytes .../__pycache__/converter.cpython-310.pyc | Bin 1226 -> 1226 bytes .../__pycache__/mediator.cpython-310.pyc | Bin 1237 -> 1237 bytes .../__pycache__/monitor.cpython-310.pyc | Bin 2132 -> 2132 bytes src/gui/__pycache__/__init__.cpython-310.pyc | Bin 246 -> 246 bytes src/gui/__pycache__/mainGui.cpython-310.pyc | Bin 2986 -> 2991 bytes src/gui/__pycache__/plotter.cpython-310.pyc | Bin 7631 -> 7770 bytes .../settings_window.cpython-310.pyc | Bin 2526 -> 2526 bytes src/gui/plotter.py | 16 +++++++++++++--- .../diagram_parser.cpython-310.pyc | Bin 2813 -> 2877 bytes .../base/__pycache__/base.cpython-310.pyc | Bin 11308 -> 11502 bytes src/utils/base/base.py | 13 +++++++++---- 17 files changed, 23 insertions(+), 8 deletions(-) diff --git a/params/operator_params.json b/params/operator_params.json index 76d9da0..5a96d09 100644 --- a/params/operator_params.json +++ b/params/operator_params.json @@ -8,7 +8,7 @@ "dist_close_end_1": 0.005, "dist_close_end_2": 0.005, "time_wielding": 1, - "time_command": 0.06, + "time_command": 0.0, "time_robot_movement": 0.2, "object_thickness": 0.0045, "force_target": 5000, diff --git a/src/OptAlgorithm/__pycache__/ConstantCalculator.cpython-310.pyc b/src/OptAlgorithm/__pycache__/ConstantCalculator.cpython-310.pyc index 22ef9194d297bc27a5d2f6cd2f44cfc392a59d6e..0f5d90b3e7e87e4bc7fcd58e7f17358f7ac73c16 100644 GIT binary patch delta 412 zcmYjMF-yZh7`;m_H7%yb+QC62P(g}|&UL9Mxai_0N(f0TscBMkS1FicZ3kB&u0s0{ zDz)ff?GJFdtO5Uu_@xed@V)Q*-h21Bd(3|36kkzt2u{U6s*Rr&0pCinr6oeqJphLK zXn>he7egEhLlL78)yY5_qJ4C(o(UbXLqftbEflPW#KM=**@7kXaSvbREp&p);&Ff> zsdWgzpZJ8o@DDzV`|(}e<8S;Owu#1H`IL{g;(O4izydSlqqxgQV3@?cbkc5`Mqo5L z+OD=;mZJ(TRTEj)EyrZKo=6U}8#ECek0sfIwrMw+<9lT(A=Gv+g7jBG1|X5PX3HD^uVqs;Ia4OY^GITTZcn1*XE!9-Id!KxTN qh^HH+R8w@_bPY;P+jVvQ-_2!EgJP5?t5}XUNmcy|{Y{SAWbFsIfqaYr delta 247 zcmX@jHHDKmpO=@50SFFAxumCVA zpI2Oxm{(F<#0ydhCip-yEXj#E$=pCzF^J2;D8M$^oh8av79__TAD^6)SX`W(nv)YB rkE9c%z6hkghy|nxh>JOZ1P22PlNh4_%jA13jsggKAeK$mXO#f}GW9FC diff --git a/src/OptAlgorithm/__pycache__/OptAlgorithm.cpython-310.pyc b/src/OptAlgorithm/__pycache__/OptAlgorithm.cpython-310.pyc index 4983639187b0fe39fd65e4a407c890a7c463f280..a43688a22848d5696817442cd9e65855067a4c52 100644 GIT binary patch delta 2802 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 iFAq0#`EU4}__2KrPwwoI4^5uWRScP~1 diff --git a/src/__pycache__/main.cpython-310.pyc b/src/__pycache__/main.cpython-310.pyc index 3c948a818978b51d6522ad445ddeebd8d5aa0134..443fd68e2c3878e94cbeea0bf6502b6536099a2d 100644 GIT binary patch delta 19 ZcmbQrF_nWWpO=@50SHX;H*#^a001P>14RG; delta 19 ZcmbQrF_nWWpO=@50SG>4Zsg)-0RSm21O5O2 diff --git a/src/controller/__pycache__/controller.cpython-310.pyc b/src/controller/__pycache__/controller.cpython-310.pyc index f010284da0ad2ec506cb3aa4f3afe409a3a8a615..b9735763aa2b7d99d00f9a73cbd8b130df357694 100644 GIT binary patch delta 20 acmeyz_K%G_pO=@50SHX;eK&F!GXnrP{RGJX delta 20 acmeyz_K%G_pO=@50SGofciqTc%nSfO9tF4n diff --git a/src/controller/__pycache__/converter.cpython-310.pyc b/src/controller/__pycache__/converter.cpython-310.pyc index 05a99387fafeef2721b072c1d73c8874ac54e18b..2f47d791c02512d581ee0c14b47b1f9ef8d72d3c 100644 GIT binary patch delta 20 acmX@bd5V)epO=@50SHX;eK&INX8`~*N(8h3 delta 20 acmX@bd5V)epO=@50SICYTsCs=X8`~)y9AT~ diff --git a/src/controller/__pycache__/mediator.cpython-310.pyc b/src/controller/__pycache__/mediator.cpython-310.pyc index 53ed4954325a68a02111c5554c7ec7b600d9c5b6..5725fb29a5d7a912a5f697e851945fb69c06d251 100644 GIT binary patch delta 20 acmcc0d6knppO=@50SHX;eK&HSVgUd&0tD3n delta 20 acmcc0d6knppO=@50SLMuxo+e>#R330?FE+r diff --git a/src/controller/__pycache__/monitor.cpython-310.pyc b/src/controller/__pycache__/monitor.cpython-310.pyc index 5987012df5346432926013683e7f6bfd5ab97db4..77287fbf23571757ac607098c2764ed4c265d4d3 100644 GIT binary patch delta 20 acmca2a7BPSpO=@50SHX;eK&G@asU7`+5}_( delta 20 acmca2a7BPSpO=@50SL0%T{d!iasU7|w*;vG diff --git a/src/gui/__pycache__/__init__.cpython-310.pyc b/src/gui/__pycache__/__init__.cpython-310.pyc index 4d2a80231dae29a24aa945a59b19a4be71e68f62..8f86e2fa3a3a6e7cb8a0e719a989731c0358396e 100644 GIT binary patch delta 19 Zcmeyy_>GY}pO=@50SHX;eJ66i1^_aG1q1*9 delta 19 Zcmeyy_>GY}pO=@50SGR7xJ=}J4FEMs1#tiX diff --git a/src/gui/__pycache__/mainGui.cpython-310.pyc b/src/gui/__pycache__/mainGui.cpython-310.pyc index 2fcd01637e963826840726487b51332de78fc893..d52d6d030f50df913eeecfb0c7867a1f3deaa83e 100644 GIT binary patch delta 149 zcmZ1_zFwR+pO=@50SHX;ebZNLI#g)mZH<^Wd834DMAgTZW delta 144 zcmZ24zDk@opO=@50SMOQ`lc`6$h)4Ek$Li7R(VF&$#+>5*qDGaMU0y{*d8)6nooYk z-pp$b6wzcX5(P=vO|IgY4iRB5QUHlqO_t-7W3-=a%ee@s{sE^fqx0l{oK`@#C0C%R a7D$O1h_C?>A|S$k@_epLM%~Gr+{*xEs31rH diff --git a/src/gui/__pycache__/plotter.cpython-310.pyc b/src/gui/__pycache__/plotter.cpython-310.pyc index 296bd55c5779b54ebd6fd352236cc07391319e87..8d2e0c64c065c668ea24e11e86d71948da016850 100644 GIT binary patch delta 956 zcmZ8gO-vI(6rR~`+0u5myY2o>|0pUZT;!+*FGiv#GzL#5NDL1esua4cl9*X*tVw$z zAq)vog4t@KnCOAPN#oUnCUS%5)p+*i$%C`o(kQ#xc{}gDZ@%x%o7o@zenDA~e`%3(gP>S3iz$5%yT4NjP z8T^)gQisU8D>d;fhA8wsiM51EYz#GU13T+X)XH_ym8sak5VH|Mp4t-pIP}vbRof9y zrn2*pN`8XMZHy7^1Bsw9G^u$C&r9+=CCn7P6iqoS%uEHDwa2s{;siMdUGBs&?gL1A zTA+okX{4_4RT4Hji#)CNhIH2Gn)w1tw;lVI*s^g zs)yS8K_h4tI~#5$tS5aZnB8cirZ6i&CgA7#^*}#I8r0y?2{5=H)u|CWO%64A(4rzW zAW2Y#r+ap9X7Cwt&58v{YEcVJ9oeX3LD3PlUDLPA2&@;ljlo`tdf9MGvVp(=N9_>=*u}?@{JqfK&3ZM_Ggt40h>{jzv$%(FRYJJcTN7f}j?@ zAGF~;l_~>NY@v>q1ok9BaEj9x=tzv8utFykEWL_rn_*|AKuAref?uMMP?Ru%hKJZe z<}l@4;phBj>{|B@uy^`Zyu$wId-xgKF_!UjHf(;td+et$>2Kv!=C$i)_fg zr^qu^m~!XlXO`UC^NZ}M{Tgqxi)2_=qY4&r947@ew8Ep3uzQz`V*G_|XBY8jMshFl Q*WHh~a~R)Zzw_Vz0uD{|+W-In delta 856 zcmZ8f&1(};5TCc3HlMrQB>VNUNgKb=Uc7ivY;P73!9uAgu@qs_)ReY1ZY#(vQ6eOl z*1}T{in7t-p*N`~y(kpC2%h!oAK*ps>f22W>Mr}{&HK%7elu_O+w_+yeO=QsAfL}S zuhch>ztI;H-dMfnFZ!$NTea2Nnm=>VmT)s#?pDPQ)k+VcgT2J}tX`2wltPu??epTX zahlx|hsFuM>?b>HiQx#2K1g+yMrsDytj(IsLdn-#X-siw?hj(p|HbTMCNTP(g?y0d zDq)&3l;}cFy{-h=AV&t}DC@#m2#k$DMrxtngCOsZQJxGBFlz$l+DcIH4b-Uc3{Zcr zwpmalHOy17)ng1Ojbj{kS#!lNP@>JySc$w-9q1@a3g)AtXcP+^qS6DCOo^VvqC5vO z<1d@@u$a2$kwou zKNq}E4Rq46%Aw1)qA~1HvN0abyno6gdxQfXmGWgu$vZ0dktp>p+gOh$n~c(Ln52Xg zq{dRpJWL*&ZH~+TvpFZ1YpMB~FQ&~;qF~Lkwzy%vWxK+*@32Q=$9~WD#bsxnRmBTu zPW*J9vWj@ pd.DataFrame: return self._get_data(self.getMarkOpen(), self.calcPhaseOpen) - def get_tmovementDF(self) -> pd.DataFrame: + def get_oncomingDF(self) -> pd.DataFrame: return self._get_data(self.Ts['tmovement'], self.calcPhaseMovement) def get_weldingDF(self) -> pd.DataFrame: @@ -31,7 +31,7 @@ class idealDataBuilder(BaseIdealDataBuilder): def get_ideal_timings(self) -> list[float, float, float, float]: data = self.Ts - ideal_timings = [data['tclose'], data['tgrow'], self.welding_time, self.getMarkOpen()] + ideal_timings = [data['tclose'], data['tgrow'], self.welding_time, self.getMarkOpen()] # TODO: add data['tmovement'], Oncoming не учитывается в производительности return ideal_timings @@ -127,7 +127,17 @@ class PlotWidget(BasePlotWidget): ideal_plot = self._create_curve_ideal(stage, signal, start_timestamp, finish_timestamp) if ideal_plot: plot_widget.addItem(ideal_plot) - + + end_timestamp = time_axis[len(time_axis) - 1] + region = self._create_stage_region("Oncoming", finish_timestamp, end_timestamp) + if region: + plot_widget.addItem(region) + + for signal in description["Ideal_signals"]: + ideal_plot = self._create_curve_ideal("Oncoming", signal, finish_timestamp, end_timestamp) + if ideal_plot: + plot_widget.addItem(ideal_plot) + if settings["performance"] and all([stage in dataframe_headers for stage in self._stages]): delta_timestamp = 0 for stage in self._stages: diff --git a/src/utils/__pycache__/diagram_parser.cpython-310.pyc b/src/utils/__pycache__/diagram_parser.cpython-310.pyc index 098b2f8e6bf4cb7052119da6a19dfba5ca9cfc10..51784aea7a8ab7b1dd5a87bc7735c77190d265a0 100644 GIT binary patch delta 1019 zcmZuvTWi!n6rRaulI$hh?e@BDw->x@Q*YIlwY3G&mV(-%ctO~g5<4-h%_iGPY*8Zh z2lUAS5d_f}p)W%5NyJCrea>4SeDD{DsNkGz>8`pNa+vd-^L=OL%=z8(saN-OJ%z+K z=dIX#dwLG16yYt1-(Th>T+%{JNdeh}-@tuoB}A(#MYoWla)vJrRC3qdHLq5yy7sDH zwO!L$GPFpl(};h>cd^d9q&wZcLM(%o=K7^5{IN8HpYiw73mo$0L}8^ACPMU}gUSW8 zF0p%*JRxrJ08?Vjp{l^T4lpgoHfd5|$pb7EW7{;%UnNd-W`xe?Pz@C-_oH>h_IQ*q zrglV?Tqthzx+|1JwScHpK+PT1`;aZY!5D4qY+Q|Rn&oA=bhM&wSq>HV{FV^csi0|qOL}n^_=eomlNJC2G}4%5($zJ8lPUbAJdHK}MIOl~Aw;TyRr8q&xhamxFwXE% zGKfd{JQ*(P0LLZ^$*OM!i)LWvh2xj`78&dB#(A8QG@Qd3u_o}iBt4aW%HR1ra%Ef- zdApcp4po{`Y1;}ed!DmcT?;1ph;nh}BxIcu#=s1Y#!k1PWdv=>@yq~tQ;;yppDVK$ zTFEd)ZOK_dzG<1x?JA6kUvAKo>fBT-J#JgO+Nz+hc+{G0@V3++2`eb-AJ{V(+i9bM}OibtxF!9A_jUn;gDMD4;$)3!dd(XLd@6Nl<&5mR>nT!*7 z-giwE3onyt8fS2tgg2O$d72+68WEY-O9aqR$P}8K0b_A8OI%alrDyGF*RE?dJ|{oX zE7Xxg+T~0;*f`Yuy*5oIA8TXuf&8dFnHATxRejZn^oZPQ;aZj~YT_!_S6L;u#Tkmb z!5MIETb!x5GPi(>ZE?2ZR(MQ)(1%*%;PW=JB9j|?$s!TYrER!{HK>w~Se86(i;T$1 z60Eqh8up`OMx&kHzp@oFHOkntef`9`>Z$TAgv&Y$yVTpQ(ow` z!XX%uuULO)hQ>9Url|w#5FOOCN7_&0yZpvx1}(^1ry{ZKv161d`r)~1wLDc?2#4jo zIWabbS%(2!DzGteWEYtOvgvZw3sH9*6OPKy=IQZfaqNHM6o@bSUingK35FGnG~_eZ znL@K%4Q;pD7RWDDxqqsmdu{y~O~cl;1YSq64`Dw*o!!I^MHY!}MF_7_^w-VCBnIRc z`(QSY(LbjvdVm|32V!p~3mByUuG!>1iY%58ClOQu)y-c%y%3#|{c-*BTT+Z&D|jE_Kg7xXD*Koh3$(XbX&(I)&N zu;39v(eA!OVims~RfI)EL`96&cn-oQZy!aP{}<EVJlB85F zQBaD~wUV^f($|t+_29Ib1(nLyh0?E-J2sWIrg!7;==f0GX?pv|cGPN{%dNO^_voBa?No1AeurB+VA7qk>v+I_#pB04$wA*PUgACQWYETWE$+Ko+-^QD-kl1-uec>8VBRgZlUy(0sZ=Gt zn#J?R3hU^TtA@d7Q>lqv|N>JiylWe|iav>AU@6*+G98Lg^` zyaew5nM5&R6ZweZB0*${0`+W~s7(|_MsyJQXBADU2B?9ZcBFh-pYczHFMBS;$9yYy$cD5Kn#(gY&$xRrN`|kS$EM8}T=93OiCk4EduW z`8t_nK>M#Im@MIUxs>L1+S&Ybkf7a4_)_5>ID}snZhb6hzn*Kkl5OPM9j@-Yh^N%Bb~A3}b@!lk=~%0omRd6=7LH82(Vc`v?Co9;2k_bMVS_7?i@4Gr$G^JQ=~l>! GcKrjHrc|T= delta 1298 zcmZvaUuau(6vywm|8tXUS^nJQCT-Fr4SJW=>BP}JIF;@}VNO|{ezwaluOf=HP!f_oKT)CW-mJ`7YGqKK$37V(@LI%G3H^1Ywm`E$>? zzu)=wq4fu&$D&b7qTeTv-(A1s!|3-h_yd2B-O>?yPhF6vRAC5{R;Z^4ON2$FCyS`q z7Cg6$7(eTZ*dgK~A(G_dJ%|)Vo0Mt%UtV3N`0zFHTxSq(lec4tG`%E4r2?WPhsq6# z41C!uMYkfjY_6wJ+nSIjC3onMtM>K7UbEp%_l=3>u~uWY-Zv)aj(c9)>l+VvO+gk{ zz5E58z~v#90*jEa8b4sKss4Sm^^dUJ&oW7ZtMPBb4c;AP@$gLINBcCPCF?+cQwLt= zrX0f4$-bqLYeJHswHJ@3#%uw>!RkSW@*!W4+coe)>LBj0ZN1I!%;Sogz}xM3>NDE5 zA|#e#DkkuXY+}Qnfv@muyAI#tZRrE>G!_dPZGpnR!hw&pPX-vxy`9}`pm(DbFaXfn~ECnCBl#RkKcrGiPWlp%N%~7)b zhRNK{^b&i!EJ5-8M6T*DM5q`#AZmcs)4o|9qkZQ6R>Ppif6rnCgYKj=< z8D3Ots>t&k6KO;=$wWF4O)`-|M59Jz5~YMq6cPm*M~BD~BO)tuMB%QaO0@`$TG8hN z8XONE9{L>q+9(Z|Apay=kF(5>xO!jnADyjx{y3Xnz{m2X#EXnCv+&{eq2VK*%ijo_ z_-TGldxmT(?k_a74v~TDg&FM>k%jq@6A;DMN1o75(mqBpWvmuMc)mCX35qM@c@|0c^x zmKBz_`O<>{`jfV;B#9|)1539|OW9g+#b4a`psWGp@WSXk6me(eVE#SMf0yN|L5P#B zvhiA_t-%`4O*qu@=BHZoCz_s%W7Xa84n9)7USH$X_i?#;GputL+A0~cc&X~ZD*j#F b3ukf9uBIN`*D7{$Y5aKC4VoFVl9hh}yF)R0 diff --git a/src/utils/base/base.py b/src/utils/base/base.py index e1de8b9..ee0fd86 100644 --- a/src/utils/base/base.py +++ b/src/utils/base/base.py @@ -104,17 +104,18 @@ class BasePlotWidget: self._mediator = mediator self._stages = [ - "Relief", "Closing", "Squeeze", - "Welding" + "Welding", + "Relief" ] self._stage_colors = { "Closing": [208, 28, 31, 100], "Squeeze": [45, 51, 89, 150], "Welding": [247, 183, 24, 100], - "Relief": [0, 134, 88, 100] + "Relief": [0, 134, 88, 100], + "Oncoming": [222, 184, 135, 100] } self._plt_channels = { "Electrode Force, N & Welding Current, kA": { @@ -208,7 +209,8 @@ class BasePlotWidget: "Closing": self._opt.get_closingDF(), "Squeeze": self._opt.get_compressionDF(), "Welding": self._opt.get_weldingDF(), - "Relief": self._opt.get_openingDF() + "Relief": self._opt.get_openingDF(), + "Oncoming": self._opt.get_oncomingDF() } @property def mediator(self) -> BaseMediator: @@ -271,6 +273,9 @@ class BaseIdealDataBuilder(OptAlgorithm): def get_weldingDF(self) -> pd.DataFrame: ... + + def get_oncomingDF(self) -> pd.DataFrame: + ... def get_ideal_timings(self) -> list[float, float, float, float]: ...