From d0b9779e36f7d6356f19051d35bed253fc142402 Mon Sep 17 00:00:00 2001 From: Gavin Date: Wed, 15 Nov 2017 18:23:26 +0800 Subject: [PATCH] mysql support;fix bug --- SCADA/Program/DataService/PLCGroup.cs | 12 ++++++++++++ .../HMIControl/bin/Debug/DataHelper.dll | Bin 44032 -> 44544 bytes .../HMIControl/bin/Debug/DataService.dll | Bin 81920 -> 81920 bytes .../Debug/HMIControl.VisualStudio.Design.dll | Bin 76800 -> 76800 bytes .../HMIControl/bin/Debug/HMIControl.dll | Bin 901632 -> 901632 bytes .../TagConfig.csproj.FileListAbsolute.txt | 1 + 6 files changed, 13 insertions(+) create mode 100644 SCADA/TagConfig/TagConfig/obj/x86/Debug/TagConfig.csproj.FileListAbsolute.txt diff --git a/SCADA/Program/DataService/PLCGroup.cs b/SCADA/Program/DataService/PLCGroup.cs index ecffaaf..536570c 100644 --- a/SCADA/Program/DataService/PLCGroup.cs +++ b/SCADA/Program/DataService/PLCGroup.cs @@ -313,6 +313,18 @@ namespace DataService { if (_plcReader.IsClosed) return -1; byte[] cache = (byte[])_cacheReader.Cache; + if (_items.Count == 1) + { + byte[] rcvBytes = _plcReader.ReadBytes(_items[0].Address, (ushort)cache.Length); + if (rcvBytes == null) return -1; + for (int j = 0; j < rcvBytes.Length; j++) + { + if (cache[j] != rcvBytes[j]) + _changedList.Add(0); + cache[j] = rcvBytes[j]; + } + return 1; + } int offset = 0; foreach (PDUArea area in _rangeList) { diff --git a/SCADA/Program/HMIControl/bin/Debug/DataHelper.dll b/SCADA/Program/HMIControl/bin/Debug/DataHelper.dll index 2c141f81559d249d9a8d78299865a8b6c1e4b2cf..5ab722fb77478592f7c256f841b170306d063747 100644 GIT binary patch delta 8198 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 delta 8055 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 Sq42I<59)Wbf3fA+j{gJin!Wk} diff --git a/SCADA/Program/HMIControl/bin/Debug/HMIControl.VisualStudio.Design.dll b/SCADA/Program/HMIControl/bin/Debug/HMIControl.VisualStudio.Design.dll index fde0077339cf2dd7f406d0a9bd15a7fb8e67f580..529fb0c76dbd032fa57b920e34d5556a38543896 100644 GIT binary patch delta 89 zcmZp;!P0PpWkLt@0}-B$-HI;-9x(h@j$yg!v$62}wrnfKbDQ_PTw$RDl#OBl0wy4q rVPs&aabRSqQDS5W3U&$Z4cxJQ(e4et{d+aMCokPHcl!h-#sW?N4qYKD delta 89 zcmZp;!P0PpWkLsY+)wU}-HI;-)YCuSm76ByvC_+!@grZ`w#|E9uCUMn%0@8&0TU3* rFfuUII50BQC^0ew1-k@C&1@~W-FV1%O;ls^ocL#f+b1Y77H|Rp`-32% diff --git a/SCADA/Program/HMIControl/bin/Debug/HMIControl.dll b/SCADA/Program/HMIControl/bin/Debug/HMIControl.dll index 15ed83650bb8ece42f71fa52bc89ae6e82540dc3..a858de33527ec98021ff17d6ed7a4aaace6a7c52 100644 GIT binary patch delta 121 zcmZo@F>h!wpU}blK!m5UyS1BfYd6zVa{;Z)Eq}9kpSg6d%-#G_b+&YSg9Q^1GXpUT z5VHa?8xXStF$WNH0x=g5a|1EY_67^yh(?fs({JzOl@us+j@w_h#K3QhKfCX_FHI}A Kv+Uyi!wvvH#4iN^ delta 121 zcmZo@F>h!wpU}Y^`;)t|yS1BfYd6zVa{)i8t#M-e3q01IJGh23M#8(j!GZ~hnSq!E zh*^P{4T#x+m;;D8ftU-3xq+BxdxHgUL?g(+>9=?CN(%T~jM=KSxZJZTewy3nY4Z