Browse Source

Merge pull request #16 from kevin100702/master

ModbusTCP添加port参数和SQL 参数Datetime格式化
master
Gavin 8 years ago
committed by GitHub
parent
commit
cac01894e7
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      SCADA/Program/BatchCoreService/DAService.cs
  2. 11
      SCADA/Program/ModbusDriver/ModbusTCPDriver.cs
  3. BIN
      SCADA/dll/ModbusDriver.dll

8
SCADA/Program/BatchCoreService/DAService.cs

@ -1164,7 +1164,7 @@ namespace BatchCoreService
{ {
if (_hda.Count == 0) return; if (_hda.Count == 0) return;
if (DataHelper.Instance.BulkCopy(new HDASqlReader(_hda, this), "Log_HData", if (DataHelper.Instance.BulkCopy(new HDASqlReader(_hda, this), "Log_HData",
string.Format("DELETE FROM Log_HData WHERE [TIMESTAMP]>'{0}'", _hda[0].TimeStamp.ToString()))) string.Format("DELETE FROM Log_HData WHERE [TIMESTAMP]>'{0}'", _hda[0].TimeStamp.ToString("yyyy/MM/dd HH:mm:ss"))))
{ {
_hda.Clear(); _hda.Clear();
_hdastart = DateTime.Now; _hdastart = DateTime.Now;
@ -1177,7 +1177,7 @@ namespace BatchCoreService
var tempdata = _hda.ToArray(); var tempdata = _hda.ToArray();
if (tempdata.Length == 0) return true; if (tempdata.Length == 0) return true;
return DataHelper.Instance.BulkCopy(new HDASqlReader(GetData(tempdata, startTime, endTime), this), "Log_HData", return DataHelper.Instance.BulkCopy(new HDASqlReader(GetData(tempdata, startTime, endTime), this), "Log_HData",
string.Format("DELETE FROM Log_HData WHERE [TIMESTAMP] BETWEEN '{0}' AND '{1}'", startTime, endTime)); string.Format("DELETE FROM Log_HData WHERE [TIMESTAMP] BETWEEN '{0}' AND '{1}'", startTime.ToString("yyyy/MM/dd HH:mm:ss"), endTime.ToString("yyyy/MM/dd HH:mm:ss")));
} }
public void OnUpdate(object stateInfo) public void OnUpdate(object stateInfo)
@ -1192,7 +1192,7 @@ namespace BatchCoreService
DateTime start = _hda[0].TimeStamp; DateTime start = _hda[0].TimeStamp;
//_array.CopyTo(data, 0); //_array.CopyTo(data, 0);
if (DataHelper.Instance.BulkCopy(new HDASqlReader(_hda, this), "Log_HData", if (DataHelper.Instance.BulkCopy(new HDASqlReader(_hda, this), "Log_HData",
string.Format("DELETE FROM Log_HData WHERE [TIMESTAMP]>'{0}'", start.ToString()))) string.Format("DELETE FROM Log_HData WHERE [TIMESTAMP]>'{0}'", start.ToString("yyyy/MM/dd HH:mm:ss"))))
_hdastart = DateTime.Now; _hdastart = DateTime.Now;
else ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(this.SaveCachedData), _hda.ToArray()); else ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(this.SaveCachedData), _hda.ToArray());
_hda.Clear(); _hda.Clear();
@ -1213,7 +1213,7 @@ namespace BatchCoreService
if (count >= 5) return; if (count >= 5) return;
if (DataHelper.Instance.BulkCopy(new HDASqlReader(tempData, this), "Log_HData", if (DataHelper.Instance.BulkCopy(new HDASqlReader(tempData, this), "Log_HData",
string.Format("DELETE FROM Log_HData WHERE [TIMESTAMP] BETWEEN '{0}' AND '{1}'", string.Format("DELETE FROM Log_HData WHERE [TIMESTAMP] BETWEEN '{0}' AND '{1}'",
startTime, endTime))) startTime.ToString("yyyy/MM/dd HH:mm:ss"), endTime.ToString("yyyy/MM/dd HH:mm:ss"))))
{ {
stateInfo = null; stateInfo = null;
_hdastart = DateTime.Now; _hdastart = DateTime.Now;

11
SCADA/Program/ModbusDriver/ModbusTCPDriver.cs

@ -137,6 +137,13 @@ namespace ModbusDriver
set { _ip = value; } set { _ip = value; }
} }
int _port = 502;
public int Port
{
get { return _port; }
set { _port = value; }
}
public bool IsClosed public bool IsClosed
{ {
get get
@ -172,7 +179,7 @@ namespace ModbusDriver
public bool Connect() public bool Connect()
{ {
int port = 502; //int port = 502;
try try
{ {
if (tcpSynCl != null) if (tcpSynCl != null)
@ -185,7 +192,7 @@ namespace ModbusDriver
tcpSynCl.SendTimeout = _timeout; tcpSynCl.SendTimeout = _timeout;
tcpSynCl.ReceiveTimeout = _timeout; tcpSynCl.ReceiveTimeout = _timeout;
tcpSynCl.NoDelay = true; tcpSynCl.NoDelay = true;
tcpSynCl.Connect(_ip, port); tcpSynCl.Connect(_ip, _port);
return true; return true;
} }
catch (SocketException error) catch (SocketException error)

BIN
SCADA/dll/ModbusDriver.dll

Binary file not shown.
Loading…
Cancel
Save