Browse Source

fix plcgroup

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

6
SCADA/Program/ModbusDriver/ModbusRTUDriver.cs

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

7
SCADA/Program/SiemensPLCDriver/SiemensPLCDriver.cs

@ -734,9 +734,9 @@ namespace SiemensPLCDriver
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;
int offset = 0;
foreach (PDUArea area in _rangeList)
@ -745,7 +745,7 @@ namespace SiemensPLCDriver
if (rcvBytes == null)
{
//_plcReader.Connect();
return -1;
continue;
}
else
{
@ -798,7 +798,6 @@ namespace SiemensPLCDriver
}
offset += rcvBytes.Length;
}
return 1;
}
}
}

Loading…
Cancel
Save