Browse Source

Merge pull request #16 from kevin100702/master

ModbusTCP添加port参数和SQL 参数Datetime格式化
pull/21/merge
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 (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();
_hdastart = DateTime.Now;
@ -1177,7 +1177,7 @@ namespace BatchCoreService
var tempdata = _hda.ToArray();
if (tempdata.Length == 0) return true;
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)
@ -1192,7 +1192,7 @@ namespace BatchCoreService
DateTime start = _hda[0].TimeStamp;
//_array.CopyTo(data, 0);
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;
else ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback(this.SaveCachedData), _hda.ToArray());
_hda.Clear();
@ -1213,7 +1213,7 @@ namespace BatchCoreService
if (count >= 5) return;
if (DataHelper.Instance.BulkCopy(new HDASqlReader(tempData, this), "Log_HData",
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;
_hdastart = DateTime.Now;

11
SCADA/Program/ModbusDriver/ModbusTCPDriver.cs

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

BIN
SCADA/dll/ModbusDriver.dll

Binary file not shown.
Loading…
Cancel
Save