..
This commit is contained in:
@@ -4,6 +4,7 @@ using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using AR;
|
||||
using arCtl;
|
||||
using COMM;
|
||||
using static Project.StateMachine;
|
||||
@@ -23,10 +24,10 @@ namespace Project
|
||||
var tsPLC = VAR.TIME.RUN(conntry);
|
||||
if (tsPLC.TotalSeconds > 5)
|
||||
{
|
||||
VAR.TIME.Set(conntry);
|
||||
VAR.TIME.Update(conntry);
|
||||
try
|
||||
{
|
||||
VAR.TIME.Set(recvtime); //this.LastReceiveTime = DateTime.Now;
|
||||
VAR.TIME.Update(recvtime); //this.LastReceiveTime = DateTime.Now;
|
||||
dev.PortName = port;
|
||||
dev.BaudRate = baud;
|
||||
if (dev.Open())
|
||||
@@ -38,8 +39,8 @@ namespace Project
|
||||
var errmessage = dev.errorMessage;
|
||||
PUB.log.Add("ERROR-" + port, errmessage);
|
||||
}
|
||||
VAR.TIME.Set(conn);
|
||||
VAR.TIME.Set(conntry);
|
||||
VAR.TIME.Update(conn);
|
||||
VAR.TIME.Update(conntry);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -51,17 +52,53 @@ namespace Project
|
||||
{
|
||||
PUB.log.Add(port, $"포트변경({dev.PortName}->{port})으로 연결 종료");
|
||||
dev.Close();
|
||||
VAR.TIME.Set(conntry);
|
||||
VAR.TIME.Update(conntry);
|
||||
}
|
||||
}
|
||||
void ConnectSerialPort(Device.Xbee dev, string port, int baud, eVarTime conn, eVarTime conntry, eVarTime recvtime)
|
||||
{
|
||||
if (dev.IsOpen == false && port.isEmpty() == false)
|
||||
{
|
||||
var tsPLC = VAR.TIME.RUN(conntry);
|
||||
if (tsPLC.TotalSeconds > 5)
|
||||
{
|
||||
VAR.TIME.Update(conntry);
|
||||
try
|
||||
{
|
||||
VAR.TIME.Update(recvtime); //this.LastReceiveTime = DateTime.Now;
|
||||
dev.PortName = port;
|
||||
dev.BaudRate = baud;
|
||||
if (dev.Open())
|
||||
{
|
||||
PUB.log.Add(port, "연결완료");
|
||||
}
|
||||
else
|
||||
{
|
||||
var errmessage = dev.errorMessage;
|
||||
PUB.log.Add("ERROR-" + port, errmessage);
|
||||
}
|
||||
VAR.TIME.Update(conn);
|
||||
VAR.TIME.Update(conntry);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
PUB.log.AddE(ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (dev.PortName.Equals(port) == false)
|
||||
{
|
||||
PUB.log.Add(port, $"포트변경({dev.PortName}->{port})으로 연결 종료");
|
||||
dev.Close();
|
||||
VAR.TIME[(int)conntry] = DateTime.Now; ;
|
||||
}
|
||||
}
|
||||
|
||||
void sm_SPS(object sender, EventArgs e)
|
||||
{
|
||||
if (PUB.sm.Step < eSMStep.IDLE || PUB.sm.Step >= eSMStep.CLOSING) return;
|
||||
|
||||
//plc connect
|
||||
ConnectSerialPort(PUB.PLC, PUB.setting.Port_PLC, PUB.setting.Baud_PLC,
|
||||
eVarTime.LastConn_PLC, eVarTime.LastConnTry_PLC, eVarTime.LastRecv_PLC);
|
||||
|
||||
|
||||
//agv connect
|
||||
ConnectSerialPort(PUB.AGV, PUB.setting.Port_AGV, PUB.setting.Baud_AGV,
|
||||
eVarTime.LastConn_AGV, eVarTime.LastConnTry_AGV, eVarTime.LastRecv_AGV);
|
||||
@@ -78,14 +115,14 @@ namespace Project
|
||||
if (PUB.XBE != null && PUB.XBE.IsOpen)
|
||||
{
|
||||
//일정간격으로 상태를 전송한다
|
||||
if (PUB.XBE.lastSendTime.Year == 1982) PUB.XBE.lastSendTime = DateTime.Now.AddSeconds(1);
|
||||
var ts = DateTime.Now - PUB.XBE.lastSendTime;
|
||||
if (PUB.XBE.LastStatusSendTime.Year == 1982) PUB.XBE.LastStatusSendTime = DateTime.Now.AddSeconds(1);
|
||||
var ts = DateTime.Now - PUB.XBE.LastStatusSendTime;
|
||||
if (ts.TotalSeconds >= PUB.setting.interval_xbe)
|
||||
{
|
||||
var statusMsg = PUB.XBE.GetStatusString();
|
||||
PUB.XBE.SendStatus(statusMsg);
|
||||
PUB.XBE.SendStatus();
|
||||
}
|
||||
}
|
||||
|
||||
//배터리쿼리
|
||||
if (PUB.BMS != null && PUB.BMS.IsOpen)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user