|
@@ -404,13 +404,13 @@ namespace UAS_PLCDataReader
|
|
|
sql.Append("insert into DEVICEPOLLINGLOG(dpg_id,dpg_decode,dpg_starttime,dpg_interval)values");
|
|
|
sql.Append("(DEVICEPOLLINGLOG_seq.nextval,'" + pl.DeviceCode + "',sysdate,'" + pl.Interval + "')");
|
|
|
dh.ExecuteSql(sql.ToString(), "insert");
|
|
|
- LogicHandler.UpdateDeviceStatus(pl.DeviceCode, pl.DeviceName, "running");
|
|
|
+ LogicHandler.UpdateDeviceStatus(pl.Dh, pl.DeviceCode, pl.DeviceName, "running");
|
|
|
pt.AddTask(RunTask, pl);
|
|
|
//添加到状态为运行的行
|
|
|
PollSettingPaintRowIndex.Add(i);
|
|
|
GridPollingSetting.Focus();
|
|
|
}
|
|
|
- else LogicHandler.UpdateDeviceStatus(pl.DeviceCode, pl.DeviceName, "stopped");
|
|
|
+ else LogicHandler.UpdateDeviceStatus(pl.Dh, pl.DeviceCode, pl.DeviceName, "stopped");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -486,6 +486,7 @@ namespace UAS_PLCDataReader
|
|
|
else
|
|
|
{
|
|
|
ModBusTCPClient modclient = new ModBusTCPClient(DNC.Rows[0]["dnc_ip"].ToString(), DNC.Rows[0]["dnc_port"].ToString(), pl.DeviceCode, pl.DeviceName);
|
|
|
+ modclient.Dh = dh;
|
|
|
client.Add(DpcID, modclient);
|
|
|
}
|
|
|
//如果不包含该项数据则在键值对中添加
|
|
@@ -538,10 +539,10 @@ namespace UAS_PLCDataReader
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if (ReturnData[Decode].ItemData == null)
|
|
|
+ if (ReturnData[Decode].ItemData == null|| ReturnData[Decode].ItemData.Count==0)
|
|
|
{
|
|
|
ReturnData[Decode].ItemData = ItemData;
|
|
|
- LogicHandler.UpdateDeviceData(Decode, ItemData);
|
|
|
+ LogicHandler.UpdateDeviceData(dh, Decode, ItemData);
|
|
|
}
|
|
|
//每次更新轮询的数据
|
|
|
ReturnData[Decode].ReceiveDataSize += ReceiveCommandByteSize;
|
|
@@ -549,9 +550,9 @@ namespace UAS_PLCDataReader
|
|
|
if (BaseUtil.CheckDicDiff(ReturnData[Decode].ItemData, ItemData))
|
|
|
{
|
|
|
ReturnData[Decode].ItemData = ItemData;
|
|
|
- LogicHandler.UpdateDeviceData(Decode, ItemData);
|
|
|
+ LogicHandler.UpdateDeviceData(dh, Decode, ItemData);
|
|
|
QueueUpdateDevice.Enqueue(ReturnData[Decode]);
|
|
|
- LogicHandler.DoDeviceDataDiffLog(pl.DeviceCode, pl.DeviceName, pl.CommandCode, User.UserName);
|
|
|
+ LogicHandler.DoDeviceDataDiffLog(dh, pl.DeviceCode, pl.DeviceName, pl.CommandCode, User.UserName);
|
|
|
}
|
|
|
}
|
|
|
client[DpcID].Returnvalue.Remove(IP);
|