Browse Source

fix plcgroup

master
Gavin 9 years ago
parent
commit
5f345c5630
  1. 7
      SCADA/Program/DataService/PLCGroup.cs
  2. 6
      SCADA/Program/ModbusDriver/ModbusRTUDriver.cs
  3. 5
      SCADA/Program/ModbusDriver/ModbusTCPDriver.cs
  4. 7
      SCADA/Program/SiemensPLCDriver/SiemensPLCDriver.cs

7
SCADA/Program/DataService/PLCGroup.cs

@ -314,9 +314,9 @@ namespace DataService
return; return;
} }
protected virtual int Poll() protected virtual void Poll()
{ {
if (_plcReader.IsClosed) return -1; if (_plcReader.IsClosed) return;
byte[] cache = (byte[])_cacheReader.Cache; byte[] cache = (byte[])_cacheReader.Cache;
int offset = 0; int offset = 0;
foreach (PDUArea area in _rangeList) foreach (PDUArea area in _rangeList)
@ -325,7 +325,7 @@ namespace DataService
if (rcvBytes == null) if (rcvBytes == null)
{ {
//_plcReader.Connect(); //_plcReader.Connect();
return -1; continue;
} }
else else
{ {
@ -378,7 +378,6 @@ namespace DataService
} }
offset += rcvBytes.Length; offset += rcvBytes.Length;
} }
return 1;
} }
protected void Update() protected void Update()

6
SCADA/Program/ModbusDriver/ModbusRTUDriver.cs

@ -514,7 +514,7 @@ namespace ModbusDriver
this._cacheReader = new ShortCacheReader(); this._cacheReader = new ShortCacheReader();
} }
protected override unsafe int Poll() protected override unsafe void Poll()
{ {
short[] cache = (short[])_cacheReader.Cache; short[] cache = (short[])_cacheReader.Cache;
int k = 0; int k = 0;
@ -523,8 +523,7 @@ namespace ModbusDriver
byte[] rcvBytes = _plcReader.ReadBytes(area.Start, (ushort)area.Len);//从PLC读取数据 byte[] rcvBytes = _plcReader.ReadBytes(area.Start, (ushort)area.Len);//从PLC读取数据
if (rcvBytes == null) if (rcvBytes == null)
{ {
_plcReader.Connect(); continue;
return -1;
} }
else else
{ {
@ -637,7 +636,6 @@ namespace ModbusDriver
} }
} }
} }
return 1;
} }
} }

5
SCADA/Program/ModbusDriver/ModbusTCPDriver.cs

@ -561,7 +561,7 @@ namespace ModbusDriver
this._cacheReader = new NetShortCacheReader(); this._cacheReader = new NetShortCacheReader();
} }
protected override unsafe int Poll() protected override unsafe void Poll()
{ {
short[] cache = (short[])_cacheReader.Cache; short[] cache = (short[])_cacheReader.Cache;
int offset = 0; int offset = 0;
@ -571,7 +571,7 @@ namespace ModbusDriver
if (rcvBytes == null || rcvBytes.Length == 0) if (rcvBytes == null || rcvBytes.Length == 0)
{ {
//_plcReader.Connect(); //_plcReader.Connect();
return -1; continue;
} }
else else
{ {
@ -638,7 +638,6 @@ namespace ModbusDriver
offset += len; offset += len;
} }
} }
return 1;
} }
} }

7
SCADA/Program/SiemensPLCDriver/SiemensPLCDriver.cs

@ -734,9 +734,9 @@ namespace SiemensPLCDriver
this._cacheReader = new NetByteCacheReader(); this._cacheReader = new NetByteCacheReader();
} }
protected override int Poll() protected override void Poll()
{ {
if (_items == null || _items.Count == 0) return -1; if (_items == null || _items.Count == 0) return;
byte[] cache = (byte[])_cacheReader.Cache; byte[] cache = (byte[])_cacheReader.Cache;
int offset = 0; int offset = 0;
foreach (PDUArea area in _rangeList) foreach (PDUArea area in _rangeList)
@ -745,7 +745,7 @@ namespace SiemensPLCDriver
if (rcvBytes == null) if (rcvBytes == null)
{ {
//_plcReader.Connect(); //_plcReader.Connect();
return -1; continue;
} }
else else
{ {
@ -798,7 +798,6 @@ namespace SiemensPLCDriver
} }
offset += rcvBytes.Length; offset += rcvBytes.Length;
} }
return 1;
} }
} }
} }

Loading…
Cancel
Save