From 256fa65ec077e6b088d685fee5aabdf9f14ec2a5 Mon Sep 17 00:00:00 2001 From: Gavin Date: Fri, 22 Dec 2017 13:50:20 +0800 Subject: [PATCH] update tagdriver --- SCADA/Example/BatchCoreTest.exe | Bin 53760 -> 53760 bytes SCADA/Example/CoreTest.exe | Bin 252928 -> 252928 bytes SCADA/Program/FileDriver/TagDriver.cs | 71 +++++++++++++++++++++++--- SCADA/dll/FileDriver.dll | Bin 35840 -> 36352 bytes 4 files changed, 64 insertions(+), 7 deletions(-) diff --git a/SCADA/Example/BatchCoreTest.exe b/SCADA/Example/BatchCoreTest.exe index be72798ad717000701163773feca0d27a841011b..a76ca9ed4878575700e51cbb7d91a912157cd19f 100644 GIT binary patch delta 67 zcmV-J0KETzqyvDY1CWRV7@0h=i&?M_%UX%`|EQ%viKV+#@9s;p^RRgp0~nb+lW)cu Z5Pn*cYMJp8N~p%FbjY5SnzNY3XbVpPA!7gl delta 67 zcmZoz!rZWgc|r&Cm6etoyCXO7H}qwOZ8Yulo!FJy7!Y!G^XCnfq9Do1`Nt#$BJISo WTt!?Q7BH0`zqw;3+vXX^GPnWwbsdcW diff --git a/SCADA/Example/CoreTest.exe b/SCADA/Example/CoreTest.exe index 016e451b4b9c2bb99246cae1261539aec4331a95..ccab608404f28b97625ccb8f35f1714cce3d3f3b 100644 GIT binary patch delta 101 zcmZqJ!QZfhe?kZIuNgLt-CMgEEmH*^9Z~(i_p^;(m;23|zgJFjXup!m2*ga=ucR_J zr0W1xMlk>Z6A;TVGBD)4W@gAa%ghiI>=G=oW5r|1C|BoQ5qlS8ESe{=z2Pi#10Mjw C^(ia> delta 101 zcmZqJ!QZfhe?kZI%Dd)`-CMgEEmH-m7Fde!xNqb?@q0Lj!Fqnz_A9B3K+LrLN-A?h zx(-lf6ax@20kI4t14GVhW`>-z%nU)nF2UlS;t70)oc>!+2nk$dd}Fu0;Vg3l9{`rd BBP{>` diff --git a/SCADA/Program/FileDriver/TagDriver.cs b/SCADA/Program/FileDriver/TagDriver.cs index 4f731de..d9acb4a 100644 --- a/SCADA/Program/FileDriver/TagDriver.cs +++ b/SCADA/Program/FileDriver/TagDriver.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.ComponentModel; using DataService; +using System; namespace FileDriver { @@ -184,37 +185,93 @@ namespace FileDriver public int WriteBit(DeviceAddress address, bool bit) { - return 0; + var tag = _parent[(short)address.CacheIndex]; + if (tag != null) + { + Storage v = tag.Value; + v.Boolean = bit; + tag.Update(v, DateTime.Now, QUALITIES.QUALITY_GOOD); + return 0; + } + return -1; } public int WriteBits(DeviceAddress address, byte bits) { - return 0; + var tag = _parent[(short)address.CacheIndex]; + if (tag != null) + { + Storage v = tag.Value; + v.Byte = bits; + tag.Update(v, DateTime.Now, QUALITIES.QUALITY_GOOD); + return 0; + } + return -1; } public int WriteInt16(DeviceAddress address, short value) { - return 0; + var tag = _parent[(short)address.CacheIndex]; + if (tag != null) + { + Storage v = tag.Value; + v.Int16 = value; + tag.Update(v, DateTime.Now, QUALITIES.QUALITY_GOOD); + return 0; + } + return -1; } public int WriteUInt16(DeviceAddress address, ushort value) { - return 0; + var tag = _parent[(short)address.CacheIndex]; + if (tag != null) + { + Storage v = tag.Value; + v.Word = value; + tag.Update(v, DateTime.Now, QUALITIES.QUALITY_GOOD); + return 0; + } + return -1; } public int WriteUInt32(DeviceAddress address, uint value) { - return 0; + var tag = _parent[(short)address.CacheIndex]; + if (tag != null) + { + Storage v = tag.Value; + v.DWord = value; + tag.Update(v, DateTime.Now, QUALITIES.QUALITY_GOOD); + return 0; + } + return -1; } public int WriteInt32(DeviceAddress address, int value) { - return 0; + var tag = _parent[(short)address.CacheIndex]; + if (tag != null) + { + Storage v = tag.Value; + v.Int32 = value; + tag.Update(v, DateTime.Now, QUALITIES.QUALITY_GOOD); + return 0; + } + return -1; } public int WriteFloat(DeviceAddress address, float value) { - return 0; + var tag = _parent[(short)address.CacheIndex]; + if (tag != null) + { + Storage v = tag.Value; + v.Single = value; + tag.Update(v, DateTime.Now, QUALITIES.QUALITY_GOOD); + return 0; + } + return -1; } public int WriteString(DeviceAddress address, string str) diff --git a/SCADA/dll/FileDriver.dll b/SCADA/dll/FileDriver.dll index 7b44f9c64257c140310eda64ae4620d66e7fa324..f2ac39e243465b68a15373463c62bf2c97021aea 100644 GIT binary patch delta 2354 zcmbuBeN0t#7{|ZAb1&S>`JHolyC8Of043B53|=Wmu9gvm4g| zR}!Y;Z>}Pz6_UM~>BV5nHd@NmnzPd8TMn1H)>^GLXXSD|=SBS^n`@lyeD3r8{+^e+ z`1 z_xA#^B2h{ePqP#`tDUR_y8U7sbF&Wd2}@yJ;wnoT8`eiQT}5hv&672q@QA+bx?d(G%oTO#k_E z=mG9GRkm#73PwydM-CTFC9b$JJOZiXwR}IytV!I7uw9jH}_f7|AxgG-)xZpG|eiQ6~9`s^Uyri z=;u?L_$+M9G1PQ*GoOt=O!bQD=S3)(W}N+P-Oh`#&{Q_ZZeEIGx*BG`u)Vwt*Jo&% z!z?xEpm?g>)$l2wi`W9Ax*n(bJgha9qdAXjnPBf!L3Sd2kYh>ph>PO z*X%p;2iQpO{=KaqL6@ntiAOMKDw@a#aKTU^jWlZzVf4mQoxVYDm5aH>>s8*CEPet@ z=uOf((nLOtwWjhpdTb|g+*FB0}#hUtx`@ZlTF`21BN5#Iv@ua5fm3 zU8u2rgO#SLbhOyc;h3pZ`>q<>cQ|XxSX(i_fa|7u&+fNe!fjo3$E;NHl*_Pqw5I-; zdLix+h_{FeLL{x5D(xfZbBZHyf~erU)YC!- z7wI6KzUo#b9g)~cbm0(j90rMQoFr!IoTf8h_e*hx{A%4RRI|K^Y0s!tgLyTJM9-u^xo03e zY#@A7Z+u{N?t$yWtE}6@+yUqMdYQ{MYlQEp6z=P@2iE&mSkiFsKN*Qy#8ShdUb@?X zxzz>LGyTaoJas$Ej@BMZ_pBaM7O=P3nZw$5ZyXTcC*s>5lfwE$PWw6GYs(5a{C`=b Pj3)!(+kR!;8Mc1_VS@V| delta 1930 zcmaKteN0tl9LK-U;lhRUoO3}S(=H}2Iz$j{EFpYlTu|T&2q?ZU0pBW$e3_ck#ege{ z8^L46Dz_BNS-PbcQ`Z~KmzZ|L?ilw_j>}1KzFWzH`Y^S)&;zxRDg1lzatsxkzD}b6A025jM^gyu| zpCvBlJS2K^qW|w^dE&>M*Vt*XBe#I%1uo^b1dZIIGhF9y5}SZd54VVonThkrqo6R1+nw<^ieCu0)p z(T9VfPox(dVc&}H3*5wAo^ZWIA5EvN()GK#fdN|;>mg#I*FDPMkw_UM z>;3RL9^}!87;AMuY{rUJ-rDda9*2}<%Nu7tDt__SvgzX4IXU6EJQD+HDigNZkt@#3 zX&&X}Gck~Ec@wl^Qa5eY=b9&~3zI4r@hq&*u;$g7RXi7)GA%XLtl_ipo2_=3Tlj2v zrdYW@9rZj93vA_d?c@dcK&i9rCnmTTUr&>jXIV<{KJj~@yYgLLf*6n0U4f5z8ES0x z11|9SIBhGPeZ?1GM2=N?BjhGugr{tkSJckBb#kux5&!gQ|(QKph za~!hOZ9L<=fG%5AW0mtublYkd%AFVSovn&oK4&-X+R6-VD|hxFf_|9tYaHX8&U-P& zRtH1d$1I5H_$Hk8XYu0Sj+A1&EiSgp80u~xB>7>Qe~g?O82 zAWW0fOl>zgpHLi$GeiTIv=$#FE>j|vUg}mO6;Ws;y0M>_fWyROd`L`FoT8Ym`~sXJ zzf?Jk6)VwC&XWi>Q?U+_W;V89n^{lXZFUe3nWs>Xc6~Xs*o;l4uSyeSZPTQ+O_SDs zrp(dIH1c)aLJjpx?O)iuj64R?c$X>pkSS*ZYXJ zMpaf5Tg{uOWl+jLk4TN?#n6mj z_tH&Ix{^{)>G;Qdqer*(=eOo}UhZ)gpAU35hO)>E`(YVRy*uD) S`XflIN(&6z^)qXo