From 2a1c28525c6e8eb4fb9d3c2dd21d77d90e6c7173 Mon Sep 17 00:00:00 2001 From: zcwBit Date: Wed, 28 Aug 2024 00:50:26 +0800 Subject: [PATCH] 0828update --- Static/Main.qss | 32 +++++++++++++++++++++ Static/PA块信息表.xlsx | Bin 29742 -> 32615 bytes Static/PA块信息表all.xlsx | Bin 36300 -> 47801 bytes UI/AreaTabWidget.py | 1 + UI/BlockParameterManageWidget.py | 46 +++++++++++++++++++++--------- UI/BlockParameterModel.py | 17 ++++++----- UI/DeviceDialogWidget.py | 12 ++++---- UI/EditAddressWidget.py | 6 ++-- UI/MainWindow.py | 19 +++++++++--- UI/ObjectTypeEditlayout.py | 11 ++++--- UI/SoftKeyBoardEdit.py | 2 +- bin.py | 1 + model/ClientModel/Client.py | 2 +- model/ProjectModel/BlockManage.py | 17 +++++++---- model/ProjectModel/ParmManage.py | 4 +-- protocol/ModBus/DPV1Master.py | 4 +-- utils/DBModels/DeviceParModels.py | 12 ++++++++ 17 files changed, 134 insertions(+), 52 deletions(-) diff --git a/Static/Main.qss b/Static/Main.qss index c245a13..beb134f 100644 --- a/Static/Main.qss +++ b/Static/Main.qss @@ -474,6 +474,38 @@ QWidget#deviceWidget{ } +QWidget#scroWidget{ + + background-color: white; + + hight: 25px; + +} + +QScrollArea#scroArea{ + + border: none; + + + +} + +QScrollBar#scroBar{ + + background: white; + + height: 5px; + +} + +QScrollBar#scroBar::handle{ + + background: gray; + + height: 5px; + +} + diff --git a/Static/PA块信息表.xlsx b/Static/PA块信息表.xlsx index da87d2ccb85bdd14df9bcb506fcdbc20353e276d..a08466b4c7f4c3b0d2b070a19ca77c032fab285d 100644 GIT binary patch literal 32615 zcmZ^L1ymf{vNj3s4DRj_B)A8HYjAgWcMHxS!QFzpyE_CA?ry<@2mc4odH3CO|959K zi(WldT~%LIeS7zw+4DsT90CsP^%Ww!_38Eh|GZ#9Cq}l0UmR@h92viW#Lz((VBW+Q zDJJfm-hqKRfP;ad{JWUGogIUlwN*ykgk7p6P{qdL3Sv4nL}O(e6RJxKA&k{ae=T>w`(_qsLGI?iFpQ^pd%sU4EW2A=fb# z&%{M*Q{}2exr=KRYT+P~XoA%U)^%d_&7tc_y!T)bGW<~>EV6zpFHN$);8NovX<{`# zL~zo_p-u^zj?FwG7`J}n^vx?7?HBr#N;QI!j6rAKOK^dxl9yW?JsdPXWN*$F1v>|A z(If@607|kmCx%au&n?*L?5hGE5kSWtsr;#TGf<{SIQD(puz}41mR@5A zhTYiD4R+3I$i9@IK8MH>!inmSTRs_XL;So%V|7KMO{-{fSiknl8hB8DthR5~9qBTD zhp0ze7f%Vvh-h>eb&Vo$;1Tv0zQXtU65iSqSXgc zX>#bbzsG`%wU=gftUK?}$L6ViH>Qn>PZ@f&WO3R%nb@?s6_E5*QK+ICYJ%bx-?gg= zC-hfnyul}SP0edC8YZRh-EJY~Lg!KQ0kfwQemXc@^%oD6PTT_owfUT(0iOFadREKq z=C%ByKjhArw|gCR*;ERa6Tp;q6qxk=9+oh5@oa|88pqCm)oAMVXZRwt>d-|uK5U6v z7{^~Wqz#|je*StxfMgUcFW!$tAUka7;@YW^LrP(e87CnAPt+8$10cizUyawWL6TfiYo&fq{Z% z{j`Fd{CSJBh7b2QNr#$wU2TY^|1vWiHl{c)i(Ka{qD)GO4m+8potCbu>WebE6Qh7H zqr;K*jEstoO2huBm6X=hMY6Vz%1xHor zp8!O=2l4p^iUqboO?4S@8aop3=N$WG7IlqhgUEM0b3+(&CELxg_S5Q6zB)g)=xXX1 z(k^DW&DEQ<&AbxeU70mZV?K&ORfpyIc$f0~ZNp*SrthjheEy&cO|Eg}*shadIm>yF zAGIY)Y`Oao2 zT_9<8&-}A%iEPK*oP2t0 zV_W3N*cM|g8I&Q#@95S)D-iI^r?tIhr$*$?97i)Z_^NEA& zp^XShmG5B`_RRlI+Ltn<*Slg4NfrNeU0}uio`nm)CNH?Rp6IlfyJ^lQiCG!G27i8} zrA@=G)T1FEl_#W6Lnh%z;uasn_Z|iF=l3pm@LI%Ah>wpQnIBeNi}LHlatNDA+L!^3 zJw#}DvJi#_BS1UpV@`Vx%A52iA~d=53IQ~<)hG3c+eSeapF)$s#U5X%mCSnLQvJPu#-oen zS!0*V!6%SOD}G~=L4+9^l_jH;d6iDZMJb^X^P;bj&sckjD$pZh%^zc$5=EG!Y8k}W z&v6I@T6`)h!es`QSYuP6&3^qN&xNXYLLwyG{G#{(?^g6cH%LnJs32QPf8#~ zHUm`UWhPllTCwCJeAudFv78>d)4U=*F?pcD+wEOWPb0(rl0}4RfBIYAxN&3TX zR}5GdF_}Ccr(3d;@_TB!6l&ZuY}-$XczD>9Wqz=~X@0h=;9#p%f|J!#aLoBI8B~=S zAR^GIgQMwj;Euqz2AR8Gy9hxY$HYeLG)MuX03i#5tu<^+SDTGE*lZ&aSHDj52F$%; z4_3RxvB<}t^n{_ytYi>UcJ%aw5M0XWt#AtxW?SLvP3V2|HFnJDMDb%ifQSf;TBjjc z45nTVamT^UMs?)TPkMcN&23(&I!)=Y)$-qVgHC$u+B|%-cPK`HGtBW`J^Fnl5-wJH zO>G{DcmjEU8lVKUbWX%XrQR>%;oG^_gChivjHI9(+0Zi{lNapHY9cBlC+Br|)MMnr zO28RJv1sXxS3#$CBPXdoFb|hTV$&zhcSW-jAovCTiNGE@y0ylVCE;7pbsE&~#i7g$ zbD`2#z999HI!rpAQfuby=9(Y%b8Tl;sWiiTRdVl}}n*xow|Ao#!zD-V(t)tR7Q3ltuoYvo+caV_#S*b{r1oK+u@f2HB zx>l-hk(<49+@NoLy5eAGMq=rxbDb@T9-ZhN^&LREdEC~_r24JC>~-+cG95vW&Nk$8O>FM}B&qF(hr7@!vmE>pOL*p#9x^ zk$CwTj&^v82ZM)UMeccf?N*zKdS@b@?Ru=8%<_5kE}Zok8QzsTqdI~@!J8_0gf3hy z@xzK4Z&1gbrhCHe#?+D5+M4By<}6hf-G0}%a|$%T#Iq#wR-2t^#q%k=ZKj$BH@w-* zkRE9UB`-LL$m0rsc9P8xZF4wVFHQRV;s#1SAIj#>BPMG>cPS&oKuu4Mb+-2EI~47A zD`9fa&x`LeU)Iia_9$HZ(-sFT*Ipn~bjRq3|&YMeUJ zq5}CZG#<%7?=2weyJ1(kn2>QGbcxH9P}FJy=CPzkTG5h;k=UYW{BQX@OL%|D+G^q= zcFo8iOk%$PJl3rC_eBnJm_}2u1*ulHg3<>bso#9R(=71F$dl4pw*oN|1Zs$Pa;SG%PO`=h2579oA@nbR}cxm@I69Bug(0h41<5>KYe z&pl#_EC=SMW={M8W=Ai#d=G~#{zQdr%I|>S`Z1$n6+z7VQ8)%n*%)NG^!5tD=R4Ix zWG3}|0(+_+c)X>N;Fn>L%O2jJ0Yt9FAhSh7u1h9ce?*D}wA zWf#5^Mn9MFo;}u5G>WjO&4!UzCR0#Wddg@>;RF_;!^R}FL*6CbAv3zWiX`w*d^lV{ z7agje5=FBLb&8@E(nugB(I90NdOg~2l{a8IyZCCGKXwZwn5 zDD2)YKaz3*gG&#PvC(#HXZ=TV7ks!7jC1c>%oAO#GGGw}D6Y zlP`QPc6uAz^3B@z?+QsZGmYEsRBC&ZnmD_4Gzl%MIL{JH<4Y(M$(H{6JWXct&jA$8_J|zS{y*F^*O60oPXBINIYHlwH6Smm=3Gs&V#I6 zn0gx0xV=2QUB@J_)mdUO?D0cTZgrXvnnCVZH!)QyC?B*`5#0Ha_7UTEHP@Z>YSq|yMav=DNh))-7`UQNzJ2G?+IAuzn)Pf69_-SJ z{gOTzBAg3IM+My!Q$*W4c{d!!rw&%`;e{x%ZF-j2AEc$yX-V_ea`VnQs*O4-+9ge>=z;ubLzZ-I%@QJq6_|%`Ue=GZThRd`?gtsc1WBh!8~Q}j z+A!2Rp5rYyhwWsQcP#siAFBlDSAo(4aETHRvT%&H^!g&zPPesS_j^PM${iu`&(W9n z?c<%w-WT=uNXN+?n53KiQIEvqQXDSVuD%ziz}>>yuc8^Ajw!6$kVaoSWm86;oijdq zt5&Y=nlYy9yfn!cC~3u(4hQ!ZCiQM!JN&sCPg{ll<9PY|Zr9GO9iK38jXZPhVErL2 zr1z8Z`R{vy@zYzlcrABt)$m|fq$~cWF9kwOyLHaAXOkNw!BUAszp>o?&>^`s|J+!! zssFLHv#x=!E)Zs-M3oGzWvMb#!>SvtF|(s>l8Ekv{!R>a?qTG)8;3ps1FSQx~#ePX$&QHGyDwO`fBatMa{=?*q5Yx* zij>(f)fR%IuwO|P4S#4xikFI76&k8h#aIYN(1TD@+ZU&$53^|~(PBlcEwN9nM>436 zxhuO2N6pqs8Wk8sVqhI% zJ~yyYq$FnpJup}G86}*;0d#4;r|(C^bx-VOgHC%vG-R5_oZmNt{_4p^U=Z`A6+MEx zojUf#4lcI($!K&ZUXI#_Ybi1G@2$_9#zSa^+mTN_7n=>b?H$n=a)_>$3!}f%@aVpc zK_>@g`+RU0e^3aPZtQJV;)s}MY9$HnS7^T?SE@AGDG1l7ztLoTI{lQ9xjS%cRpwcXThG-c3R7x(4vy&(u_4*){LN0aRf`F>>?YFkfsE6?CA zSHJx5g5?6QpSdN2gy(GGYjZHy29QaGZ+4!hS}vilnbQAke@*mHPF%`ys?vr614AVG zubjyGwkD8bZM!6n^0hO|>81PP)_*>aM3_X`de9G#+LEttt)+=8 zAB(ew2;|2oQ`0POW;_9}dmmm1TjOb!Yjd0u33RAkb4A5-3*50#I-+Sqm4_Dh%{ z_eu=CM8kkOkn487j-8E1vlF13tNB0R+tyRf9KEnJucURF8< zC(ShB<;}m`k_Y6Sc=#}9X^vS|I67l<*G@`gQfAZU4c!m#$z|NBxr;hiRrfJ#z1N== zI;<77zE`S6sT$0QS@Apf9`dN971$hUb1cpbn(N}8?HaUTUtKoo10mE0bM9_Dp22_< zKbtFOvk!fePYnc(_b;>8NvQ3jp-{={qN<* z!C(6KP&MqTq?>`bs5Df2wIs3jfhcn6O*nf$xR|Mau!z}&NT{SI`{I*Yep^vDfYT_~ z#6FO3MB%WZD8+VM!)gGqe59d5$4Qm`^kab+R-D(0T1+?zCyp|c`PZS6(T>V{p#kF$ z#N+o}2gd}3D2=ibVyF@B^|70BkVgD7F|eU{zAUVA?}bDe#e}6YVuZ4of5GLisp88k z(TW*x+=CZaU5QbZtl?f!eh;T0kYL)g&_*HO4b4&D`k1T0l_UO{i`1k5DdYslutIh( zo@})EtFVm(LY|M87;RskvX6EvHVDtSTaBbzXj-XuChgqPHR}slrD;eICEADuTI>Q#yJ9I`vAGebG9V z6r#;s9OwvC!S>y5c|S1*jgV!~McZQ!yh##>DU+$T{JDA|$;jXazN>yfqi2$?>T>hE z_`;MLj3?ju|=1amhp0BaP70UJl234~#ao}a!yq$n5L=We@1 zY^;b7M6zTziMP80h!coosnM_*)XXBRuA0Zl;Pzk_ZXwgUjsR$*m(nq32_)9-h-|%?Ba91xym=HQgQ0?kC5d=b^=BH<}mf)TF~1 zs1OHev9GGJ@7&LKn_=Q>0qV~p2^ z5)Z@==f3|Ol2pe<5VS$lbX(N_IwZ0EwM;GVm?I8a*Qh+~0PlbB2e*l!aklJ7@m?q? zFI{do_0Ls!7YvSCv;OQ6i~zps*uqb4_HukT(YZWef4$rOBZEVSBZYdN;nJj{cSH%l z_M*+j_mRN2#WkZqX4o(`JhpOGx6QuO>iN-d7I>fEY`4Z8oozLDnr~eSy>2@N&lo#^ zhQUbUfcm;dUB~|*qkOqjw5GJ-y~0q}2p3J)V8jSom&$F`x*r+h5059WNmeGm z92Fr@n%;t{JWsXQMdVs3Ig>@QxYAc4Lhw?mXwHn-h@*g*hkN8z{F)e z9`sM~u}<33wqVdK-O;Q3aGg$>-i&^f|O>^8VRV z$Mi5IW4Vy91@Qg2F(1L}`r?pqGZ2(*Ko8d1NT3Ng|2b>hCQTo-+@xp&H~UoBFp+w6 z|ID`xNakzReD^xyB9Cg(ykZj6`@8^A>Kku4K(I`{xL%0>GY0>?DxUH;C@zRRwG|^x z0#*a{Pz~Z5rUjKS2GA{{D7z;&Q5WQ)6rhB!`K>7u3Ice!mW>3 zu+Wdb-QjqfW+QNG*aql7gZW5w8U~ zBnj9m5w)tgVQvaRUI(13+}xi)kyL0z|MW7VtYENhg0tT)Y2Gi^ZNKk^M`3@-bh4)s=J4Wu=Z+oc)j020Iib3H*z}$UwKAP}=$FmHoU#9)Bn9Pc zHzIg2Fjl_*N=fW*l$54zODl%@`pMbL*QTiKkTbGnc@rjZEIN_W)t%IUL3Zx0sxGed z$A^>C?3R|J56HlrKe>deolh>#h{hp1d6J_npCzj>9lHyx_ zWXn+H;eB|cU1OnYo&Jzf|MWYTwq*6RxOEt+!RC3twq?S4Smy_huk0OGhpdl)vrcK_ z_3dhYk*lwbE+diL>On7g_{#z6#o2vJS;H9-mS$sbNVcY-;+d7u!}_?7i7VUqvps;EUN&2+f&n%+k<`Uc$olBux~xl85`-NO~&R#RN?(nb-!5) zL8Y@nz03GueJktU$f!q?{pPyWig)31H6Hi!*|XcJz>SYuEjtIPSWlj?U!PGlsiQE& zxqlziSoJ3Z(rDBe`&1)fpHVz1op6EQFLlj;#+y9N_ImrX@;%!Agkp`J6dcW=pZsY{(1M@|5v? zvx(zaN3;b0JU&gfQHOH2Lz2kuf8x|phz^omPYT60rzOS7@-ZlBzb`Lnnfp`_Ha$i& zpfUEPrG#lpSr`iR7vYqEvU?>JR{ezu1Hh#G*^Locn#)tMt^R+!$Yb9-l?($PO#fMdkre%Ay+scpBp%aRjaX}B9?!_ zKABio(M*lNIR|*inx#;mGLFVx+Bp zLjsDVh0=qBge90U;Szu_N(CTOHIx;cR5`?Lj@_uWo}5*h#JY zzk|Rq>hqM)Vspu}`Je&~p}Pw|!Yiy^g#%1wU=7`6MWzn&(ANc3=*B}P^f$`bknaOxy5U4A(cCfhKh*mtKy0;q`0Q^cX7HIV z636$#h{Yul0)#{Iz3HH=GLQw)Lt96SD=RV)U#5 zBv}BTnm%O~-_CK_qzw}y*_xib+Z!Bc_AKy-s3A;>sI-cdJLdjHCIW!xLENDWw>;Uf1-eIopg}{kfz03yFGLGE6uY&M{ISXY*FH zln4waBPcouC_3pY_zMvJQJ~ns!#UKn23EeX#eu#BX_6$E)?*GfsJt-9crnvNAEnAn31EMBtI4`JPB2p z=Y0T%$^Fpf*i&`us$Qylo5A>&_t4Y&@O0;6YVl7+GZbv;k>4FvJb&klB%c%lu>gV| zqBWpL`mQAp!)h?WCBQuM914EOU35}>T#0}E|1Mi;cQH_zYngK-@8Q@o5lxr-(|}?^ z&$NYuI7z~8jOf0R($|4rW@KgvLeVfm-+@^0!4OrNksM)pI-WEsjCQd#mp)$$YZ+w; z6OA?PX#@pTWP5^zrvD%U6`q96sM??lSEE6%V^rmaVREy0d9wB^ak6X+177z61yt%# z6C9ENLDESriNICCp3N5;Sd4*sb^H>50pnNcx@|C)2Jll+~$H3RROAn%LooNbm_mue~|@20ogwy zM`((gcQzq4=o)CjtyNSWf82=*bQp6tDQ3=5Q^94~wvcEeSixJxM-grGt0G696t8*A zcgq%}FEsCj13yvK|Lz99EhSjD4yueVZE)cIrOYf0tuq^*xy!_at57R_?TqfB1F`)y z=x|0|dK#3HgJ7m&AGZ6l zl^9}1ug<@Y4ue==oFlBq^ii$5uLw$!Ndp2w6bez4@~CzR6j~T4wAwI^T&|lBVlANqfC2zH3 zNbQ1$)$Eip5?R9q_J;$jo=5}wr9d5GBVP;yN;<5Ym|EKpBkxn!f0lPn_|8eRRpRamT@1z8@=6lWhZhxdzSEb zLKi4|e)c2OCs>MIrR(HDO%}#5HD9bcn_xV`r7%C!j$TnlhtE zje^Pe*7u-1gP8CKs6$%8DK-d(5XrgZLq5p47VuZ+)a!ElHa6Su#@^}s;K6aZhl<8Vf|$aOl&fP5#JHe#0f&MX zW#NP%t2Y3##k&9u%JBF+sP(kkA!oSPv>{F9#vsJPyX|9*e$JzcsaWf5AWa1W-2oUU#w; zfH`yZc^3HRbAB?{vH}1G46K3bzfP(--X_(l%QnlRps%CBUlBm8iA^cg7~wSpM04w) z!-Nr5-~ela#B*q;dVDT}tINuN{Xh&qXo+iiD2D}{yo!q*`Z zmAuv^C(l>+>5q4VTfN>>rDQCTl4CmBxu(q*g+xc34rKNC3dB1~=CedNS^P~76>)$th+t6x6h z*ezRXBN|cMPS+a#Jo)SKsPU#*w0Hf%`tl~7m)z;(_OONaw$e6|VcOo;D&3|e;O6_wI?t)|b%Dg0npb0%DhD?K zMSEn1$B}G(?+Tc8J@}O=&qj8Z?CBZ$(=?$i0#Re{wJDEQ{?qxY8F!v9M~I~`d&_g4 zlkMO%{V~|nB2w~Iq4{GLy6pzF`f~x8PA0=_eIZAPqzC4nQt$EXevg&G^`GzaPKKjd zb*owu9;t5Sl|G(0{D>U~yUTT92pA=$KjfJSoGDo1nfmcDwkx6_X$z!lgopBujDo@r zv{h?FhuT#USXCxe81sxh=d(hs>a}YL!j&>k7`C1_0u~a6%$?M5`V&p|$hn(zdHd%~ z7{sS+zC%ikZWYq^#YV`(G&s-+_RJYa#ZTuvht=v_cEci*(Li2S_gxSD~ZuhQs8{XY>QB(mQSaYoMIhq{H$!N z>6hOuNxz8BQX@ih;Xfn~j+aRe6@XiFkrl@V*F)J%47BfZ8JJouI5+PJj|~oi`5Hsc z5vIWZVNAJaFj0U^GxVX0oJ$g&Q6#>rLlkJ>he^(iwv!;<5KW~-DhWm+aZFoytDnLn zQiLT*E##O$eQ`1L1A8ifbeKZs_9``|Zx32od=7=2`|zZ@{?%A%w3U9-mNK=tT1KUW z0coJ7Mo5;q&iN-+Rld$oYkL_n%){0{Vn-+tx5ZFXh}1u$Y>1%(i57e8HmJlo1!7k= z3h|WuvYHR?s!w8Kn0FEjj`K$4!5^?GkVi-GDXO9*3{L1+CmZD|$Fia(N} zT`qn5ZFxzD@;lA?{2H!;(q|~TBw=Y5G*%kT_U1f&A50y?z2Td^DZE@O_2>l9g}HJQ zi!8Z;Uj3rq4D!v6N)?5!avU`42Wz;yoCs1Tjb9jm*ua$U-KhCWLQHE~AKHkjg(u(P zr>+UY_){D{a^?v1n76oOf6``I-!hU)ps5kaYzae$D*mie zuUsZ>v`=l&?mB3>!=&QDV-cCdrdk$iCV!v)3&uVN%05=KPhx;tGx1nb64Q=b03>{) z-G$?NJ*gOD8IG==3xQ#nDMi`^{DwkhfkI_2oNg3R1DWm*Wyd{conDZDWj8>;FHrJP zWR6;J4SY8i#x94f4~W~=9`}0R=nrda@&Tq)=F-tb85srTAn8?pTWXLK(ciZeM=1as z!eXIlY`k+lgQ)g7;2_05iBwHanIy)Ih_n~^KX7@g$3}>p(?vLzXUEiA7`%!_g6W_m z4`3h5Jj{-sB;!Is?$0?S$06P*|M98gD~k^Tc6HA1tKVYuy;>+FvP1H>)g}yg`Z9|> zmZQ>(DUDZuMf;OjR`N#Fx!@uLN_vM-La*nziV0r5(2*C-7=yc%^RWfZ!p1y`{ zJYo-r+jYR!Xg7>3TKr%cVi`}_7HM1F^5;nxTjBZI@>ClFu$9Lo7{DnXz$rntMQ(@= zVF!Yid+h0j7dyXTdGN`GQPEFU%{0c{GJZQ0=pYytStV7|tZ#WC_^CHjN^ zN`yds?<}bCUEpz;kL^R}*Z53K&|~hlD2C;=8($5p|QFd3L$Qh zM~22l$fLYgWa5W#cfj!25(F%gmUGK|%E}Sz{#N~Cc~je|ob%b2)2pixZ@!zYHRT!s zj@d<>*`Swvi>oxXtK~Ewl8PC|WrTbr-;f1O5fzD*<2R~@zo06}Mp39fqQq^jS<5&pEs?0f_hLPu3?-dbqhQ}`KH zk4_TzbJ*trA()%5mmjTLnW56<-YNH?SI4lUqLgztc8|4Vq+Z8Bxj_N6Tz9V( z>!X~-4*vO&8~h!$Gmi4Hm#aEYE|R4)WMA5~Ui(WEOA&s-u>M8T^H|v3+qPxGG{wsW z9qY9HNiMbu2QCernY*_9PXM)vwC(x%q|W6o#)hVe)~AZ6-h}YL!?{6sPtR5lPcCh1 zBF0LDe+rMt^^-XD98hz}_h-`xe$g@g{aWn$r9$QM+ zWxFQ=TrThSJ#=lC@4LqnHosfzJSz({xVNus?mK-S*~Xm9I{Yqjwj@@Wp0r z?)r2@(Q-OXOQz-fvWYF(!V7Yyt4na&=7#%a>%-;AaRz-w?46VO?{&K>=c=^;sx!gy z(}UL5r^{7ucVm-qbN?5sN92_cB(B%rW*%m#o>Yl4EbW|HG~GPCt=6DiJeD;#Br}#3 zpbL{^Zm}t|5)#7B37B*j};BU}0iBKRkSSDT%Mb52LRg|~`znd;@nLZr*JlS?#M7Q8A3{*0s- z*HEVDUQnyW-otL>l&Kjg#iOE%U0=YtR^181S_tQ4*YrvA#=@7}EWSirG_pIDej;B) zXdqU<{;~@I_Q(s9t<3UV8LEuWBsfA63%q&)r;pX5>CIdAVX#oJaWpFQEIy5KP3Ybp*CY(ed zTao{bE5J|sRn2{?=QnLX-7uO1QLKASuzSsb^bD%51ZCeeI~X7DBxw`r3|Trw6_oPN zaR$<88l%2eX1Ty%RT>@n%;<;c(Kt5HVY0x(Ss1YH4B|IG-tOc0~4 zFdW7R4(Hrv6fJvGIZQR4YKNcv(g^X=C=#~e#5EHIAm@2_wh8R$!pKe>py$#&;Y-lX z#apHcZNt0l3*wWD5O(kR_4%XR9FyD}ws%z#x$l-a@*~JWRFH!`Zw^Xh zTxkgtEB**|HOz!TtW;>r;U&2xNujb#rm`GWO3;3diSXLfEeFR=YH~9x~{q|?-PuKcux*GLa4@Hz7+~3yaG6?gwq`QsUSM0E7FaWwN3Io z>>`jCrWjRS3anB;GlrAJS-OlI<-891i7?X)5?{_aw`RwxemP@3%H;4%LT7l-6O14@ z#};hlJ}`z_4m%*a?=SER97=n_7*eIDmx-L=4x$ti^eN}QhoxvN{T16<= zEhod>!zmU2;FthGn(4B8vuhmpgL*15azK2lVLk=o_h)nUDH8tDw5J3G)4e+m8geC#LWjf+n^-S_3NoE7y zuT7v&_qh_hqlq43$McdDq?Y^fKM;z(jCfI`pvZat1eM~ecbYP< zI>~hMf0z8ZPvB2bmy}A0@Ikm5T#>j72#JGoR>thO6h%z>zqb5Xz)L57j+zVj!x)8y z;$6<@DlpLHm<@Vf5vr@aj2;FEHTQod2idhutY~-4Z^crezr*2$fjP0}#(6%tnQ*dlN!K z3s0cn|&|?0L_|~eK&tE*VSBUK`o|*+fycBL1Ob=ROr-c>f^?b-h zfAZfhCft=S+nk*xP5W2(WBn&(WG6QNou-tmUs(8Z*I!I%Kn_Y>C-0KJPZ1J*&w=6b z=HQlsd?zx%5JiEa=9^ivX&LE1YC<(o1Go0nani;a1Z0Us`hU%_NwGueYvs235oZ3v z(gIlMkAwCX(YMSW4ixr5V`TdH=d>>nD&7HoY$>>LYBLN|5n%{uMTGkW>S{e@Wz7T z8=|}b+`sDY^l#$KGX$0E6ff0VO+1VH##5rb8aa9rf8|Z_jRN<-a_a^fL&!7V3Sz2y zElT(;v9R|+6);bNnbKt)VNPYYWPgnxV?|t5sEBQnIQCIt+`eHT;>65!7VhPhuZ)WO zHrpUCLHr7NRMsu*Yya{Mr>OOomZl{Be|7Oc?K@SivG+QV+}wzvy+)NPoTBE9QT%+P z@~_cH3;XY`3M9`g12v%pT07Azw}ZOs679A65(li_gW{5zAs_$G3|$bDpTCYiG9{f5 zDt{}zwIZk-D68&i6*B%J_J1Gc-duC4xpe>#QOPJRzP1P7uiM|kbQ^9Z<&;_X;YPHK-Zf4^@C_M=(nFhzHS6D!b)X=R)r^)q5$H||c;zvP>m{9`e%6Uo z5k#U(r%H$Dvz}rMezejFrrCA*k-tHFBFIWG+fW`BxAOVl`cQZ>zLFH~t8ElW&C&f8 z_LGQytnaW?JQ7qjuiOM-*vkmBP%2A>+{ETn5k}Ciwf(y%x_yoa-i6zU$Ckyj zaq{H9SyF@a5l+9p<=xgK14>&TY|wGZ}=k2SUVrzdpQ$7z-o#|1vT zol*l&R=O_Rq9^Xxj?+tx2OG9>H~FIVPlpG8h8yIgWTv+mF^?BjTDrg0wy_=DynVyt z|K3Oa`a=+)z0po)#@5FF@k0=S_YVkvKwGFgK>J5tx4QpJ>`nM>_ww+pg#Uw8O-r_9ts^=+a90{_&7~Mio++EJRkFIO7E{{LF z*-V}=opcFC@HRB#`Wzew3LO@f2vT;Y_bFmgr{gxwE6%?YpQS9> zT}Q?OijFtfe*CH|+dP^zY2Dgl`>|1K`A15g&O!zM3D@X%J)2jdhPg5il1_kufESnfsG;?lZ1Gt>{=xcVB+_O2-nS0A$f8M+#l}2gJv*w z)+CZp=@4Q@s8VduOT9ntZGwXhti@%pLP@AntOAKlVBqwNuV*jMbohL6+dQ6k9ye<* zLj*DfJe;0?L+6eFc!dx8Fum@^3Vpq<<$pg+SL*UVuS8+7KPR0DJl_>gJbt3i$roYl zaJx9FrDE)O+-bBW^4x&NN3?RwB3Fap_^oaiPO*`O6k*9l_A zI{8XOg7Xk@Ja+eUz&S8bT8_zB&@?dU_t47DMrFd)(NF$IbAf`(J`o3r0{#rKP-eVE zlWCQR*wK)a7}kbrqEMPI=#W&>_Zx$wI2*}D>5uBV0b*ac#m)gb<&X!!rcsKeqc|+*NJkU;k7jl-(5;OIR!mcR} zwL^U7vwIsmKHHY;`gSlfYBD>S*W<7*TesiIK6;)pXV+2fqZ7flKVeqgN3<{%1zriF zVL?~Z2a72Wd|&OB;iNU9B%Nmk2o6BtBlkv@%s_KX*?b$^b5k!-%{628n^FZA@%ul1V1U#I|ia6LVtQwmq?J+fKgB?Dw2~ z&b<42udjcsAJ6K#tGjx2ucvEu)eR^K?WawQ(0P}Im~bqLCk-CF70tw$SovC+p*3CL z90;937gu79@*dfkXIvFy{bT8{z{DEN357~fhe24C7^lYv1}_$7i)6+SbP`fs4~CS@ z#RIurUwx1jscNV>KSmW7iHH%N;xpD}`B3y{7%3LTHLC45=}C5w5@SzVcJ-N)4jDGm zudA)HmOhDe@R!cvK~skLEZL3Pn%7D_hWsg-+?>#0_Wf3bnWmIfvnWAg!kw2LSb%9W z(CW&H)GoL5Avo4#=SZ0Mx^Z3cJqZy3#%RPs8cDiB2IypmpH$|2OEi^hE6mbuxbqPp z8ae!_yMcFue;}N}i(S}KdU4BID7n>LG?b>Q-zxva-VA7U*i+>8wp%DZ&)-^G*y_GC zpew$Ws}mPFwAI(tBuBlQO$!BJFAy{^0`irO^Y%F&MBg(X@k>ceRq+e?24#W8d8{dG z76^+yKX58IjNN!2BRXjiZ#azz8Z%(7A1LX%I&4;+q{g-Pv+{t3x`_5L33X&smvOb* zaimxzSm(B(j42glsna=Jl>J_S#d;f<=28-$Xtu1Cx6!P1vN)d35y&x48K^$>C!>^V zD@3lrlI;wO#U_Du7i@*uQvK7Qj!v&Wkq^GWM))jg2=%@poWb3IhP>OWh)5k zFBTJf`4a8B&*@W7fVt|{r}YT+%;j;`)_mkfs$X$Z zTvqf0E2n+6V7%mO2JgQ8{`UKWq*un36nF9wu6QcP7SA3>b}upyFuE(URyxNNstL!_ zBqC{i1Swtb6ByDZvsihryx3dLrPllIwgOd|wmFf*-k|c~Oc zkQN;r$+Mox%NI}8l;*hb0lM7w(1Gb!k2(ju@u8(R6|1e_DQ0Vq=>Ap*&2z+E+wA-C z#BHe+1+8ivSPz5gOA9^nd-u;? z?Imj&Q5`x_j(V%FDb0?`ubzr{S#%W?M|*KAscP$dNg9c2n6w^-ij$fv<)ddj3bt0B z_8C$sKZZ}atofGF%sKI4(_eenQKEfr|mWIY0K8Ek{tJI(Ddh0t4DbiOYu2(YBoTf)6K&6yFf*BUGHo&J+-A7`@2zY z62RI=P)62WWkndM&!{oFPjEZ^}cXSQ-y4(RWAm%8bfdPp7Y zL0;>$$l*i_8arIK9q(>o9gg6hsKF96aD9Tg+b)Y(5G5oKurhbkekpo; zg`@QuMa;2Fzt=k&g}i-oXXyo5t@aQ2I5~6;Ma+*SYNSOEU~0CZPTh45IV z|9}K93CZwPRqeuhxVpkBAvYYuOxDnzm9oSYyLrhs!R8_jEOp)b!fv)4^P1jOS+~YN;nYZY>lpUMJ9jb8bs%AdRxMYYh z7g!S&gSmG1x!d;QDfVI;hleLuLtP==d(3i20OQgU)A#_h!F^(F7Hp}UgV%$$3HkyG zs$T8_r@dOXMu@_BV#ovN`H;{KG*{y2iar)UD}qb|-eC!HE6!zXTHMLm_)`zzhLze6 zQ$w)fL7=f$?$QoTW#fk#QPyie$L#{Yk`jjRGu5mf417e}h>)O5%dewnhBDs*K3s^x||jw<(jP!5FT5nb=>n*XRDOK{orSpiJu-Knt2n|zRlvD z88pmiaJjFs z>>Le6Ms*|t)`A0tUwTTZubh`!5uj-9a^%n>RG!qJxO*Im0alNbwCke2bQIGJjz7r` z5C_~yGhZ2~ss`73g`il$H>lwOJ09W@f7O*3P(Gj#2}SgCZRU*FWOtehqb28Da~dpY z0VS)?lFaT{(mJ~kak=*acBEh!XlBM?$t-<+zM`Ysy7~;dWQm>iSrJV?U{P-N>{w>W zZ}jcx3NVp;%**wA4UAkKOS${!_!=e(_sOVclw$!E;L8vN?nkK?@f^7~lHDRd-fQ*e zOE4U{+c^zmXUkVu9Dr{?er^}uD$8XY7W>U(XT}(B1$xj|q_I`h+yotdA=@%)R#dbB zfZ{-;vp1GamCQZ(nBr+1gS z?PSgGIgC~md%af{!jP-w8X$|9lYvONu2KThZxsy9*VhT>o_VFd+Dz7&Nktt z=XrW@RSO|n!iN9$6EvMnmS&n*QSUdsA@lTwEq6bJq`Vq|&y^o-r)`^5}( z`=S@YSo?ZsFiG05s@2Y2ZHST5Sm4&mvZ!2ua5Y2uD&B~crs6)e1#YCO!~8`krK0>c^R=BYNgy{N57fi_t4hz$Ou1aY;>_|ImA@T^9 z$h3!^40`z7_uv|Af=U-*Yn~S7u~R0|GK(^cc2=>3Xqr)zCVGX~I{B72iiSH3XIl)x zXySd5C)pK2_KM#AMP=|B`Z`8VS?$JKWK{qU4k1c!t?vik&9`hGP7+$!1>D06xDtSy z^pNPnA^_dK)OryL#n92aNPaIV!ZvvnfP|sAVM2raN^|ir)ksKz(#ehX#SoYfCk&X6 zkZ|NV6r|=?5{Sg+JN{-J5|cepN(^G3W2p35b)aNCdYjcKdmeo1)!nj?WExZjNgC8m zGuhRFp$(L{2&M8Ce0D4h*%y!=XV9<2gx=2h*%9n>(_7r++q7=_R!ih>Qc{it!6xM$ zTu}B1?_G&oo+a?{bC{577|8gPOXz3RZRsFW+i!k?G#mkyV`8v9=7?ho1CLfqRr?K- z3;UnPFJo+a$l>V$*aM9KBQz;wD@4JF!F7gu3#7-zv7rei%Mj9QtZ|j z>DYBTl@nvYu@}c*6<1xVtmAI_0#cDA;mordM*Wz(KO-5wCIcY82DD=6@WN6xs!lOH(STOzlzRF??no(Z77t2)7_hGggP`B_6WL%*xu6YKR8O7MfM4`O&G zz#M3?>ceF;cRg}EQ~SieI;9@8$6iB#Uzd%=)@K1e8diq~MaO$M9N=$s+07B(Sy8Uw z-}i1`Cf5S#)D!$A($??ydY!BoFwEJt^3Lg|Ftwi{ZS`jNz^!_$=F62#8p=&lfHWa2*j_Hxn3!RSKYj zPnkX>-ha7pW_Y+K?;q!Ud3iejnhCs6(0^u=0iw>ve%~MI6{M5)i3D2xkzP0WyM*=^ zqt?UEpHiT^6xgaXAHZ2fQQi(4&J|Ni2p1;SEeQIt zoR&;C1=gPAmBKhq>@|csDzq04T}uLjARinADrU{Y%ee5&t%v>G@cA@urbD!WC44zB z$I`w!W7n#ppnjcfN;MZ*4dFb>;d9o1DYf!G&MMPF=c_|6(MC?7?$JgAN|gB2i2>uEc_A4>nB=tqH`h+0)rgB+15`!g_9&q$!UO;ZZrOHk2QU6qC^3a0Mp zi<_SjFDIh^W^th70xEVWfBE1IkNh6pl>5~71Unpt9jYDXTHE7Yytb!!Dd$@KiI75&cPTX`m@Vc<@*FCk1pOeiS z?*Vo!0i|}?N~&`ln;p2v3);00%}Yd+cAf(vW0gh?LGXKMnGZ`PHgwn7IJL4uEuIW^ zk+}N2EMX2v=Gs=g&YCaW%PDYyyok7LKf&nn7oo6^+quT(22UKeTI8pyW6-~+0S$mr zY(}P$uY522sy`7TtJYVEp5g=RR*F@xz>b^L=weq9I6Dc`kn-Juo$?_0wU~D$@d+p~ zzdgbO(?|^9OW{0z>25s@8qWKfFkv0}dg!--ek$3KDWERh5_|IauSzE!#FnZt$$>gg zpS%(HMiQ#6hdzcpA z)qg$R;6Qn@o@1x51{F%AJ+b4^M|dK^x@>S7ei85|U~^XVYVI0T6+ea<+sSKwZKO8(k#mrBN)swnjD8!y;O4$|r8Bg(;*vF@;S^ z--=KVStc4P2&!f*+MbcdZXSPk{g7B6(fXe9F_wOKXJq?j8U#k{10W@ZO)^l4?4xaZ{QOnHI4+pf#rzU_KT9SI`T`VzML)w1 zeqF}0PDbP4Iz~%;uFb8do1TKAl&b7<&SES#N+eUoa8nVA} ze+flq6wLu(^g&92FeZT^8BJH6G{VcoHUjoBVrBNRAF=WaQ{NwPt`?*eM$(EvQ{JuA zoZT$>q@vFsl?ph0*gkmI?D`66OLVj#4<^Q2Zvl~jCMs|%Ye|oceHk$JNG#j@CcA}< z9PUR|%7!c5YhV%DOUpfhc2Lbcf2)>-S1PDt>)@6m@n%)NvEhSCDeN5d?WZJw`Dyfz zpT^Lbp~X_K<~Kc{`ZiqN>{aX|XY9m2vEZmE!6l4ID(kPZX?VmFVU2z@;iqxYImMNS z1Lp5d`rehPd0fkA2~ZEh{$k@`W6ah!hvDSUZqtVkpj)>iK?F=*$J33Xb)v((0g@-! zP2Xu}Om)8d^s)CGQ?t=*Xd@RDG`1KHq7|VIU+uT(a60VZ@uhc)5v;tCzC8A)VD4le z_G*lq8^T=8k$Liaqo&HTn@)LOPf+e^U$)m<3$?W?pthzefzeTIrth$|@m&7UwrG4h zu<~ObT-Ao>Uyp@_S|^hmKs(&J-$^Ux&u05R592Cd^+~fsW=St(q^iB0ng#GhQ3I6q z(fIa-!3FIdLe3`4?@WMTMg-w208vaNbPB=N#*m@nGXK}ouaH}e-}TP}(tp$wJblNM zQ4hptLoD73F^kgpL@>`rp-!#7+medcNsZOUGjI@?df8MiFv(2al$BhZuTo6zNazXk zp5Rl7u6>Vgt=5Bq8+s3)yG<630H`y}Z73$!HTfm}V8ITBrrn-H1G&3nR%|&UU>vWT zcmfXWavQW4po?4ly`d{0=`*@H05v?i6s2(G!ix}36^a6Y$8&)CPK3n(cehwDsc{`m zso(|-ge*lh0z}H>YZdC3NOl(5;agSpytqWJ3V&9ywa_C&>7leLF0iq{Y})pGaRw5v z8Bg49L#y?;nT)gJ>v=oL$eApU1=DUQo0a+JqZHLMm}y_E8osi*Zd z0zH}dAY(&+*efPx6!+Ei!8T8e6_Y`+GZS*NtamftrCJO&$g7O+Jpyb6G{*Rdn>r?O z!30(j_KwsHlGg7$8=uPLb+%1D(`_8x5s*qdoo^R24hi6JHb&l{iW6g%iOXLU$)tEe z1_hpUFHq1SWJy3*=B95A*NTsI(s#i?O=Kfxe@+l-Sr=BeMLrv4u)185AK+I*2?@>sAmt;^&Jx;!{Ai*}~qEZuK1kLnk zl@S!H&`&{02Xj}VbvuUl&}RTARgRH~pWG3$TG!+no5A5!M7R|8dk-1Aj~M97R$ZCg zQ8EVeU)9uo#k$NgS~sK7wTlC4Vlq%wfB{%#^dAuCHi(X1jINfiR{D|gDWDiI#`=Xt z+4yEyQUcOYK8uNeT8GDj<5AbAw9=`bJmv^#74@=^NG~J~zD5|6+3d`~k%s0{Uz&jz z7uf707UJFWL(lzMYTM|^bwljArC*@ok!9Ikwn)ZTVc+SjOGwkx-t&7g;1(W7HRwg?$e=i_R=d!Aor#4c981!eLQTbB5B8U=lhbW{9dFyEc*0AQt?!V zw6T+;E%G=aXlqJN#fvsc%<?Sg&NJ7vTuZMevEQ`@dt{nEaBbJEZ05fQOBnN z*fjxmP!?~W2zZh46W;Vlg4mtSDFmCDWpV$WI02J9?}qi%ZcTUfLUT^U$b~H-LBluN zGFWnA@&oY-Mi_^D_~ZT(wAlVOa2}Y_|StZ z&n-zFYeLMtU2)g52raF&YKB4Z)x8{a7^TyLIhi=}3yvO&g7 zT=UAn7|`MarUCaA0+&iGTGLm;1wjr}z-3$*k(Ue+HNm&{xGa;3gu(Jxd&v$C)6e1$ zs%(pExG=n(oZ0A!tcEh^M3D_XbYGq80d=8k8ES;}&3zu>$;d;8&t{4O=Q5vZz$XNsDIYW=a6UgST*A5X9ocv!Jn9^@e4z5#qSab$9I!^|F#(apdYg!-7D8 z5PL9*$j@xKNN02QuOx7j524yvN+L}-MWZqI5RyYyhm`-UmCL3ATby4DDQ>hoE0IVw zIgx2ny41E;aBJ)FjnC+pSb?mE@dYi&B_!-b4G^AB?s< zQkXYl)3@Dd<0*tH{lY)>rdg~yIn3TT`_?{xINET|P*v91u;CHes^n~jqYF8JT;!u) z%Qff3aaM{;@o)ewiBOqC4u$mDHT`ePWwMD7QWLu@i8$T>wy z5R!QBg{%_+np`}fuIS8QRjn$u}_N#*#yKv z<|iOi`dgD=g1SeH)mOqr5c44@ATgf`L36e7Bupk2$6(V}lhi9g`5O^=x{QV)Uv6fc z@58JP7UYm$@|h^uE)c)cOqW?jXI4Qb`tJT@=LQz#xFJ32Ir3q*#vs&w>y#C`z{}zv zb|PqjBB_4^Be@cm>z0R*nq=a$d0W+Go9>1w;KB_E!$+stT7RHZ7atzQi33Vl+Mv6- zSC0t;@or|PaI)wspS0(|ZFQD?>rR1wP6>9xTTxSD4=!TY$lX(UC*7B9JG*<{I4f`d zoJekiE5F%Ow|{Us4Og?a`YghP@|6X)mxsx8>2}dCK=!qdu3H`ty5FQp4bRul#t~v| z3xVkJO;R77NSUtB;NXO4zrpZQlLY;2`ZlU*3<3@SY87^q4_5)fx>tWs1a0&~(aaY`+Gw~hOPW6jCE?z%j!jnW% zKriDBRG*ggb5&*w&g9P}bVH9CPJ;jkuR$r|+X4q{SW1YsdZDE|lEUDZO-NCezC|b8 z6cI@_GgGGEI;9MctR!`39eM-hI!9Ai2VCSmkE8|Q_4JZexB8lqkemzZ$=RYk9aNvK z7U^(?hrT!DfL%8x`%YaqE(amqywnsjaqqs2?H7+xM4&&XFI+m$)@UH0b!C}(yb3}C z9eO?@OQt|una_cR@B+d|x@u1&qKS6A!;JX}=8d$PQ4Cy?ABV%t8hu%C?R&&et{g8M zTQ69tWM%{g5X?|#Bx`el#|VR5WgHt0~1FuteJjK?36UxR&?hB&2)suaC(OA zIw~9|IFz=e8$!QpUe=03C-8=a!i%3*hF%PB`0-(+1Q%8X=9tG2B&>J=QbOMG&(7p?#PEDXV3qrUM$lX3YG z_X__v1%s}YmD#T^!evToR!a;ho*A|8QLY{VBr5{`P+*fX^n!79%ksNqJ zoW^X=ocJ?IGx;ZQg9!;ELTA$ZiU6q_5g_RnPkONE*@6R-{bPlUdan)7i`&rAr!U=&jF+1m)vj;_X;W|-E}`I!BO++q;=8wE?b3v z+k^PaMnXyJIE#-yT+C6=nJ!ZOhubxn+BxunzcgPnMWy7qpLg!g+k)0eZMmV%DDj5* z$`y`)R+CpRG48RmAmhQ?uI{!&$GuV>hQ<{FaU0=B`)XSm_NET%b?(DPjf&riycB*B z(Dax}-m*INPZbPbOw*~wlGjC-`xT2c_;HN}i~R$~#`hrDuxLFu`YT$4JbNq&^K_iu z7ErEdR=fwJf~+3Qp~+L2K1!2||MV>4{=`=C|lg5+SVu(K9p+}HcAyt9M4h( zn6A?+A6vdZXCA$;(&Wbrgs+(w_=Cz(ARg)xAaSXEv2sjZu9PwmAf}(aA~}cR6NtXe_GwXZP~WD zzt_Jo6VmBOk-;{L_Km{2yN`CI2Zf;|Q4!m`E!qf~QYJ1G2{5a<5Wi%cR5+4isKhB8aP>!yCpb(Q zeYN`X&So^#I~|(_OBKKR&+lJy2Q%)_9nW@0c$8aFOy-deAA~4E_fz*%uUFj8QW{-u zE3G6OzBuV~_$8>T(vQS&9I$JcRj$W$I0iM(0^8Lci5G9%)eo3dYi<0yBTHckGQ}3@s97YwaiA^gz}@?HQuGIed4{{ z{Xk2bxvHXab|LZY`xk;47X+W#+pAQs6R?8UquD-b)9WWaZIc_p(<&=qKI9H9fP55v zC$pM;7?qfKEdAt_#U-3J(p4sNV=~m3tOz}>@*Tis!jYS?&V!UUfCtRt&pdalL@%2Xwa0@QZ-hNr4 z478`p!!QR(!&+P!GG-WdTj9!RLqA-_gER6o-usdFV@QeAtfscIuF=gQ?Ztp8nK2>N zZPuV=Ks6^z&5(h^j3P+@-=?cbty4l#`PTJ22>NZ|7Me$TE#bVcs5DIR$oA)zOwY1* z`SuCX^tjeep|rP_!6>@H^`lng#0r1ijA&|T96vzYUES&WPL&$i_zgj|ExC`;y8%jeBq*099^< z1FM6=<;{UNsd1Gd>EgQ15hy-MbI?@M1QFwgx-he8MVrESfe6+8Z0&ZM!asln}CiFQX3>kk%C?YKm#*~WLOqzdJd@1}W0#_B|pX|pN>hmRjnom@}_La^_xBGqn_s`AY zwJ&opT+~f-ziSXbH|4sB2mvhk53`I8deWJQ-gW5yI3z*NuXBr74#1V9TnO-6O}bc{ z%eT1WP7-g{2M2t+PbExN;!Fp3b5~2z7+G)v3xrK1)qiMU3lNE`{Km zxjcy(RJ3qC3XxCvhtm>$lUQwH{D?SaaE};i@PIgmy(Ch@2u6&8h!-qb7z*@NyZFn> zxB{Y2K@pRxhm;AuE>|<$bDq5y=+S`7QeI`A^(oJ)(b=U4gD)01X^q~}orBzR`+C@s zVI2%4?@1Ohne{^u4j(~*${;BXJb0pK*$tn$1y+3>-$4p6`;2yT`YfRs5$DCEy@{B| zLW+FJq!6)*E2$oPZKQqW*Rtmf0HEhusbk(}ciP@A%eFJl^u@~q9kQ*ppSkChZWP(*{4w$$5@8sR z5PXPBh5XyUJ1Rml?lsqt+N)6HGi0>uGm>f~H4f5*n?$sh5ny$a<^Z~@2>Wpp#;z%& z7*IGQ6VfL(p-vs6;Sgc=1QT@63CU(BfmC&_ko1%h6nm$$kQW+5XE*D!3Q7pcct`s9 zX2;`GC~R}cG>JmR+dyE2p~Pjs5XCEiXD!hHUEw=PbMnJK6oY26PDCYc#6P-MZhZOf*(f#N zQtxMwbHV)0i@4x9+`2%E(^~zQR^^q@2yT!Ng<~5N1O$gtyWVoKzM)SLEc)HCw>r{;M>*CQ0!t(gHS0#ZCjN=52a@Zzu<))(EZuRYr^WP zL@T}hzC{M+D!lh)-o$_40*I^To%;v(qYDMUDDh9Y*MPm&G;}XlFwuN`G0{vp0?a47 z9+zau?z^6=NFlQcTEfpy(Dg2#@$q5^nb`uP-f*bMuGd=%?lYvko*8O|_GG{Gdx?yw ze}wmXGI2d#-E<9w-LIvOj>KZZ#TM`_B{guo-mia+T!(~>83IH0_5c!SH;jB|b-7PF z#E&RAe@IX=z9`DA7QMh?28tCsU&M&Q1lrG@dXKH@WucX9A|zgS#7gc=CHsz9u)Lr!Mqp znsI26B#MkHM%8AS!K*xo<(nI=f$8OppuK})TqHzW)2j=U8}4GO)ONpKyjpe+zvDWeOfp8QXe&5+%{FE;nNI(x4|%bHaO~~M@=O)%Y+|q&<;AU z713eu5eR-cC zLyl2BZEq8hrI~34k4%2tOIdf|^U?pvb@c54B%VGn41w6ZEb9^2qa&Jh}CrruGAPIEAiLJjwG&spd|xD^2d;~2Mf z;2k-4k_aj-Go*zTQ4dIx4_(<+@35gs9#EIY4<*eUedM2>-tX>;o>Z$H5$E(L%|3o7 zVH)V&NpRt1(Gs`4qAhXywNLqHTmDaM&_9`T_obqqPKmgnD$Z}#>ny*gl{VcI#E#V+t)wcpOKYE4*V^S3yQ5t~w<80Y@ZTx}x0$At?3B^GrY6Not{pXWQoqMpdT6@Uj z`~mNL3Y60Ndapg4Yb?%?tTTbh&qY$?wDI{{Z9l(O1EmYg4v*S{jaV9j1qm|PQPk70 z!|_mD8?3N3}l{LQ5Y9d6U1*P0Wg9ELegY%h1}e7(tGUzCr&|W}B3>UY zJjAI(d8ya(29eOW;f+wdRc82|3cPvP%SMyn0Sh7SGpsF}b%e+@FSm;;a{Y@BT3$dP zl;0r_e^Dp@IdUI^2LK2_@Nq44`p0qn3*et;->;SIukwq9dC~q~Yu2Ai|6JLA$^51C z_1`kTXX5{*?AKKPtNc>-tNaH$^nZ8qPk!iMmH*QBk=yQXvHxL<{_PKRf(qY|Y;|s^b3~Y4az-pPr|`5j;%(Lio2I>i@s* zkb=KO{}nd+-+lixaP)7D4F4(icNpoPP5#q!{5OEL;cvbFX}15X(Z5)N|0=&mxa+SG z{w4fx&fx!U`Jb%8zhwU!wbTD4`!|R1pUwZ1tnzP^){m+F@r?aP3x1>grmp-GH~;_u literal 29742 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 O5x@E^J=p)_(|-Zu0;UE4 diff --git a/Static/PA块信息表all.xlsx b/Static/PA块信息表all.xlsx index 1bad873a379886f5af8bcc8b72e1e05d0c9290e6..850489b1c2fcca4539fa89500d49e0806bb50cae 100644 GIT binary patch literal 47801 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 literal 36300 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 SSFwcvfdBR9Ob!3*+y4RA6hO@Y diff --git a/UI/AreaTabWidget.py b/UI/AreaTabWidget.py index 66773b1..aa3f267 100644 --- a/UI/AreaTabWidget.py +++ b/UI/AreaTabWidget.py @@ -176,6 +176,7 @@ class AreaWidget(QWidget): self.orderCombox = QComboBox() self.orderCombox.addItems(['不转换', '字节转换', '字转换', '字内转换']) self.orderCombox.setObjectName('orderCombox') + self.orderCombox.setCurrentIndex(1) # self.orderCombox.setFixedSize(90, 27) self.byteLineLabel = QLabel('字节长度:') diff --git a/UI/BlockParameterManageWidget.py b/UI/BlockParameterManageWidget.py index 5c8fc75..7739846 100644 --- a/UI/BlockParameterManageWidget.py +++ b/UI/BlockParameterManageWidget.py @@ -3,7 +3,7 @@ import qtawesome from PyQt5.QtGui import QPixmap, QPainter, QIcon from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QStyledItemDelegate, QStyle, QComboBox, QMessageBox, QPushButton,QStackedWidget, QLineEdit \ -, QVBoxLayout, QHBoxLayout, QWidget, QLabel, QSplitter, QButtonGroup, QDialog, QRadioButton +, QVBoxLayout, QHBoxLayout, QWidget, QLabel, QSplitter, QScrollArea, QButtonGroup, QDialog, QRadioButton from utils.DBModels.DeviceParModels import * from UI.BlockParameterView import ParmView from UI.SearchAddressWidget import SearchAddressWidget @@ -12,11 +12,12 @@ from utils.DBModels.DeviceParModels import * from utils import Globals from UI.LoadingDataWidget import LoadingDataWidget from UI.EditAddressWidget import EditAddressWidget - +from UI.SoftKeyBoardEdit import * from model.ProjectModel.BlockManage import BlockManage, BlockType, TBType + class ShowImage(QWidget): def __init__(self, image_path): super().__init__() @@ -49,7 +50,7 @@ class TbCombox(QComboBox): def initUI(self): # 创建ComboBox - self.addItems(["压力转换块", "温度转换块", "物位转换块", "流量转换块", 'WIKA液位计']) + self.addItems(["压力转换块", "温度转换块", "物位转换块", "流量转换块", 'WIKA液位计','开封流量计']) self.setEditable(True) # 设置为可编辑以应用样式表隐藏文本 self.setObjectName('tbcombox') @@ -79,16 +80,19 @@ class DynamicAddBlock(QHBoxLayout): self.blockViewlist = [] self.tbtypeList = TbtypeList #存放转换块的各种类型 # print(self.tbtypeList) - self.tbList = ['PressureTranslationBlock', 'TemperatureTranslationBlock', 'LevelTranslationBlock', 'FlowTranslationBlock', 'WiKaLevelTranslationBlock'] #存放四个转换块 - self.enumList = [TBType.pressureTB, TBType.tempTB, TBType.levelTB, TBType.flowTB, TBType.wikaLevelTB] + self.tbList = ['PressureTranslationBlock', 'TemperatureTranslationBlock', 'LevelTranslationBlock', 'FlowTranslationBlock', 'WiKaLevelTranslationBlock', 'KaiFengFlowTranslationBlock'] #存放四个转换块 + self.enumList = [TBType.pressureTB, TBType.tempTB, TBType.levelTB, TBType.flowTB, TBType.wikaLevelTB, TBType.kfFlowTB] self.initUI() def initUI(self): + self.setContentsMargins(0, 0, 0, 0) + pbNumber = self.blocklist[0] tbNumber = self.blocklist[1] fbNumber = self.blocklist[2] + for i in range(pbNumber): pblockBtn = QPushButton('物理块') @@ -145,7 +149,7 @@ class DynamicAddBlock(QHBoxLayout): case None: tbcombox.setCurrentIndex(4) tblockBtn = QPushButton(tbcombox.currentText() + str(i + 1)) - print(1) + @@ -190,7 +194,7 @@ class DynamicAddBlock(QHBoxLayout): buttonNumber = button.text()[-1] button.setText(tbType + str(buttonNumber)) if button.isChecked(): - stackIndex = (int(self.blocklist[0]) + int(self.blocklist[2]) + index) + (int(buttonNumber) - 1) * 5 + stackIndex = (int(self.blocklist[0]) + int(self.blocklist[2]) + index) + (int(buttonNumber) - 1) * 6 print(stackIndex) self.parameStackWidget.setCurrentIndex(stackIndex) @@ -238,7 +242,7 @@ class BlockParameterManageWidget(QWidget): self.settingLayout = QHBoxLayout() self.deviceAddressLabel = QLabel('从站地址') self.deviceAddressLabel.setObjectName('deviceAddressLabel') - self.deviceAddressEdit = QLineEdit() + self.deviceAddressEdit = SoftKeyBoardEdit() self.deviceAddressEdit.returnPressed.connect(self.loadBlackData) self.deviceAddressEdit.setObjectName("deviceAddressEdit") @@ -272,6 +276,11 @@ class BlockParameterManageWidget(QWidget): self.settingLayout.addWidget(self.refershDataBtn, 1) # self.settingLayout.addLayout(self.blockLayout) # self.settingLayout.setSpacing(5) + self.scroArea = QScrollArea() + self.scroArea.setObjectName('scroArea') + self.scroArea.horizontalScrollBar().setObjectName('scroBar') + + self.splitter = QSplitter() self.settingLayout.addWidget(self.splitter, 18) @@ -288,7 +297,7 @@ class BlockParameterManageWidget(QWidget): address = self.deviceAddressEdit.text() # print(address) if address: - pattern = re.compile(r'^(?:[1-9]|[1-9][0-9]|1[0-1][0-9]|12[0-7])$') + pattern = re.compile(r'^(?:[3-9]|[1-9][0-9]|1[0-1][0-9]|12[0-6])$') match = pattern.match(address) else: @@ -299,7 +308,7 @@ class BlockParameterManageWidget(QWidget): return if not match: - QMessageBox.warning(self, '提示', '请输入2 - 127。') + QMessageBox.warning(self, '提示', '请输入3 - 126。') return if self.initUIstat: @@ -319,8 +328,12 @@ class BlockParameterManageWidget(QWidget): Globals.setValue('blockManage', self.blockManage) blocklist = self.blockManage.getBlockNums() self.blockLayout = DynamicAddBlock(blocklist, self.blockManage.TBTypeList) - self.settingLayout.addLayout(self.blockLayout, 7) - self.settingLayout.addWidget(self.splitter, 11) + self.scroWidget = QWidget() + self.scroWidget.setObjectName('scroWidget') + self.scroWidget.setLayout(self.blockLayout) + self.scroArea.setWidget(self.scroWidget) + self.settingLayout.addWidget(self.scroArea, 18) + # self.settingLayout.addWidget(self.splitter, 11) self.mainlayout.addWidget(self.blockLayout.parameStackWidget, 20) self.initUIstat = False self.recordAddress = address #记录链接成功的站地址 @@ -344,12 +357,16 @@ class BlockParameterManageWidget(QWidget): self.blockLayout.deleteLater() self.splitter.deleteLater() self.splitter = QSplitter() + # self.scroArea.deleteLater() blocklist = self.blockManage.getBlockNums() TbtypeList = self.blockManage.TBTypeList self.blockLayout = DynamicAddBlock(blocklist, TbtypeList) - self.settingLayout.addLayout(self.blockLayout, 7) - self.settingLayout.addWidget(self.splitter, 11) + self.scroWidget = QWidget() + self.scroWidget.setObjectName('scroWidget') + self.scroWidget.setLayout(self.blockLayout) + self.scroArea.setWidget(self.scroWidget) + self.settingLayout.addWidget(self.scroArea, 18) self.mainlayout.addWidget(self.blockLayout.parameStackWidget, 20) self.recordAddress = address #记录链接成功的站地址 else: @@ -406,6 +423,7 @@ class BlockParameterManageWidget(QWidget): self.blockLayout.deleteLater() self.splitter.deleteLater() self.splitter = QSplitter() + self.scroArea.deleteLater() self.widget = ShowImage('Static/pict.png') self.mainlayout.addWidget(self.widget, 20) self.settingLayout.addWidget(self.splitter,18) diff --git a/UI/BlockParameterModel.py b/UI/BlockParameterModel.py index 7c35fef..ce4e582 100644 --- a/UI/BlockParameterModel.py +++ b/UI/BlockParameterModel.py @@ -51,7 +51,8 @@ class VarTableModel(QAbstractTableModel): print("列索引超出范围") return # for row in range(self.rowCount()): - if self.datas[row][2] in ['SENSOR_UNIT']: + + if 'unit' in self.datas[row][2].lower() or 'unt' in self.datas[row][2].lower(): unit = UnitTable.getUnitSymbolByUnitValue(value) value = unit if unit else value self.datas[row][6] = value @@ -77,7 +78,7 @@ class VarTableModel(QAbstractTableModel): if role == Qt.TextAlignmentRole: return Qt.AlignCenter if not QModelIndex.isValid(): - print("行或者列有问题") + return QVariant() if role == Qt.TextColorRole: @@ -139,6 +140,9 @@ class VarTableModel(QAbstractTableModel): def updateValue(self, valueList): for index, value in enumerate(valueList): + if 'unit' in self.datas[index][2].lower() or 'unt' in self.datas[index][2].lower(): + unit = UnitTable.getUnitSymbolByUnitValue(value) + value = unit if unit else value self.datas[index][6] = value self.table.proxy.invalidate() @@ -198,7 +202,7 @@ class VarButtonDelegate(QItemDelegate): boxLayout.addWidget(refreshButton,1) combox.index = [index.row(), index.column()] - elif objectType == 'SENSOR_UNIT': + elif 'unit' in objectType.lower() or 'unt' in objectType.lower(): comboxUnit = QComboBox() comboxUnit.setObjectName('modeCombox') comboxUnit.addItem('下拉选择') @@ -265,11 +269,10 @@ class VarButtonDelegate(QItemDelegate): "请输入强制值", QMessageBox.Yes) return - match dataType: - case "Float": + if dataType in ['Float', 'DS-36', 'Unsigned16', 'Unsigned8']: + pattern = re.compile(r'^[+-]?(\d+(\.\d*)?|\.\d+)$') for value in values: - pattern = re.compile(r'[^0-9\.-]+') - if not value or re.findall(pattern, str(value)): + if not value or not re.findall(pattern, str(value)): reply = QMessageBox.question(self.parent(), '警告', "请输入强制值或数字", diff --git a/UI/DeviceDialogWidget.py b/UI/DeviceDialogWidget.py index 26bfe7b..fb28834 100644 --- a/UI/DeviceDialogWidget.py +++ b/UI/DeviceDialogWidget.py @@ -7,7 +7,7 @@ from PyQt5.QtCore import QSize, Qt from PyQt5.Qt import * from PyQt5.QtGui import QPixmap, QIcon from PyQt5.QtWidgets import QHBoxLayout, QAbstractItemView, QVBoxLayout, QSplitter, \ - QApplication, QLabel, QGridLayout, QLineEdit, QComboBox, QTextEdit, QCheckBox,QVBoxLayout,QListView, QMainWindow, QStackedWidget, QMessageBox + QApplication, QLabel, QGridLayout, QComboBox, QTextEdit, QCheckBox,QVBoxLayout,QListView, QMainWindow, QStackedWidget, QMessageBox from PyQt5.QtWidgets import QSizePolicy, QWidget from ctypes import POINTER, cast @@ -21,7 +21,7 @@ from win32.lib import win32con from windoweffect.window_effect import WindowEffect from windoweffect.c_structures import MINMAXINFO, NCCALCSIZE_PARAMS from utils.DBModels.DeviceModels import DeviceDB - +from UI.SoftKeyBoardEdit import * class DeviceDialog(QDialog): @@ -36,22 +36,22 @@ class DeviceDialog(QDialog): self.resize(306, 451) self.setObjectName('deviceDialog') - self.deviceNameEdit = QLineEdit() + self.deviceNameEdit = SoftKeyBoardEdit() self.deviceNameEdit.setPlaceholderText("设备名称") self.deviceNameEdit.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) self.deviceNameEdit.setObjectName('deviceMesEdit') - self.pvUpperEdit = QLineEdit() + self.pvUpperEdit = SoftKeyBoardEdit() self.pvUpperEdit.setPlaceholderText("量程上限") self.pvUpperEdit.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) self.pvUpperEdit.setObjectName('deviceMesEdit') - self.pvLowerEdit = QLineEdit() + self.pvLowerEdit = SoftKeyBoardEdit() self.pvLowerEdit.setPlaceholderText("量程下限") self.pvLowerEdit.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) self.pvLowerEdit.setObjectName('deviceMesEdit') - self.pvUnitEdit = QLineEdit() + self.pvUnitEdit = SoftKeyBoardEdit() self.pvUnitEdit.setPlaceholderText("单位") self.pvUnitEdit.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) self.pvUnitEdit.setObjectName('deviceMesEdit') diff --git a/UI/EditAddressWidget.py b/UI/EditAddressWidget.py index b780fde..e4de89e 100644 --- a/UI/EditAddressWidget.py +++ b/UI/EditAddressWidget.py @@ -23,7 +23,7 @@ from windoweffect.c_structures import MINMAXINFO, NCCALCSIZE_PARAMS from utils.DBModels.DeviceModels import DeviceDB from model.ConfigModel.GSDManage import GsdParser - +from UI.SoftKeyBoardEdit import * from protocol.ModBus.DPV1Master import DPV1Master class EditAddressWidget(QDialog): @@ -37,12 +37,12 @@ class EditAddressWidget(QDialog): self.resize(306, 350) self.setObjectName('deviceDialog') - self.newAddressEdit = QLineEdit() + self.newAddressEdit = SoftKeyBoardEdit() self.newAddressEdit.setPlaceholderText("请输入目标站地址") self.newAddressEdit.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) self.newAddressEdit.setObjectName('deviceMesEdit') - self.oldAddressEdit = QLineEdit() + self.oldAddressEdit = SoftKeyBoardEdit() self.oldAddressEdit.setPlaceholderText("请输入原站地址") self.oldAddressEdit.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) self.oldAddressEdit.setObjectName('deviceMesEdit') diff --git a/UI/MainWindow.py b/UI/MainWindow.py index 82455ad..3eb0e66 100644 --- a/UI/MainWindow.py +++ b/UI/MainWindow.py @@ -119,6 +119,7 @@ class MainWindow(QWidget): self.valueBtn.setIcon(qtawesome.icon('fa.pencil', color='#1fbb6f')) self.valueBtn.setIconSize(QSize(25, 25)) self.valueBtn.setCheckable(True) + self.valueBtn.clicked.connect(self.switchDeviceValueManageWidget) self.deviceParameterManageBtn = QPushButton('设备参数管理') @@ -211,7 +212,7 @@ class MainWindow(QWidget): self.stackWidget.addWidget(self.upperWidget) self.stackWidget.addWidget(QWidget()) self.stackWidget.addWidget(self.blockParameterManageWidget) - self.valueBtn.clicked.connect(lambda : self.stackWidget.setCurrentIndex(0)) + self.mainLayout = QVBoxLayout(self) self.mainLayout.addLayout(toolbarLayout, 1) @@ -310,13 +311,23 @@ class MainWindow(QWidget): startupInfo.wShowWindow = 2 self.process = subprocess.Popen("D:\\EnTalk PROFIBUS Manager\\DP.exe",startupinfo=startupInfo) QTimer.singleShot(500, lambda:self.showLowerWidget(self.process)) - self.showMaximized() + # self.showFullScreen() # self.switchBtn.setIcon(QIcon(':/static/varMagH.png')) + def switchDeviceValueManageWidget(self): + self.stackWidget.setCurrentIndex(0) + try: + self.stackWidget.widget(3).clearFocus() + except Exception as e: + pass def switchDeviceParManageWidget(self): # if self.deviceParameterManageBtn.isChecked(): self.stackWidget.setCurrentIndex(2) + try: + self.stackWidget.widget(3).clearFocus() + except Exception as e: + pass # self.deviceParameterManageBtn.setText('变量读写') self.deviceParameterManageBtn.setIcon(qtawesome.icon('fa.pencil-square-o', color='#1fbb6f')) @@ -336,14 +347,14 @@ class MainWindow(QWidget): widget = QWidget.createWindowContainer(QWindow.fromWinId(hwnd)) # print(type(widget)) widget.hwnd = hwnd # 窗口句柄 - widget.phwnd = 0 # 父窗口句柄 + widget.phwnd = int(self.winId()) # 父窗口句柄 widget.style = style # 窗口样式 widget.exstyle = exstyle # 窗口额外样式 widget.wrect = wrect # 窗口位置 self.stackWidget.addWidget(widget) - widget.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint | Qt.WindowFullScreen) + widget.setWindowFlags(Qt.FramelessWindowHint) win32gui.SetParent(hwnd, int(self.winId())) diff --git a/UI/ObjectTypeEditlayout.py b/UI/ObjectTypeEditlayout.py index 54d59fd..462583d 100644 --- a/UI/ObjectTypeEditlayout.py +++ b/UI/ObjectTypeEditlayout.py @@ -1,6 +1,6 @@ from PyQt5.QtWidgets import QLineEdit, QVBoxLayout - +from UI.SoftKeyBoardEdit import * class ObjectTypeEditlayout(QVBoxLayout): def __init__(self, objectType, dataType): super().__init__() @@ -11,10 +11,10 @@ class ObjectTypeEditlayout(QVBoxLayout): def initUI(self): - self.editline1 = QLineEdit() - self.editline2 = QLineEdit() - self.editline3 = QLineEdit() - self.editline4 = QLineEdit() + self.editline1 = SoftKeyBoardEdit() + self.editline2 = SoftKeyBoardEdit() + self.editline3 = SoftKeyBoardEdit() + self.editline4 = SoftKeyBoardEdit() self.editline1.setObjectName('parameEditline') self.editline2.setObjectName('parameEditline') self.editline3.setObjectName('parameEditline') @@ -68,7 +68,6 @@ class ObjectTypeEditlayout(QVBoxLayout): def getEditlineValue(self): valueList = [] - print(self.editlineList,6777) for editline in self.editlineList: value = editline.text() valueList.append(value) diff --git a/UI/SoftKeyBoardEdit.py b/UI/SoftKeyBoardEdit.py index e8b50c8..0807b7c 100644 --- a/UI/SoftKeyBoardEdit.py +++ b/UI/SoftKeyBoardEdit.py @@ -45,7 +45,7 @@ class SoftKeyBoardEdit(QLineEdit): def mousePressEvent(self, event): - print(Globals.getValue('_touchMode')) + # print(Globals.getValue('_touchMode')) if Globals.getValue('_touchMode'): self.toggleTabtip() event.accept() \ No newline at end of file diff --git a/bin.py b/bin.py index d2a692a..8b95d93 100644 --- a/bin.py +++ b/bin.py @@ -39,6 +39,7 @@ if __name__ == '__main__': Client.initDB() window = MainWindow() window.showFullScreen() + # window.showMaximized() Globals.setValue('MainWindow', window) # window.show() sys.exit(app.exec_()) \ No newline at end of file diff --git a/model/ClientModel/Client.py b/model/ClientModel/Client.py index 8f5abf0..2486b51 100644 --- a/model/ClientModel/Client.py +++ b/model/ClientModel/Client.py @@ -18,6 +18,6 @@ class Client(object): else: self.deviceDB = SqliteDatabase(dbPath) client_proxy.initialize(self.deviceDB) - modelsArr = [DeviceDB, PressureTranslationBlock, PhysicalBlock, AIFunctionBlock, TemperatureTranslationBlock, LevelTranslationBlock, FlowTranslationBlock, WiKaLevelTranslationBlock, UnitTable] + modelsArr = [DeviceDB, PressureTranslationBlock, PhysicalBlock, AIFunctionBlock, TemperatureTranslationBlock, LevelTranslationBlock, FlowTranslationBlock, WiKaLevelTranslationBlock, KaiFengFlowTranslationBlock, UnitTable] self.deviceDB.connect() self.deviceDB.create_tables(modelsArr, safe = True) diff --git a/model/ProjectModel/BlockManage.py b/model/ProjectModel/BlockManage.py index 5f4f5d4..ec6aa99 100644 --- a/model/ProjectModel/BlockManage.py +++ b/model/ProjectModel/BlockManage.py @@ -40,6 +40,7 @@ class TBType(Enum): levelTB = -3 # 物位转换块 pressureTB = -4 wikaLevelTB = -5 + kfFlowTB = -6 class BlockManage(): _instance = None @@ -53,7 +54,7 @@ class BlockManage(): # return cls._instance def __init__(self, _isPa, address = None): - print(_isPa) + # print(_isPa) self._isPa = _isPa self.address = address self.TBTypeList = [] @@ -74,7 +75,7 @@ class BlockManage(): def initBlocks(self): # print(self._isPa,5555) if not self.DPV1Master.judgeSlave(self.address): - print(self.address) + # print(self.address) raise RuntimeError(f"连接从站{self.address}失败.") self.blockDict = { BlockType.PB : [], @@ -111,16 +112,18 @@ class BlockManage(): else: dirMesDic[blockIndex] = blockNums # print(dirMesDic) - entryTuples = [] + # entryTuples = [] for key, value in dirMesDic.items(): # print(key, value) if key == 1: - data = self.DPV1Master.readParm(address = self.address, slot = 1, index = key, length = dirLength + 4 * value) + entryTuples = [] + data = self.DPV1Master.readParm(address = self.address, slot = 1, index = 1, length = dirLength + 4 * value) else: data = self.DPV1Master.readParm(address = self.address, slot = 1, index = key, length = 4 * value) # print(data, int(len(data)/2)) # print(data) data = struct.unpack('>{}h'.format(int(len(data)/2)), data) + # print(data) tuples = [(data[i], data[i+1]) for i in range(0, len(data), 2)] entryTuples += tuples # print(entryTuples) @@ -130,11 +133,12 @@ class BlockManage(): blkDirMesByte = struct.pack('>h', entryTuples[typeIndex][0]) blkIndex = int(blkDirMesByte[0]) # 目录对象编号 blkoffect = int(blkDirMesByte[1]) # 块从第几个Dir_Entry开始 + # print(blkoffect) numBlk = entryTuples[typeIndex][1] # 块数量 # print(blkIndex, blkoffect, numBlk) for i in range(numBlk): blkEntryListIndex = blkoffect - 1 + i - # print(blkEntryListIndex, entryTuples) + print(blkEntryListIndex, entryTuples) blkPointerByte = struct.pack('>h', entryTuples[blkEntryListIndex][0]) numBlkParms = entryTuples[blkEntryListIndex][1] blkSlot = int(blkPointerByte[0]) @@ -215,7 +219,8 @@ class Block(): TBType.pressureTB: PressureTranslationBlock.getallParame, TBType.tempTB: TemperatureTranslationBlock.getallParame, TBType.levelTB: LevelTranslationBlock.getallParame, - TBType.wikaLevelTB: WiKaLevelTranslationBlock.getallParame + TBType.wikaLevelTB: WiKaLevelTranslationBlock.getallParame, + TBType.kfFlowTB: KaiFengFlowTranslationBlock.getallParame }.get(self.blockType, lambda: []) parmsData = getParmsFunc() diff --git a/model/ProjectModel/ParmManage.py b/model/ProjectModel/ParmManage.py index 0da9f88..6d377f7 100644 --- a/model/ProjectModel/ParmManage.py +++ b/model/ProjectModel/ParmManage.py @@ -120,7 +120,7 @@ class Parm(): valueByte, statusByte = value[:4], value[4].to_bytes(1, byteorder='little') value = self.unpackFloat(valueByte) status = self.unpackU8(statusByte) - displayStr = '值:{}\r\n状态:{}'.format(value, status) + displayStr = '值:{}状态:{}'.format(value, status) return displayStr def unpackDS32(self, value): @@ -142,7 +142,7 @@ class Parm(): def unpackDS36(self, value): - print(len(value)) + # print(len(value)) EU100Byte, EU0Byte, unitByte, decPointByte = value[:4], value[4:8], value[8:10], value[10].to_bytes(1, byteorder='little') EU100 = self.unpackFloat(EU100Byte) EU0 = self.unpackFloat(EU0Byte) diff --git a/protocol/ModBus/DPV1Master.py b/protocol/ModBus/DPV1Master.py index 0c5af61..7765bfa 100644 --- a/protocol/ModBus/DPV1Master.py +++ b/protocol/ModBus/DPV1Master.py @@ -150,7 +150,7 @@ class DPV1Master(): closeProtocolHex = b'\x05\x00' closeProtocolData = struct.unpack('>h', closeProtocolHex) self.writeMultipleRegister(1, 750, closeProtocolData) - time.sleep(1) + time.sleep(1.5) # print(identNumer) idHighHex = int(identNumer[:2], 16).to_bytes(1, byteorder='little') idLowHex = int(identNumer[2:], 16).to_bytes(1, byteorder='little') @@ -159,7 +159,7 @@ class DPV1Master(): editAddressDate = struct.unpack('>hhhh', editAddressStream) # print(editAddressDate) self.writeMultipleRegister(1, 750, self.resetData) - time.sleep(0.2) + time.sleep(0.7) self.writeMultipleRegister(1, 750, editAddressDate) time.sleep(0.4) value = self.readHoldingRegisters(1, 750, 2) diff --git a/utils/DBModels/DeviceParModels.py b/utils/DBModels/DeviceParModels.py index 7462cf1..ba7cbe8 100644 --- a/utils/DBModels/DeviceParModels.py +++ b/utils/DBModels/DeviceParModels.py @@ -154,6 +154,18 @@ class WiKaLevelTranslationBlock(PressureTranslationBlock): description = CharField() createTime = CharField() +class KaiFengFlowTranslationBlock(PressureTranslationBlock): + index = CharField() + paramName = CharField() + objectType = CharField() + dataType = CharField() + saveType = CharField() + dataSize = CharField() + accessType = CharField() + transferType = CharField() + description = CharField() + createTime = CharField() + class UnitTable(BaseModel): unitValue = CharField()