From 8e2218c450a713aa38d3922af5b23fd6cfa1586f Mon Sep 17 00:00:00 2001 From: CZ Date: Sat, 11 May 2024 16:31:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0PLC=20MSG,=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=B3=A8=E8=A7=A3=EF=BC=8C=E8=BF=9E=E6=8E=A5=E8=AF=BB=E5=8F=96?= =?UTF-8?q?PLC=E6=95=B0=E6=8D=AE=EF=BC=8C=E6=98=BE=E7=A4=BAplc=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DesignTimeBuild/.dtbcache.v2 | Bin 313575 -> 313575 bytes .vs/hybirdMyFrame/v17/.suo | Bin 367104 -> 386560 bytes .../HybirdFrameworkRepository.deps.json | 68 + .../Plc/PlcReadAndWritten.cs | 136 + HybirdFrameworkServices/Plc/PlcReadonly.cs | 364 +++ HybirdFrameworkServices/Plc/PlcTurnsRatio.cs | 238 ++ WinFormStarter/Form2.cs | 2 + WinFormStarter/FrmPLCConnect.Designer.cs | 2884 +++++++++++++++++ WinFormStarter/FrmPLCConnect.cs | 291 ++ WinFormStarter/FrmPLCConnect.resx | 60 + WinFormStarter/WinFormStarter.csproj | 6 + WinFormStarter/WinFormStarter.csproj.user | 6 +- ...rosoft.Extensions.Logging.Abstractions.dll | Bin 52616 -> 62064 bytes .../WinFormStarter.designer.deps.json | 207 +- 14 files changed, 4252 insertions(+), 10 deletions(-) create mode 100644 HybirdFrameworkServices/Plc/PlcReadAndWritten.cs create mode 100644 HybirdFrameworkServices/Plc/PlcReadonly.cs create mode 100644 HybirdFrameworkServices/Plc/PlcTurnsRatio.cs create mode 100644 WinFormStarter/FrmPLCConnect.Designer.cs create mode 100644 WinFormStarter/FrmPLCConnect.cs create mode 100644 WinFormStarter/FrmPLCConnect.resx diff --git a/.vs/hybirdMyFrame/DesignTimeBuild/.dtbcache.v2 b/.vs/hybirdMyFrame/DesignTimeBuild/.dtbcache.v2 index 5caff3830a26c211fef0647d39073be8cc484c17..2703bf2c0f8e375fdf613afd3405e67e246195bc 100644 GIT binary patch literal 313575 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%0AAK&m9@SMCC?&}wJ?hw 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 _~Uk9agtLm|D zJyaj9j~bwcs1e!#HAYR)hG-+SG1>$*Ma@ui)B?3co1#{zHQEeqj@qCtP+PPmYKJP% zu=;!Qw6^DOcR<}xchm#*M7_|CXeYEY+6C>3ek)gNFOKbvG-qpHw5+_XgE&3_9gGH| zLFf>4C>o3oLqpI|Gz=Y%hNC0Uk?7x=zjY1&`?W}OxUNTkWe(Rp=E@2=fv87=3~cV&4FCFdB#kp+nH2XfQeq z4M9WEFmyN?j*dV_q7leY&ry_LP}m6PRV(Ux`Z{B3#hDjaZtk9PK*W5LF$0Rs z0L$2WnA#EZZN}6tGPNyZ?_ugj%y$`6x5(7BjJ=1c7ct*wOuZsg&ocHNrhdfykTLa( zOnuAPdzc0h^JB&|C^8K!WA9-aMNDbF)a4}~uWj^-R0~Yo;;YuyzH0WKSFKINtP+?u zMW&5q>^;n1nb+4bdOm9erepE>bhOXM-t&CIh^Zc!u*ig#vG*{YB4*9NbSg5PEMxCs zs*poyx<&QW2u!zPJvOVJ9rk8=L`==V^e8gqmGc<(p0ZcOEI;$5{^fa(rgzi^jRVuW z*iOA|JK1~A7^{>UY5GJpZ5)_B#hUuqn(RF_{bBi&X0PbcS_EdV;-l?lAI;wL`tB1k zEd#Spk=e&G_8w-xh}kqS`xTk}EMxCs`bNw$W;iwdBBpg<`W5TxXX~-|)N^3OEN`=$ zmgX%D^mXF>xtz{hY7U9sIr{|Wkm9@R5Pi<2Ne)4w3U)C`H*;q1T+DYnB9+Ya`g z_81m1=LBY0kr`$gd(Y>vN_nbgcvREmzzi?eG~Cu?@2RPj%No6t&5==ST^5)li>-B} zZ7q9GYc24fiOU1IBK?`5pWNQ)Cy%PSGLWm%6rJdfTI8v#16iD==wWx%HJ-XQkn7SE z-S3XN-cvUOa$}mJZ{ATidFtjsZb?&g+&k)4Pu&*C?P;o%@9J8~1}I#6J>%Q!*+8D5 zz5Lwmcy7AOaizRi-x8&~Sl<$*yjUNFFXhGhmMG=L`j#l=#rl>g<;D7zDCNcamiQOs z#hT-y6X^+Ab6k98h2`e%Il=k^b7#${=<%jz&8Xtzjk1qt?|HmZ-mHHImhxtKW6143 zcl(a4+)1`bqBrGs-&S{d>h7%Elcw(S)V-d%FDv(_se3)O#8VGs<-s(y#8aibS>FFK$-w@;NH-x?C9Z|}y^)0`ANR&(^pMjOn)`~F$2^Lzzk9|2s2pCV9Zc8LovhE49AR6GXisrnqx2{)r`c9Rx=ti zPE8fllFf0vce!?%sDHyqzIfJ2Gl~OTWc<5wlg)VkYfhZr)8=@O=J-&}hnP>)e1iF0 z&F7de)O>;YO3hc8Z`FK@`9aMOn4i`BjLGPCbB6Ec%}5QNCL^QN;ZeoZ;p54n9i5jk zOCK4_k#Tt$zx0t4IC5fMPFniN$s9Q)FQ+bj)wogcHpPbr0Ewz1SYCE0aJw8Xm zl5aCyRT8+Lh!VK-O)4jFpREbp=ln_nck5_w%L#dz7$tB|S}K8ivQ6OTbZT;504Hk# zcL$x@a!Ov#<)vpwr3CID-~YXHTdqW2XAQJA@_E?*Nlx|7k(D7(A`lro>`FnGzcjbN38{I`){I~OA{x`YQ=aJJq75!Q+ z^)&WZ&ZXXy=X*Z;rlT3?0yGoNLKmXhXb!pv%|-Lj#Yl6f=TpYH(>GTs=Xqe%8}LiU z3@r8r479xg_MWe!D$R>2c^^eC3-EDW>a~-}74&*GjUKTOn5Hp><>u}wOZlHsBds4u z1KKjtBUj(YUaK_ke-z}`x^ol$F*ay$L|=1Kp)c`A^n)9)K5 zpRhN&dZXWh=L2~mO+DwS7d`b-ATOt>7d`cgr(O-@wKVmLr(XBe8-cu;re60{X)Sl( z5~a1=eXO;#mb-6>(pv7mC6?E<+)Jyp`&X#6O1p1~(kkt~C6?D!+N-qwdMRg9PaT<3 zDmrt#C@XV`PbT^xnQzLSU(WN?#aWr3rkIS%QI~k?(yUyTrkJV9Q42hEc~-7SQ%qy! zs4C@b$}r!F2fBKd;h!r@kdh zd7Hi^N_m^^Gy8@A1XX0^%k(FR1PMod<*Bc;@=cl|d%{uQdg{BZe4nOBt#H)xk+*qC zB5$*`n-ld?m#KM~D;E6Sd7C41tX4jfFF!jcDp5o7TgcQLNI^u<&xuO>j`S3Qc%~@_ zni8U;=*CPd6g`+|g`!u5*@)Ti_5Vw8BoxHM5)b+vNsgu5Mt!L&&!+k> z$Zag8H1btgN@=7KPSk|D6EUZ#IR$gNn$t07sX2>jQ2(NoM$STcK+ZNf(Zp~f|Y;Zay{sVxi7qypZg{E7e?yxk}Ad zm_=$9VXjtlHD6g}GbJ-I#mS+=IDS&ApiW)ZB-;U(NlP zC2E#n9#HcD=0P21y=1DbAVxCg- z6y|9)Ph*}@^9<%$HP2$6Q}Z0=c{R^tUQqJ_=0!CxVqQ}766R$!FJoR&^9trwHLqe` zQ}Y_;bv3VJ-ca)f=1nzkV%}2o7Upd=Z)4t3^A6@+HSc2HQ}Z6?eKqf6K2Y-k=0i0f zVm?yy5$0nxA7egI^9kltHJ@TWQ}Y?-b2Xo1j2eRxHG=s<%@>#oH5HgI)qIKhO3hc8 zuho2w`9{q*m~Yj5i}_B?cbM#nlem5O#xG`rW~`P zniVlCsac8Y+HpSKu0mGU?UgxDO-(fpBvvtyRdn|%9A8zO*Ly`)>5+;riPjtn3`&8V%Ao(Hl~)ET9|dztb?horZ%RInmU-eYU*OvRkJRp zo|<}?_0+6~sjsF!|3Mf2wJsI1zHYD2b`>s58YtU~DjfP`I_4qX_>gQ$s=txw99%;zgMx(qmFLT4O zDjnH`m%T-qw2Y2KkD`Cmlp~v#neQiMemdcIFU@cv!xmO#2!amrSs7JBRau&04u7XZ zf@-2xWh|M1Hba}EHfRgf7Hx^zp{-DRv^DC0wm~7<7Ij41p-!kX>VmqW?a>aX8|sdF zpq{7~+7a!9c1F9PT~Tke8|s60M|+?>(Ozh8v=7=B?T7Y9ebE7^AL@?|LZGF1)Yn| zLsQW-bUvDnW}pkuOf(B!h-RZX=pr;1%|jO>U0P#4<*y9|yM+ChqRUWIxc_FUjRn+k zIl2Pt{t>9O{6;8O(H_^)7T2R2(2eLObThgI-HL8Q zx1&4Io#^i#Hnxc8d^LKT=kgAE7rlqxM~m5i4bq`w*HT`Gu1A%Z z72SqzM|Yq*(Ou|M>baZp9;8Fb?xobBWcQWnIz^579s6;0xxb81(fwtnx-3z*MBM}G z9#Gdr14&JCxDC~9sBR;58`1Cipkfd53-geghcFMTc^LDEnny5?s(BRin3~5hkE?kc z^MslwFi)y^67!Urr!WQE6ZYPu%p`fbtRs?V%D89f>a%6$V|lJjo`+(`XXbNbjK~XR z+wsg^EW^l4dJpabn z_S9Qtw#zd?(Ff|N#h!Y*%=U*SC^|?Tb&aRqDYKoW35woRM_ucwcgt)~YJ#F`)lt`Z z>b)}C&6=R-cXibDo_fE`_Q577I%OSogQq?yvmLYviXK}>-RP+g%WUs$f}%UuQ8#(& zqcYpIo1p0Hb=1wC`nb&Y`z9zlf*o~>r#>mOox%xZwo5Y>#n*q6^tkw|VNb zGTWV;py*$A)a{=7yv+7BC#c&!b%&=+neB*9Q1nc@y6*Ipl-XYD1Vy*Cqwez57iG2! zJ3-N>?WnswRZ(X9w-eOep1Q|VUzXX3X$ zML)Wu?)TI;WwuW}LD9+Xs3o5Iw#;_8Cn$R09rb{xzALl6@d=9Vc}G3ysqf2dSABw_ z@7_@ldFqEU+mD~1=-7AE!=C!F%y#l8D0=-J^@yi_Dzg!Q1Vu=|QIC4+=Q0}}NKnKJ z9QBx|ekrrDg9Jq|!BLNUYK4LgEF>r*4UT%kQ<;K|IwUB<5RQ7%Q$fLoBoY)c3P(NV zscgZ8B93~_Q-y+! zkt8UBCXRaEQ{@F4KuJ(UR2=n!r&cW3=t_bj+~TMgJ+)H7hF%gBu^30a!!A5iv6d@i*z3Qn|3pU)7posrC>NQWTRty!?~rv&wur{4C| zS_K=NN>D_rTwU*Ysz$*^t`ZcXEJwZTshR~F)=E&sxg7PLr`9gmm{)=#235nFTAN1m!vuyM8oMc~a*AA729!3NQhhEE78Ni!wPC>qI1>~RPe*<0sf`LY z`k9~zhdSyzPiPDcr#=_($8i zU{eqh&xxD_dm|?ys;Wc5<|ia55*8e_ny0oY*yM!-MK*(@R`*m`u$c`Bic|+jt>LL{ z3pVW`L9OAb>YnOYusIP4iX;hF*P5Q%u3!@;5)>H}j#|r8oeDOaB0-T};iwv(>Rhm? z772>n3rE%TRF{Iy!$?phW;kkXPjxNWB#i_`)`p{Md20KD&EQB-q;xoH9Z&60u<0EM zihK`8)%H}kg3bL%P$Yvms*b0+7i?mPUzdm^5pKH6adkb{qhRw!619;?;;3~!)w5ue zN)i-VCXTA-sa^$}agv}&L2=Z2p4zcs(@_!>`6-U7@2Q;%nyZrh1hK>3sQ_xg=|1hpXv-an`H`{y*ELU~_U3ElHA&y^*97{r|fbY{E{0B7?_KjXc%6V6%Dr z`-RLNZo12HwfzhQbpolIo}r+&AD3TRsg>3;dqfT2JTQ9{zq|L)hGd7m{bOh88sdBX zhvw|0+5Y{+1lrtmm%Wj)6*bas1)IL*Ia0Zla|Ncc=lT?Ec9-YK^is|hm?oavyF}n6Dtt0E&;SB#NJ2Q~8(x0+3qEA_At}#AgrMbr3JEpXbtpDw~&wqCA z4`fODvvZ%P9`MwIfjpF^9`Mw|o_ZvZN7K~9p4!NNx9w4|Ime0bHj+wLI zNZ0k4ud8Y^l9g7Qm3MuMec;>m!$3Ytx9bO(fF4LtF= zt>LL!o?0g>wbN8BPu1~M-K?yers{aAo~PE!O8qod&r_wD%X~|eW-jwB(cQmudSs<% z`kli%Iqo;6m#22j%1&vDMRXjsv!`~+%C2dO6?Pm|T5Z<1L}|5I-x8(OX5D9_YOBp| z?9U6o%h{1aiQgB74!OFf_)p`xSvfELX`B+Zd}&SEsI~sU`OVDesLOFt){HLp%Z}DZ zVu!t%u@Q51){HGOV=ZIvxdtuGZRWopN^8>kmUzW~s$b2@Yw1t*E1oLNZDv1ZtnU_m z%>KD^o0%0E{xL-MENp95Hr3>`oa}{N4ZC+i_KEB%IoUU|`;qBbra*NaV6ng5TV47V z7${-)nzcVm z>1ld7v!mI`nVrop&g@Fy(K_i@FumQr-Ao^6b~k%Cv!~h1nZ3!M zKWF+Ad$LX@=gfg_-$7=8GY6Z2&I}^**a#*B4loEh)T3Fbs+PBJGubBa0D znbXYa&YWS+bmlB`wln9L3C>J3lbo4srZ{u1InSA?W|}kSo9WKXFc&y8)68<_LNnW$ zIp!i~=9+oVTx{k$bBVdsnaj)qXD&BaIJ3}P>C9DTkuz7D#m-z~u65=*bGZqB z$=vMBE#_8dZZo$#bBDRpnY+y0&fH_}b>=>EzcWkB1I|2X9&+Yk^N2H#n#Y`Z+&tmT zljbRBo;J@o^Q?K!ndi+5&b(+|a^_|8iZid8*PMCXyy487<}GL5Ht*;NupFbTCP|*r zx@D-GttouQJM$GN0}8e{*cAg^(b4j&Ikcej8`-;e_3>AOm?5j@y2=_ksZOzGPS&ERk&~JfYqJD2#X32uO;IN& zbt%@(Nj-}7a#EjS{hTzQXqb~m6dUBmj(sYcF>3LKm1m3^Twuni!wTQlaF4E2Ea~^( zB-Wg^Eh0k-GBo;18&Y?m^>Y4{r`=z*74Lj9$3f!>bPGW^Q+^1>!J0Kj_dW~c^l#zp$(9Z#Z8a1 z-IRT;(PrpB88_RCW$AX{Z@Z!Hs0ZqadZ8WBPH1POV`hJAyzD+4+YjxJ`l16+Khz%` zhz6j8(Lgi^9fA%;gVAAV2pWopp~F#WY%JqOX$Kt>+nU$suN)KmG>`cVdKNv0o<}dB z7tu@TW%LSq6}^UDM{l4b3yh0LzqX9xQS8^Tu$9NZ9?iaE(6Q(^G!l(M$D`3`3>u5Z zq4DShbRyF6uP0IJ_}7XIr#?5En$bDlml;#DcqvuWUP{?}F1xBS__KCY&$k&p|ysmxVLQZ{X)7OEDQw#8O#Yg^IY(~4~( zW|hFSDKc#=WA9UDtE+F*e?d~0bn-(yI_L56XG6Wdtz3cG*T28^3uOQF z`)gm{VtqYzKp_3nR9{b(mWT8$QKghE8Rc8`_&`RdTXmGLYmBGH1~M*9jq%iYPn{6R ziD_!Qr%v+J$$^}brcUzIsh&D5kkiu?(|_BWR4E-xCiuE01~MsK*92eJ6i=NS$a!gM zil?S}YFZ%Yr>Uu)n(nC?fn1QLrh95RO_7oX{@Gt1$Q9{lzra8Hg`T=HkgL+vLQj>_ zpL|RF_32Ng#3m^%$>_c*nI+i24@*lj`XEnfNk-oirNk!R5~ai@-x8(7Cf^c$eGv43 ztn^EVjQe`3zo!n&%0X$Wzo!Ox>fo#lOj83qRZ48~E%7f%Y?7)aEmbKUNxJxJ?yh-! z@tPaYO?TOwO!M!<^RqHN{XU%LTYrY9F38HvG&RFhvpjWSR%WNES)TfzUUIRNl4RdL zcllTP?yTICex>j7uk^j1x-TpDr>T2ARZ2GRz66-Lht$K^`WOe z%F4%S>O)U`;;B!w@>!bt#8aPp%49{-)aRc17o;1dk`3$xuTjcD%bd+MIN2o`oZ^a8 zU7<+?6UjEPNd$jfBVQ=n2bCYX@hL7L_$q*=~v$Uf#c^{dX9mTb55E679($3*MJn6?~i zOQ?yW4G|-Xb_9$l+E7PGzq=G?4g%e#;BnqSH`QMuU1Y{Lw77|En+G!xJZ90d+0ZnDQf5%m8ojz{gmly z=-_1dCuSyQwwl?PxoYNO=Bt^HS)hjgL|LeYE<;(QW)bEZHP>LSS93k)CN(!l}8|mUAjWA8rG{KaX8=(=#X={wbRAIRh zPS$}Z0{i7fIHzWho@-CjL!3Ly3^kk{%PcjV0khsXhIPedo*I@8mrK;JI=C!Q!vf&4 zP|ZRXa2(Ay*60c|mV(sw<#ka-P9k`|oGi$PYB(Q|Pt@>}FQ2R7SDpM}3~M0ES87=1 zSiV)mO2+bonjbJftN9s|(KY@uWYcZNkKJ_X5v}~u(_OO|KF;gW%DtAgCdkO>Z$=gW z=6L>QbY8|RePk?0#^q)F(nn6<$ccG5Y3U;;bL5n~oVxUp(>QW^Ud~wh$eA2DD=()N z+58t>o}2L%I@}0Dx{s}8EzHL&B8to zxg&Znx+2T;XhoK&)!3U}k>z;1LQB*_93Pw7J|VSza%%gu)b^RF?K29x;!E^j;=BPW9%D}g@?;u&++$D0*wcYLlg6I%*t0SATp-V7>w&zH#$NN-n=$rQAaAF!H$C=FjJ+Gkdui+)kG&sb9|ZDY8hhVk zAH~?mfqat282@c=@@b5H7Rcvm>{E}K7?VK0NMn3JTx}IG_GKVnrLhW+eH~-p1oCYf z``TmQ#n|_O{E)`J^Vp9u_ER7~r?DSB_DhVdkd+KyZ;5yBFCGiB{!O0EN-m8B{>msH zV`W(>q_Mom%42NBtgMvA%00Gnj8)6ZDrszGkF6SGt7T>NG`6b8)`+p{Sy?lUt>Lk? zVys41YNoNZJhpa>)ym2`X^i3E?xn9CV|B7pH;pkK++pj+SiP*Qm&OJFH=hHOk5cX{@2g8fP`Dy9xIb$;IB8FR(`bYg#sB?~j+u0om=PZQQWoz!%~bj@J8W;of^J^1q-)$EAbMa?dl-PG)c*+b19n7!5Pt&INpF8uj^x@SN39H8a^%zV zV9X(E4#6Cz<}l1KHN!ARs5t_2l$xV3$ErCNGfK@U%osIeFyqyX$DE|*B+RL5PQ{#| z<_yf)YR<+?R5KAXMa>kw9 z(`uf^Jg4S4%!_JX#Jr;B70l~uUdOzp<}J*-YTm_spymV2$7(*te5U3zjHnUJmukMm ze52+Y%=c=($NZ$`C(H@~W(B^~vTCxJGBstG71gYWsivkHW;HddVXCXCj;W!h2Bwyp zT9`U&>R{@rsfSr#&H9)|Y8qjhsL|{0jn!<7X{JVV4O^;diD|8-HKvW4Hkd8dY>8>F zrafjGHQQi1s_BU7tfn(&do|l*x~u7q>7}L@W@j}!V|uIUjoDqz?wGyQ?1kA^jk^TL zxJz)1y9CF$OK^<41jo2baE!YI$GA&yjJpKK97D|`wdRqS(P}gWYn&R*vN}|eX)m(_VNXILDDU)o>Og@2KHCMc!A#nF!O& zU^v&{Gy}uggcvn?LS3PTGXnWq4Zr#Fof>}CD{^dbVd{>k=N1*1`2~MUa!G-WB8XSe6_^omjf-<^6hXX#uE30o!RvGO zO4~m)SKSJ_0y8ECZ^*GxtP!uED=;U-;Eg#piXdJ=S72(C`+ufpIU7X~ub?Y1r^Pki zoMWR1;uUlS=8PD;CC5e)#4G3u%vmvbYmSW~h*!`Rm~&$Awj3Kp5U-#sFcV|&cGl{u z1mYER1*S*F|JOY;3`I(vd~y!a4v;$+Ul@jF?M){F?A`7lUj!z5o1SY zWJDU{l-FTL#n{mqIVO#9LhP_(W9+z$j7(#kE<0>gj2)km(P@m6X@`x8v9TE$m&Q2N zcG&nBJ0T+{rZG;$9d=&)X8JlO=T&+$;koH92c8tycXCEfN!Q2uyu(h7vC}egdK%+w z-(hFO*qIqQD~)k2;IOk}?3|2DNMl?nIBa5!P0GmRG{$v=!=}X8xfwYxjd7LXu&FUN zEhFcrF|I)zHa*5>WaNT0#ubXgX2#g8j9i$;xPEci>=>Jqk&Dt8S2qs3EdEIUl9S6S zeWdZ+be99?#`Vq1$i?aUxJYu?{203=BbTNzE}nRb=X}oc6UbZNn>2gI_%yUyDua6r!lT{9kwLK9>~ap zX^iV&hdmTy4`<|&G{#l3!>)>7iBQ@?E+%|O;pWArjPtX7Pz6OiVS zYB&0z99AdB>ISlI8l#8GVfA8cy+G=xG5W6@wtkE?2&7>eqj$?;jbdzrKpLkp`o0|2 zB*vnFxQUmZo-v1Q9AldV(llKg{bmkp7Guo=X_3b0RdZO&7~3?ER%whrH;1*3vCRS! zVN%UYkDSBW#Ml;rv`u65*Ewv<7;6{ER%wjhJcqT9v8@B?kjCiibJ#X976!6y8lxxB zVI5;^yFfanG5QG|);Y$y1kyE)(TnJ??PF|*K)R(d`WPM7J;r(j(ld?G1L?3{F}7nM zJEbxDCmptPjO`N0u4#=mdL1@A#*PT&$TUVju){{g*inHToyO=T zcGxj7c5EQWr7`-D9X2w?Mg?+w8l#8VVWVSgOdw;^82!%<8y92a134j$(L3$16JzY8 zKu%6$^j$mblo&fTkkir_J=+dDJ;u%m!Wq^GOg0}5uTgwa^Tf*eTxIRCjCzkrf}G`F?L;G z^9K_TOAy0h=f@A*FfZpg32c&L0wYr5u-jtn z_Q0kvCNSbC4!bkP?h0&zV*O(1a`m2N?A9q@n7~0 zQp&n<4MG&nnNrq`Ylk@NW_tWB(mXHID}9ULx#=$V7p3$Z*A9Pgdd}MAnwV3od`BX# z>y%6Fa;Z};b<0g7w%MpvF2r8fEth)bvR=8=CuYd5%CXmCe$RPKeb|#%_;8ogi5rpH z9+}!6o!TCk+Rl_~eJj}Dq`r4-zR&}5v4)E;rpsbaHG5+ARMAK$SKl0(h}74 z#~h^QAWWb9_Og4PLYT?+65Xq*$8kc@0!{KEP)rOMb0~-A7cd(89ie+PwmVJ@fm&j) z7>&)IpymWjjdF~}R!`GC1WJj4V$Q&vrG`K!F-#1BOk$K60+m(DN1B`m))--&m^4}c zT%&w(hSC&eG)^~F4{03kd^H+po1uoF8SyX-K{4W87>$F?)jb5Y{+_(1^Ym$G1m(|5 zaJo$YLGAVb&oZ4Z*FUE_oStrs_JGH^PgC{DYajN1nFMu})~r3ce{VL_)%rBFH?Wiz z#p!e@Es92{N?O!3{S@ex%F_8!=j$Q8n)nwcN=?`QUC)93?2M`P%Qa(aLQd8%mu$J- zyI*ZGrW%w>!*X&AlfT-DjH&1_3Gs}_r{;u2V; zt2mEES8)j}zKXMXa<;bU@+^T>x;*o>MS~&|80mHHU$8lLwzgScNV$q<8 z1opVcY<`}_qCpV}jKn?npf-EYV$q<81oo`QY;K>$qCpV}>;;e6%s-1ogCY`GrOPwl zAkmmkzV}mllf#MI^9FgChKY8V!m_ zVDaUd{U)-tMS~&|SfxP`zP4ykL;_pc#|CZQr>!j-6p_HWc;2HkH(Z(RhbMeengA%`dfBG>{>I#RC~;#}CUuhS`-K7OxNM z3QS`?IkNRN$#N}1UUTJd%*MV^Hj1&0vwRPyu#G&{G{*RrZl1=PdaOl^*{iNpZ7n?3 zD#mO+Yzk}TvCU(wO;)x@Kj`KjYa3%*W~E&kYwNMCVyt~uwoYSPd8|W>ZNr$3G}ggm z+s0VOtZbLYw)I%27$ZZtOB(Csv2HQeJu5xZST~RLjImx>*)fgv^w>@@wsTf?Nn@;H zXKy4a`*%q1tn8M?cJ)}F7~4H7d!(^G9 zACK8fV_TaYYm<71aLw#$>lfG7KPv~OYwPDRdo^uq8<3TQ(-@c8uC{@3ZH(wSB#jO9 zn7!1twGGb7VQK78j}3`y8=942X>5qc4v(?nSvew&9qzFsV{AlLj!I)kdhECu8<~|+ zY3w+U&56H7MrUPCrEd{DH{Io$#P$o=|Mm2&?G{M9s&p7Q?9BLK&&tZ#>4!bjW40^7 z);1w)dlC}0(Z}Fwn-teJIm>A6)QdmKW9P=$d0E?gkf`lkk4=lQXvU-j#;9-ipti@s zKDTJfqy!e{@6L*Ai{?y9V2l`dwatmKi?X(}B7x2E*hTT{FgGvrcpVbhMgCQ|#ts>{ zmitNaQ(*^QpdaIIs{ssRr>iJJx!8yL@iy6%k;&XuNY8vX9eLd|FJvaS*1fISdsqfT zzO1assAukUWH&~KcR#{tXYMLk!30wixR#n)nA&P;W9q7@i>ark9%h(UNMh*jPbgMK6?7zKtQeU4FJ7!u?d1%@F7j!|G3lHBP0z>uBBC@>89XEIZt&rF`rbGnBdGDd-6 z$P!}|7=}DBMuB0-^kNhkhFmU2fnmtjViXw04F$t|%%0D54>?r~{=$$BWk;NIr-Q%P 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 I-`vLk0gscw!~g&Q delta 20047 zcmeHu30zgx+WuL?#-pAP;fRPxV2I>^NT_J0he0z`#EG!b0C7e{Lozfunpv3{u`3ZKpH)W79Q7=#PqHsAvzo z1iS(40y+YIsMC+i1a^nsN_(imFk~$#ZpQQlTJQRwAgP*bqkpV5HxEJOKTzTtVj#cW zJ*CI17~=`n4K?Mj=(#-CHCDD$pDN;SGE~*5`qd0s4OQi9hN{x)S3A_(+o_po0r&%T zhplc?!>*aRTQqDno5rx&kj+2Tug43kj!M<^=HpdXCe=%+YAEl#IoSP#U_a_?d{gr2 z&Mbbd@tj&vcU&6-R$w~vzPReP@j?B+K_(Cxe;^R)dO$GJ9f4<%CLjlC4cAt>3%9W_<^iW*G zffyhb=mqo!`T(o&%)?5w*`R_{ufV}5nu($@KqAuj14%$Q@((CANJbWM2ms0?z{ufPh87Vqgid6j%ma-aOf|m2D38{xDEyRYz); z!h^}_m>)Vjlt*q3>h@9nP1Xy{?F4$X(o4TIG?(|3dQM_I7bd;uq)`1rqMhH1lKba5 zGPtH|pRuLsf=2<9HiC4^+UR5;Z&XaHCIzs zU^nNfRdN+wxzY(Yu0{SXTs5F(&6H?#NB(AOb`R>6RH!vmlJSdchI{)mXf3rRl=!&e zpG^V!U$8MY?2Rxo*>tcKA{5 zZ7kOkj?HH_9yFO&XCympJVvlQV>@ZVD372=Z9Go3qla-x7j3+sc_GTxf~zj@c5ajt z#bNi6;D~qq=zH4PsJ%2-4 zRFz5=Bhb)|WU&DCp{TExMWu$SWijMhSyatkD~qa(GFq{an}}n_8gcA^_tc1^dT=S; zt;A8Kl{l)aA&&ZwQEif!Y8S7hU(a6ga?3)fE_|%}N{TD^9o- z*bg+>iv3syIDu`ztH9-g$!%M_fyA4@TflzcZQuZ~9i8zhNIl|6;WJ#E$!=qQ7R*QO zkJj2)zuFQtRX3J_;s=y7yY-n;Aj*)a5%7*~dd}PZ^%(0t#aYbqoB4%4 z*)pNYHca-bz;@s@UGg(~wx{~NuBXQT0#KNwA zvA06v^boJ0|CG3uu#f81gFu)<>+D=_@*l=RMaoZ#CidjvbbK%G)@l%LPcTg}O#(@r zVoEhl#KVJ3qmW8B^@d%|G>tTc(5ff3+r0u%nQD3%Mtl@*RoY0>q>F4SW2BX_PKD_~ z&Y*4VBQJ-ABejWt#3*f^@T4AdrP=9Q!9K6&$mX$TrI%;nVI>0EVPwqos1NJlT$|04 zSn+Y@;polxD(l4k-RQgCJl?Dn?=#g;Q1-oiK08da64*P`BUdv!kAA`0)oW}rsevm% z1({N=GumM+Sl^Ir?X`4^Pm6)~w|(;Hg0 zGm`o)Z>w}=D3v^^d9picU?TIPlaDcLee5DvM`-9cc6+N|-<}p~>TjB~`AXlHSmOV} znK%o437iAI0;+(of%CvOzy;u2;5*=Z;3Dt?a0&P)@Gsy;;4*LpFuCb7hqQ5qe8-Ms zY22hAnJ+T`dTJ#LubnV|T9Cp5XtquIQ`|V#**|}j`dy$JP$Yk0@S8feLDawMg9n`%W*9NRsu?mt-^IR@B*+C^+DC; zYj9l)tgp_idp98cGEf4%0+a$9flbU5XWER!7GNt-1~`Fjz^lM^;5A?e@H(&)*aegW zdjZwB`t3vdKtXELkav(c2)qka0Ed7|;5|U?lOw=UfD*>>i2DDHlzRM|g4CY%zpc*v z6YW?TmPOUn{gJ&bUqIz4nsgRQo>`why@;K8>Khh7RqrDDfjM>_f1igie~-5|asK}J zPIF75(q`|!mLur-?}hzb#XzH@1Nbo$)AM{=JA*y=2|-B-Jb)^|Cz_~QAL9c*WNG@WR)>tvdDa%LB%~KKsy&HwQ<6!c)y2 zjPvPk8e-}JCq50Hhf+@unuZ$+s@R)zMSC3NF^+Yk$|M#>Q*5#~o!HAG|ETUe^cZVf z?8~LvStf}9Qd=d<7JCTF>?~vJGPvk%D2@a58TeVHO#u`Q~M4uE0M5P7r7~UGTo-<`nIFsx!m8Z6qT*I(wRLMYPPrs z=ej*MWOGQYA2X|QuCA`vvwO`id=S(>i?3vIUUg|hMP*bh0zX>OTr?-!o5F`q3}ZoR zQN6FPdY$$IyqtIVy&5=}F+GrbHJegxn69gYyvoM%Naj;x@zs{9N!M(tQpZWnrZfjO zm{oQ+CmnKmU$ik#L^|e*5Nd44U`|eCzPCo*Uo{`sSHYf!C25Wh-AVbgSaaIFUkhLZ zY2#k4HD%2elc;$U-ij(C_-!;{6l+4=pVNF;q^mx3q2^9ao)igXOL#e>*(t1@Qs!1> zBFOC>*BB}BlkL>}M%!s+UFjo`2$z-6mpB8+{w}lpUQ6*y?f%qSSm@33%)h>|RG1t| zfx}qaYxKy0Z&>G_Xf_LLrsT4&5;FEJ%Cs9cU@K!1g4>|bJ=htX$WO5LkGMZU8@vPX z)NfKyO|CnmH{=X|!sRGvXBME|RKP`Gll#FB#~Ir((Ugin%v7l45Ze8u*5WqTL_KxR4OirtAg0d&L)VagX7wM<^%NodbxWl>D4#rE-XOz=6 zg_knNY<_{Yc78jXH)O>*@cy3Sc4mvftx9y2&HV2LcYS8EuN&)=7Zcs+$n*&&`$Lmd z`d?=Uwl~?|f6@w3iQApiOIdAst@F&(X@2+*WwZ_Ur6J&>6Oj zDlf7iYF7l}diFePXTda@Volvl$@u&4VX*gMB9(Ff|Cqs+FPFAkViAj%U~9EhQrvP4 zPoaPk9`J8tP`{f!eZ7vqthy$hRV6$h+i@qiIqhzu9G+VV&!tN{c?Fqw@yL4Bc98Df z#kcS4S#}fsw`(e zSH0l$&~EsF(>t$>;azXco}6${==>*(nv#SWgKPq=)lg@k}z}t9TFR%u764yH-g#ZR=nd47KDeU$5w$5@aW& zC58W5LE+Dc?vye?wsnrlV8hU*<#Gg7E#(#?oT`3_EzEj$}yvK$sjo~2h7nz_th;-Q=DnHM{W0X_W-2?(-xQ^;DHWLoz)!)Umfj!@>cck%6 zq9Bx-$eR9=7jlg4!^-Z|B2;+A+_Vwipxm_jK#eI3HHFbEo4mb&5h5{;vB>rTPo$%t zXaNl&HPxnMrIMIgl)qO5=)3+Nq34&hq4Iw)oBMFM3?8lqeNDbp`8=ZfAt!imIHn== zwU-DW%ZG6Hvx3D-^+W?x3hnk1Db5+8;z7~;dL8N%(YZ^+V=qz1M?@=EPa1RCCTt(> zRnry}84=bsGOSB_`!08-rniqs9X+yrT3UK~`?M~jM~{pc)hTUc=T5?Oj8;t-sZG+m zC8v*ictZB1tmJH%>d{kDCyolIf%WB*KhSTD-A#>sSqJ*cON2YSTEus5&Ooa;tYOIQ zXkc^EjuL#uFlW54SkG?zta`H5glALLhrC_;k%)h0BD6UP(>=-vai$uAs>C%J5zwF1 z(yT_ZxjGRxVaMR<+pnpIfY*IGOW%0Wi<14tP+F~HDU3e8>LL7DS%7fo_r{uf;a_JQ z%6Gyw2H$){BNuC=B20JTn}Ci+Sr?>KZ7i-`5t|Le-x&N2!&6;MF%&gK+(|q833IP7 zv=D{%I^y1FJkc5d?!tZTO%W)IGRmTm?~VHQcxzXbt2?7n+ZAo~Qf=0@=jL?pBfykA z;)EL|#*2Q=`~jkZbDZ*|3=-M6I*$z!`K;cRD|ee96Lebu&WujQgCJ%N5pmA3ABjbb z3hx&sR1zmfJEB=X`2{GoGa;IlG74{s8!KNB!DM-#MN{s1);nzcZxby;G!s3qBUgwR zt}VO3%9(>p8~Y^@d>V0O_9AOU+$?WJah;D1ju*yifG)jEJZrYbK z(#;fm(>pFe$yVlT-juOOYeX4BHsEc1X}FNhL>tI=O;tns*h|DZo4bo0jK&HXLLJO9 z##_Y-TtDCP4%MmHn~mCujn{{fTUxyKZS$vdt7pzhOq+qZh4c z@KCsog7(HrKYHIt4E*&GGOH#YGkL=Vn zy?xh+k)y&prFV=BPfK+?EW)XB3Z(IGQ$*Y5%B5GnQH_73$b%vZO0Rr9LwHg72i&IH zeh8v3q`W{rPY5e*G)pUV0}SwV5$Jbaos>NG(X??>(%0BN)|kuxxJgv#=Vz&_Mu}n9 z8@j-kS9J0@;h^L%g*(lCS{$aTw}g))Pm^?PHi{MwlnJ`W#zc&#DHRNqlc_Wi-bDE; z!dnZ#I1{O{MUJG3XT(LCJx`pW?DcYwKIj9R9_F-A)`#4a)_aOMPN^_?HM>v1KX=z%Yto-IgE zTI^0k?1(N6q=C`$E0)_XI^C>{4s!OVv|mO*$wEtHG&q$Mp;-+?|U#N36AV8K+h z1QuZSV(}EMTqHiFv=!oWDlHP5D1D(UbG3TV!OVE-pEP;Be2?~C`Fq^GyP?-wh#}#s2-e1r2$ym%)bdAwn5!KOD~^cp^ElQ&Cnt`Jzfq~bMXLe ziI;LRG~y+`r*CfZme7E|0-;j1ZQpGc`oweR(514cktmzt<#4ODUkt#Zh%`nf}% z^=lS9fS6MpBKrU-sq#Z(%qMBUI+2H=?fxJ6xEe`2?H;tag(i=YdGy5ws6k9t5si3O zcrZ_Dl&3wZW;8@o9(&!z?_MIhvu$b^18MtKk%1v?{7O!zoq_nIpwCtikAN-0!Sd_K z%el=WoVof=!J9=o%T&VhJxv?Vaxeo2jO8%)#)eYi&Nit@Bf7i|ZGGw#bJUbqFJPq; zb_7|>(iHgJm&>pMA5p;!?R^#dcf+)WV8ah_O;hBj>coFJ`oHFFtB?>;HG6bnJ7(Hw zGN6z2C6Cvb8PEM4w;fiadR5V^GMauRi2`8>WL>jKgPX;24zpArGuqT|m29h^B}ksGI0pUlB^8x$vjNSdpx+ zMxgbJ6a33R4RdITRiMJ%BAWJ{71)}KL$Io0)S;Jryjl(Pp;eP1aSw@>85I8yW~I`-Xu8NHY}g@@w0*bmX5~s_4yLR(L^1?A zYK-=%65!5k4Ncwwu`PK>257yo26e?YeF*D}WquaLSP3Nu?r#e_*h1iT?T{fnh@%4R*$OHhik-Ih9Vqtf<=RDk z+vP0Gz@xPLtaw|gqy#--c7UFh?@2q);vG<6nJ#_reikc#RX=6^L$$CT4MI2Vcd4a* zN0`505`c!4qFD64R-k2*%A2kJ?8rM!LA=RujZ zUZaIQpwCM3axRjxA5(f8I*o$;WHig7sBAfm@NJ7X6*WaSArYB+ma_q!@|N+Gy+fO$ z)QXwSUKRmP#66W4h{>l2h~(r@hgYsdS}Z7d~3W0eiv3%Y#JZfFU*^Qr&nlCY&vSEz-{_WvY{{0vT2rGq zskxM@p@Dqwg9ZZE+yHF`HFK})q_gpCVWS=nM6>b-O6goUKqfNvP#^y9Al`>9|4A-R^)fGjpq`B1seWr<bfFaLCmg( z-lL#+71s3FkMqQzg~G#u>_sh0;T>AW7+g$!`LTdjt&|h> za}@!Q{0WN39-;itSOet#OYNCMbkNKdMf7HrIYusl17`TK0b>x$KwxAwm5!BLjNpWx z^_--tSSXzM37{W6o)IDJRl|!xG@>2t^yVu5u!WwTAYY@;#>)-0WY(7wilOdKj)zX@ zk8a!D~Az!>F zoIY`iwm;omEvafToS`Jush6A)Su%^cY~&=p^n(bpPs96{xxAwX7Kuk$!{IY5*vVY92CY9IT?IidpbBs93E4#~ z*tD-!wSwe+DZ+JIsvE^UF5O`S0=I}sde;2zXzuPh{z=6w>FzAdlj9l7RBQhrWjzVK zw8v#MiVmWY@d-ZU{^U>0D85xT%;-Uvb@KSihyeIPfOaT(m_!M>jAuGMG!M?lmO8y^ zHxEt}{HukuCr_J4RZqzvHTVju2;mJVRK`O0B|!&goovIq9^qTpL4~`7(vDjA^uTE$n0Ab8?!YJ`HU(e*wC@T9W&~=cpYVT@CRd=&Qa<@`LS|O z;EsCpFswrhtb?P@h-D69cCB4Isq*i}PC}?z?W7EX$F|+Ie~foz441L^Tzm3hIjU@l zwBWQcMawsON2SY^abJf0HDiZ1+7QpoWhjbxR=KJS@uq-P$ilRjP{azkv(8@1UxU3A zx&kw|M0Lw>w9+W72;BGZ3-UAiRK;kj-LZ}6{F}9%Z=<4IRy||6FE)HTi1}hMh&-O> z%0nB8JFi9u=GK|dAWY?I*LXcX1p~|f8#;zHt`0z1mKt%%Z`B+eA&)g!m8x}e4yCU{ zfD^uMkrE2CK6;rijaY{#v1FN))qusL*}kq7GH7kZT0DsmDmtEeB$tMq~`8S8LNRqA0DGEP)aJ7wvRz1IJsI=9b@U}&psMBN_)1> zY#e+M;fMH9nwuKRI-1lB;frlKECe$ghTSyY(0)#6KX*n!FAGRn0D`#Za`Qk zQQm}Ydc=8_81zt5=hKuI8>+4p8yJVDxjFp)T~ufi}FMUiIRiHiZ5C zy6;{CA&)*6@NkwQ+MT3KLwd+xN^txC9o(2%OAQ-aNwnFD2rI%4^<6r<3Kg zv>=bQ!5f1pZ!yjdM?3&yQ~9*k5|Vy3)*kw_*4@RT+$S2QOCXrPM+?U}KubiF8qkNU znUdKudT+N_Pwojuw@aOqmur(5LvR_96UuksgOSYTnwv9asRj=zdOO16f5pH4ihnhu z|HJVw?3m(2n%Ng>^qQDgcZ9d3tW|fCu89&1thIWf*8~VoUDb@W-gGq$xW!JYL9+bV zEp;qijPKXFe};B#^GAI)Cw#Vf2tL;wU*5oPI`|h4|BHwJ#l!#N;h;Ew@o;q}2%i5J z5C4mY-;jsrusY|lUo6pb*!~&^Z~+K?jylX<&k9{0c2>4*<2qH%+@ZNSUei8OM5dCe zwrd{hpb{UHRr~qI$27jm+XjEy8H??xzJZ>n9D(YiVE7mw9d~VTW7d*W|>qMyQe}z?U#kq6$omw0GceAJwvgc3NdJrvH zrd*fWBj-Q+5LZ1V@1sljC`GejLjNS|(r~FZ^iL~S`s4RS>G}8JtLK{_j5ne^HhF+N TCh`V|^xVupexZ1t=JEdkxr*@z diff --git a/HybirdFrameworkRepository/bin/Debug/net6.0/HybirdFrameworkRepository.deps.json b/HybirdFrameworkRepository/bin/Debug/net6.0/HybirdFrameworkRepository.deps.json index e543d05..3377398 100644 --- a/HybirdFrameworkRepository/bin/Debug/net6.0/HybirdFrameworkRepository.deps.json +++ b/HybirdFrameworkRepository/bin/Debug/net6.0/HybirdFrameworkRepository.deps.json @@ -208,6 +208,14 @@ } } }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "runtime": { + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" + } + } + }, "Microsoft.Extensions.Primitives/7.0.0": { "dependencies": { "System.Runtime.CompilerServices.Unsafe": "6.0.0" @@ -347,6 +355,17 @@ } } }, + "Pipelines.Sockets.Unofficial/2.2.8": { + "dependencies": { + "System.IO.Pipelines": "5.0.1" + }, + "runtime": { + "lib/net5.0/Pipelines.Sockets.Unofficial.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "2.2.8.1080" + } + } + }, "SQLitePCLRaw.bundle_e_sqlite3/2.1.4": { "dependencies": { "SQLitePCLRaw.lib.e_sqlite3": "2.1.4", @@ -551,6 +570,18 @@ } } }, + "StackExchange.Redis/2.7.33": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Pipelines.Sockets.Unofficial": "2.2.8" + }, + "runtime": { + "lib/net6.0/StackExchange.Redis.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.7.33.41805" + } + } + }, "System.Collections/4.3.0": { "dependencies": { "Microsoft.NETCore.Platforms": "5.0.0", @@ -703,6 +734,14 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Pipelines/5.0.1": { + "runtime": { + "lib/netcoreapp3.0/System.IO.Pipelines.dll": { + "assemblyVersion": "5.0.0.1", + "fileVersion": "5.0.120.57516" + } + } + }, "System.Memory/4.5.3": {}, "System.Reflection/4.3.0": { "dependencies": { @@ -895,6 +934,7 @@ "Microsoft.Extensions.Configuration.Abstractions": "7.0.0", "Microsoft.Extensions.Configuration.Json": "7.0.0", "Newtonsoft.Json": "13.0.3", + "StackExchange.Redis": "2.7.33", "log4net": "2.0.15" }, "runtime": { @@ -1022,6 +1062,13 @@ "path": "microsoft.extensions.filesystemglobbing/7.0.0", "hashPath": "microsoft.extensions.filesystemglobbing.7.0.0.nupkg.sha512" }, + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", + "path": "microsoft.extensions.logging.abstractions/6.0.0", + "hashPath": "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512" + }, "Microsoft.Extensions.Primitives/7.0.0": { "type": "package", "serviceable": true, @@ -1127,6 +1174,13 @@ "path": "oracle.manageddataaccess.core/3.21.100", "hashPath": "oracle.manageddataaccess.core.3.21.100.nupkg.sha512" }, + "Pipelines.Sockets.Unofficial/2.2.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zG2FApP5zxSx6OcdJQLbZDk2AVlN2BNQD6MorwIfV6gVj0RRxWPEp2LXAxqDGZqeNV1Zp0BNPcNaey/GXmTdvQ==", + "path": "pipelines.sockets.unofficial/2.2.8", + "hashPath": "pipelines.sockets.unofficial.2.2.8.nupkg.sha512" + }, "SQLitePCLRaw.bundle_e_sqlite3/2.1.4": { "type": "package", "serviceable": true, @@ -1183,6 +1237,13 @@ "path": "sqlsugarcore.kdbndp/7.4.0", "hashPath": "sqlsugarcore.kdbndp.7.4.0.nupkg.sha512" }, + "StackExchange.Redis/2.7.33": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2kCX5fvhEE824a4Ab5Imyi8DRuGuTxyklXV01kegkRpsWJcPmO6+GAQ+HegKxvXAxlXZ8yaRspvWJ8t3mMClfQ==", + "path": "stackexchange.redis/2.7.33", + "hashPath": "stackexchange.redis.2.7.33.nupkg.sha512" + }, "System.Collections/4.3.0": { "type": "package", "serviceable": true, @@ -1260,6 +1321,13 @@ "path": "system.io/4.3.0", "hashPath": "system.io.4.3.0.nupkg.sha512" }, + "System.IO.Pipelines/5.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qEePWsaq9LoEEIqhbGe6D5J8c9IqQOUuTzzV6wn1POlfdLkJliZY3OlB0j0f17uMWlqZYjH7txj+2YbyrIA8Yg==", + "path": "system.io.pipelines/5.0.1", + "hashPath": "system.io.pipelines.5.0.1.nupkg.sha512" + }, "System.Memory/4.5.3": { "type": "package", "serviceable": true, diff --git a/HybirdFrameworkServices/Plc/PlcReadAndWritten.cs b/HybirdFrameworkServices/Plc/PlcReadAndWritten.cs new file mode 100644 index 0000000..6339886 --- /dev/null +++ b/HybirdFrameworkServices/Plc/PlcReadAndWritten.cs @@ -0,0 +1,136 @@ +using HybirdFrameworkCore.Autofac.Attribute; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HybirdFrameworkServices.Plc +{ + /// + /// 可读可写区 + /// + public class PlcReadAndWritten + { + /// + /// 写编程使能 写 0x5AA5,打开写使能 + /// + [Property(0, 2, PropertyReadConstant.Byte)] + public ushort ProgrammingEnable { get; set; } + /// + /// 本机modbus地址 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public ushort Modbus1Addres { get; set; } + /// + /// 波特率 + /// 0:1200 + /// 1:2400 + /// 2:4800 + /// 3:9600 + /// 4:19200 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public ushort BaudRate { get; set; } + /// + /// 校验位 + /// 0:无 + /// 1:奇 + /// 2:偶 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public ushort CheckBit { get; set; } + /// + /// 秒 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public byte Seconds { get; set; } + /// + /// 分 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public byte Points { get; set; } + /// + /// 时 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public byte When { get; set; } + /// + /// 周 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public byte Weeks { get; set; } + /// + /// 日 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public byte Day { get; set; } + /// + /// 月 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public byte Month { get; set; } + /// + /// 年 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public byte Years { get; set; } + public string time + { + get + { + return Years + "-" + + Month.ToString().PadLeft(2, '0') + "-" + + Day.ToString().PadLeft(2, '0') + " " + + When.ToString().PadLeft(2, '0') + ":" + + Points.ToString().PadLeft(2, '0') + ":" + + Seconds.ToString().PadLeft(2, '0'); + } + set + { + + } + } + /// + /// 本机modbus地址 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public ushort Modbus1Addres2 { get; set; } + /// + /// 保留 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public ushort Reserve { get; set; } + /// + /// 电压变比 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public ushort VoltageRatio { get; set; } + /// + /// 电流变比 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public ushort CurrentRatio { get; set; } + /// + /// 秒脉冲/无功电能选择 + /// 0x5A02:秒脉冲输出 + /// 其他:无功电能输出) + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public ushort PulsePerSecond { get; set; } + /// + /// 电流接线反向 + /// 0x00:不反接(默认值) + /// 0x01:反接 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public ushort CurrentReversal { get; set; } + /// + /// 电表清零 + /// 写 0x0000 清零,其他不清 + /// + [Property(2, 2, PropertyReadConstant.Byte)] + public ushort MeterReset { get; set; } + + } +} diff --git a/HybirdFrameworkServices/Plc/PlcReadonly.cs b/HybirdFrameworkServices/Plc/PlcReadonly.cs new file mode 100644 index 0000000..41be33a --- /dev/null +++ b/HybirdFrameworkServices/Plc/PlcReadonly.cs @@ -0,0 +1,364 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HybirdFrameworkServices.Plc +{ + /// + /// 只读数据区 + /// + public class PlcReadonly + { + /// + /// 组合有功总电能 + /// + public float GroupHaveAll { get; set; } + /// + /// 组合有功尖电能 + /// + public float GroupHaveTip { get; set; } + /// + /// 组合有功峰电能 + /// + public float GroupHavePeak { get; set; } + /// + /// 组合有功平电能 + /// + public float GroupHaveFlat { get; set; } + /// + /// 组合有功谷电能 + /// + public float GroupHaveValley { get; set; } + /// + + /// 正向有功总电能 + /// + public float ForwardHaveAll { get; set; } + /// + /// 正向有功尖电能 + /// + public float ForwardHaveTip { get; set; } + /// + /// 正向有功峰电能 + /// + public float ForwardHavePeak { get; set; } + /// + /// 正向有功平电能 + /// + public float ForwardHaveFlat { get; set; } + /// + /// 正向有功谷电能 + /// + public float ForwardHaveValley { get; set; } + /// + /// 反向有功总电能 + /// + public float ReverseHaveAll { get; set; } + /// + /// 反向有功尖电能 + /// + public float ReverseHaveTip { get; set; } + /// + /// 反向有功峰电能 + /// + public float ReverseHavePeak { get; set; } + /// + /// 反向有功平电能 + /// + public float ReverseHaveFlat { get; set; } + /// + /// 反向有功谷电能 + /// + public float ReverseHaveValley { get; set; } + /// + /// 组合无功1总电能 + /// + public float GroupNoAll1 { get; set; } + /// + /// 组合无功1尖电能 + /// + public float GroupNoTip1 { get; set; } + /// + /// 组合无功1峰电能 + /// + public float GroupNoPeak1 { get; set; } + /// + /// 组合无功1平电能 + /// + public float GroupNoFlat1 { get; set; } + /// + /// 组合无功1谷电能 + /// + public float GroupNoValley1 { get; set; } + /// + /// 组合无功2总电能 + /// + public float GroupNoAll2 { get; set; } + /// + /// 组合无功2尖电能 + /// + public float GroupNoTip2 { get; set; } + /// + /// 组合无功2峰电能 + /// + public float GroupNoPeak2 { get; set; } + /// + /// 组合无功2平电能 + /// + public float GroupNoFlat2 { get; set; } + /// + /// 组合无功2谷电能 + /// + public float GroupNoValley2 { get; set; } + /// + /// 一象限无功总电能 + /// + public float QuadrantNoAll1 { get; set; } + /// + /// 一象限无功尖电能 + /// + public float QuadrantNoTip1 { get; set; } + /// + + /// 一象限无功峰电能 + /// + public float QuadrantNoPeak1 { get; set; } + /// + /// 一象限无功平电能 + /// + public float QuadrantNoFlat1 { get; set; } + /// + + /// 一象限无功谷电能 + /// + public float QuadrantNoValley1 { get; set; } + /// + /// 二象限无功总电能 + /// + public float QuadrantNoAll2 { get; set; } + /// + /// 二象限无功尖电能 + /// + public float QuadrantNoTip2 { get; set; } + /// + /// 二象限无功峰电能 + /// + public float QuadrantNoPeak2 { get; set; } + /// + /// 二象限无功平电能 + /// + public float QuadrantNoFlat2 { get; set; } + /// + /// 二象限无功谷电能 + /// + public float QuadrantNoValley2 { get; set; } + /// + /// 三象限无功总电能 + /// + public float QuadrantNoAll3 { get; set; } + /// + /// 三象限无功尖电能 + /// + public float QuadrantNoTip3 { get; set; } + /// + /// 三象限无功峰电能 + /// + public float QuadrantNoPeak3 { get; set; } + /// + /// 三象限无功平电能 + /// + public float QuadrantNoFlat3 { get; set; } + /// + /// 三象限无功谷电能 + /// + public float QuadrantNoValley3 { get; set; } + /// + /// 四象限无功总电能 + /// + public float QuadrantNoAll4 { get; set; } + /// + /// 四象限无功尖电能 + /// + public float QuadrantNoTip4 { get; set; } + /// + /// 四象限无功峰电能 + /// + public float QuadrantNoPeak4 { get; set; } + /// + /// 四象限无功平电能 + /// + public float QuadrantNoFlat4 { get; set; } + /// + /// 四象限无功谷电能 + /// + public float QuadrantNoValley4 { get; set; } + /// + /// 正向视在总电能 + /// + public float ForwardHaveApparentAll { get; set; } + /// + /// 正向视在尖电能 + /// + public float ForwardHaveApparentTip { get; set; } + /// + /// 正向视在峰电能 + /// + public float ForwardHaveApparentPeak { get; set; } + /// + /// 正向视在平电能 + /// + public float ForwardHaveApparentFlat { get; set; } + /// + /// 正向视在谷电能 + /// + public float ForwardHaveApparentValley { get; set; } + /// + /// 反向视在总电能 + /// + public float ReverseHaveApparentAll { get; set; } + /// + /// 反向视在尖电能 + /// + public float ReverseHaveApparentTip { get; set; } + /// + /// 反向视在峰电能 + /// + public float ReverseHaveApparentPeak { get; set; } + /// + /// 反向视在平电能 + /// + public float ReverseHaveApparentFlat { get; set; } + /// + /// 反向视在谷电能 + /// + public float ReverseHaveApparentValley { get; set; } + /// + /// A 相电压 + /// + public float PhaseVoltageA { get; set; } + /// + /// B 相电压 + /// + public float PhaseVoltageB { get; set; } + /// + /// C 相电压 + /// + public float PhaseVoltageC { get; set; } + /// + /// A 相电流 + /// + public float PhaseElectricityA { get; set; } + /// + /// B 相电流 + /// + public float PhaseElectricityB { get; set; } + /// + /// C 相电流 + /// + public float PhaseElectricityC { get; set; } + /// + /// 有功总功率 + /// + public float TotalActivePower { get; set; } + /// + /// A 相有功总功率 + /// + public float TotalActivePowerA { get; set; } + /// + /// B 相有功总功率 + /// + public float TotalActivePowerB { get; set; } + /// + /// C 相有功总功率 + /// + public float TotalActivePowerC { get; set; } + /// + /// 无功总功率 + /// + public float TotalReactivePower { get; set; } + /// + /// A 相无功总功率 + /// + public float TotalReactivePowerA { get; set; } + /// + /// B 相无功总功率 + /// + public float TotalReactivePowerB { get; set; } + /// + /// C 相无功总功率 + /// + public float TotalReactivePowerC { get; set; } + /// + /// 总视在功率 + /// + public float TotalApparentPower { get; set; } + /// + /// A 相视在功率 + /// + public float TotalApparentPowerA { get; set; } + /// + /// B 相视在功率 + /// + public float TotalApparentPowerB { get; set; } + /// + /// C 相视在功率 + /// + public float TotalApparentPowerC { get; set; } + /// + /// 总功率因数 + /// + public short OverallPowerFactor { get; set; } + /// + + /// A 相功率因数 + /// + public short OverallPowerFactorA { get; set; } + /// + /// B 相功率因数 + /// + public short OverallPowerFactorB { get; set; } + /// + /// C 相功率因数 + /// + public short OverallPowerFactorC { get; set; } + /// + /// A 相相角 + /// + public ushort PhaseAngleA { get; set; } + /// + + /// B 相相角 + /// + public ushort PhaseAngleB { get; set; } + /// + /// C 相相角 + /// + public ushort PhaseAngleC { get; set; } + /// + /// 电网频率 + /// + public ushort LineFrequency { get; set; } + /// + /// A 相线电压 + /// + public float PhaseLineVoltageA { get; set; } + /// + /// B 相线电压 + /// + public float PhaseLineVoltageB { get; set; } + /// + /// C 相线电压 + /// + public float PhaseLineVoltageC { get; set; } + /// + /// 三相平均线电压 + /// + public float ThreePhaseMeanLineVoltage { get; set; } + /// + /// 三相平均相电压 + /// + public float ThreePhaseMeanPhaseVoltage { get; set; } + } +} diff --git a/HybirdFrameworkServices/Plc/PlcTurnsRatio.cs b/HybirdFrameworkServices/Plc/PlcTurnsRatio.cs new file mode 100644 index 0000000..40b9140 --- /dev/null +++ b/HybirdFrameworkServices/Plc/PlcTurnsRatio.cs @@ -0,0 +1,238 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HybirdFrameworkServices.Plc +{ + /// + /// 乘变比电能数据区(浮点数)(乘变比) + /// + public class PlcTurnsRatio + { + /// + /// 组合有功总电能 + /// + public float GroupHaveAll { get; set; } + /// + /// 组合有功尖电能 + /// + public float GroupHaveTip { get; set; } + /// + /// 组合有功峰电能 + /// + public float GroupHavePeak { get; set; } + /// + /// 组合有功平电能 + /// + public float GroupHaveFlat { get; set; } + /// + /// 组合有功谷电能 + /// + public float GroupHaveValley { get; set; } + /// + + /// 正向有功总电能 + /// + public float ForwardHaveAll { get; set; } + /// + /// 正向有功尖电能 + /// + public float ForwardHaveTip { get; set; } + /// + /// 正向有功峰电能 + /// + public float ForwardHavePeak { get; set; } + /// + /// 正向有功平电能 + /// + public float ForwardHaveFlat { get; set; } + /// + /// 正向有功谷电能 + /// + public float ForwardHaveValley { get; set; } + /// + /// 反向有功总电能 + /// + public float ReverseHaveAll { get; set; } + /// + /// 反向有功尖电能 + /// + public float ReverseHaveTip { get; set; } + /// + /// 反向有功峰电能 + /// + public float ReverseHavePeak { get; set; } + /// + /// 反向有功平电能 + /// + public float ReverseHaveFlat { get; set; } + /// + /// 反向有功谷电能 + /// + public float ReverseHaveValley { get; set; } + /// + /// 组合无功1总电能 + /// + public float GroupNoAll1 { get; set; } + /// + /// 组合无功1尖电能 + /// + public float GroupNoTip1 { get; set; } + /// + /// 组合无功1峰电能 + /// + public float GroupNoPeak1 { get; set; } + /// + /// 组合无功1平电能 + /// + public float GroupNoFlat1 { get; set; } + /// + /// 组合无功1谷电能 + /// + public float GroupNoValley1 { get; set; } + /// + /// 组合无功2总电能 + /// + public float GroupNoAll2 { get; set; } + /// + /// 组合无功2尖电能 + /// + public float GroupNoTip2 { get; set; } + /// + /// 组合无功2峰电能 + /// + public float GroupNoPeak2 { get; set; } + /// + /// 组合无功2平电能 + /// + public float GroupNoFlat2 { get; set; } + /// + /// 组合无功2谷电能 + /// + public float GroupNoValley2 { get; set; } + /// + /// 一象限无功总电能 + /// + public float QuadrantNoAll1 { get; set; } + /// + /// 一象限无功尖电能 + /// + public float QuadrantNoTip1 { get; set; } + /// + + /// 一象限无功峰电能 + /// + public float QuadrantNoPeak1 { get; set; } + /// + /// 一象限无功平电能 + /// + public float QuadrantNoFlat1 { get; set; } + /// + + /// 一象限无功谷电能 + /// + public float QuadrantNoValley1 { get; set; } + /// + /// 二象限无功总电能 + /// + public float QuadrantNoAll2 { get; set; } + /// + /// 二象限无功尖电能 + /// + public float QuadrantNoTip2 { get; set; } + /// + /// 二象限无功峰电能 + /// + public float QuadrantNoPeak2 { get; set; } + /// + /// 二象限无功平电能 + /// + public float QuadrantNoFlat2 { get; set; } + /// + /// 二象限无功谷电能 + /// + public float QuadrantNoValley2 { get; set; } + /// + /// 三象限无功总电能 + /// + public float QuadrantNoAll3 { get; set; } + /// + /// 三象限无功尖电能 + /// + public float QuadrantNoTip3 { get; set; } + /// + /// 三象限无功峰电能 + /// + public float QuadrantNoPeak3 { get; set; } + /// + /// 三象限无功平电能 + /// + public float QuadrantNoFlat3 { get; set; } + /// + /// 三象限无功谷电能 + /// + public float QuadrantNoValley3 { get; set; } + /// + /// 四象限无功总电能 + /// + public float QuadrantNoAll4 { get; set; } + /// + /// 四象限无功尖电能 + /// + public float QuadrantNoTip4 { get; set; } + /// + /// 四象限无功峰电能 + /// + public float QuadrantNoPeak4 { get; set; } + /// + /// 四象限无功平电能 + /// + public float QuadrantNoFlat4 { get; set; } + /// + /// 四象限无功谷电能 + /// + public float QuadrantNoValley4 { get; set; } + /// + /// 正向视在总电能 + /// + public float ForwardHaveApparentAll { get; set; } + /// + /// 正向视在尖电能 + /// + public float ForwardHaveApparentTip { get; set; } + /// + /// 正向视在峰电能 + /// + public float ForwardHaveApparentPeak { get; set; } + /// + /// 正向视在平电能 + /// + public float ForwardHaveApparentFlat { get; set; } + /// + /// 正向视在谷电能 + /// + public float ForwardHaveApparentValley { get; set; } + /// + /// 反向视在总电能 + /// + public float ReverseHaveApparentAll { get; set; } + /// + /// 反向视在尖电能 + /// + public float ReverseHaveApparentTip { get; set; } + /// + /// 反向视在峰电能 + /// + public float ReverseHaveApparentPeak { get; set; } + /// + /// 反向视在平电能 + /// + public float ReverseHaveApparentFlat { get; set; } + /// + /// 反向视在谷电能 + /// + public float ReverseHaveApparentValley { get; set; } + } +} diff --git a/WinFormStarter/Form2.cs b/WinFormStarter/Form2.cs index 317e02a..d92fc85 100644 --- a/WinFormStarter/Form2.cs +++ b/WinFormStarter/Form2.cs @@ -11,5 +11,7 @@ public partial class Form2 : Form _server = server; InitializeComponent(); _server.Start(9000); + + new FrmPLCConnect().Show(); } } \ No newline at end of file diff --git a/WinFormStarter/FrmPLCConnect.Designer.cs b/WinFormStarter/FrmPLCConnect.Designer.cs new file mode 100644 index 0000000..c19f7af --- /dev/null +++ b/WinFormStarter/FrmPLCConnect.Designer.cs @@ -0,0 +1,2884 @@ +namespace WinFormStarter +{ + partial class FrmPLCConnect + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + button18 = new Button(); + textBox20 = new TextBox(); + label18 = new Label(); + button17 = new Button(); + textBox19 = new TextBox(); + label17 = new Label(); + button16 = new Button(); + textBox18 = new TextBox(); + label16 = new Label(); + button15 = new Button(); + textBox17 = new TextBox(); + label15 = new Label(); + groupBox1 = new GroupBox(); + BtnCollectionAssignment = new Button(); + label22 = new Label(); + label21 = new Label(); + label20 = new Label(); + TxtSite = new TextBox(); + LblConState = new Label(); + BtnConnect = new Button(); + TxtPort = new TextBox(); + TxtIp = new TextBox(); + button14 = new Button(); + textBox14 = new TextBox(); + label14 = new Label(); + button13 = new Button(); + textBox13 = new TextBox(); + label13 = new Label(); + button12 = new Button(); + textBox12 = new TextBox(); + label12 = new Label(); + button11 = new Button(); + textBox11 = new TextBox(); + label11 = new Label(); + button10 = new Button(); + textBox10 = new TextBox(); + label10 = new Label(); + button9 = new Button(); + textBox9 = new TextBox(); + label9 = new Label(); + button8 = new Button(); + textBox8 = new TextBox(); + label8 = new Label(); + button7 = new Button(); + textBox7 = new TextBox(); + label7 = new Label(); + button6 = new Button(); + textBox6 = new TextBox(); + label6 = new Label(); + button5 = new Button(); + textBox5 = new TextBox(); + label5 = new Label(); + button4 = new Button(); + textBox4 = new TextBox(); + label4 = new Label(); + button3 = new Button(); + textBox3 = new TextBox(); + label3 = new Label(); + button2 = new Button(); + textBox2 = new TextBox(); + label2 = new Label(); + button1 = new Button(); + textBox1 = new TextBox(); + label1 = new Label(); + groupBox2 = new GroupBox(); + groupBox3 = new GroupBox(); + label164 = new Label(); + label165 = new Label(); + label166 = new Label(); + label167 = new Label(); + label168 = new Label(); + label169 = new Label(); + label170 = new Label(); + label171 = new Label(); + label154 = new Label(); + label155 = new Label(); + label156 = new Label(); + label157 = new Label(); + label158 = new Label(); + label159 = new Label(); + label160 = new Label(); + label161 = new Label(); + label144 = new Label(); + label145 = new Label(); + label146 = new Label(); + label147 = new Label(); + label148 = new Label(); + label149 = new Label(); + label150 = new Label(); + label151 = new Label(); + label132 = new Label(); + label133 = new Label(); + label134 = new Label(); + label135 = new Label(); + label136 = new Label(); + label137 = new Label(); + label138 = new Label(); + label139 = new Label(); + label140 = new Label(); + label141 = new Label(); + label122 = new Label(); + label123 = new Label(); + label124 = new Label(); + label125 = new Label(); + label126 = new Label(); + label127 = new Label(); + label128 = new Label(); + label129 = new Label(); + label130 = new Label(); + label131 = new Label(); + label112 = new Label(); + label113 = new Label(); + label114 = new Label(); + label115 = new Label(); + label116 = new Label(); + label117 = new Label(); + label118 = new Label(); + label119 = new Label(); + label120 = new Label(); + label121 = new Label(); + label102 = new Label(); + label103 = new Label(); + label104 = new Label(); + label105 = new Label(); + label106 = new Label(); + label107 = new Label(); + label108 = new Label(); + label109 = new Label(); + label110 = new Label(); + label111 = new Label(); + label92 = new Label(); + label93 = new Label(); + label94 = new Label(); + label95 = new Label(); + label96 = new Label(); + label97 = new Label(); + label98 = new Label(); + label99 = new Label(); + label100 = new Label(); + label101 = new Label(); + label82 = new Label(); + label83 = new Label(); + label84 = new Label(); + label85 = new Label(); + label86 = new Label(); + label87 = new Label(); + label88 = new Label(); + label89 = new Label(); + label90 = new Label(); + label91 = new Label(); + label72 = new Label(); + label73 = new Label(); + label74 = new Label(); + label75 = new Label(); + label76 = new Label(); + label77 = new Label(); + label78 = new Label(); + label79 = new Label(); + label80 = new Label(); + label81 = new Label(); + label62 = new Label(); + label63 = new Label(); + label64 = new Label(); + label65 = new Label(); + label66 = new Label(); + label67 = new Label(); + label68 = new Label(); + label69 = new Label(); + label70 = new Label(); + label71 = new Label(); + label52 = new Label(); + label53 = new Label(); + label54 = new Label(); + label55 = new Label(); + label56 = new Label(); + label57 = new Label(); + label58 = new Label(); + label59 = new Label(); + label60 = new Label(); + label61 = new Label(); + label42 = new Label(); + label43 = new Label(); + label44 = new Label(); + label45 = new Label(); + label46 = new Label(); + label47 = new Label(); + label48 = new Label(); + label49 = new Label(); + label50 = new Label(); + label51 = new Label(); + label32 = new Label(); + label33 = new Label(); + label34 = new Label(); + label35 = new Label(); + label36 = new Label(); + label37 = new Label(); + label38 = new Label(); + label39 = new Label(); + label40 = new Label(); + label41 = new Label(); + label30 = new Label(); + label31 = new Label(); + label28 = new Label(); + label29 = new Label(); + label26 = new Label(); + label27 = new Label(); + label24 = new Label(); + label25 = new Label(); + label23 = new Label(); + label19 = new Label(); + BtnToggle = new Button(); + label172 = new Label(); + label173 = new Label(); + label142 = new Label(); + label143 = new Label(); + label152 = new Label(); + label153 = new Label(); + label162 = new Label(); + label163 = new Label(); + label174 = new Label(); + label175 = new Label(); + label176 = new Label(); + label177 = new Label(); + label178 = new Label(); + label179 = new Label(); + label180 = new Label(); + label181 = new Label(); + label182 = new Label(); + label183 = new Label(); + label184 = new Label(); + label185 = new Label(); + label186 = new Label(); + label187 = new Label(); + label188 = new Label(); + label189 = new Label(); + label190 = new Label(); + label191 = new Label(); + label192 = new Label(); + label193 = new Label(); + groupBox1.SuspendLayout(); + groupBox2.SuspendLayout(); + groupBox3.SuspendLayout(); + SuspendLayout(); + // + // button18 + // + button18.Location = new Point(1040, 210); + button18.Name = "button18"; + button18.Size = new Size(94, 29); + button18.TabIndex = 171; + button18.Text = "写"; + button18.UseVisualStyleBackColor = true; + // + // textBox20 + // + textBox20.Location = new Point(880, 211); + textBox20.Name = "textBox20"; + textBox20.Size = new Size(125, 27); + textBox20.TabIndex = 170; + // + // label18 + // + label18.AutoSize = true; + label18.Location = new Point(795, 211); + label18.Name = "label18"; + label18.Size = new Size(69, 20); + label18.TabIndex = 169; + label18.Text = "电表清零"; + // + // button17 + // + button17.Location = new Point(655, 209); + button17.Name = "button17"; + button17.Size = new Size(94, 29); + button17.TabIndex = 168; + button17.Text = "写"; + button17.UseVisualStyleBackColor = true; + // + // textBox19 + // + textBox19.Location = new Point(495, 210); + textBox19.Name = "textBox19"; + textBox19.Size = new Size(125, 27); + textBox19.TabIndex = 167; + // + // label17 + // + label17.AutoSize = true; + label17.Location = new Point(410, 210); + label17.Name = "label17"; + label17.Size = new Size(99, 20); + label17.TabIndex = 166; + label17.Text = "电流接线反向"; + // + // button16 + // + button16.Location = new Point(255, 212); + button16.Name = "button16"; + button16.Size = new Size(94, 29); + button16.TabIndex = 165; + button16.Text = "写"; + button16.UseVisualStyleBackColor = true; + // + // textBox18 + // + textBox18.Location = new Point(95, 213); + textBox18.Name = "textBox18"; + textBox18.Size = new Size(125, 27); + textBox18.TabIndex = 164; + // + // label16 + // + label16.AutoSize = true; + label16.Location = new Point(10, 213); + label16.Name = "label16"; + label16.Size = new Size(150, 20); + label16.TabIndex = 163; + label16.Text = "秒脉冲/无功电能选择"; + // + // button15 + // + button15.Location = new Point(1040, 177); + button15.Name = "button15"; + button15.Size = new Size(94, 29); + button15.TabIndex = 162; + button15.Text = "写"; + button15.UseVisualStyleBackColor = true; + // + // textBox17 + // + textBox17.Location = new Point(880, 178); + textBox17.Name = "textBox17"; + textBox17.Size = new Size(125, 27); + textBox17.TabIndex = 161; + // + // label15 + // + label15.AutoSize = true; + label15.Location = new Point(795, 178); + label15.Name = "label15"; + label15.Size = new Size(69, 20); + label15.TabIndex = 160; + label15.Text = "电流变比"; + // + // groupBox1 + // + groupBox1.Controls.Add(BtnCollectionAssignment); + groupBox1.Controls.Add(label22); + groupBox1.Controls.Add(label21); + groupBox1.Controls.Add(label20); + groupBox1.Controls.Add(TxtSite); + groupBox1.Controls.Add(LblConState); + groupBox1.Controls.Add(BtnConnect); + groupBox1.Controls.Add(TxtPort); + groupBox1.Controls.Add(TxtIp); + groupBox1.Location = new Point(30, 28); + groupBox1.Name = "groupBox1"; + groupBox1.Size = new Size(1124, 56); + groupBox1.TabIndex = 159; + groupBox1.TabStop = false; + groupBox1.Text = "通讯连接"; + // + // BtnCollectionAssignment + // + BtnCollectionAssignment.Enabled = false; + BtnCollectionAssignment.Location = new Point(859, 17); + BtnCollectionAssignment.Name = "BtnCollectionAssignment"; + BtnCollectionAssignment.Size = new Size(94, 29); + BtnCollectionAssignment.TabIndex = 120; + BtnCollectionAssignment.Text = "采集赋值"; + BtnCollectionAssignment.UseVisualStyleBackColor = true; + BtnCollectionAssignment.Click += BtnCollectionAssignment_Click; + // + // label22 + // + label22.AutoSize = true; + label22.Location = new Point(490, 26); + label22.Name = "label22"; + label22.Size = new Size(39, 20); + label22.TabIndex = 119; + label22.Text = "站号"; + // + // label21 + // + label21.AutoSize = true; + label21.Location = new Point(258, 20); + label21.Name = "label21"; + label21.Size = new Size(49, 20); + label21.TabIndex = 118; + label21.Text = "PORT"; + // + // label20 + // + label20.AutoSize = true; + label20.Location = new Point(17, 24); + label20.Name = "label20"; + label20.Size = new Size(22, 20); + label20.TabIndex = 117; + label20.Text = "IP"; + // + // TxtSite + // + TxtSite.Location = new Point(550, 17); + TxtSite.Name = "TxtSite"; + TxtSite.Size = new Size(125, 27); + TxtSite.TabIndex = 45; + // + // LblConState + // + LblConState.AutoSize = true; + LblConState.Location = new Point(1030, 22); + LblConState.Name = "LblConState"; + LblConState.Size = new Size(69, 20); + LblConState.TabIndex = 44; + LblConState.Text = "连接状态"; + // + // BtnConnect + // + BtnConnect.Location = new Point(715, 17); + BtnConnect.Name = "BtnConnect"; + BtnConnect.Size = new Size(94, 29); + BtnConnect.TabIndex = 2; + BtnConnect.Text = "连接"; + BtnConnect.UseVisualStyleBackColor = true; + BtnConnect.Click += BtnConnect_Click; + // + // TxtPort + // + TxtPort.Location = new Point(344, 21); + TxtPort.Name = "TxtPort"; + TxtPort.Size = new Size(125, 27); + TxtPort.TabIndex = 1; + // + // TxtIp + // + TxtIp.Location = new Point(85, 22); + TxtIp.Name = "TxtIp"; + TxtIp.Size = new Size(125, 27); + TxtIp.TabIndex = 0; + // + // button14 + // + button14.Location = new Point(655, 176); + button14.Name = "button14"; + button14.Size = new Size(94, 29); + button14.TabIndex = 158; + button14.Text = "写"; + button14.UseVisualStyleBackColor = true; + // + // textBox14 + // + textBox14.Location = new Point(495, 177); + textBox14.Name = "textBox14"; + textBox14.Size = new Size(125, 27); + textBox14.TabIndex = 157; + // + // label14 + // + label14.AutoSize = true; + label14.Location = new Point(410, 177); + label14.Name = "label14"; + label14.Size = new Size(69, 20); + label14.TabIndex = 156; + label14.Text = "电压变比"; + // + // button13 + // + button13.Location = new Point(255, 175); + button13.Name = "button13"; + button13.Size = new Size(94, 29); + button13.TabIndex = 155; + button13.Text = "写"; + button13.UseVisualStyleBackColor = true; + // + // textBox13 + // + textBox13.Location = new Point(95, 176); + textBox13.Name = "textBox13"; + textBox13.Size = new Size(125, 27); + textBox13.TabIndex = 154; + // + // label13 + // + label13.AutoSize = true; + label13.Location = new Point(10, 176); + label13.Name = "label13"; + label13.Size = new Size(39, 20); + label13.TabIndex = 153; + label13.Text = "保留"; + // + // button12 + // + button12.Location = new Point(1040, 144); + button12.Name = "button12"; + button12.Size = new Size(94, 29); + button12.TabIndex = 152; + button12.Text = "写"; + button12.UseVisualStyleBackColor = true; + // + // textBox12 + // + textBox12.Location = new Point(880, 145); + textBox12.Name = "textBox12"; + textBox12.Size = new Size(125, 27); + textBox12.TabIndex = 151; + // + // label12 + // + label12.AutoSize = true; + label12.Location = new Point(795, 145); + label12.Name = "label12"; + label12.Size = new Size(129, 20); + label12.TabIndex = 150; + label12.Text = "本机modbus地址"; + // + // button11 + // + button11.Location = new Point(655, 144); + button11.Name = "button11"; + button11.Size = new Size(94, 29); + button11.TabIndex = 149; + button11.Text = "写"; + button11.UseVisualStyleBackColor = true; + // + // textBox11 + // + textBox11.Location = new Point(495, 145); + textBox11.Name = "textBox11"; + textBox11.Size = new Size(125, 27); + textBox11.TabIndex = 148; + // + // label11 + // + label11.AutoSize = true; + label11.Location = new Point(410, 145); + label11.Name = "label11"; + label11.Size = new Size(24, 20); + label11.TabIndex = 147; + label11.Text = "年"; + // + // button10 + // + button10.Location = new Point(255, 143); + button10.Name = "button10"; + button10.Size = new Size(94, 29); + button10.TabIndex = 146; + button10.Text = "写"; + button10.UseVisualStyleBackColor = true; + // + // textBox10 + // + textBox10.Location = new Point(95, 144); + textBox10.Name = "textBox10"; + textBox10.Size = new Size(125, 27); + textBox10.TabIndex = 145; + // + // label10 + // + label10.AutoSize = true; + label10.Location = new Point(10, 144); + label10.Name = "label10"; + label10.Size = new Size(24, 20); + label10.TabIndex = 144; + label10.Text = "月"; + // + // button9 + // + button9.Location = new Point(1040, 110); + button9.Name = "button9"; + button9.Size = new Size(94, 29); + button9.TabIndex = 143; + button9.Text = "写"; + button9.UseVisualStyleBackColor = true; + // + // textBox9 + // + textBox9.Location = new Point(880, 111); + textBox9.Name = "textBox9"; + textBox9.Size = new Size(125, 27); + textBox9.TabIndex = 142; + // + // label9 + // + label9.AutoSize = true; + label9.Location = new Point(795, 111); + label9.Name = "label9"; + label9.Size = new Size(24, 20); + label9.TabIndex = 141; + label9.Text = "日"; + // + // button8 + // + button8.Location = new Point(655, 109); + button8.Name = "button8"; + button8.Size = new Size(94, 29); + button8.TabIndex = 140; + button8.Text = "写"; + button8.UseVisualStyleBackColor = true; + // + // textBox8 + // + textBox8.Location = new Point(495, 110); + textBox8.Name = "textBox8"; + textBox8.Size = new Size(125, 27); + textBox8.TabIndex = 139; + // + // label8 + // + label8.AutoSize = true; + label8.Location = new Point(410, 110); + label8.Name = "label8"; + label8.Size = new Size(24, 20); + label8.TabIndex = 138; + label8.Text = "周"; + // + // button7 + // + button7.Location = new Point(255, 108); + button7.Name = "button7"; + button7.Size = new Size(94, 29); + button7.TabIndex = 137; + button7.Text = "写"; + button7.UseVisualStyleBackColor = true; + // + // textBox7 + // + textBox7.Location = new Point(95, 109); + textBox7.Name = "textBox7"; + textBox7.Size = new Size(125, 27); + textBox7.TabIndex = 136; + // + // label7 + // + label7.AutoSize = true; + label7.Location = new Point(10, 109); + label7.Name = "label7"; + label7.Size = new Size(24, 20); + label7.TabIndex = 135; + label7.Text = "时"; + // + // button6 + // + button6.Location = new Point(1040, 77); + button6.Name = "button6"; + button6.Size = new Size(94, 29); + button6.TabIndex = 134; + button6.Text = "写"; + button6.UseVisualStyleBackColor = true; + // + // textBox6 + // + textBox6.Location = new Point(880, 78); + textBox6.Name = "textBox6"; + textBox6.Size = new Size(125, 27); + textBox6.TabIndex = 133; + // + // label6 + // + label6.AutoSize = true; + label6.Location = new Point(795, 78); + label6.Name = "label6"; + label6.Size = new Size(24, 20); + label6.TabIndex = 132; + label6.Text = "分"; + // + // button5 + // + button5.Location = new Point(655, 76); + button5.Name = "button5"; + button5.Size = new Size(94, 29); + button5.TabIndex = 131; + button5.Text = "写"; + button5.UseVisualStyleBackColor = true; + // + // textBox5 + // + textBox5.Location = new Point(495, 77); + textBox5.Name = "textBox5"; + textBox5.Size = new Size(125, 27); + textBox5.TabIndex = 130; + // + // label5 + // + label5.AutoSize = true; + label5.Location = new Point(410, 77); + label5.Name = "label5"; + label5.Size = new Size(24, 20); + label5.TabIndex = 129; + label5.Text = "秒"; + // + // button4 + // + button4.Location = new Point(255, 75); + button4.Name = "button4"; + button4.Size = new Size(94, 29); + button4.TabIndex = 128; + button4.Text = "写"; + button4.UseVisualStyleBackColor = true; + // + // textBox4 + // + textBox4.Location = new Point(95, 76); + textBox4.Name = "textBox4"; + textBox4.Size = new Size(125, 27); + textBox4.TabIndex = 127; + // + // label4 + // + label4.AutoSize = true; + label4.Location = new Point(10, 76); + label4.Name = "label4"; + label4.Size = new Size(54, 20); + label4.TabIndex = 126; + label4.Text = "校验位"; + // + // button3 + // + button3.Location = new Point(1040, 42); + button3.Name = "button3"; + button3.Size = new Size(94, 29); + button3.TabIndex = 125; + button3.Text = "写"; + button3.UseVisualStyleBackColor = true; + // + // textBox3 + // + textBox3.Location = new Point(880, 43); + textBox3.Name = "textBox3"; + textBox3.Size = new Size(125, 27); + textBox3.TabIndex = 124; + // + // label3 + // + label3.AutoSize = true; + label3.Location = new Point(795, 43); + label3.Name = "label3"; + label3.Size = new Size(54, 20); + label3.TabIndex = 123; + label3.Text = "波特率"; + // + // button2 + // + button2.Location = new Point(655, 41); + button2.Name = "button2"; + button2.Size = new Size(94, 29); + button2.TabIndex = 122; + button2.Text = "写"; + button2.UseVisualStyleBackColor = true; + // + // textBox2 + // + textBox2.Location = new Point(495, 42); + textBox2.Name = "textBox2"; + textBox2.Size = new Size(125, 27); + textBox2.TabIndex = 121; + // + // label2 + // + label2.AutoSize = true; + label2.Location = new Point(410, 42); + label2.Name = "label2"; + label2.Size = new Size(129, 20); + label2.TabIndex = 120; + label2.Text = "本机modbus地址"; + // + // button1 + // + button1.Location = new Point(255, 40); + button1.Name = "button1"; + button1.Size = new Size(94, 29); + button1.TabIndex = 119; + button1.Text = "写"; + button1.UseVisualStyleBackColor = true; + // + // textBox1 + // + textBox1.Location = new Point(95, 41); + textBox1.Name = "textBox1"; + textBox1.Size = new Size(125, 27); + textBox1.TabIndex = 118; + // + // label1 + // + label1.AutoSize = true; + label1.Location = new Point(10, 41); + label1.Name = "label1"; + label1.Size = new Size(84, 20); + label1.TabIndex = 117; + label1.Text = "写编程使能"; + // + // groupBox2 + // + groupBox2.Controls.Add(textBox2); + groupBox2.Controls.Add(textBox12); + groupBox2.Controls.Add(label12); + groupBox2.Controls.Add(textBox5); + groupBox2.Controls.Add(button18); + groupBox2.Controls.Add(label1); + groupBox2.Controls.Add(textBox20); + groupBox2.Controls.Add(textBox1); + groupBox2.Controls.Add(label18); + groupBox2.Controls.Add(button1); + groupBox2.Controls.Add(button17); + groupBox2.Controls.Add(label2); + groupBox2.Controls.Add(textBox19); + groupBox2.Controls.Add(label17); + groupBox2.Controls.Add(button2); + groupBox2.Controls.Add(button16); + groupBox2.Controls.Add(label3); + groupBox2.Controls.Add(textBox18); + groupBox2.Controls.Add(textBox3); + groupBox2.Controls.Add(label16); + groupBox2.Controls.Add(button3); + groupBox2.Controls.Add(button15); + groupBox2.Controls.Add(label4); + groupBox2.Controls.Add(textBox17); + groupBox2.Controls.Add(textBox4); + groupBox2.Controls.Add(label15); + groupBox2.Controls.Add(button4); + groupBox2.Controls.Add(label5); + groupBox2.Controls.Add(button14); + groupBox2.Controls.Add(button5); + groupBox2.Controls.Add(textBox14); + groupBox2.Controls.Add(label6); + groupBox2.Controls.Add(label14); + groupBox2.Controls.Add(textBox6); + groupBox2.Controls.Add(button13); + groupBox2.Controls.Add(button6); + groupBox2.Controls.Add(textBox13); + groupBox2.Controls.Add(label7); + groupBox2.Controls.Add(label13); + groupBox2.Controls.Add(textBox7); + groupBox2.Controls.Add(button12); + groupBox2.Controls.Add(button7); + groupBox2.Controls.Add(label8); + groupBox2.Controls.Add(textBox8); + groupBox2.Controls.Add(button11); + groupBox2.Controls.Add(button8); + groupBox2.Controls.Add(textBox11); + groupBox2.Controls.Add(label9); + groupBox2.Controls.Add(label11); + groupBox2.Controls.Add(textBox9); + groupBox2.Controls.Add(button10); + groupBox2.Controls.Add(button9); + groupBox2.Controls.Add(textBox10); + groupBox2.Controls.Add(label10); + groupBox2.Location = new Point(32, 90); + groupBox2.Name = "groupBox2"; + groupBox2.Size = new Size(1145, 250); + groupBox2.TabIndex = 172; + groupBox2.TabStop = false; + groupBox2.Text = "可读可写"; + // + // groupBox3 + // + groupBox3.Controls.Add(BtnToggle); + groupBox3.Controls.Add(label186); + groupBox3.Controls.Add(label187); + groupBox3.Controls.Add(label188); + groupBox3.Controls.Add(label189); + groupBox3.Controls.Add(label190); + groupBox3.Controls.Add(label191); + groupBox3.Controls.Add(label192); + groupBox3.Controls.Add(label193); + groupBox3.Controls.Add(label176); + groupBox3.Controls.Add(label177); + groupBox3.Controls.Add(label178); + groupBox3.Controls.Add(label179); + groupBox3.Controls.Add(label180); + groupBox3.Controls.Add(label181); + groupBox3.Controls.Add(label182); + groupBox3.Controls.Add(label183); + groupBox3.Controls.Add(label184); + groupBox3.Controls.Add(label185); + groupBox3.Controls.Add(label142); + groupBox3.Controls.Add(label143); + groupBox3.Controls.Add(label152); + groupBox3.Controls.Add(label153); + groupBox3.Controls.Add(label162); + groupBox3.Controls.Add(label163); + groupBox3.Controls.Add(label174); + groupBox3.Controls.Add(label175); + groupBox3.Controls.Add(label172); + groupBox3.Controls.Add(label173); + groupBox3.Controls.Add(label164); + groupBox3.Controls.Add(label165); + groupBox3.Controls.Add(label166); + groupBox3.Controls.Add(label167); + groupBox3.Controls.Add(label168); + groupBox3.Controls.Add(label169); + groupBox3.Controls.Add(label170); + groupBox3.Controls.Add(label171); + groupBox3.Controls.Add(label154); + groupBox3.Controls.Add(label155); + groupBox3.Controls.Add(label156); + groupBox3.Controls.Add(label157); + groupBox3.Controls.Add(label158); + groupBox3.Controls.Add(label159); + groupBox3.Controls.Add(label160); + groupBox3.Controls.Add(label161); + groupBox3.Controls.Add(label144); + groupBox3.Controls.Add(label145); + groupBox3.Controls.Add(label146); + groupBox3.Controls.Add(label147); + groupBox3.Controls.Add(label148); + groupBox3.Controls.Add(label149); + groupBox3.Controls.Add(label150); + groupBox3.Controls.Add(label151); + groupBox3.Controls.Add(label132); + groupBox3.Controls.Add(label133); + groupBox3.Controls.Add(label134); + groupBox3.Controls.Add(label135); + groupBox3.Controls.Add(label136); + groupBox3.Controls.Add(label137); + groupBox3.Controls.Add(label138); + groupBox3.Controls.Add(label139); + groupBox3.Controls.Add(label140); + groupBox3.Controls.Add(label141); + groupBox3.Controls.Add(label122); + groupBox3.Controls.Add(label123); + groupBox3.Controls.Add(label124); + groupBox3.Controls.Add(label125); + groupBox3.Controls.Add(label126); + groupBox3.Controls.Add(label127); + groupBox3.Controls.Add(label128); + groupBox3.Controls.Add(label129); + groupBox3.Controls.Add(label130); + groupBox3.Controls.Add(label131); + groupBox3.Controls.Add(label112); + groupBox3.Controls.Add(label113); + groupBox3.Controls.Add(label114); + groupBox3.Controls.Add(label115); + groupBox3.Controls.Add(label116); + groupBox3.Controls.Add(label117); + groupBox3.Controls.Add(label118); + groupBox3.Controls.Add(label119); + groupBox3.Controls.Add(label120); + groupBox3.Controls.Add(label121); + groupBox3.Controls.Add(label102); + groupBox3.Controls.Add(label103); + groupBox3.Controls.Add(label104); + groupBox3.Controls.Add(label105); + groupBox3.Controls.Add(label106); + groupBox3.Controls.Add(label107); + groupBox3.Controls.Add(label108); + groupBox3.Controls.Add(label109); + groupBox3.Controls.Add(label110); + groupBox3.Controls.Add(label111); + groupBox3.Controls.Add(label92); + groupBox3.Controls.Add(label93); + groupBox3.Controls.Add(label94); + groupBox3.Controls.Add(label95); + groupBox3.Controls.Add(label96); + groupBox3.Controls.Add(label97); + groupBox3.Controls.Add(label98); + groupBox3.Controls.Add(label99); + groupBox3.Controls.Add(label100); + groupBox3.Controls.Add(label101); + groupBox3.Controls.Add(label82); + groupBox3.Controls.Add(label83); + groupBox3.Controls.Add(label84); + groupBox3.Controls.Add(label85); + groupBox3.Controls.Add(label86); + groupBox3.Controls.Add(label87); + groupBox3.Controls.Add(label88); + groupBox3.Controls.Add(label89); + groupBox3.Controls.Add(label90); + groupBox3.Controls.Add(label91); + groupBox3.Controls.Add(label72); + groupBox3.Controls.Add(label73); + groupBox3.Controls.Add(label74); + groupBox3.Controls.Add(label75); + groupBox3.Controls.Add(label76); + groupBox3.Controls.Add(label77); + groupBox3.Controls.Add(label78); + groupBox3.Controls.Add(label79); + groupBox3.Controls.Add(label80); + groupBox3.Controls.Add(label81); + groupBox3.Controls.Add(label62); + groupBox3.Controls.Add(label63); + groupBox3.Controls.Add(label64); + groupBox3.Controls.Add(label65); + groupBox3.Controls.Add(label66); + groupBox3.Controls.Add(label67); + groupBox3.Controls.Add(label68); + groupBox3.Controls.Add(label69); + groupBox3.Controls.Add(label70); + groupBox3.Controls.Add(label71); + groupBox3.Controls.Add(label52); + groupBox3.Controls.Add(label53); + groupBox3.Controls.Add(label54); + groupBox3.Controls.Add(label55); + groupBox3.Controls.Add(label56); + groupBox3.Controls.Add(label57); + groupBox3.Controls.Add(label58); + groupBox3.Controls.Add(label59); + groupBox3.Controls.Add(label60); + groupBox3.Controls.Add(label61); + groupBox3.Controls.Add(label42); + groupBox3.Controls.Add(label43); + groupBox3.Controls.Add(label44); + groupBox3.Controls.Add(label45); + groupBox3.Controls.Add(label46); + groupBox3.Controls.Add(label47); + groupBox3.Controls.Add(label48); + groupBox3.Controls.Add(label49); + groupBox3.Controls.Add(label50); + groupBox3.Controls.Add(label51); + groupBox3.Controls.Add(label32); + groupBox3.Controls.Add(label33); + groupBox3.Controls.Add(label34); + groupBox3.Controls.Add(label35); + groupBox3.Controls.Add(label36); + groupBox3.Controls.Add(label37); + groupBox3.Controls.Add(label38); + groupBox3.Controls.Add(label39); + groupBox3.Controls.Add(label40); + groupBox3.Controls.Add(label41); + groupBox3.Controls.Add(label30); + groupBox3.Controls.Add(label31); + groupBox3.Controls.Add(label28); + groupBox3.Controls.Add(label29); + groupBox3.Controls.Add(label26); + groupBox3.Controls.Add(label27); + groupBox3.Controls.Add(label24); + groupBox3.Controls.Add(label25); + groupBox3.Controls.Add(label23); + groupBox3.Controls.Add(label19); + groupBox3.Location = new Point(30, 355); + groupBox3.Name = "groupBox3"; + groupBox3.Size = new Size(1147, 645); + groupBox3.TabIndex = 173; + groupBox3.TabStop = false; + groupBox3.Text = "A 相线电压"; + // + // label164 + // + label164.AutoSize = true; + label164.Location = new Point(815, 512); + label164.Name = "label164"; + label164.Size = new Size(87, 20); + label164.TabIndex = 147; + label164.Text = "0.0001kVA"; + // + // label165 + // + label165.AutoSize = true; + label165.Location = new Point(691, 512); + label165.Name = "label165"; + label165.Size = new Size(99, 20); + label165.TabIndex = 146; + label165.Text = "A 相视在功率"; + // + // label166 + // + label166.AutoSize = true; + label166.Location = new Point(584, 512); + label166.Name = "label166"; + label166.Size = new Size(87, 20); + label166.TabIndex = 145; + label166.Text = "0.0001kVA"; + // + // label167 + // + label167.AutoSize = true; + label167.Location = new Point(460, 512); + label167.Name = "label167"; + label167.Size = new Size(99, 20); + label167.TabIndex = 144; + label167.Text = "A 相视在功率"; + // + // label168 + // + label168.AutoSize = true; + label168.Location = new Point(355, 512); + label168.Name = "label168"; + label168.Size = new Size(87, 20); + label168.TabIndex = 143; + label168.Text = "0.0001kVA"; + // + // label169 + // + label169.AutoSize = true; + label169.Location = new Point(227, 512); + label169.Name = "label169"; + label169.Size = new Size(99, 20); + label169.TabIndex = 142; + label169.Text = "A 相视在功率"; + // + // label170 + // + label170.AutoSize = true; + label170.Location = new Point(143, 512); + label170.Name = "label170"; + label170.Size = new Size(87, 20); + label170.TabIndex = 141; + label170.Text = "0.0001kVA"; + // + // label171 + // + label171.AutoSize = true; + label171.Location = new Point(19, 512); + label171.Name = "label171"; + label171.Size = new Size(84, 20); + label171.TabIndex = 140; + label171.Text = "总视在功率"; + // + // label154 + // + label154.AutoSize = true; + label154.Location = new Point(817, 482); + label154.Name = "label154"; + label154.Size = new Size(88, 20); + label154.TabIndex = 137; + label154.Text = "0.0001kvar"; + // + // label155 + // + label155.AutoSize = true; + label155.Location = new Point(693, 482); + label155.Name = "label155"; + label155.Size = new Size(118, 20); + label155.TabIndex = 136; + label155.Text = "A 相无功总功率 "; + // + // label156 + // + label156.AutoSize = true; + label156.Location = new Point(586, 482); + label156.Name = "label156"; + label156.Size = new Size(88, 20); + label156.TabIndex = 135; + label156.Text = "0.0001kvar"; + // + // label157 + // + label157.AutoSize = true; + label157.Location = new Point(462, 482); + label157.Name = "label157"; + label157.Size = new Size(118, 20); + label157.TabIndex = 134; + label157.Text = "A 相无功总功率 "; + // + // label158 + // + label158.AutoSize = true; + label158.Location = new Point(357, 482); + label158.Name = "label158"; + label158.Size = new Size(88, 20); + label158.TabIndex = 133; + label158.Text = "0.0001kvar"; + // + // label159 + // + label159.AutoSize = true; + label159.Location = new Point(229, 482); + label159.Name = "label159"; + label159.Size = new Size(118, 20); + label159.TabIndex = 132; + label159.Text = "A 相无功总功率 "; + // + // label160 + // + label160.AutoSize = true; + label160.Location = new Point(145, 482); + label160.Name = "label160"; + label160.Size = new Size(88, 20); + label160.TabIndex = 131; + label160.Text = "0.0001kvar"; + // + // label161 + // + label161.AutoSize = true; + label161.Location = new Point(21, 482); + label161.Name = "label161"; + label161.Size = new Size(88, 20); + label161.TabIndex = 130; + label161.Text = "无功总功率 "; + // + // label144 + // + label144.AutoSize = true; + label144.Location = new Point(817, 450); + label144.Name = "label144"; + label144.Size = new Size(81, 20); + label144.TabIndex = 127; + label144.Text = "0.0001kW"; + // + // label145 + // + label145.AutoSize = true; + label145.Location = new Point(693, 450); + label145.Name = "label145"; + label145.Size = new Size(114, 20); + label145.TabIndex = 126; + label145.Text = "A 相有功总功率"; + // + // label146 + // + label146.AutoSize = true; + label146.Location = new Point(586, 450); + label146.Name = "label146"; + label146.Size = new Size(81, 20); + label146.TabIndex = 125; + label146.Text = "0.0001kW"; + // + // label147 + // + label147.AutoSize = true; + label147.Location = new Point(462, 450); + label147.Name = "label147"; + label147.Size = new Size(114, 20); + label147.TabIndex = 124; + label147.Text = "A 相有功总功率"; + // + // label148 + // + label148.AutoSize = true; + label148.Location = new Point(357, 450); + label148.Name = "label148"; + label148.Size = new Size(81, 20); + label148.TabIndex = 123; + label148.Text = "0.0001kW"; + // + // label149 + // + label149.AutoSize = true; + label149.Location = new Point(229, 450); + label149.Name = "label149"; + label149.Size = new Size(114, 20); + label149.TabIndex = 122; + label149.Text = "A 相有功总功率"; + // + // label150 + // + label150.AutoSize = true; + label150.Location = new Point(145, 450); + label150.Name = "label150"; + label150.Size = new Size(81, 20); + label150.TabIndex = 121; + label150.Text = "0.0001kW"; + // + // label151 + // + label151.AutoSize = true; + label151.Location = new Point(21, 450); + label151.Name = "label151"; + label151.Size = new Size(84, 20); + label151.TabIndex = 120; + label151.Text = "有功总功率"; + // + // label132 + // + label132.AutoSize = true; + label132.Location = new Point(836, 419); + label132.Name = "label132"; + label132.Size = new Size(69, 20); + label132.TabIndex = 119; + label132.Text = "0.0001A"; + // + // label133 + // + label133.AutoSize = true; + label133.Location = new Point(752, 419); + label133.Name = "label133"; + label133.Size = new Size(63, 20); + label133.TabIndex = 118; + label133.Text = "B相电流"; + // + // label134 + // + label134.AutoSize = true; + label134.Location = new Point(646, 419); + label134.Name = "label134"; + label134.Size = new Size(69, 20); + label134.TabIndex = 117; + label134.Text = "0.0001A"; + // + // label135 + // + label135.AutoSize = true; + label135.Location = new Point(571, 419); + label135.Name = "label135"; + label135.Size = new Size(69, 20); + label135.TabIndex = 116; + label135.Text = "A 相电流"; + // + // label136 + // + label136.AutoSize = true; + label136.Location = new Point(450, 419); + label136.Name = "label136"; + label136.Size = new Size(68, 20); + label136.TabIndex = 115; + label136.Text = "0.0001V"; + // + // label137 + // + label137.AutoSize = true; + label137.Location = new Point(380, 419); + label137.Name = "label137"; + label137.Size = new Size(64, 20); + label137.TabIndex = 114; + label137.Text = "C相电压"; + // + // label138 + // + label138.AutoSize = true; + label138.Location = new Point(270, 419); + label138.Name = "label138"; + label138.Size = new Size(68, 20); + label138.TabIndex = 113; + label138.Text = "0.0001V"; + // + // label139 + // + label139.AutoSize = true; + label139.Location = new Point(201, 419); + label139.Name = "label139"; + label139.Size = new Size(63, 20); + label139.TabIndex = 112; + label139.Text = "B相电压"; + // + // label140 + // + label140.AutoSize = true; + label140.Location = new Point(100, 419); + label140.Name = "label140"; + label140.Size = new Size(68, 20); + label140.TabIndex = 111; + label140.Text = "0.0001V"; + // + // label141 + // + label141.AutoSize = true; + label141.Location = new Point(21, 419); + label141.Name = "label141"; + label141.Size = new Size(73, 20); + label141.TabIndex = 110; + label141.Text = "A 相电压 "; + // + // label122 + // + label122.AutoSize = true; + label122.Location = new Point(1067, 369); + label122.Name = "label122"; + label122.Size = new Size(82, 20); + label122.TabIndex = 109; + label122.Text = "0.01kVAh "; + // + // label123 + // + label123.AutoSize = true; + label123.Location = new Point(929, 369); + label123.Name = "label123"; + label123.Size = new Size(114, 20); + label123.TabIndex = 108; + label123.Text = "组合有功谷电能"; + // + // label124 + // + label124.AutoSize = true; + label124.Location = new Point(819, 369); + label124.Name = "label124"; + label124.Size = new Size(82, 20); + label124.TabIndex = 107; + label124.Text = "0.01kVAh "; + // + // label125 + // + label125.AutoSize = true; + label125.Location = new Point(695, 369); + label125.Name = "label125"; + label125.Size = new Size(118, 20); + label125.TabIndex = 106; + label125.Text = "组合有功平电能 "; + // + // label126 + // + label126.AutoSize = true; + label126.Location = new Point(588, 369); + label126.Name = "label126"; + label126.Size = new Size(82, 20); + label126.TabIndex = 105; + label126.Text = "0.01kVAh "; + // + // label127 + // + label127.AutoSize = true; + label127.Location = new Point(464, 369); + label127.Name = "label127"; + label127.Size = new Size(118, 20); + label127.TabIndex = 104; + label127.Text = "组合有功峰电能 "; + // + // label128 + // + label128.AutoSize = true; + label128.Location = new Point(359, 369); + label128.Name = "label128"; + label128.Size = new Size(82, 20); + label128.TabIndex = 103; + label128.Text = "0.01kVAh "; + // + // label129 + // + label129.AutoSize = true; + label129.Location = new Point(231, 369); + label129.Name = "label129"; + label129.Size = new Size(122, 20); + label129.TabIndex = 102; + label129.Text = "组合有功尖电能 "; + // + // label130 + // + label130.AutoSize = true; + label130.Location = new Point(147, 369); + label130.Name = "label130"; + label130.Size = new Size(82, 20); + label130.TabIndex = 101; + label130.Text = "0.01kVAh "; + // + // label131 + // + label131.AutoSize = true; + label131.Location = new Point(23, 369); + label131.Name = "label131"; + label131.Size = new Size(114, 20); + label131.TabIndex = 100; + label131.Text = "反向视在总电能"; + // + // label112 + // + label112.AutoSize = true; + label112.Location = new Point(1067, 338); + label112.Name = "label112"; + label112.Size = new Size(82, 20); + label112.TabIndex = 99; + label112.Text = "0.01kVAh "; + // + // label113 + // + label113.AutoSize = true; + label113.Location = new Point(929, 338); + label113.Name = "label113"; + label113.Size = new Size(114, 20); + label113.TabIndex = 98; + label113.Text = "组合有功谷电能"; + // + // label114 + // + label114.AutoSize = true; + label114.Location = new Point(819, 338); + label114.Name = "label114"; + label114.Size = new Size(82, 20); + label114.TabIndex = 97; + label114.Text = "0.01kVAh "; + // + // label115 + // + label115.AutoSize = true; + label115.Location = new Point(695, 338); + label115.Name = "label115"; + label115.Size = new Size(118, 20); + label115.TabIndex = 96; + label115.Text = "组合有功平电能 "; + // + // label116 + // + label116.AutoSize = true; + label116.Location = new Point(588, 338); + label116.Name = "label116"; + label116.Size = new Size(82, 20); + label116.TabIndex = 95; + label116.Text = "0.01kVAh "; + // + // label117 + // + label117.AutoSize = true; + label117.Location = new Point(464, 338); + label117.Name = "label117"; + label117.Size = new Size(118, 20); + label117.TabIndex = 94; + label117.Text = "组合有功峰电能 "; + // + // label118 + // + label118.AutoSize = true; + label118.Location = new Point(359, 338); + label118.Name = "label118"; + label118.Size = new Size(82, 20); + label118.TabIndex = 93; + label118.Text = "0.01kVAh "; + // + // label119 + // + label119.AutoSize = true; + label119.Location = new Point(231, 338); + label119.Name = "label119"; + label119.Size = new Size(122, 20); + label119.TabIndex = 92; + label119.Text = "组合有功尖电能 "; + // + // label120 + // + label120.AutoSize = true; + label120.Location = new Point(147, 338); + label120.Name = "label120"; + label120.Size = new Size(82, 20); + label120.TabIndex = 91; + label120.Text = "0.01kVAh "; + // + // label121 + // + label121.AutoSize = true; + label121.Location = new Point(23, 338); + label121.Name = "label121"; + label121.Size = new Size(118, 20); + label121.TabIndex = 90; + label121.Text = "正向视在总电能 "; + // + // label102 + // + label102.AutoSize = true; + label102.Location = new Point(1065, 308); + label102.Name = "label102"; + label102.Size = new Size(79, 20); + label102.TabIndex = 89; + label102.Text = "0.01kvarh"; + // + // label103 + // + label103.AutoSize = true; + label103.Location = new Point(927, 308); + label103.Name = "label103"; + label103.Size = new Size(114, 20); + label103.TabIndex = 88; + label103.Text = "组合有功谷电能"; + // + // label104 + // + label104.AutoSize = true; + label104.Location = new Point(817, 308); + label104.Name = "label104"; + label104.Size = new Size(79, 20); + label104.TabIndex = 87; + label104.Text = "0.01kvarh"; + // + // label105 + // + label105.AutoSize = true; + label105.Location = new Point(693, 308); + label105.Name = "label105"; + label105.Size = new Size(118, 20); + label105.TabIndex = 86; + label105.Text = "组合有功平电能 "; + // + // label106 + // + label106.AutoSize = true; + label106.Location = new Point(586, 308); + label106.Name = "label106"; + label106.Size = new Size(79, 20); + label106.TabIndex = 85; + label106.Text = "0.01kvarh"; + // + // label107 + // + label107.AutoSize = true; + label107.Location = new Point(462, 308); + label107.Name = "label107"; + label107.Size = new Size(118, 20); + label107.TabIndex = 84; + label107.Text = "组合有功峰电能 "; + // + // label108 + // + label108.AutoSize = true; + label108.Location = new Point(357, 308); + label108.Name = "label108"; + label108.Size = new Size(79, 20); + label108.TabIndex = 83; + label108.Text = "0.01kvarh"; + // + // label109 + // + label109.AutoSize = true; + label109.Location = new Point(229, 308); + label109.Name = "label109"; + label109.Size = new Size(122, 20); + label109.TabIndex = 82; + label109.Text = "组合有功尖电能 "; + // + // label110 + // + label110.AutoSize = true; + label110.Location = new Point(145, 308); + label110.Name = "label110"; + label110.Size = new Size(79, 20); + label110.TabIndex = 81; + label110.Text = "0.01kvarh"; + // + // label111 + // + label111.AutoSize = true; + label111.Location = new Point(21, 308); + label111.Name = "label111"; + label111.Size = new Size(129, 20); + label111.TabIndex = 80; + label111.Text = "四象限无功总电能"; + // + // label92 + // + label92.AutoSize = true; + label92.Location = new Point(1065, 276); + label92.Name = "label92"; + label92.Size = new Size(79, 20); + label92.TabIndex = 79; + label92.Text = "0.01kvarh"; + // + // label93 + // + label93.AutoSize = true; + label93.Location = new Point(927, 276); + label93.Name = "label93"; + label93.Size = new Size(114, 20); + label93.TabIndex = 78; + label93.Text = "组合有功谷电能"; + // + // label94 + // + label94.AutoSize = true; + label94.Location = new Point(817, 276); + label94.Name = "label94"; + label94.Size = new Size(79, 20); + label94.TabIndex = 77; + label94.Text = "0.01kvarh"; + // + // label95 + // + label95.AutoSize = true; + label95.Location = new Point(693, 276); + label95.Name = "label95"; + label95.Size = new Size(118, 20); + label95.TabIndex = 76; + label95.Text = "组合有功平电能 "; + // + // label96 + // + label96.AutoSize = true; + label96.Location = new Point(586, 276); + label96.Name = "label96"; + label96.Size = new Size(79, 20); + label96.TabIndex = 75; + label96.Text = "0.01kvarh"; + // + // label97 + // + label97.AutoSize = true; + label97.Location = new Point(462, 276); + label97.Name = "label97"; + label97.Size = new Size(118, 20); + label97.TabIndex = 74; + label97.Text = "组合有功峰电能 "; + // + // label98 + // + label98.AutoSize = true; + label98.Location = new Point(357, 276); + label98.Name = "label98"; + label98.Size = new Size(79, 20); + label98.TabIndex = 73; + label98.Text = "0.01kvarh"; + // + // label99 + // + label99.AutoSize = true; + label99.Location = new Point(229, 276); + label99.Name = "label99"; + label99.Size = new Size(122, 20); + label99.TabIndex = 72; + label99.Text = "组合有功尖电能 "; + // + // label100 + // + label100.AutoSize = true; + label100.Location = new Point(145, 276); + label100.Name = "label100"; + label100.Size = new Size(79, 20); + label100.TabIndex = 71; + label100.Text = "0.01kvarh"; + // + // label101 + // + label101.AutoSize = true; + label101.Location = new Point(21, 276); + label101.Name = "label101"; + label101.Size = new Size(129, 20); + label101.TabIndex = 70; + label101.Text = "三象限无功总电能"; + // + // label82 + // + label82.AutoSize = true; + label82.Location = new Point(1063, 244); + label82.Name = "label82"; + label82.Size = new Size(79, 20); + label82.TabIndex = 69; + label82.Text = "0.01kvarh"; + // + // label83 + // + label83.AutoSize = true; + label83.Location = new Point(925, 244); + label83.Name = "label83"; + label83.Size = new Size(114, 20); + label83.TabIndex = 68; + label83.Text = "组合有功谷电能"; + // + // label84 + // + label84.AutoSize = true; + label84.Location = new Point(815, 244); + label84.Name = "label84"; + label84.Size = new Size(79, 20); + label84.TabIndex = 67; + label84.Text = "0.01kvarh"; + // + // label85 + // + label85.AutoSize = true; + label85.Location = new Point(691, 244); + label85.Name = "label85"; + label85.Size = new Size(118, 20); + label85.TabIndex = 66; + label85.Text = "组合有功平电能 "; + // + // label86 + // + label86.AutoSize = true; + label86.Location = new Point(584, 244); + label86.Name = "label86"; + label86.Size = new Size(79, 20); + label86.TabIndex = 65; + label86.Text = "0.01kvarh"; + // + // label87 + // + label87.AutoSize = true; + label87.Location = new Point(460, 244); + label87.Name = "label87"; + label87.Size = new Size(118, 20); + label87.TabIndex = 64; + label87.Text = "组合有功峰电能 "; + // + // label88 + // + label88.AutoSize = true; + label88.Location = new Point(355, 244); + label88.Name = "label88"; + label88.Size = new Size(79, 20); + label88.TabIndex = 63; + label88.Text = "0.01kvarh"; + // + // label89 + // + label89.AutoSize = true; + label89.Location = new Point(227, 244); + label89.Name = "label89"; + label89.Size = new Size(122, 20); + label89.TabIndex = 62; + label89.Text = "组合有功尖电能 "; + // + // label90 + // + label90.AutoSize = true; + label90.Location = new Point(143, 244); + label90.Name = "label90"; + label90.Size = new Size(79, 20); + label90.TabIndex = 61; + label90.Text = "0.01kvarh"; + // + // label91 + // + label91.AutoSize = true; + label91.Location = new Point(19, 244); + label91.Name = "label91"; + label91.Size = new Size(129, 20); + label91.TabIndex = 60; + label91.Text = "二象限无功总电能"; + // + // label72 + // + label72.AutoSize = true; + label72.Location = new Point(1063, 210); + label72.Name = "label72"; + label72.Size = new Size(79, 20); + label72.TabIndex = 59; + label72.Text = "0.01kvarh"; + // + // label73 + // + label73.AutoSize = true; + label73.Location = new Point(925, 210); + label73.Name = "label73"; + label73.Size = new Size(114, 20); + label73.TabIndex = 58; + label73.Text = "组合有功谷电能"; + // + // label74 + // + label74.AutoSize = true; + label74.Location = new Point(815, 210); + label74.Name = "label74"; + label74.Size = new Size(79, 20); + label74.TabIndex = 57; + label74.Text = "0.01kvarh"; + // + // label75 + // + label75.AutoSize = true; + label75.Location = new Point(691, 210); + label75.Name = "label75"; + label75.Size = new Size(118, 20); + label75.TabIndex = 56; + label75.Text = "组合有功平电能 "; + // + // label76 + // + label76.AutoSize = true; + label76.Location = new Point(584, 210); + label76.Name = "label76"; + label76.Size = new Size(79, 20); + label76.TabIndex = 55; + label76.Text = "0.01kvarh"; + // + // label77 + // + label77.AutoSize = true; + label77.Location = new Point(460, 210); + label77.Name = "label77"; + label77.Size = new Size(118, 20); + label77.TabIndex = 54; + label77.Text = "组合有功峰电能 "; + // + // label78 + // + label78.AutoSize = true; + label78.Location = new Point(355, 210); + label78.Name = "label78"; + label78.Size = new Size(79, 20); + label78.TabIndex = 53; + label78.Text = "0.01kvarh"; + // + // label79 + // + label79.AutoSize = true; + label79.Location = new Point(227, 210); + label79.Name = "label79"; + label79.Size = new Size(122, 20); + label79.TabIndex = 52; + label79.Text = "组合有功尖电能 "; + // + // label80 + // + label80.AutoSize = true; + label80.Location = new Point(143, 210); + label80.Name = "label80"; + label80.Size = new Size(79, 20); + label80.TabIndex = 51; + label80.Text = "0.01kvarh"; + // + // label81 + // + label81.AutoSize = true; + label81.Location = new Point(19, 210); + label81.Name = "label81"; + label81.Size = new Size(129, 20); + label81.TabIndex = 50; + label81.Text = "一象限无功总电能"; + // + // label62 + // + label62.AutoSize = true; + label62.Location = new Point(1063, 179); + label62.Name = "label62"; + label62.Size = new Size(79, 20); + label62.TabIndex = 49; + label62.Text = "0.01kvarh"; + // + // label63 + // + label63.AutoSize = true; + label63.Location = new Point(925, 179); + label63.Name = "label63"; + label63.Size = new Size(114, 20); + label63.TabIndex = 48; + label63.Text = "组合有功谷电能"; + // + // label64 + // + label64.AutoSize = true; + label64.Location = new Point(815, 179); + label64.Name = "label64"; + label64.Size = new Size(79, 20); + label64.TabIndex = 47; + label64.Text = "0.01kvarh"; + // + // label65 + // + label65.AutoSize = true; + label65.Location = new Point(691, 179); + label65.Name = "label65"; + label65.Size = new Size(118, 20); + label65.TabIndex = 46; + label65.Text = "组合有功平电能 "; + // + // label66 + // + label66.AutoSize = true; + label66.Location = new Point(584, 179); + label66.Name = "label66"; + label66.Size = new Size(79, 20); + label66.TabIndex = 45; + label66.Text = "0.01kvarh"; + // + // label67 + // + label67.AutoSize = true; + label67.Location = new Point(460, 179); + label67.Name = "label67"; + label67.Size = new Size(118, 20); + label67.TabIndex = 44; + label67.Text = "组合有功峰电能 "; + // + // label68 + // + label68.AutoSize = true; + label68.Location = new Point(355, 179); + label68.Name = "label68"; + label68.Size = new Size(79, 20); + label68.TabIndex = 43; + label68.Text = "0.01kvarh"; + // + // label69 + // + label69.AutoSize = true; + label69.Location = new Point(227, 179); + label69.Name = "label69"; + label69.Size = new Size(122, 20); + label69.TabIndex = 42; + label69.Text = "组合有功尖电能 "; + // + // label70 + // + label70.AutoSize = true; + label70.Location = new Point(143, 179); + label70.Name = "label70"; + label70.Size = new Size(79, 20); + label70.TabIndex = 41; + label70.Text = "0.01kvarh"; + // + // label71 + // + label71.AutoSize = true; + label71.Location = new Point(19, 179); + label71.Name = "label71"; + label71.Size = new Size(127, 20); + label71.TabIndex = 40; + label71.Text = "组合无功2总电能 "; + // + // label52 + // + label52.AutoSize = true; + label52.Location = new Point(1065, 149); + label52.Name = "label52"; + label52.Size = new Size(79, 20); + label52.TabIndex = 39; + label52.Text = "0.01kvarh"; + // + // label53 + // + label53.AutoSize = true; + label53.Location = new Point(927, 149); + label53.Name = "label53"; + label53.Size = new Size(127, 20); + label53.TabIndex = 38; + label53.Text = "组合无功1谷电能 "; + // + // label54 + // + label54.AutoSize = true; + label54.Location = new Point(817, 149); + label54.Name = "label54"; + label54.Size = new Size(79, 20); + label54.TabIndex = 37; + label54.Text = "0.01kvarh"; + // + // label55 + // + label55.AutoSize = true; + label55.Location = new Point(693, 149); + label55.Name = "label55"; + label55.Size = new Size(127, 20); + label55.TabIndex = 36; + label55.Text = "组合无功1平电能 "; + // + // label56 + // + label56.AutoSize = true; + label56.Location = new Point(586, 149); + label56.Name = "label56"; + label56.Size = new Size(79, 20); + label56.TabIndex = 35; + label56.Text = "0.01kvarh"; + // + // label57 + // + label57.AutoSize = true; + label57.Location = new Point(462, 149); + label57.Name = "label57"; + label57.Size = new Size(127, 20); + label57.TabIndex = 34; + label57.Text = "组合无功1峰电能 "; + // + // label58 + // + label58.AutoSize = true; + label58.Location = new Point(357, 149); + label58.Name = "label58"; + label58.Size = new Size(79, 20); + label58.TabIndex = 33; + label58.Text = "0.01kvarh"; + // + // label59 + // + label59.AutoSize = true; + label59.Location = new Point(229, 149); + label59.Name = "label59"; + label59.Size = new Size(127, 20); + label59.TabIndex = 32; + label59.Text = "组合无功1尖电能 "; + // + // label60 + // + label60.AutoSize = true; + label60.Location = new Point(145, 149); + label60.Name = "label60"; + label60.Size = new Size(79, 20); + label60.TabIndex = 31; + label60.Text = "0.01kvarh"; + // + // label61 + // + label61.AutoSize = true; + label61.Location = new Point(21, 149); + label61.Name = "label61"; + label61.Size = new Size(123, 20); + label61.TabIndex = 30; + label61.Text = "组合无功1总电能"; + // + // label42 + // + label42.AutoSize = true; + label42.Location = new Point(1063, 120); + label42.Name = "label42"; + label42.Size = new Size(72, 20); + label42.TabIndex = 29; + label42.Text = "0.01kWh"; + // + // label43 + // + label43.AutoSize = true; + label43.Location = new Point(925, 120); + label43.Name = "label43"; + label43.Size = new Size(114, 20); + label43.TabIndex = 28; + label43.Text = "正向有功谷电能"; + // + // label44 + // + label44.AutoSize = true; + label44.Location = new Point(815, 120); + label44.Name = "label44"; + label44.Size = new Size(72, 20); + label44.TabIndex = 27; + label44.Text = "0.01kWh"; + // + // label45 + // + label45.AutoSize = true; + label45.Location = new Point(691, 120); + label45.Name = "label45"; + label45.Size = new Size(118, 20); + label45.TabIndex = 26; + label45.Text = "正向有功平电能 "; + // + // label46 + // + label46.AutoSize = true; + label46.Location = new Point(584, 120); + label46.Name = "label46"; + label46.Size = new Size(72, 20); + label46.TabIndex = 25; + label46.Text = "0.01kWh"; + // + // label47 + // + label47.AutoSize = true; + label47.Location = new Point(460, 120); + label47.Name = "label47"; + label47.Size = new Size(118, 20); + label47.TabIndex = 24; + label47.Text = "正向有功峰电能 "; + // + // label48 + // + label48.AutoSize = true; + label48.Location = new Point(355, 120); + label48.Name = "label48"; + label48.Size = new Size(80, 20); + label48.TabIndex = 23; + label48.Text = "0.01kWh "; + // + // label49 + // + label49.AutoSize = true; + label49.Location = new Point(227, 120); + label49.Name = "label49"; + label49.Size = new Size(122, 20); + label49.TabIndex = 22; + label49.Text = "正向有功尖电能 "; + // + // label50 + // + label50.AutoSize = true; + label50.Location = new Point(143, 120); + label50.Name = "label50"; + label50.Size = new Size(80, 20); + label50.TabIndex = 21; + label50.Text = "0.01kWh "; + // + // label51 + // + label51.AutoSize = true; + label51.Location = new Point(19, 120); + label51.Name = "label51"; + label51.Size = new Size(118, 20); + label51.TabIndex = 20; + label51.Text = "反向有功总电能 "; + // + // label32 + // + label32.AutoSize = true; + label32.Location = new Point(1065, 81); + label32.Name = "label32"; + label32.Size = new Size(72, 20); + label32.TabIndex = 19; + label32.Text = "0.01kWh"; + // + // label33 + // + label33.AutoSize = true; + label33.Location = new Point(927, 81); + label33.Name = "label33"; + label33.Size = new Size(114, 20); + label33.TabIndex = 18; + label33.Text = "组合有功谷电能"; + // + // label34 + // + label34.AutoSize = true; + label34.Location = new Point(817, 81); + label34.Name = "label34"; + label34.Size = new Size(72, 20); + label34.TabIndex = 17; + label34.Text = "0.01kWh"; + // + // label35 + // + label35.AutoSize = true; + label35.Location = new Point(693, 81); + label35.Name = "label35"; + label35.Size = new Size(118, 20); + label35.TabIndex = 16; + label35.Text = "组合有功平电能 "; + // + // label36 + // + label36.AutoSize = true; + label36.Location = new Point(586, 81); + label36.Name = "label36"; + label36.Size = new Size(72, 20); + label36.TabIndex = 15; + label36.Text = "0.01kWh"; + // + // label37 + // + label37.AutoSize = true; + label37.Location = new Point(462, 81); + label37.Name = "label37"; + label37.Size = new Size(118, 20); + label37.TabIndex = 14; + label37.Text = "组合有功峰电能 "; + // + // label38 + // + label38.AutoSize = true; + label38.Location = new Point(357, 81); + label38.Name = "label38"; + label38.Size = new Size(80, 20); + label38.TabIndex = 13; + label38.Text = "0.01kWh "; + // + // label39 + // + label39.AutoSize = true; + label39.Location = new Point(229, 81); + label39.Name = "label39"; + label39.Size = new Size(122, 20); + label39.TabIndex = 12; + label39.Text = "组合有功尖电能 "; + // + // label40 + // + label40.AutoSize = true; + label40.Location = new Point(145, 81); + label40.Name = "label40"; + label40.Size = new Size(80, 20); + label40.TabIndex = 11; + label40.Text = "0.01kWh "; + // + // label41 + // + label41.AutoSize = true; + label41.Location = new Point(21, 81); + label41.Name = "label41"; + label41.Size = new Size(118, 20); + label41.TabIndex = 10; + label41.Text = "正向有功总电能 "; + // + // label30 + // + label30.AutoSize = true; + label30.Location = new Point(1065, 43); + label30.Name = "label30"; + label30.Size = new Size(72, 20); + label30.TabIndex = 9; + label30.Text = "0.01kWh"; + // + // label31 + // + label31.AutoSize = true; + label31.Location = new Point(927, 43); + label31.Name = "label31"; + label31.Size = new Size(114, 20); + label31.TabIndex = 8; + label31.Text = "组合有功谷电能"; + // + // label28 + // + label28.AutoSize = true; + label28.Location = new Point(817, 43); + label28.Name = "label28"; + label28.Size = new Size(72, 20); + label28.TabIndex = 7; + label28.Text = "0.01kWh"; + // + // label29 + // + label29.AutoSize = true; + label29.Location = new Point(693, 43); + label29.Name = "label29"; + label29.Size = new Size(118, 20); + label29.TabIndex = 6; + label29.Text = "组合有功平电能 "; + // + // label26 + // + label26.AutoSize = true; + label26.Location = new Point(586, 43); + label26.Name = "label26"; + label26.Size = new Size(72, 20); + label26.TabIndex = 5; + label26.Text = "0.01kWh"; + // + // label27 + // + label27.AutoSize = true; + label27.Location = new Point(462, 43); + label27.Name = "label27"; + label27.Size = new Size(118, 20); + label27.TabIndex = 4; + label27.Text = "组合有功峰电能 "; + // + // label24 + // + label24.AutoSize = true; + label24.Location = new Point(357, 43); + label24.Name = "label24"; + label24.Size = new Size(80, 20); + label24.TabIndex = 3; + label24.Text = "0.01kWh "; + // + // label25 + // + label25.AutoSize = true; + label25.Location = new Point(229, 43); + label25.Name = "label25"; + label25.Size = new Size(122, 20); + label25.TabIndex = 2; + label25.Text = "组合有功尖电能 "; + // + // label23 + // + label23.AutoSize = true; + label23.Location = new Point(145, 43); + label23.Name = "label23"; + label23.Size = new Size(80, 20); + label23.TabIndex = 1; + label23.Text = "0.01kWh "; + // + // label19 + // + label19.AutoSize = true; + label19.Location = new Point(21, 43); + label19.Name = "label19"; + label19.Size = new Size(118, 20); + label19.TabIndex = 0; + label19.Text = "组合有功总电能 "; + // + // BtnToggle + // + BtnToggle.Location = new Point(1023, 508); + BtnToggle.Name = "BtnToggle"; + BtnToggle.Size = new Size(114, 29); + BtnToggle.TabIndex = 150; + BtnToggle.Text = "数据显示切换"; + BtnToggle.UseVisualStyleBackColor = true; + BtnToggle.Click += BtnToggle_Click; + // + // label172 + // + label172.AutoSize = true; + label172.Location = new Point(1022, 419); + label172.Name = "label172"; + label172.Size = new Size(69, 20); + label172.TabIndex = 151; + label172.Text = "0.0001A"; + // + // label173 + // + label173.AutoSize = true; + label173.Location = new Point(938, 419); + label173.Name = "label173"; + label173.Size = new Size(64, 20); + label173.TabIndex = 150; + label173.Text = "C相电流"; + // + // label142 + // + label142.AutoSize = true; + label142.Location = new Point(817, 581); + label142.Name = "label142"; + label142.Size = new Size(59, 20); + label142.TabIndex = 159; + label142.Text = "0.01Hz"; + // + // label143 + // + label143.AutoSize = true; + label143.Location = new Point(693, 581); + label143.Name = "label143"; + label143.Size = new Size(69, 20); + label143.TabIndex = 158; + label143.Text = "电网频率"; + // + // label152 + // + label152.AutoSize = true; + label152.Location = new Point(586, 581); + label152.Name = "label152"; + label152.Size = new Size(46, 20); + label152.TabIndex = 157; + label152.Text = "0.01°"; + // + // label153 + // + label153.AutoSize = true; + label153.Location = new Point(462, 581); + label153.Name = "label153"; + label153.Size = new Size(69, 20); + label153.TabIndex = 156; + label153.Text = "A 相相角"; + // + // label162 + // + label162.AutoSize = true; + label162.Location = new Point(357, 581); + label162.Name = "label162"; + label162.Size = new Size(46, 20); + label162.TabIndex = 155; + label162.Text = "0.01°"; + // + // label163 + // + label163.AutoSize = true; + label163.Location = new Point(229, 581); + label163.Name = "label163"; + label163.Size = new Size(69, 20); + label163.TabIndex = 154; + label163.Text = "A 相相角"; + // + // label174 + // + label174.AutoSize = true; + label174.Location = new Point(145, 581); + label174.Name = "label174"; + label174.Size = new Size(46, 20); + label174.TabIndex = 153; + label174.Text = "0.01°"; + // + // label175 + // + label175.AutoSize = true; + label175.Location = new Point(21, 581); + label175.Name = "label175"; + label175.Size = new Size(69, 20); + label175.TabIndex = 152; + label175.Text = "A 相相角"; + // + // label176 + // + label176.AutoSize = true; + label176.Location = new Point(1061, 615); + label176.Name = "label176"; + label176.Size = new Size(68, 20); + label176.TabIndex = 169; + label176.Text = "0.0001V"; + // + // label177 + // + label177.AutoSize = true; + label177.Location = new Point(923, 615); + label177.Name = "label177"; + label177.Size = new Size(114, 20); + label177.TabIndex = 168; + label177.Text = "三相平均相电压"; + // + // label178 + // + label178.AutoSize = true; + label178.Location = new Point(813, 615); + label178.Name = "label178"; + label178.Size = new Size(68, 20); + label178.TabIndex = 167; + label178.Text = "0.0001V"; + // + // label179 + // + label179.AutoSize = true; + label179.Location = new Point(689, 615); + label179.Name = "label179"; + label179.Size = new Size(122, 20); + label179.TabIndex = 166; + label179.Text = "三相平均线电压 "; + // + // label180 + // + label180.AutoSize = true; + label180.Location = new Point(582, 615); + label180.Name = "label180"; + label180.Size = new Size(68, 20); + label180.TabIndex = 165; + label180.Text = "0.0001V"; + // + // label181 + // + label181.AutoSize = true; + label181.Location = new Point(458, 615); + label181.Name = "label181"; + label181.Size = new Size(84, 20); + label181.TabIndex = 164; + label181.Text = "A 相线电压"; + // + // label182 + // + label182.AutoSize = true; + label182.Location = new Point(353, 615); + label182.Name = "label182"; + label182.Size = new Size(68, 20); + label182.TabIndex = 163; + label182.Text = "0.0001V"; + // + // label183 + // + label183.AutoSize = true; + label183.Location = new Point(225, 615); + label183.Name = "label183"; + label183.Size = new Size(84, 20); + label183.TabIndex = 162; + label183.Text = "A 相线电压"; + // + // label184 + // + label184.AutoSize = true; + label184.Location = new Point(141, 615); + label184.Name = "label184"; + label184.Size = new Size(68, 20); + label184.TabIndex = 161; + label184.Text = "0.0001V"; + // + // label185 + // + label185.AutoSize = true; + label185.Location = new Point(17, 615); + label185.Name = "label185"; + label185.Size = new Size(84, 20); + label185.TabIndex = 160; + label185.Text = "A 相线电压"; + // + // label186 + // + label186.AutoSize = true; + label186.Location = new Point(815, 545); + label186.Name = "label186"; + label186.Size = new Size(49, 20); + label186.TabIndex = 177; + label186.Text = "0.001"; + // + // label187 + // + label187.AutoSize = true; + label187.Location = new Point(691, 545); + label187.Name = "label187"; + label187.Size = new Size(95, 20); + label187.TabIndex = 176; + label187.Text = "A相功率因数"; + // + // label188 + // + label188.AutoSize = true; + label188.Location = new Point(584, 545); + label188.Name = "label188"; + label188.Size = new Size(49, 20); + label188.TabIndex = 175; + label188.Text = "0.001"; + // + // label189 + // + label189.AutoSize = true; + label189.Location = new Point(460, 545); + label189.Name = "label189"; + label189.Size = new Size(95, 20); + label189.TabIndex = 174; + label189.Text = "A相功率因数"; + // + // label190 + // + label190.AutoSize = true; + label190.Location = new Point(355, 545); + label190.Name = "label190"; + label190.Size = new Size(49, 20); + label190.TabIndex = 173; + label190.Text = "0.001"; + // + // label191 + // + label191.AutoSize = true; + label191.Location = new Point(227, 545); + label191.Name = "label191"; + label191.Size = new Size(95, 20); + label191.TabIndex = 172; + label191.Text = "A相功率因数"; + // + // label192 + // + label192.AutoSize = true; + label192.Location = new Point(143, 545); + label192.Name = "label192"; + label192.Size = new Size(49, 20); + label192.TabIndex = 171; + label192.Text = "0.001"; + // + // label193 + // + label193.AutoSize = true; + label193.Location = new Point(19, 545); + label193.Name = "label193"; + label193.Size = new Size(88, 20); + label193.TabIndex = 170; + label193.Text = "总功率因数 "; + // + // FrmPLCConnect + // + AutoScaleDimensions = new SizeF(9F, 20F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(1195, 1023); + Controls.Add(groupBox3); + Controls.Add(groupBox2); + Controls.Add(groupBox1); + Name = "FrmPLCConnect"; + Text = "FrmPLCConnect"; + groupBox1.ResumeLayout(false); + groupBox1.PerformLayout(); + groupBox2.ResumeLayout(false); + groupBox2.PerformLayout(); + groupBox3.ResumeLayout(false); + groupBox3.PerformLayout(); + ResumeLayout(false); + } + + #endregion + private Button button18; + private TextBox textBox20; + private Label label18; + private Button button17; + private TextBox textBox19; + private Label label17; + private Button button16; + private TextBox textBox18; + private Label label16; + private Button button15; + private TextBox textBox17; + private Label label15; + private GroupBox groupBox1; + private Button BtnCollectionAssignment; + private Label label22; + private Label label21; + private Label label20; + private TextBox TxtSite; + private Label LblConState; + private Button BtnConnect; + private TextBox TxtPort; + private TextBox TxtIp; + private Button button14; + private TextBox textBox14; + private Label label14; + private Button button13; + private TextBox textBox13; + private Label label13; + private Button button12; + private TextBox textBox12; + private Label label12; + private Button button11; + private TextBox textBox11; + private Label label11; + private Button button10; + private TextBox textBox10; + private Label label10; + private Button button9; + private TextBox textBox9; + private Label label9; + private Button button8; + private TextBox textBox8; + private Label label8; + private Button button7; + private TextBox textBox7; + private Label label7; + private Button button6; + private TextBox textBox6; + private Label label6; + private Button button5; + private TextBox textBox5; + private Label label5; + private Button button4; + private TextBox textBox4; + private Label label4; + private Button button3; + private TextBox textBox3; + private Label label3; + private Button button2; + private TextBox textBox2; + private Label label2; + private Button button1; + private TextBox textBox1; + private Label label1; + private GroupBox groupBox2; + private GroupBox groupBox3; + private Label label164; + private Label label165; + private Label label166; + private Label label167; + private Label label168; + private Label label169; + private Label label170; + private Label label171; + private Label label154; + private Label label155; + private Label label156; + private Label label157; + private Label label158; + private Label label159; + private Label label160; + private Label label161; + private Label label144; + private Label label145; + private Label label146; + private Label label147; + private Label label148; + private Label label149; + private Label label150; + private Label label151; + private Label label132; + private Label label133; + private Label label134; + private Label label135; + private Label label136; + private Label label137; + private Label label138; + private Label label139; + private Label label140; + private Label label141; + private Label label122; + private Label label123; + private Label label124; + private Label label125; + private Label label126; + private Label label127; + private Label label128; + private Label label129; + private Label label130; + private Label label131; + private Label label112; + private Label label113; + private Label label114; + private Label label115; + private Label label116; + private Label label117; + private Label label118; + private Label label119; + private Label label120; + private Label label121; + private Label label102; + private Label label103; + private Label label104; + private Label label105; + private Label label106; + private Label label107; + private Label label108; + private Label label109; + private Label label110; + private Label label111; + private Label label92; + private Label label93; + private Label label94; + private Label label95; + private Label label96; + private Label label97; + private Label label98; + private Label label99; + private Label label100; + private Label label101; + private Label label82; + private Label label83; + private Label label84; + private Label label85; + private Label label86; + private Label label87; + private Label label88; + private Label label89; + private Label label90; + private Label label91; + private Label label72; + private Label label73; + private Label label74; + private Label label75; + private Label label76; + private Label label77; + private Label label78; + private Label label79; + private Label label80; + private Label label81; + private Label label62; + private Label label63; + private Label label64; + private Label label65; + private Label label66; + private Label label67; + private Label label68; + private Label label69; + private Label label70; + private Label label71; + private Label label52; + private Label label53; + private Label label54; + private Label label55; + private Label label56; + private Label label57; + private Label label58; + private Label label59; + private Label label60; + private Label label61; + private Label label42; + private Label label43; + private Label label44; + private Label label45; + private Label label46; + private Label label47; + private Label label48; + private Label label49; + private Label label50; + private Label label51; + private Label label32; + private Label label33; + private Label label34; + private Label label35; + private Label label36; + private Label label37; + private Label label38; + private Label label39; + private Label label40; + private Label label41; + private Label label30; + private Label label31; + private Label label28; + private Label label29; + private Label label26; + private Label label27; + private Label label24; + private Label label25; + private Label label23; + private Label label19; + private Button BtnToggle; + private Label label186; + private Label label187; + private Label label188; + private Label label189; + private Label label190; + private Label label191; + private Label label192; + private Label label193; + private Label label176; + private Label label177; + private Label label178; + private Label label179; + private Label label180; + private Label label181; + private Label label182; + private Label label183; + private Label label184; + private Label label185; + private Label label142; + private Label label143; + private Label label152; + private Label label153; + private Label label162; + private Label label163; + private Label label174; + private Label label175; + private Label label172; + private Label label173; + } +} \ No newline at end of file diff --git a/WinFormStarter/FrmPLCConnect.cs b/WinFormStarter/FrmPLCConnect.cs new file mode 100644 index 0000000..6c327e0 --- /dev/null +++ b/WinFormStarter/FrmPLCConnect.cs @@ -0,0 +1,291 @@ +using HslCommunication; +using HslCommunication.Core.Address; +using HslCommunication.ModBus; +using HybirdFrameworkCore.Utils; +using HybirdFrameworkServices.Plc; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using static System.Windows.Forms.VisualStyles.VisualStyleElement.Button; + +namespace WinFormStarter +{ + public partial class FrmPLCConnect : Form + { + #region 连接参数 + /// + /// ModbusTcp客户端 + /// + public static ModbusTcpNet _client = null; + public string _ipaddr + { + get + { + return TxtIp.Text; + } + set { } + } + public int _port + { + get + { + return Convert.ToInt32(TxtPort.Text); + } + set { } + } + public byte _site + { + get + { + return Convert.ToByte(TxtSite.Text); + } + set { } + } + #endregion + + PlcReadAndWritten PlcReadAndWritten; + PlcReadonly PlcReadonly; + PlcTurnsRatio PlcTurnsRatio; + + public FrmPLCConnect() + { + InitializeComponent(); + } + + private void BtnConnect_Click(object sender, EventArgs e) + { + //简单判断 + if (string.IsNullOrEmpty(_ipaddr)) + { + MessageBox.Show("IP地址不能为空"); + return; + } + if (string.IsNullOrEmpty(TxtPort.Text)) + { + MessageBox.Show("端口号不能为空"); + return; + } + if (string.IsNullOrEmpty(TxtSite.Text)) + { + MessageBox.Show("站号不能为空"); + return; + } + _client = new ModbusTcpNet(_ipaddr, _port, _site); + OperateResult OptRet = _client.ConnectServer(); + if (OptRet.IsSuccess) + { + LblConState.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "连接成功"; + BtnCollectionAssignment.Enabled = true; + //OperateResult writeResult = _client.Write("x=6;1", ""); + } + if (OptRet.IsSuccess) + { + LblConState.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "连接失败"; + } + } + + private void BtnCollectionAssignment_Click(object sender, EventArgs e) + { + OperateResult read1 = _client.Read("x=3;100", 164); + OperateResult read2 = _client.Read("x=3;39424", 110); + OperateResult read3 = _client.Read("x=3;40960", 18); + + PlcReadAndWritten = ModelConvert.Decode(read1.Content); + PlcReadonly = ModelConvert.Decode(read1.Content); + PlcTurnsRatio = ModelConvert.Decode(read1.Content); + + textBox1.Text = PlcReadAndWritten.ProgrammingEnable.ToString(); + textBox2.Text = PlcReadAndWritten.Modbus1Addres.ToString(); + textBox3.Text = PlcReadAndWritten.BaudRate.ToString(); + textBox4.Text = PlcReadAndWritten.CheckBit.ToString(); + textBox5.Text = PlcReadAndWritten.Seconds.ToString(); + textBox6.Text = PlcReadAndWritten.Points.ToString(); + textBox7.Text = PlcReadAndWritten.When.ToString(); + textBox8.Text = PlcReadAndWritten.Weeks.ToString(); + textBox9.Text = PlcReadAndWritten.Day.ToString(); + textBox10.Text = PlcReadAndWritten.Month.ToString(); + textBox11.Text = PlcReadAndWritten.Years.ToString(); + textBox12.Text = PlcReadAndWritten.Modbus1Addres2.ToString(); + textBox13.Text = PlcReadAndWritten.Reserve.ToString(); + textBox14.Text = PlcReadAndWritten.VoltageRatio.ToString(); + textBox17.Text = PlcReadAndWritten.CurrentRatio.ToString(); + textBox18.Text = PlcReadAndWritten.PulsePerSecond.ToString(); + textBox19.Text = PlcReadAndWritten.CurrentReversal.ToString(); + textBox20.Text = PlcReadAndWritten.MeterReset.ToString(); + } + + bool now; + private void BtnToggle_Click(object sender, EventArgs e) + { + now = !now; + if (now) + { + + #region + label31.Text = PlcReadonly.GroupHaveAll.ToString(); + label29.Text = PlcReadonly.GroupHaveTip.ToString(); + label27.Text = PlcReadonly.GroupHavePeak.ToString(); + label25.Text = PlcReadonly.GroupHaveFlat.ToString(); + label19.Text = PlcReadonly.GroupHaveValley.ToString(); + label40.Text = PlcReadonly.ForwardHaveAll.ToString(); + label38.Text = PlcReadonly.ForwardHaveTip.ToString(); + label36.Text = PlcReadonly.ForwardHavePeak.ToString(); + label34.Text = PlcReadonly.ForwardHaveFlat.ToString(); + label32.Text = PlcReadonly.ForwardHaveValley.ToString(); + label50.Text = PlcReadonly.ReverseHaveAll.ToString(); + label48.Text = PlcReadonly.ReverseHaveTip.ToString(); + label46.Text = PlcReadonly.ReverseHavePeak.ToString(); + label44.Text = PlcReadonly.ReverseHaveFlat.ToString(); + label42.Text = PlcReadonly.ReverseHaveValley.ToString(); + label60.Text = PlcReadonly.GroupNoAll1.ToString(); + label58.Text = PlcReadonly.GroupNoTip1.ToString(); + label56.Text = PlcReadonly.GroupNoPeak1.ToString(); + label54.Text = PlcReadonly.GroupNoFlat1.ToString(); + label52.Text = PlcReadonly.GroupNoValley1.ToString(); + label70.Text = PlcReadonly.GroupNoAll2.ToString(); + label68.Text = PlcReadonly.GroupNoTip2.ToString(); + label66.Text = PlcReadonly.GroupNoPeak2.ToString(); + label64.Text = PlcReadonly.GroupNoFlat2.ToString(); + label62.Text = PlcReadonly.GroupNoValley2.ToString(); + label80.Text = PlcReadonly.QuadrantNoAll1.ToString(); + label78.Text = PlcReadonly.QuadrantNoTip1.ToString(); + label76.Text = PlcReadonly.QuadrantNoPeak1.ToString(); + label74.Text = PlcReadonly.QuadrantNoFlat1.ToString(); + label72.Text = PlcReadonly.QuadrantNoValley1.ToString(); + label90.Text = PlcReadonly.QuadrantNoAll2.ToString(); + label88.Text = PlcReadonly.QuadrantNoTip2.ToString(); + label86.Text = PlcReadonly.QuadrantNoPeak2.ToString(); + label84.Text = PlcReadonly.QuadrantNoFlat2.ToString(); + label82.Text = PlcReadonly.QuadrantNoValley2.ToString(); + label100.Text = PlcReadonly.QuadrantNoAll3.ToString(); + label98.Text = PlcReadonly.QuadrantNoTip3.ToString(); + label96.Text = PlcReadonly.QuadrantNoPeak3.ToString(); + label94.Text = PlcReadonly.QuadrantNoFlat3.ToString(); + label92.Text = PlcReadonly.QuadrantNoValley3.ToString(); + label110.Text = PlcReadonly.QuadrantNoAll4.ToString(); + label108.Text = PlcReadonly.QuadrantNoTip4.ToString(); + label106.Text = PlcReadonly.QuadrantNoPeak4.ToString(); + label104.Text = PlcReadonly.QuadrantNoFlat4.ToString(); + label102.Text = PlcReadonly.QuadrantNoValley4.ToString(); + label120.Text = PlcReadonly.ForwardHaveApparentAll.ToString(); + label118.Text = PlcReadonly.ForwardHaveApparentTip.ToString(); + label116.Text = PlcReadonly.ForwardHaveApparentPeak.ToString(); + label114.Text = PlcReadonly.ForwardHaveApparentFlat.ToString(); + label112.Text = PlcReadonly.ForwardHaveApparentValley.ToString(); + label130.Text = PlcReadonly.ReverseHaveApparentAll.ToString(); + label128.Text = PlcReadonly.ReverseHaveApparentTip.ToString(); + label126.Text = PlcReadonly.ReverseHaveApparentPeak.ToString(); + label124.Text = PlcReadonly.ReverseHaveApparentFlat.ToString(); + label122.Text = PlcReadonly.ReverseHaveApparentValley.ToString(); + + + label140.Text = PlcReadonly.PhaseVoltageA.ToString(); + label138.Text = PlcReadonly.PhaseVoltageB.ToString(); + label136.Text = PlcReadonly.PhaseVoltageC.ToString(); + label134.Text = PlcReadonly.PhaseElectricityA.ToString(); + label132.Text = PlcReadonly.PhaseElectricityB.ToString(); + label172.Text = PlcReadonly.PhaseElectricityC.ToString(); + + label150.Text = PlcReadonly.TotalActivePower.ToString(); + label148.Text = PlcReadonly.TotalActivePowerA.ToString(); + label146.Text = PlcReadonly.TotalActivePowerB.ToString(); + label144.Text = PlcReadonly.TotalActivePowerC.ToString(); + + label160.Text = PlcReadonly.TotalReactivePower.ToString(); + label158.Text = PlcReadonly.TotalReactivePowerA.ToString(); + label156.Text = PlcReadonly.TotalReactivePowerB.ToString(); + label144.Text = PlcReadonly.TotalReactivePowerC.ToString(); + + label170.Text = PlcReadonly.TotalApparentPower.ToString(); + label168.Text = PlcReadonly.TotalApparentPowerA.ToString(); + label166.Text = PlcReadonly.TotalApparentPowerB.ToString(); + label164.Text = PlcReadonly.TotalApparentPowerC.ToString(); + + label192.Text = PlcReadonly.OverallPowerFactor.ToString(); + label190.Text = PlcReadonly.OverallPowerFactorA.ToString(); + label188.Text = PlcReadonly.OverallPowerFactorB.ToString(); + label184.Text = PlcReadonly.OverallPowerFactorC.ToString(); + + label174.Text = PlcReadonly.PhaseAngleA.ToString(); + label162.Text = PlcReadonly.PhaseAngleB.ToString(); + label152.Text = PlcReadonly.PhaseAngleC.ToString(); + label142.Text = PlcReadonly.LineFrequency.ToString(); + + label184.Text = PlcReadonly.PhaseLineVoltageA.ToString(); + label182.Text = PlcReadonly.PhaseLineVoltageB.ToString(); + label180.Text = PlcReadonly.PhaseLineVoltageC.ToString(); + label178.Text = PlcReadonly.ThreePhaseMeanLineVoltage.ToString(); + label176.Text = PlcReadonly.ThreePhaseMeanPhaseVoltage.ToString(); + + #endregion + } + if (now) + { + #region + label31.Text = PlcTurnsRatio.GroupHaveAll.ToString(); + label29.Text = PlcTurnsRatio.GroupHaveTip.ToString(); + label27.Text = PlcTurnsRatio.GroupHavePeak.ToString(); + label25.Text = PlcTurnsRatio.GroupHaveFlat.ToString(); + label19.Text = PlcTurnsRatio.GroupHaveValley.ToString(); + label40.Text = PlcTurnsRatio.ForwardHaveAll.ToString(); + label38.Text = PlcTurnsRatio.ForwardHaveTip.ToString(); + label36.Text = PlcTurnsRatio.ForwardHavePeak.ToString(); + label34.Text = PlcTurnsRatio.ForwardHaveFlat.ToString(); + label32.Text = PlcTurnsRatio.ForwardHaveValley.ToString(); + label50.Text = PlcTurnsRatio.ReverseHaveAll.ToString(); + label48.Text = PlcTurnsRatio.ReverseHaveTip.ToString(); + label46.Text = PlcTurnsRatio.ReverseHavePeak.ToString(); + label44.Text = PlcTurnsRatio.ReverseHaveFlat.ToString(); + label42.Text = PlcTurnsRatio.ReverseHaveValley.ToString(); + label60.Text = PlcTurnsRatio.GroupNoAll1.ToString(); + label58.Text = PlcTurnsRatio.GroupNoTip1.ToString(); + label56.Text = PlcTurnsRatio.GroupNoPeak1.ToString(); + label54.Text = PlcTurnsRatio.GroupNoFlat1.ToString(); + label52.Text = PlcTurnsRatio.GroupNoValley1.ToString(); + label70.Text = PlcTurnsRatio.GroupNoAll2.ToString(); + label68.Text = PlcTurnsRatio.GroupNoTip2.ToString(); + label66.Text = PlcTurnsRatio.GroupNoPeak2.ToString(); + label64.Text = PlcTurnsRatio.GroupNoFlat2.ToString(); + label62.Text = PlcTurnsRatio.GroupNoValley2.ToString(); + label80.Text = PlcTurnsRatio.QuadrantNoAll1.ToString(); + label78.Text = PlcTurnsRatio.QuadrantNoTip1.ToString(); + label76.Text = PlcTurnsRatio.QuadrantNoPeak1.ToString(); + label74.Text = PlcTurnsRatio.QuadrantNoFlat1.ToString(); + label72.Text = PlcTurnsRatio.QuadrantNoValley1.ToString(); + label90.Text = PlcTurnsRatio.QuadrantNoAll2.ToString(); + label88.Text = PlcTurnsRatio.QuadrantNoTip2.ToString(); + label86.Text = PlcTurnsRatio.QuadrantNoPeak2.ToString(); + label84.Text = PlcTurnsRatio.QuadrantNoFlat2.ToString(); + label82.Text = PlcTurnsRatio.QuadrantNoValley2.ToString(); + label100.Text = PlcTurnsRatio.QuadrantNoAll3.ToString(); + label98.Text = PlcTurnsRatio.QuadrantNoTip3.ToString(); + label96.Text = PlcTurnsRatio.QuadrantNoPeak3.ToString(); + label94.Text = PlcTurnsRatio.QuadrantNoFlat3.ToString(); + label92.Text = PlcTurnsRatio.QuadrantNoValley3.ToString(); + label110.Text = PlcTurnsRatio.QuadrantNoAll4.ToString(); + label108.Text = PlcTurnsRatio.QuadrantNoTip4.ToString(); + label106.Text = PlcTurnsRatio.QuadrantNoPeak4.ToString(); + label104.Text = PlcTurnsRatio.QuadrantNoFlat4.ToString(); + label102.Text = PlcTurnsRatio.QuadrantNoValley4.ToString(); + label120.Text = PlcTurnsRatio.ForwardHaveApparentAll.ToString(); + label118.Text = PlcTurnsRatio.ForwardHaveApparentTip.ToString(); + label116.Text = PlcTurnsRatio.ForwardHaveApparentPeak.ToString(); + label114.Text = PlcTurnsRatio.ForwardHaveApparentFlat.ToString(); + label112.Text = PlcTurnsRatio.ForwardHaveApparentValley.ToString(); + label130.Text = PlcTurnsRatio.ReverseHaveApparentAll.ToString(); + label128.Text = PlcTurnsRatio.ReverseHaveApparentTip.ToString(); + label126.Text = PlcTurnsRatio.ReverseHaveApparentPeak.ToString(); + label124.Text = PlcTurnsRatio.ReverseHaveApparentFlat.ToString(); + label122.Text = PlcTurnsRatio.ReverseHaveApparentValley.ToString(); + #endregion + } + } + } +} diff --git a/WinFormStarter/FrmPLCConnect.resx b/WinFormStarter/FrmPLCConnect.resx new file mode 100644 index 0000000..f298a7b --- /dev/null +++ b/WinFormStarter/FrmPLCConnect.resx @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/WinFormStarter/WinFormStarter.csproj b/WinFormStarter/WinFormStarter.csproj index 1cfba00..f234456 100644 --- a/WinFormStarter/WinFormStarter.csproj +++ b/WinFormStarter/WinFormStarter.csproj @@ -22,6 +22,12 @@ + + + ..\HybirdFrameworkServices\bin\Debug\net6.0\HybirdFrameworkServices.dll + + + true diff --git a/WinFormStarter/WinFormStarter.csproj.user b/WinFormStarter/WinFormStarter.csproj.user index b5309f2..af3b79d 100644 --- a/WinFormStarter/WinFormStarter.csproj.user +++ b/WinFormStarter/WinFormStarter.csproj.user @@ -1,5 +1,9 @@  - + + + Form + + \ No newline at end of file diff --git a/WinFormStarter/bin/Debug/net6.0-windows/Microsoft.Extensions.Logging.Abstractions.dll b/WinFormStarter/bin/Debug/net6.0-windows/Microsoft.Extensions.Logging.Abstractions.dll index 2c87f798a33608d70f582b601ec528347ec93a4c..bb27a2fcaa36c520c62d59c12ed48aad23ad088a 100644 GIT binary patch literal 62064 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 C7uFO2 literal 52616 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 m&j?Mt!wB>qY#Ip?lK%mA?#&zk diff --git a/WinFormStarter/obj/Debug/net6.0-windows/WinFormStarter.designer.deps.json b/WinFormStarter/obj/Debug/net6.0-windows/WinFormStarter.designer.deps.json index 44914b5..2653014 100644 --- a/WinFormStarter/obj/Debug/net6.0-windows/WinFormStarter.designer.deps.json +++ b/WinFormStarter/obj/Debug/net6.0-windows/WinFormStarter.designer.deps.json @@ -107,6 +107,18 @@ } } }, + "HslCommunication/11.1.1": { + "dependencies": { + "Newtonsoft.Json": "13.0.3", + "System.IO.Ports": "4.7.0" + }, + "runtime": { + "lib/netstandard2.1/HslCommunication.dll": { + "assemblyVersion": "11.1.1.0", + "fileVersion": "11.1.1.0" + } + } + }, "log4net/2.0.15": { "dependencies": { "System.Configuration.ConfigurationManager": "6.0.0" @@ -302,7 +314,7 @@ "dependencies": { "Microsoft.Extensions.DependencyInjection": "5.0.0", "Microsoft.Extensions.DependencyInjection.Abstractions": "6.0.0", - "Microsoft.Extensions.Logging.Abstractions": "5.0.0", + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", "Microsoft.Extensions.Options": "5.0.0" }, "runtime": { @@ -312,11 +324,11 @@ } } }, - "Microsoft.Extensions.Logging.Abstractions/5.0.0": { + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { "runtime": { - "lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll": { - "assemblyVersion": "5.0.0.0", - "fileVersion": "5.0.20.51904" + "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.21.52210" } } }, @@ -491,6 +503,61 @@ } } }, + "Pipelines.Sockets.Unofficial/2.2.8": { + "dependencies": { + "System.IO.Pipelines": "5.0.1" + }, + "runtime": { + "lib/net5.0/Pipelines.Sockets.Unofficial.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "2.2.8.1080" + } + } + }, + "runtime.linux-arm.runtime.native.System.IO.Ports/4.7.0": { + "runtimeTargets": { + "runtimes/linux-arm/native/System.IO.Ports.Native.so": { + "rid": "linux-arm", + "assetType": "native", + "fileVersion": "0.0.0.0" + } + } + }, + "runtime.linux-arm64.runtime.native.System.IO.Ports/4.7.0": { + "runtimeTargets": { + "runtimes/linux-arm64/native/System.IO.Ports.Native.so": { + "rid": "linux-arm64", + "assetType": "native", + "fileVersion": "0.0.0.0" + } + } + }, + "runtime.linux-x64.runtime.native.System.IO.Ports/4.7.0": { + "runtimeTargets": { + "runtimes/linux-x64/native/System.IO.Ports.Native.so": { + "rid": "linux-x64", + "assetType": "native", + "fileVersion": "0.0.0.0" + } + } + }, + "runtime.native.System.IO.Ports/4.7.0": { + "dependencies": { + "runtime.linux-arm.runtime.native.System.IO.Ports": "4.7.0", + "runtime.linux-arm64.runtime.native.System.IO.Ports": "4.7.0", + "runtime.linux-x64.runtime.native.System.IO.Ports": "4.7.0", + "runtime.osx-x64.runtime.native.System.IO.Ports": "4.7.0" + } + }, + "runtime.osx-x64.runtime.native.System.IO.Ports/4.7.0": { + "runtimeTargets": { + "runtimes/osx-x64/native/System.IO.Ports.Native.dylib": { + "rid": "osx-x64", + "assetType": "native", + "fileVersion": "0.0.0.0" + } + } + }, "SQLitePCLRaw.bundle_e_sqlite3/2.1.4": { "dependencies": { "SQLitePCLRaw.lib.e_sqlite3": "2.1.4", @@ -695,6 +762,18 @@ } } }, + "StackExchange.Redis/2.7.33": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "6.0.0", + "Pipelines.Sockets.Unofficial": "2.2.8" + }, + "runtime": { + "lib/net6.0/StackExchange.Redis.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.7.33.41805" + } + } + }, "System.Collections/4.3.0": { "dependencies": { "Microsoft.NETCore.Platforms": "5.0.0", @@ -868,6 +947,46 @@ "System.Threading.Tasks": "4.3.0" } }, + "System.IO.Pipelines/5.0.1": { + "runtime": { + "lib/netcoreapp3.0/System.IO.Pipelines.dll": { + "assemblyVersion": "5.0.0.1", + "fileVersion": "5.0.120.57516" + } + } + }, + "System.IO.Ports/4.7.0": { + "dependencies": { + "Microsoft.Win32.Registry": "4.7.0", + "runtime.native.System.IO.Ports": "4.7.0" + }, + "runtime": { + "lib/netstandard2.0/System.IO.Ports.dll": { + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.700.19.56404" + } + }, + "runtimeTargets": { + "runtimes/linux/lib/netstandard2.0/System.IO.Ports.dll": { + "rid": "linux", + "assetType": "runtime", + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.700.19.56404" + }, + "runtimes/osx/lib/netstandard2.0/System.IO.Ports.dll": { + "rid": "osx", + "assetType": "runtime", + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.700.19.56404" + }, + "runtimes/win/lib/netstandard2.0/System.IO.Ports.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "4.0.3.0", + "fileVersion": "4.700.19.56404" + } + } + }, "System.Memory/4.5.3": {}, "System.Reflection/4.3.0": { "dependencies": { @@ -1209,6 +1328,13 @@ "path": "dotnetty.transport/0.7.5", "hashPath": "dotnetty.transport.0.7.5.nupkg.sha512" }, + "HslCommunication/11.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+HUfjin0STcIuiSsZ7ksohWBbeTFW7XbkDR+/jK19/ikmzCoRwwB8688dWc4szTruuF00URB998SU8snPxtIKQ==", + "path": "hslcommunication/11.1.1", + "hashPath": "hslcommunication.11.1.1.nupkg.sha512" + }, "log4net/2.0.15": { "type": "package", "serviceable": true, @@ -1321,12 +1447,12 @@ "path": "microsoft.extensions.logging/5.0.0", "hashPath": "microsoft.extensions.logging.5.0.0.nupkg.sha512" }, - "Microsoft.Extensions.Logging.Abstractions/5.0.0": { + "Microsoft.Extensions.Logging.Abstractions/6.0.0": { "type": "package", "serviceable": true, - "sha512": "sha512-NxP6ahFcBnnSfwNBi2KH2Oz8Xl5Sm2krjId/jRR3I7teFphwiUoUeZPwTNA21EX+5PtjqmyAvKaOeBXcJjcH/w==", - "path": "microsoft.extensions.logging.abstractions/5.0.0", - "hashPath": "microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512" + "sha512": "sha512-/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==", + "path": "microsoft.extensions.logging.abstractions/6.0.0", + "hashPath": "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512" }, "Microsoft.Extensions.Options/5.0.0": { "type": "package", @@ -1440,6 +1566,48 @@ "path": "oracle.manageddataaccess.core/3.21.100", "hashPath": "oracle.manageddataaccess.core.3.21.100.nupkg.sha512" }, + "Pipelines.Sockets.Unofficial/2.2.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zG2FApP5zxSx6OcdJQLbZDk2AVlN2BNQD6MorwIfV6gVj0RRxWPEp2LXAxqDGZqeNV1Zp0BNPcNaey/GXmTdvQ==", + "path": "pipelines.sockets.unofficial/2.2.8", + "hashPath": "pipelines.sockets.unofficial.2.2.8.nupkg.sha512" + }, + "runtime.linux-arm.runtime.native.System.IO.Ports/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pCaX07mRrO11GfUb+whjn2AJgCofx26slw0sI3XC9v0pEZO8101iK6q4ymZOiI2M4a9sQxLr2LawAEDvF4RNXg==", + "path": "runtime.linux-arm.runtime.native.system.io.ports/4.7.0", + "hashPath": "runtime.linux-arm.runtime.native.system.io.ports.4.7.0.nupkg.sha512" + }, + "runtime.linux-arm64.runtime.native.System.IO.Ports/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/J6A4bexUUJciGUwrhtzrFW4tIHqoJYlCsz5RudRmqUaqvuG2tjrbn6bEopOFs7CU4gZqAKWcU9pkp180c3DkQ==", + "path": "runtime.linux-arm64.runtime.native.system.io.ports/4.7.0", + "hashPath": "runtime.linux-arm64.runtime.native.system.io.ports.4.7.0.nupkg.sha512" + }, + "runtime.linux-x64.runtime.native.System.IO.Ports/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aaaiH4ttfkLizo0OKf++5kPN0yxKbgzcyAD3w52Y3YP96aB/M79fm0r06SedXJGv86Iou6ipj3wUQBMFaL8LnQ==", + "path": "runtime.linux-x64.runtime.native.system.io.ports/4.7.0", + "hashPath": "runtime.linux-x64.runtime.native.system.io.ports.4.7.0.nupkg.sha512" + }, + "runtime.native.System.IO.Ports/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yidiZEGEIOyGnRkZvoV6XbeqzEBg9L47PyZNBymLIsu9HHseF98wiOxR6RnHmMqQMTBlc/EONfw4NT3pw0S6YQ==", + "path": "runtime.native.system.io.ports/4.7.0", + "hashPath": "runtime.native.system.io.ports.4.7.0.nupkg.sha512" + }, + "runtime.osx-x64.runtime.native.System.IO.Ports/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-c1h87v6gopjfeAu3WhVGguUhzCdpZFqX8oXrevO1ciuH4g/mFrxnzlo5POlp+TtZdQ1i8yu0ZzBMKbmX2bJJ0g==", + "path": "runtime.osx-x64.runtime.native.system.io.ports/4.7.0", + "hashPath": "runtime.osx-x64.runtime.native.system.io.ports.4.7.0.nupkg.sha512" + }, "SQLitePCLRaw.bundle_e_sqlite3/2.1.4": { "type": "package", "serviceable": true, @@ -1496,6 +1664,13 @@ "path": "sqlsugarcore.kdbndp/7.4.0", "hashPath": "sqlsugarcore.kdbndp.7.4.0.nupkg.sha512" }, + "StackExchange.Redis/2.7.33": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2kCX5fvhEE824a4Ab5Imyi8DRuGuTxyklXV01kegkRpsWJcPmO6+GAQ+HegKxvXAxlXZ8yaRspvWJ8t3mMClfQ==", + "path": "stackexchange.redis/2.7.33", + "hashPath": "stackexchange.redis.2.7.33.nupkg.sha512" + }, "System.Collections/4.3.0": { "type": "package", "serviceable": true, @@ -1580,6 +1755,20 @@ "path": "system.io/4.3.0", "hashPath": "system.io.4.3.0.nupkg.sha512" }, + "System.IO.Pipelines/5.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qEePWsaq9LoEEIqhbGe6D5J8c9IqQOUuTzzV6wn1POlfdLkJliZY3OlB0j0f17uMWlqZYjH7txj+2YbyrIA8Yg==", + "path": "system.io.pipelines/5.0.1", + "hashPath": "system.io.pipelines.5.0.1.nupkg.sha512" + }, + "System.IO.Ports/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tNHiZcdskfRpxU7LBBlA69YYgBqWMBE/JDdmrEIDa4iw944VK1u4+B0FeSls1FUm+Pm4X/Fl0fSGqi8MDhb8/Q==", + "path": "system.io.ports/4.7.0", + "hashPath": "system.io.ports.4.7.0.nupkg.sha512" + }, "System.Memory/4.5.3": { "type": "package", "serviceable": true,