diff --git a/Cs_HMI/Project/AGV4.csproj b/Cs_HMI/Project/AGV4.csproj index 1ee4984..53b86d3 100644 --- a/Cs_HMI/Project/AGV4.csproj +++ b/Cs_HMI/Project/AGV4.csproj @@ -197,6 +197,12 @@ fCounter.cs + + Form + + + fXbeeSetting.cs + Form @@ -418,6 +424,9 @@ fCounter.cs + + fXbeeSetting.cs + fUpdateForm.cs diff --git a/Cs_HMI/Project/Dialog/fLog.Designer.cs b/Cs_HMI/Project/Dialog/fLog.Designer.cs index b671af0..3864b61 100644 --- a/Cs_HMI/Project/Dialog/fLog.Designer.cs +++ b/Cs_HMI/Project/Dialog/fLog.Designer.cs @@ -33,13 +33,13 @@ this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.panel1 = new System.Windows.Forms.Panel(); this.rtXbee = new arCtl.LogTextBox(); - this.label1 = new System.Windows.Forms.Label(); + this.titleXBEE = new System.Windows.Forms.Label(); this.panel2 = new System.Windows.Forms.Panel(); this.rtBMS = new arCtl.LogTextBox(); - this.label3 = new System.Windows.Forms.Label(); + this.titleBMS = new System.Windows.Forms.Label(); this.panel4 = new System.Windows.Forms.Panel(); this.rtAGV = new arCtl.LogTextBox(); - this.label2 = new System.Windows.Forms.Label(); + this.titleAGV = new System.Windows.Forms.Label(); this.tableLayoutPanel1.SuspendLayout(); this.panel1.SuspendLayout(); this.panel2.SuspendLayout(); @@ -112,7 +112,7 @@ // panel1 // this.panel1.Controls.Add(this.rtXbee); - this.panel1.Controls.Add(this.label1); + this.panel1.Controls.Add(this.titleXBEE); this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(173, 349); this.panel1.Name = "panel1"; @@ -139,21 +139,21 @@ this.rtXbee.TabIndex = 2; this.rtXbee.Text = ""; // - // label1 + // titleXBEE // - this.label1.Dock = System.Windows.Forms.DockStyle.Top; - this.label1.Location = new System.Drawing.Point(0, 0); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(164, 14); - this.label1.TabIndex = 0; - this.label1.Text = "MC ID"; - this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.titleXBEE.Dock = System.Windows.Forms.DockStyle.Top; + this.titleXBEE.Location = new System.Drawing.Point(0, 0); + this.titleXBEE.Name = "titleXBEE"; + this.titleXBEE.Size = new System.Drawing.Size(164, 14); + this.titleXBEE.TabIndex = 0; + this.titleXBEE.Text = "MC ID"; + this.titleXBEE.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // panel2 // this.tableLayoutPanel1.SetColumnSpan(this.panel2, 2); this.panel2.Controls.Add(this.rtBMS); - this.panel2.Controls.Add(this.label3); + this.panel2.Controls.Add(this.titleBMS); this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; this.panel2.Location = new System.Drawing.Point(343, 349); this.panel2.Name = "panel2"; @@ -180,20 +180,20 @@ this.rtBMS.TabIndex = 2; this.rtBMS.Text = ""; // - // label3 + // titleBMS // - this.label3.Dock = System.Windows.Forms.DockStyle.Top; - this.label3.Location = new System.Drawing.Point(0, 0); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(335, 14); - this.label3.TabIndex = 3; - this.label3.Text = "BMS"; - this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.titleBMS.Dock = System.Windows.Forms.DockStyle.Top; + this.titleBMS.Location = new System.Drawing.Point(0, 0); + this.titleBMS.Name = "titleBMS"; + this.titleBMS.Size = new System.Drawing.Size(335, 14); + this.titleBMS.TabIndex = 3; + this.titleBMS.Text = "BMS"; + this.titleBMS.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // panel4 // this.panel4.Controls.Add(this.rtAGV); - this.panel4.Controls.Add(this.label2); + this.panel4.Controls.Add(this.titleAGV); this.panel4.Dock = System.Windows.Forms.DockStyle.Fill; this.panel4.Location = new System.Drawing.Point(3, 349); this.panel4.Name = "panel4"; @@ -220,15 +220,15 @@ this.rtAGV.TabIndex = 2; this.rtAGV.Text = ""; // - // label2 + // titleAGV // - this.label2.Dock = System.Windows.Forms.DockStyle.Top; - this.label2.Location = new System.Drawing.Point(0, 0); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(164, 14); - this.label2.TabIndex = 3; - this.label2.Text = "AGV"; - this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.titleAGV.Dock = System.Windows.Forms.DockStyle.Top; + this.titleAGV.Location = new System.Drawing.Point(0, 0); + this.titleAGV.Name = "titleAGV"; + this.titleAGV.Size = new System.Drawing.Size(164, 14); + this.titleAGV.TabIndex = 3; + this.titleAGV.Text = "AGV"; + this.titleAGV.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // fLog // @@ -258,10 +258,10 @@ private arCtl.LogTextBox rtBMS; private arCtl.LogTextBox rtXbee; private System.Windows.Forms.Panel panel1; - private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label titleXBEE; private System.Windows.Forms.Panel panel2; private System.Windows.Forms.Panel panel4; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label titleBMS; + private System.Windows.Forms.Label titleAGV; } } \ No newline at end of file diff --git a/Cs_HMI/Project/Dialog/fLog.cs b/Cs_HMI/Project/Dialog/fLog.cs index 1ade720..6f37812 100644 --- a/Cs_HMI/Project/Dialog/fLog.cs +++ b/Cs_HMI/Project/Dialog/fLog.cs @@ -29,7 +29,9 @@ namespace Project.Dialog private void fLog_Load(object sender, EventArgs e) { - this.label1.Text = $"XBEE:{PUB.setting.XBE_ID}"; + this.titleXBEE.Text = $"XBEE({PUB.setting.Port_XBE},ID:{PUB.setting.XBE_ID})"; + this.titleAGV.Text = $"AGV({PUB.setting.Port_AGV}:{PUB.setting.Baud_AGV})"; + this.titleBMS.Text = $"BMS({PUB.setting.Port_BAT}:{PUB.setting.Baud_BAT})"; var colorlist = new arCtl.sLogMessageColor[] { new arCtl.sLogMessageColor("NOR",Color.Black), diff --git a/Cs_HMI/Project/Dialog/fXbeeSetting.Designer.cs b/Cs_HMI/Project/Dialog/fXbeeSetting.Designer.cs new file mode 100644 index 0000000..212becd --- /dev/null +++ b/Cs_HMI/Project/Dialog/fXbeeSetting.Designer.cs @@ -0,0 +1,231 @@ +namespace Project.Dialog +{ + partial class fXbeeSetting + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.button1 = new System.Windows.Forms.Button(); + this.tbBaud = new System.Windows.Forms.TextBox(); + this.tbPortName = new System.Windows.Forms.ComboBox(); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel2 = new System.Windows.Forms.Panel(); + this.rtXbee = new arCtl.LogTextBox(); + this.tbpanid = new System.Windows.Forms.TextBox(); + this.btpand = new System.Windows.Forms.Button(); + this.btch = new System.Windows.Forms.Button(); + this.tbch = new System.Windows.Forms.TextBox(); + this.btmy = new System.Windows.Forms.Button(); + this.tbmy = new System.Windows.Forms.TextBox(); + this.button2 = new System.Windows.Forms.Button(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.SuspendLayout(); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(25, 45); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(227, 26); + this.button1.TabIndex = 0; + this.button1.Text = "open/close"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // tbBaud + // + this.tbBaud.Font = new System.Drawing.Font("굴림", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tbBaud.Location = new System.Drawing.Point(152, 13); + this.tbBaud.Name = "tbBaud"; + this.tbBaud.Size = new System.Drawing.Size(100, 26); + this.tbBaud.TabIndex = 2; + this.tbBaud.Text = "9600"; + this.tbBaud.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // tbPortName + // + this.tbPortName.Font = new System.Drawing.Font("굴림", 12F); + this.tbPortName.FormattingEnabled = true; + this.tbPortName.Location = new System.Drawing.Point(25, 15); + this.tbPortName.Name = "tbPortName"; + this.tbPortName.Size = new System.Drawing.Size(121, 24); + this.tbPortName.TabIndex = 3; + // + // panel1 + // + this.panel1.Controls.Add(this.button2); + this.panel1.Controls.Add(this.btmy); + this.panel1.Controls.Add(this.tbmy); + this.panel1.Controls.Add(this.btch); + this.panel1.Controls.Add(this.tbch); + this.panel1.Controls.Add(this.btpand); + this.panel1.Controls.Add(this.tbpanid); + this.panel1.Controls.Add(this.tbPortName); + this.panel1.Controls.Add(this.button1); + this.panel1.Controls.Add(this.tbBaud); + this.panel1.Dock = System.Windows.Forms.DockStyle.Top; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(580, 118); + this.panel1.TabIndex = 4; + // + // panel2 + // + this.panel2.Controls.Add(this.rtXbee); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(0, 118); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(580, 338); + this.panel2.TabIndex = 5; + // + // rtXbee + // + this.rtXbee.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); + this.rtXbee.ColorList = new arCtl.sLogMessageColor[0]; + this.rtXbee.DateFormat = "mm:ss.fff"; + this.rtXbee.DefaultColor = System.Drawing.Color.LightGray; + this.rtXbee.Dock = System.Windows.Forms.DockStyle.Fill; + this.rtXbee.EnableDisplayTimer = false; + this.rtXbee.EnableGubunColor = true; + this.rtXbee.Font = new System.Drawing.Font("맑은 고딕", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.rtXbee.ListFormat = "[{0}] {1}"; + this.rtXbee.Location = new System.Drawing.Point(0, 0); + this.rtXbee.MaxListCount = ((ushort)(1000)); + this.rtXbee.MaxTextLength = ((uint)(400000u)); + this.rtXbee.MessageInterval = 50; + this.rtXbee.Name = "rtXbee"; + this.rtXbee.Size = new System.Drawing.Size(580, 338); + this.rtXbee.TabIndex = 2; + this.rtXbee.Text = ""; + // + // tbpanid + // + this.tbpanid.Font = new System.Drawing.Font("굴림", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tbpanid.Location = new System.Drawing.Point(374, 15); + this.tbpanid.Name = "tbpanid"; + this.tbpanid.Size = new System.Drawing.Size(100, 26); + this.tbpanid.TabIndex = 4; + this.tbpanid.Text = "9600"; + this.tbpanid.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // btpand + // + this.btpand.Location = new System.Drawing.Point(480, 15); + this.btpand.Name = "btpand"; + this.btpand.Size = new System.Drawing.Size(86, 26); + this.btpand.TabIndex = 5; + this.btpand.Text = "PanID"; + this.btpand.UseVisualStyleBackColor = true; + this.btpand.Click += new System.EventHandler(this.btpand_Click); + // + // btch + // + this.btch.Location = new System.Drawing.Point(480, 47); + this.btch.Name = "btch"; + this.btch.Size = new System.Drawing.Size(86, 26); + this.btch.TabIndex = 7; + this.btch.Text = "Channel"; + this.btch.UseVisualStyleBackColor = true; + this.btch.Click += new System.EventHandler(this.btch_Click); + // + // tbch + // + this.tbch.Font = new System.Drawing.Font("굴림", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tbch.Location = new System.Drawing.Point(374, 47); + this.tbch.Name = "tbch"; + this.tbch.Size = new System.Drawing.Size(100, 26); + this.tbch.TabIndex = 6; + this.tbch.Text = "9600"; + this.tbch.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // btmy + // + this.btmy.Location = new System.Drawing.Point(480, 78); + this.btmy.Name = "btmy"; + this.btmy.Size = new System.Drawing.Size(86, 26); + this.btmy.TabIndex = 9; + this.btmy.Text = "My"; + this.btmy.UseVisualStyleBackColor = true; + this.btmy.Click += new System.EventHandler(this.btmy_Click); + // + // tbmy + // + this.tbmy.Font = new System.Drawing.Font("굴림", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129))); + this.tbmy.Location = new System.Drawing.Point(374, 78); + this.tbmy.Name = "tbmy"; + this.tbmy.Size = new System.Drawing.Size(100, 26); + this.tbmy.TabIndex = 8; + this.tbmy.Text = "9600"; + this.tbmy.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + // + // button2 + // + this.button2.Location = new System.Drawing.Point(293, 15); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(75, 89); + this.button2.TabIndex = 10; + this.button2.Text = "Read Setting"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // fXbeeSetting + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(580, 456); + this.Controls.Add(this.panel2); + this.Controls.Add(this.panel1); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "fXbeeSetting"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Form1"; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.fXbeeSetting_FormClosed); + this.Load += new System.EventHandler(this.fXbeeSetting_Load); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.panel2.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button button1; + private System.Windows.Forms.TextBox tbBaud; + private System.Windows.Forms.ComboBox tbPortName; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel2; + private arCtl.LogTextBox rtXbee; + private System.Windows.Forms.Button btpand; + private System.Windows.Forms.TextBox tbpanid; + private System.Windows.Forms.Button btmy; + private System.Windows.Forms.TextBox tbmy; + private System.Windows.Forms.Button btch; + private System.Windows.Forms.TextBox tbch; + private System.Windows.Forms.Button button2; + } +} \ No newline at end of file diff --git a/Cs_HMI/Project/Dialog/fXbeeSetting.cs b/Cs_HMI/Project/Dialog/fXbeeSetting.cs new file mode 100644 index 0000000..e50ac45 --- /dev/null +++ b/Cs_HMI/Project/Dialog/fXbeeSetting.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Project.Dialog +{ + public partial class fXbeeSetting : Form + { + public fXbeeSetting() + { + InitializeComponent(); + PUB.logxbee.RaiseMsg += Log_RaiseMsgcal; + } + private void fXbeeSetting_Load(object sender, EventArgs e) + { + this.tbPortName.Items.Clear(); + foreach (var item in System.IO.Ports.SerialPort.GetPortNames()) + { + this.tbPortName.Items.Add(item); + } + + this.tbPortName.Text = PUB.setting.Port_XBE; + this.tbBaud.Text = PUB.setting.Baud_XBE.ToString(); + } + private void Log_RaiseMsgcal(DateTime LogTime, string TypeStr, string Message) + { + showlog(rtXbee, LogTime, TypeStr, Message); + } + void showlog(arCtl.LogTextBox rtRx, DateTime LogTime, string TypeStr, string Message) + { + if (rtRx.Visible) + { + rtRx.AddMsg(LogTime, TypeStr, Message); + } + } + private void button1_Click(object sender, EventArgs e) + { + if (PUB.XBE.IsOpen) + PUB.XBE.Close(); + else + { + PUB.XBE.PortName = tbPortName.Text; + PUB.XBE.Open(); + } + } + + private void fXbeeSetting_FormClosed(object sender, FormClosedEventArgs e) + { + PUB.logxbee.RaiseMsg -= Log_RaiseMsgcal; + } + + private void btpand_Click(object sender, EventArgs e) + { + var cmds = new string[] { + "+++", + $"ATID{tbpanid.Text}\r" , + $"ATCN"}; + + } + + private void btch_Click(object sender, EventArgs e) + { + var cmds = new string[] { + "+++", + $"ATCH{tbch.Text}\r" , + $"ATCN"}; + } + + private void btmy_Click(object sender, EventArgs e) + { + var cmds = new string[] { + "+++", + $"ATMY{tbmy.Text}\r" , + $"ATCN"}; + } + + private void button2_Click(object sender, EventArgs e) + { + //read all(id,ch,my) + + } + } +} diff --git a/Cs_HMI/Project/Dialog/fXbeeSetting.resx b/Cs_HMI/Project/Dialog/fXbeeSetting.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Cs_HMI/Project/Dialog/fXbeeSetting.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Cs_HMI/Project/fMain.Designer.cs b/Cs_HMI/Project/fMain.Designer.cs index bf1e9b1..096e164 100644 --- a/Cs_HMI/Project/fMain.Designer.cs +++ b/Cs_HMI/Project/fMain.Designer.cs @@ -109,6 +109,7 @@ namespace Project this.lbIDLE = new arCtl.arLabel(); this.lbStStep = new arCtl.arLabel(); this.panTopMenu = new System.Windows.Forms.Panel(); + this.lbBat = new AGVControl.BatteryLevelGauge(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.cmDebug = new System.Windows.Forms.ContextMenuStrip(this.components); this.mapFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -121,12 +122,12 @@ namespace Project this.debugtestToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.pandBottomDIO = new System.Windows.Forms.Panel(); this.panel9 = new System.Windows.Forms.Panel(); + this.IOState = new arFrame.Control.GridView(); + this.SSInfo = new arFrame.Control.GridView(); this.panDlg = new System.Windows.Forms.Panel(); this.arPanel2 = new arCtl.arPanel(); this.arPanel1 = new arCtl.arPanel(); - this.IOState = new arFrame.Control.GridView(); - this.SSInfo = new arFrame.Control.GridView(); - this.lbBat = new AGVControl.BatteryLevelGauge(); + this.xbeeSettingToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.panRight.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); this.panel4.SuspendLayout(); @@ -1622,6 +1623,26 @@ namespace Project this.panTopMenu.Size = new System.Drawing.Size(1278, 50); this.panTopMenu.TabIndex = 134; // + // lbBat + // + this.lbBat.BorderColor = System.Drawing.Color.DimGray; + this.lbBat.CurA = 0F; + this.lbBat.Dock = System.Windows.Forms.DockStyle.Right; + this.lbBat.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbBat.ForeColor = System.Drawing.Color.Gray; + this.lbBat.IsOpen = true; + this.lbBat.Location = new System.Drawing.Point(830, 0); + this.lbBat.MaxA = 0F; + this.lbBat.Name = "lbBat"; + this.lbBat.Padding = new System.Windows.Forms.Padding(0, 12, 0, 12); + this.lbBat.sign = "%"; + this.lbBat.Size = new System.Drawing.Size(48, 50); + this.lbBat.TabIndex = 23; + this.lbBat.Text = "12"; + this.lbBat.VLevel = 50F; + this.lbBat.Volt = 0F; + this.lbBat.Click += new System.EventHandler(this.lbBat_Click); + // // pictureBox1 // this.pictureBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40))))); @@ -1652,9 +1673,10 @@ namespace Project this.선택상태보기ToolStripMenuItem, this.demoListLotToolStripMenuItem, this.toolStripMenuItem5, - this.refreshListToolStripMenuItem}); + this.refreshListToolStripMenuItem, + this.xbeeSettingToolStripMenuItem}); this.cmDebug.Name = "cmVision"; - this.cmDebug.Size = new System.Drawing.Size(229, 324); + this.cmDebug.Size = new System.Drawing.Size(229, 368); // // mapFileToolStripMenuItem // @@ -1732,70 +1754,6 @@ namespace Project this.panel9.Size = new System.Drawing.Size(1278, 35); this.panel9.TabIndex = 0; // - // panDlg - // - this.panDlg.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(64))))); - this.panDlg.Dock = System.Windows.Forms.DockStyle.Fill; - this.panDlg.Location = new System.Drawing.Point(1, 58); - this.panDlg.Margin = new System.Windows.Forms.Padding(0); - this.panDlg.Name = "panDlg"; - this.panDlg.Size = new System.Drawing.Size(1014, 706); - this.panDlg.TabIndex = 146; - // - // arPanel2 - // - this.arPanel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(5)))), ((int)(((byte)(5)))), ((int)(((byte)(5))))); - this.arPanel2.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); - this.arPanel2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.arPanel2.BorderSize = new System.Windows.Forms.Padding(0, 0, 0, 5); - this.arPanel2.Dock = System.Windows.Forms.DockStyle.Top; - this.arPanel2.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Italic); - this.arPanel2.ForeColor = System.Drawing.Color.Khaki; - this.arPanel2.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical; - this.arPanel2.GradientRepeatBG = false; - this.arPanel2.Location = new System.Drawing.Point(1, 55); - this.arPanel2.Name = "arPanel2"; - this.arPanel2.ProgressColor1 = System.Drawing.Color.LightSkyBlue; - this.arPanel2.ProgressColor2 = System.Drawing.Color.DeepSkyBlue; - this.arPanel2.ProgressMax = 100F; - this.arPanel2.ProgressMin = 0F; - this.arPanel2.ProgressPadding = new System.Windows.Forms.Padding(0); - this.arPanel2.ProgressValue = 0F; - this.arPanel2.ShadowColor = System.Drawing.Color.Black; - this.arPanel2.ShowBorder = true; - this.arPanel2.Size = new System.Drawing.Size(1278, 3); - this.arPanel2.TabIndex = 145; - this.arPanel2.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.arPanel2.TextShadow = false; - this.arPanel2.UseProgressBar = false; - // - // arPanel1 - // - this.arPanel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(5)))), ((int)(((byte)(5)))), ((int)(((byte)(5))))); - this.arPanel1.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); - this.arPanel1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.arPanel1.BorderSize = new System.Windows.Forms.Padding(0, 0, 0, 5); - this.arPanel1.Dock = System.Windows.Forms.DockStyle.Top; - this.arPanel1.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Italic); - this.arPanel1.ForeColor = System.Drawing.Color.Khaki; - this.arPanel1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical; - this.arPanel1.GradientRepeatBG = false; - this.arPanel1.Location = new System.Drawing.Point(1, 51); - this.arPanel1.Name = "arPanel1"; - this.arPanel1.ProgressColor1 = System.Drawing.Color.LightSkyBlue; - this.arPanel1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue; - this.arPanel1.ProgressMax = 100F; - this.arPanel1.ProgressMin = 0F; - this.arPanel1.ProgressPadding = new System.Windows.Forms.Padding(0); - this.arPanel1.ProgressValue = 0F; - this.arPanel1.ShadowColor = System.Drawing.Color.Black; - this.arPanel1.ShowBorder = true; - this.arPanel1.Size = new System.Drawing.Size(1278, 4); - this.arPanel1.TabIndex = 135; - this.arPanel1.TextAlign = System.Drawing.ContentAlignment.MiddleRight; - this.arPanel1.TextShadow = false; - this.arPanel1.UseProgressBar = false; - // // IOState // this.IOState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); @@ -1948,25 +1906,76 @@ namespace Project ((ushort)(0))}; this.SSInfo.Click += new System.EventHandler(this.SSInfo_Click); // - // lbBat + // panDlg // - this.lbBat.BorderColor = System.Drawing.Color.DimGray; - this.lbBat.CurA = 0F; - this.lbBat.Dock = System.Windows.Forms.DockStyle.Right; - this.lbBat.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbBat.ForeColor = System.Drawing.Color.Gray; - this.lbBat.IsOpen = true; - this.lbBat.Location = new System.Drawing.Point(830, 0); - this.lbBat.MaxA = 0F; - this.lbBat.Name = "lbBat"; - this.lbBat.Padding = new System.Windows.Forms.Padding(0, 12, 0, 12); - this.lbBat.sign = "%"; - this.lbBat.Size = new System.Drawing.Size(48, 50); - this.lbBat.TabIndex = 23; - this.lbBat.Text = "12"; - this.lbBat.VLevel = 50F; - this.lbBat.Volt = 0F; - this.lbBat.Click += new System.EventHandler(this.lbBat_Click); + this.panDlg.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(64))))); + this.panDlg.Dock = System.Windows.Forms.DockStyle.Fill; + this.panDlg.Location = new System.Drawing.Point(1, 58); + this.panDlg.Margin = new System.Windows.Forms.Padding(0); + this.panDlg.Name = "panDlg"; + this.panDlg.Size = new System.Drawing.Size(1014, 706); + this.panDlg.TabIndex = 146; + // + // arPanel2 + // + this.arPanel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(5)))), ((int)(((byte)(5)))), ((int)(((byte)(5))))); + this.arPanel2.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); + this.arPanel2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); + this.arPanel2.BorderSize = new System.Windows.Forms.Padding(0, 0, 0, 5); + this.arPanel2.Dock = System.Windows.Forms.DockStyle.Top; + this.arPanel2.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Italic); + this.arPanel2.ForeColor = System.Drawing.Color.Khaki; + this.arPanel2.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical; + this.arPanel2.GradientRepeatBG = false; + this.arPanel2.Location = new System.Drawing.Point(1, 55); + this.arPanel2.Name = "arPanel2"; + this.arPanel2.ProgressColor1 = System.Drawing.Color.LightSkyBlue; + this.arPanel2.ProgressColor2 = System.Drawing.Color.DeepSkyBlue; + this.arPanel2.ProgressMax = 100F; + this.arPanel2.ProgressMin = 0F; + this.arPanel2.ProgressPadding = new System.Windows.Forms.Padding(0); + this.arPanel2.ProgressValue = 0F; + this.arPanel2.ShadowColor = System.Drawing.Color.Black; + this.arPanel2.ShowBorder = true; + this.arPanel2.Size = new System.Drawing.Size(1278, 3); + this.arPanel2.TabIndex = 145; + this.arPanel2.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.arPanel2.TextShadow = false; + this.arPanel2.UseProgressBar = false; + // + // arPanel1 + // + this.arPanel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(5)))), ((int)(((byte)(5)))), ((int)(((byte)(5))))); + this.arPanel1.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); + this.arPanel1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); + this.arPanel1.BorderSize = new System.Windows.Forms.Padding(0, 0, 0, 5); + this.arPanel1.Dock = System.Windows.Forms.DockStyle.Top; + this.arPanel1.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Italic); + this.arPanel1.ForeColor = System.Drawing.Color.Khaki; + this.arPanel1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical; + this.arPanel1.GradientRepeatBG = false; + this.arPanel1.Location = new System.Drawing.Point(1, 51); + this.arPanel1.Name = "arPanel1"; + this.arPanel1.ProgressColor1 = System.Drawing.Color.LightSkyBlue; + this.arPanel1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue; + this.arPanel1.ProgressMax = 100F; + this.arPanel1.ProgressMin = 0F; + this.arPanel1.ProgressPadding = new System.Windows.Forms.Padding(0); + this.arPanel1.ProgressValue = 0F; + this.arPanel1.ShadowColor = System.Drawing.Color.Black; + this.arPanel1.ShowBorder = true; + this.arPanel1.Size = new System.Drawing.Size(1278, 4); + this.arPanel1.TabIndex = 135; + this.arPanel1.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.arPanel1.TextShadow = false; + this.arPanel1.UseProgressBar = false; + // + // xbeeSettingToolStripMenuItem + // + this.xbeeSettingToolStripMenuItem.Name = "xbeeSettingToolStripMenuItem"; + this.xbeeSettingToolStripMenuItem.Size = new System.Drawing.Size(228, 22); + this.xbeeSettingToolStripMenuItem.Text = "xbee setting"; + this.xbeeSettingToolStripMenuItem.Click += new System.EventHandler(this.xbeeSettingToolStripMenuItem_Click); // // fMain // @@ -2089,6 +2098,7 @@ namespace Project private ToolStripMenuItem saveToolStripMenuItem; private ToolStripMenuItem loadToolStripMenuItem; private ToolStripMenuItem editorToolStripMenuItem; + private ToolStripMenuItem xbeeSettingToolStripMenuItem; } } diff --git a/Cs_HMI/Project/fMain.cs b/Cs_HMI/Project/fMain.cs index 9a868be..de2716c 100644 --- a/Cs_HMI/Project/fMain.cs +++ b/Cs_HMI/Project/fMain.cs @@ -1032,5 +1032,11 @@ namespace Project MessageBoxButtons.OK, MessageBoxIcon.Error); } } + + private void xbeeSettingToolStripMenuItem_Click(object sender, EventArgs e) + { + var f = new Dialog.fXbeeSetting(); + f.Show(); + } } } diff --git a/Cs_HMI/Project/fMain.resx b/Cs_HMI/Project/fMain.resx index f62c95d..ca93129 100644 --- a/Cs_HMI/Project/fMain.resx +++ b/Cs_HMI/Project/fMain.resx @@ -126,160 +126,163 @@ - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAA0lJREFUWEfV - ll+IVVUUxm/+Q0ECQUUwBzEiLKTQEPPJSHsrIqiHCHwIIiiZHiVhHtQiBPWhl9QiB5maLsZMQk9BNwyG - 21m/te+dGedVa6TpbUQpKitvrDt7Lues2TP3zNAIffBxD9/e+1vr7HP3WrtS+T8DWG30+rJDVXeq6jfA - X0Z7Ns3PWxbU6/WHgCngOtCMtOcpG/Pz/3OMjIysa7VaK7xumo15vRSAE8Bhr+dhAYDnRORs3H5788nI - ZvwMZ0TkUCrBPETkdeB4R1DVyyJyrjArB1XdA1wDWiU5Duz2PrMAzlvMjqCqn4jIYGFWBNAD3EoE6cbp - LMu2eT8D8AXwcUcQkfeAemFWBPBBwrws3/d+BuAH++x54UXg99SZBoYSxmU5lPCz2vGHiLzQEUdHRzfH - 8/x8YfbMgoGEcVkOeD8LDNwNIWzyA4Oq+l2r1Xogr8fdaQB/JwIsxD9V9Y28l3lbDOCzvN5GlmWPA78B - fbPaxMTEGmBjfF4fQnhWRI4B/fEo1oHvVfUr4FNVPQm8LCKP1mq1VYUAMy/TB/waQnjMj7Whqq/E8jqs - qm8Bt+Pb/ARUgd4QwtN++yzRLMu2hBCeUNXXROQU8DUwISKXgFdF5IptvSWYXzsHIrI3Trbd8NvqOW1v - lNA9bc5wCOEpH29eAKcTRkuifRrv3xWq+qE3WiqtRHv/AprN5lYR2ZFnyeP3T6TXPQe8v8VsBxeRg4kF - Zdkb6fVStFNVqVarK7Mse9IaTp7xnzxnUZ72jzd63dO8vL/FtNj+a3QAPOONPBeRwAHv3xW1Wm1trg4k - WTKBO+bl/bsituGQMFxsAubR4/3nRZZl+4EacC9WQPv1potJ4Ofo8a2q7vPxClDVd63pxPK5K2ofJUzL - JnDRPOx2pKqfx4Z21MdtQ0Tetj6tqi/l9Xq9/iBwI2HeLYHJsbGxDXkv6wPWJYE383rFmkus/UcKAxGx - MP3ogyyQwM1Go/GI9zGo6juxN7S7bBsWON7159yIZtFoNLaralYigauWsF8/i9jif7Fu2xHtgli4pc4D - 6/HxSj2WSGDcnv2FJgUR+RK40BHsgpG/iJQB8LDVc6M9+/GFEC8m/R1hwZK4DLBdut8x58W/ttbNMuq+ - hk4AAAAASUVORK5CYII= + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAA2xJREFUWEfV + l01IVFEUx1+fFEQQVASVRBFREYVGVKvCaldEYIsQWgQRmNgyClxkRQTZok0fRknYx1BoQaugiQKZRp0Z + x2bbh5HtjMJIzZp+53oc38cd51Yk9Ic/955zz/mfM/e9d98b779GZ2fnDKGak4eurq7V8AnFvwtlLj5d + /rdIJBJLKNoHX8OMUuZ9sqZh/w7t7e2z8/n8VDULEJ+sqfl7oPsGeFBNK6QAMbs6Ojou6vbLL+9VZvQy + NLK+09agH8QcIueUmuaa3sd5Rc0IWK8g4RXMO7IHlmt6BKxdlZpqmgLXaeCumgEQXAY/QVuhidifTCaX + qkwArN2DTWqaLTmDI6FmAPjPQVsBF55VmQDwv4QNahrHXvgNRp5pfK3QJu7CVpUpAJ+cHYP86D3q8rzu + 7u6FOOV53q2uAvC3QJu4C1tUpgApjH84lUotUNco5B6ggWfcwVPUZUCw7E4ajkBbkWIcQu+wyhiIttRg + 7ba6xsENs5aFr7BeXV4ul5uJPV/nc+i6kkZP4mtGSB7FBHzB/CHjDcbTjFXErIrH49ONiA+s1cMBdNao + KwgE9hMgx2sb8xrGz1B+zTsYg3UkbwlvnzTKD1iEfz151TRwntjHMMf8FuMBxkeMw7BK0+wgcJMGy26E + tzXMfjgQ8tkoMW00uFHLlAYJF3wCf0W5NCrrDpIu2cT+hGg1qqwdmUxmMdu+3E8SXR6/H0rbmp8tYX2p + aYpj7LAkuLJOaVsrSe6JSi8Wi03jDt7ANlX4SWNyJ1sTx0hctdC25qdo+bWFUlNqm12wgcTtYaEwpbjQ + tuYnDWxTWXdwkMwieewcsNKxgS+ipbLuIFFewymfUISODYhGmcqWBtdmKwlx+BPKCSijTdi1gQ9QNJ4S + u1nL2EHACQJHuGZyfK5T32XmNmGXBm6KBmM5cXcY5YV2XHwRUPQoi4ME7lOXAV+6c/G/gZECJRrozWaz + 81TGAF8VHIJH1DUKebnglLO/Vl0B0JwcTG9hoMgEDbxPp9MrNT0A4o+xLu8G85Y1wKiF8q1f9F8OgstI + ThJTKFSkgefSsKZFoK/4j+TVqMs00IRj/Cu1COQdj7h8UmelWKiBHpmHP2hsQOMB8dfUNA00w8KHiAuI + XyHnuVDm6naC1JKaanrmONbppEB2abJrFoHn/QK21s0ynEiLrwAAAABJRU5ErkJggg== - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAa9JREFUWEfl - ls8rhEEch/2IEoo/QKHcXJzEiaNyEA64cXLk5OAi/gInR04Or6IcnRy2t/b9fGbHbr0XkdoTYTlIUfbV - +/a+b3aalux+N2XquWzPNE/T7Mzb1PTvh+/77SSXSG5UYdKcV7dB8ohk8A1lAHPm3LoMkm+WBW2Ustns - gDm/5mFZqBolktc1ogBM/TagXjw5jtNqCyiT1CSPSTqSZDKZbjPgnuRo+Fs+n+8sFAq9kgRB0FIRAGAR - wDDJK8uWSfAMYCEJeHddt4PkoUWU5C4J0PFu3FgkSYpJwL7Wuic+hKYkBoDTKEAptRZet6bQAHaiAAAT - ANYtgigA5sOAcvi3IHlgCtJorYeigxcfwAtTEOYlugtInsRP8k8fpboAwI0uIgBbAEZMoQHsJTfhDIAV - iyDNahSgte4nuWsRRMnlcmNRQBAEzUqpc1MQ5sP3/a40IHwYLJIkl9Hi8SEctAjSOGmAUmrWIogCYDMN - ILltCtIopabTgPBFMgVpPM/r+7oDRVMQ5jFdPA54sEiSnFUEKKWWSb5aRAluPc8brwgIB8k286tVgvRL - +C+NT9lLlLEeyHt7AAAAAElFTkSuQmCC + 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 + eXSITOY/N4AkP6QQbUkAAAAASUVORK5CYII= - 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 - UCfvAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAP5JREFUWEft + lj0KwkAQhVNY6n0Uj6BtagvxEFqJvYWnEL1EmiBKfrrcIK3gDfSNTDZk2WQj65IQ9sFHZObtzCMkQc/J + qTdKkmQax/G1gQs4gVUYhhM+JkQ16rGHvKoZX2gXHyuFhg/eLXlFUbTmoxR+QzXJ04TPR0tRUTJpQYg9 + rge53oL/BDDAeoAjoHl1M60HEAsUvUpfiIqSyYTOA+gYeAC8njdciw+PyjP8Z8AFcAG6DdCH11BHDwPg + ts0VRiukaTrjtaWCIBih+ZDNFrjTLl5bVZZlY/y/24EzjMVDVMcTFEPpt8oj4Jlb2sHrzISBSwzMmQWX + nZx+lOd9AOxqphdZ7gKgAAAAAElFTkSuQmCC - iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAABGdBTUEAALGPC/xhBQAABGpJREFUWEe1 - WFtIdFUUnp8ur0U9dCGK6il6DrrwU1AP8Ue9DRFBvzhnrz0XFcX77R9BFARREVHqQRRRMQM172g+mIga - hL4o+ntDJAXvqaNkumJt5gznrLMbxxnng485Z1/W+mbvtfbluFxxIiUl5UUhxMdSyh+klF4ASBNCpAoh - vjAM4w3ePinw+XzvAEAZAPwJANcAgFG4AQCNJJrbSRhCiPcB4JcYRPwf5wDgK273znC73c8DQBUA/KNx - Eg9/9fv9r3I/MSE1NfX18D/jRhPlrmEYD7m/qACAd8MxwI3dFy+EEN9wv1oAwGsAsK4xct+89Hq9n3H/ - NpSVlT0LAL9rOieLhx6P5y2uIwIAKNV0ipuBQAALCwsd5VZKKX9zuVwPuBaXYRhvA0CId7iN+fn5ODU1 - hVVVVY66iooKDIVC2Nra6qizUkr5HdfjklL+xBtGo5QSm5ub8ezsDAn9/f22ehJKv+Xl5XhycqLachsW - PnW73c9ExAQCgZcpyDQNtSwqKsKlpSUlxAQXtL29jePj4+j1erGyshLPz89VP27LpC3rhBB+3kBHGpW2 - tja8vLy0idEJys7OxvX1dRwYGFDvo6OjODs767BpUgjRbRU0yBsQ09LSsKamBmtra7GhoQE3Nja4jghM - QR0dHWr0MjMzsaCgQE1pMBjEvLw8vLq6wpycHIefMP8GgOdIzwMAONE0UE5ihSnI5/Ph3NwczszMqPeR - kREcGxtTzysrK9jS0uLwY1II8QGl+pu8wiQZihXWKcvIyFAjU1JSooL64OBAlff29uLk5KTDj4WPKd0f - aioSEkScnp7Grq4uFXfX19dq+inTlpeXHX4sDFK6P9JUJCyop6dHZRk9Hx0dqdGieNza2nL4sbA6aYIo - u4aGhtQzpXxxcTHW1dXh2tqaw49NULKmbGFhQQUwxZN1yubn5x1+LAwmJahpAby4uMCsrCxsbGxU6xGV - 0xQODg46/Fj4OGra05wvLi4qrq6ucg02mIJIDMUJxRC904jQYkrPu7u7WF1d7fBjUqU9AQAGeKWO9fX1 - eHh4yLUomII2Nzexr69PZVdTU5Pax2jaSMj+/r7aSrjdMCMLIwnyaRpoSbFAi93NzY1WkEka3dPTU/Un - SAQFc3t7u8OehT9Htg6Px/PSXTZXIh03dnZ2tII6Ozvx+PhYiaH34eFhJSjK6NCIfh0RFB6lH3mj20gH - MNo0KYu6u7sj5TRFVJeeno4TExO4t7eHubm5jv4WrtiOHwQ6SsZzQCPS2cfv99vKaLenUaKgpmfex0op - 5bc2MSYAoJg3jpcU1KWlpY5yDce4jgho2OiMq+mULB7QOsh12EA3SwBY03S+b9Ld7FPuX4vwRTGZd7OQ - I6tuQ/jCOKMxlij/8nq9n3B/MYFWTgCouMePDT2GYbzC/dwZhmG8J6XsivdzjBBiVkr5JbebMOgyKYR4 - AgB/AMC/3DHjKgA0SCk/4naSAgB4wTCMD4UQ31s+6aVIKT+nTzm8faz4DwnDvF8jQGuEAAAAAElFTkSu - QmCC + iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAABGdBTUEAALGPC/xhBQAABHFJREFUWEe1 + mFtIXFcUhifk8pqSPORCSGn7VPIcaFpCA+lDSUjfpIRCI97vKN5vGUEUhEFFRGkfRBEVa0GtdzQ+WBE1 + EPRF0XhDJAreo45Dra78a7tncs6e7ajjnAUfnnPW2mv97r32uYzNXwsODv4iPDz8+8jIyN9BVERERBzO + Q8BPYWFh92SYtRYdHf01CueBd+AQkA/mQQWLlsMDZ0j6AMn/BqeJOIlR8Fym89+CgoKuIVER+E8mvij/ + xMTE3Jbpz2chISF3kYD/M13ii7CCHnssy5zNMOgbwD2gSxgI9tEGv8hyvg3Bd8CcYbBVuKKiop7IsnrL + y8u7gsB/lYFWshEaGvqlLO9tCMhVBlyI2NhYyszM1Prc4B72BqUvHSswGBrtKwQ41QGnkZ6eToODg1RU + VOTlKygoIKfTSTU1NV4+IxD1Usr4bLj4py74JBBPVVVVtLu7S2xtbW0mPwvlv/n5+bS9vS1ijX6F97jF + XJZSbDZM7U1cdClBJ5KVlUWTk5NCiNtUQUtLS9TX10doXCosLKS9vT0xzhhjxLTrcBKjC1LhWamtrSWX + yyVlfDZVUHJyMs3NzVF7e7s47+npoZGREVOMEWhoknKEoA5dUFxcHBUXF1NJSQmVl5fT/Py8LO9tbkH1 + 9fVi9hITEykjI0Msqd1up7S0NDo4OKCUlBSvOpKP4CrruYSDbYPDAxc5q7kF4QFMo6OjNDw8LM67u7up + t7dXHE9PT1N1dbUnvwom5iFv9fuqww0nOqsZlywhIUHMTE5Ojmjq9fV1cb2lpYUGBgY8cRpe8XZ/rHEI + /BXEDA0NUWNjo+i7w8NDsfy806ampkxxCnbe7s80DsFFBDU3N4tdxsebm5titrgfFxcXTXEKDssE8e7q + 7OwUx7zls7OzqbS0lGZnZ01xCg7Llmx8fFw0MPeTccnGxsZMcQp2S5qab4D7+/uUlJREFRUV4n7E13kJ + Ozo6PHEaXvnc9rzmExMTgpmZGVlab25BLIb7hHuIz3lG+GbKxysrK+RwODz5VcS2Z8NJu+rUUVZWRhsb + G1KC2dyCFhYWqLW1VeyuyspK8RzjZWMha2tr4lGi5pV4bowsKNrg8An3At/sjo6OpJRjU3uIZ3dnZ0f8 + EyyCm7murs4Uo/CXEMOGl6QbuHDmhyvDrxvLy8tSjllQQ0MDbW1tCTF83tXVJQT5mB2e0RdSzrHh4h9q + 0GnwCxg/NHkXNTU1ea7zErEvPj6e+vv7aXV1lVJTU01jFaZNrx9s/CoJx7lf0Bh+98HnjekaP+15lrip + +djoU8Hs/CplmA3ObDXYX7ipc3NztT6FXlne23jakOiNZpBVrIP7srze+MsSQbOGQVbB32Y/yrK+DcH8 + oWjlt5nTa1edZhjEH4zDhiSB4gO2/w+yzPkMg6+CAhCoHxua8TC/JdP7b0jyLaa4EQn9+jkGvTKC8T/L + dIEz/phE8tco8hb8byyqYQaUQ8gjOdxaQ7HrEPgdBP6Gou6f9IJx/JR/ypFh5zSb7RMJw7xfBlQNxwAA + AABJRU5ErkJggg== - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAjpJREFUWEfV - V7tu1UAQDb+CBBUiTSigAZE+SsTjCxAdCGo+ANrkK6DjkYiEd3v3nNnbkFBEfESSKxHpgi4atGutx2Nj - uA4RRzqN53HG9nh2vLDwPyKEcInktoi8VQJ4DeCC9TsxkHxMclYSwCPrd2IQkRdOAU+t31wAcJPkBxG5 - aG0k920BJHetn8ZqDgA3rK0TInKb5DQlPhaRB7PZ7IzaQghXSX53CpjGGC+rj/qSvE/yW7aRvGV1XGi1 - hXjJjyQ/O9ctI4B3zvVprycB4KUTPAi1d6xeAwDOkjy0wQNwMhqNzls9FyJy10kwL+9YnVZoE7W8x7+i - Diqr0YnUxV9sIkPFeqI49ooiEqxGJ2KMyzZJwQMAKzaG5GpX7+j4tjEV0mx/kr6AryR/2ASZnniGiKxZ - /4I6O3SAPddRHmNcqgJJbjkBDQJATdHB715Hwa0qSJvEcfC4XlNzQHLDiWuw1pinXgDJTevQQqmpOSA5 - duI8blZBukzoeU7yGcm9lrMgc7WmWCCdI9Y/U3PuqoZqdS4wInLdSZB5qN1uY5L4keP/i52foUXPQRTT - +1Z2PvY/HkRagIh8sonm4Ju8T/QCgIdOknl5z+q40OYoNpkheRxjXLR6DegO5wQPxfdWr4G2lUz3/74r - Gckd53q/lUyhC2RRxEQXlGwDcK3lsJqGEK5kv7TUTLKt91KaodXq6Tgej89ZWzoxbQF71k9jNUfvO+8L - kq9sAYP/mHRBdwengH/3a3bqP6dD4if8nu9RoGmrKgAAAABJRU5ErkJggg== + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAlxJREFUWEfV + l81u00AUhcOrIMGqgg0sYEMFe1QE5QlQd63oug/QbstT0B2UVgEKgW1+7GxoWSAeghKJSgGF70bHlpnc + cYbW5edIn6LcuefesT0e263/Ur1e7/pgMHiZZdmB0e/327Cg4fMXzTdhUoUJbGj4/MVRP3cm8FTDzYiC + DyjcodkVhUoR/1RtLg41XMq8xDvUuq9QmjA+xDhW4RP+P55MJhdsjOt/i9h3jVUZ53l+w3Isl/9r8K0Y + g2UbmyubrQxhg3fwIYh55NR448THSWeCpF3H3Ai2dtQmLiZwkeTj0NwAo263e1lt6sVMV5wCZ+WRys+X + LaLIdTwV1GqrdJq0ij+GhQJM2yIDL2cKZ7Sn0mnidrrjFRJfOKK7Si1FfAmia8e2b6XOSnv7lu6Az/Cj + MIZ4zQtxpPc8j7C9wzawZ7DJQV6TbTr7ffBMv0DzvixRkVd7OSrsyzK99dpOgse2LFGR8yTwuFhPWf6B + CRDYCxMiZLJERc4w8MTYk2V6BhZgg+AOHIH3LChYkm1G1LDniOcxrOYh7Fgv6ynbrFjNtyvGkGNb7Uot + peZfg9yS2tswVOJGlINdb6P2tP/2RmQTwPTeK3ZKXltNlZ8vTue6U+SsrKp8vWxxkFy8yTTJCbvfVbWJ + i8ROYGySt2oTl1bzzG3ImjjgN+mVDF4FMSPtlcxE8rIZZBzRfEVDNsFFYt7DasytdlNpxUvNqBiDtJfS + QjZb2B0Oh5cUKkUxe2KGEzjScCnzWo3kI08VzV4EzW1vb/bDpE403HIm8Oc+zfQC8/c+TptTq/UT/J7v + URSJG9cAAAAASUVORK5CYII= - iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAplJREFUWEft - V7tuFEEQdALkPHIgByIQfAE2GRAZCMCQmAyZDA74AhAPG/7AwIectNfVeyQXnY0TbEJMgu2Ah+rUc/Q2 - s3d7xojEJY20mqrumenpnpmdmtrHLlAUxREAp0TkkojM8Jt9UbenEJGTIvIEQBfAz5pWqurjoihORPtd - oyzLYwBeANjJDFjXqH0O4Gj0NxFU9TyAjeB8U1WXATxU1Zts9s2+zaDdEJFz0W8jiMhVAFvO2YqIzAI4 - ELUJ5ABcA7Dq7LZU9UrUjoStfDi4iLzq9XoHo64O1AJY9JNoHAnb889u8HtR0xQAFtwk1htViiXcwEhV - X3quiYOoAbDkFvPMc3+ApeayfdWHvSzLC5Zkd6pWv0GOGmpTX7/fPwTgo/ncGVmiVudptrOpn+XkMvx7 - bhI2ODlqqB2WoKrecFvxqGrpAOBDchCTTkTm3AA/ANwdwc17W6uOL8ar54aw4zXt/XLkibDKQSRyfdGO - APAuTbDdbh+OPPf4jAv/g8gnZAYcOzjBw8ot8HTkGUZeKklwK/IeIeTZsEeYTfI/HXkmyrSLwFzkPWom - MMyJHETktpvAxcj//y3wSSgibyNPZAafJAnfp2hlk5DgfW6iJmU43PMMV9kOO4y+2uLEcxXwMZGiwFst - 9e/xQdSqWjrwmPxHR/Ga+dzudrvHq1YB9pJJs130XLxocogaAK+TP1V96rksLNz+FbQQNU0B4L7z8ylO - rhZ8PITX0BJDGXV1oFZV3zj7b51O52zUjQSfUWESa6p6PVaHBzlLuLTng8FV9XLUNoJFYt05Y2M58WJp - 8chm47f1DUrNh33ilUdw3/iSmfBZvs2Ea7znTWAlypVqZsDUyLXGltrfgkep/ZrNpF+z2uN1H2PwC9Ia - w16WomAQAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAsRJREFUWEft + lz9TU0EUxdOovWKv9Golo59AsRMr0ELQRjsHO4n4CWD8A/oNUD9IZpKQxCYVIg1gKTYChejvvDmbbN57 + IS8gY8OZOZPHuefe3b27+xJKpzgKqtXqhdXV1Sv1ev0OHNezNIdPBgw0Cl8xWAv+6cNmo9GYZzKXnXZ8 + NJvNixR+A/ejgQZR3tdwxGWOBlZzgyLbLhq4g77C5xyfD0U/S9uxJ3Cbro253HAg8R4FdqNiX9Em+Txj + SwaKwSm4DkPeLpObsKUYSNDKO4Mz8Lt2u33W4YGQl7ylkA93C3fCe/49JJP4zKGhQf5sqAO3Ct0UjDpw + SRKdeGs5QZECaQ91lkM9FrNoOR8YRjGG074et53O3ETTIXtsKQPF5JHXUmltbe0c2jeomvuHXlEmoHse + ZjtpWYVHYDjhv2FmEtIck0fezhWkkw+siy8tZ0Hwi0076UPHhGbQwwAH8KlDebEnDiXgb92OH443LPdC + e2eD9n7Fcg+IxatMOpGn2d4D9E/2HFQqlfOWu2Dfrtmg9r+wnAHx9IADBxeIzdmnBV613AWD6kslGKYt + 5yLVcjHT9jScE+rfttyFxGCQ2XIu+kygcybyQM6j4GesW5a7+O9bEB9CJvDRcg+IHecQfrYn/xAKBJs2 + FbmGnT3PifVsh19GPxXHW7ecBa2ZdxFxyrIm9i9fRGXLWeg1ieEkXsUbUDX3Wq3WJYfygUm/ZMJslywn + SH/R5CHtocb7UI9OLFjuD4xqd/wraNahoUHu86jOZpEFJOCcjJEQ/xpaVisdHgh5We2HKP9XrVa77nAx + UGCCxHgSG2j307cjhmI+cGHPk8HR7toyHNyJraiYqOukL5YyhadFPVtLrlrEzaFXnob2jYksUmyYn+V7 + TGyh8J4XAcV0RbXSRjRQmoqVB16140KvUgbSv2bjop77vl5PcShKpb/SGsNeH5IytgAAAABJRU5ErkJg + gg== - iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABGdBTUEAALGPC/xhBQAAA5JJREFUaEPt - mn1TElEUxv12fZVm+g7NNNMokqQ1KouACBKjKIovwAJLaqRGgCkpooiYjpbmS5omyctpzjV2bK8Ku+7m - UpyZ3z/sc5jz7N17OHeHhoZ6qDQe2h4/eOR4wtQSWLPQRwNesM+7YDg1XhNgrViz0AcxgoLARqgmwFrr - RtRE3YjaqBtRAmvcCYaZ3luxzw9SeYhqjHjW/NASMMHi9uqtNPsNVC6iGiOd0zZIbq9BpVC9kSYfAyUo - kWK3j3aplaiJFXk174LxxAQxgWaeejqpvVETe0Qb6ILT3BkxkthKgWHGTmkqce9GRld9wEw5+D3QxvWA - N+OndJW4dyPtYSus7X0iJo7OTkAXMlGaarhXI/4NDjSsgV+N/qgHnIsjlK4aJBkxRhzQwhkpnnFGcC5V - X4gt7oRgcpqYKBSLoGEZSlMtkoxgC7wuTs5PQRcyUvqb0Pj1cH6RI7nRbALMEQelqRZZjWB0TNhhLM1S - OULcKQ+Y3w7webqgGXzrQUpXLZKMNLEMuOZYnqE5P1kNjNXdLHSErVSOkBeTFtg6/Exydo/3ofW1mdKI - QZKRsbQPhpbHeXri/TAQY/m728x2QSBL55Vh1znQ+o28vnfWDa7kGKUTgyQj19Ho00OhWCCFTaQiYI05 - KU2Z7mgfhNMxos0XCzeOHWKQzYgp4oDZzIfL4gp50N5SnManh4tCnmjD6ShYYn2URiyyGWGzQdAFTPzj - Yn/nhsHkKKXDR8g26+Z1+IhhrlAnFtmMILiBNw92SIH734+u3cD42Zfjr0SDU+7LKQulkYKsRkZWvGAM - O/m73cpZ/pib2PUgPOe6+evYfrENC79HCrIaQXDjnuZ+kEITWyvAXJlkcSJ4n02Qa7n8T2gO3LyPxCK7 - katnCwycpXCmwmuNvk6+s3HLM2CLD1D5UpHdCIKtuFS6PO15P06RwxDOYDgUlqPSb41YFDGCJ7mFzWVS - MM5SeHDScSY4PPtGPsvsbUL7m8q//mJQxIg3E4A2zsLffdzUeGAqBzPpINOBMO8uKGIEwTa7d3JACsc2 - i0dYDGwE2mAXpb8rihm5/OEb5lehHNgIsCEI9XdFMSMIHpSwzV4NnJzLXUxOFDWCr0C53ydAjKWdNOin - xb8hqQZFjWB7bfIy/Ms1XcBMXo1SOhlQ1shGCBwLLv7lGq6Q8LpcKG7kb1E3ojbqRtTG/2Hkn/gLxz/z - p5p6qCR+AaqNxnTXLPGFAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABGdBTUEAALGPC/xhBQAAA5hJREFUaEPt + mvtTElEUx/3v+lea6X9oppnGV5LV+EABUSRG8f3gvaZGagaakuIDFdPR0nykaZqv0/1eASmuAstursbX + +fyye45zvnDv2XN3KMhLq3poefzgke2J/i6BmmPlXwk3rBNt1DHbeydArag5Vv6VcBEB3uW+OwFqzRvR + EnkjWiNvRA0axuxUM9x4I9aJVmGuZow4FjxU5jXS1Nr8jZR4aoT5mjFSNWSh8NoCpZPmjRS59HTB/qC1 + 3Q3htwE0beQ1Gy96Q/3cBMw8dVQJ9wfQ9B4p9dbSwfEhNxJanWUFW4VxN3HrRrrnXaQftHET0AupnpyL + HmHsTdy6kQp/Ay1sfuYmdg/3SddnFMal41aNeJYlKnbXcBNQc8BB9qkuYWw6ZBkxjNqoTDKk8Ixhn868 + EAt7APrCQ9zE2fk5M6UXxmWCLCNogSLtHx2wpWEQ5ogo9lTT0ckxzw1EQ2RiH5AoLhMUNQJV9lupJ+IW + 5iXTOesg07uWWBaRzmci15JPGJsJsowUsSXQNu5O0D7u4d8GNL8RpUq2gUV5ybwcMNPqzhees7G3ReVv + TMK4TJFlpCfiovaZ3gT1Y83UEnTzoqASdy15o6l5cdxLEpV6DLFoosaRTmoL9whjM0WWERGFrmq2Yc94 + Yf2zo9QQtAvjQF2gifyRII89ZTnXjR3ZoJgRI9uoI4sfL4s7O2Wf+PXFFTPTJywG8kcCZA42CeOyQTEj + 7qiPdGwMj8v6vpNaw90pcVhCFraU4sISQ+7fcdmimBGADbyyvc4L3PqxK9zAuPZ17xuPwZT7atCcEiMH + RY10zTnJ4LfzIqFyyfzH3ORm7fW5VBe7S7z9og0n/w+5KGoEYOMeHP/khYZW50ifNMliIvjAHnzQ8ekv + KvHmvsnjKG4k+WwBYZbCTIV7ha6qRGeTZobZiNKSki8XxY0AtOKLi8vTnvPTID8MYQbDUBhXumdNtqhi + BCe5yZUZXjBmKRycdJKRdg6/82uLmytU8Tb90z8bVDHiXPSyA5KZFw1hU+PAFJd+wManA1GuXFQxAtBm + N/e3eeFoszjCQmgEpT62rAQ5uaCakcsHXwcvPlloBGgIopxcUM0IwEEJbTZZmJzjXUxJVDWCV6BS7AQI + Ta9HqHoo+zckmaCqEbTXIqc+8XJN5zXxV6PC2BxR1wjDNtmWeLmGb0gUowSqG/lX5I1ojbwRrfF/GLkX + P+G4Nz+qyUsTKij4DaqNxnRXLBhpAAAAAElFTkSuQmCC diff --git a/Document/지그비셋팅패킷.txt b/Document/지그비셋팅패킷.txt new file mode 100644 index 0000000..8e06bc6 --- /dev/null +++ b/Document/지그비셋팅패킷.txt @@ -0,0 +1,368 @@ +[10:09:51] RX (3 bytes): 2B 2B 2B | +++ +[10:09:52] FWD→TX (10 bytes): 02 0E FF 09 00 00 00 00 01 00 |  [10:09:52] FWD→TX (9 bytes): 00 00 30 30 30 30 D5 03 03 | [10:09:52] FWD→TX (3 bytes): 4F 4B 0D | OK +[10:09:52] RX (5 bytes): 41 54 43 48 0D | ATCH +[10:09:52] FWD→TX (3 bytes): 31 32 0D | 12 +[10:09:52] RX (5 bytes): 41 54 43 4E 0D | ATCN +[10:09:52] FWD→TX (3 bytes): 4F 4B 0D | OK +[10:10:09] 포트 닫힘 +[10:10:10] 전달 포트 닫힘 +[10:38:01] 포트 열림: COM21 @ 9600 +[10:38:01] 전달 포트 열림: COM4 @ 9600 +[10:38:02] FWD→TX (17 bytes): 02 0E FF 09 00 00 00 00 01 00 00 00 30 30 30 30 D5 |  [10:38:02] FWD→TX (2 bytes): 03 03 |  +[10:38:02] RX (5 bytes): 2B 2B 41 54 0D | ++AT +[10:38:02] RX (5 bytes): 41 54 43 4E 0D | ATCN +[10:38:05] RX (3 bytes): 2B 2B 2B | +++ +[10:38:06] FWD→TX (3 bytes): 4F 4B 0D | OK +[10:38:06] RX (5 bytes): 41 54 43 48 0D | ATCH +[10:38:06] FWD→TX (2 bytes): 31 32 | 12 +[10:38:06] FWD→TX (1 bytes): 0D | +[10:38:06] RX (5 bytes): 41 54 49 44 0D | ATID +[10:38:06] FWD→TX (5 bytes): 34 36 41 35 0D | 46A5 +[10:38:07] RX (5 bytes): 41 54 44 48 0D | ATDH +[10:38:07] FWD→TX (2 bytes): 30 0D | 0 +[10:38:07] RX (5 bytes): 41 54 44 4C 0D | ATDL +[10:38:07] FWD→TX (5 bytes): 46 46 46 46 0D | FFFF +[10:38:07] RX (5 bytes): 41 54 4D 59 0D | ATMY +[10:38:07] FWD→TX (3 bytes): 38 37 0D | 87 +[10:38:07] RX (5 bytes): 41 54 53 48 0D | ATSH +[10:38:07] FWD→TX (2 bytes): 31 33 | 13 +[10:38:07] FWD→TX (5 bytes): 41 32 30 30 0D | A200 +[10:38:07] RX (5 bytes): 41 54 53 4C 0D | ATSL +[10:38:07] FWD→TX (5 bytes): 34 32 30 39 35 | 42095 +[10:38:07] FWD→TX (4 bytes): 31 34 33 0D | 143 +[10:38:07] RX (5 bytes): 41 54 4D 4D 0D | ATMM +[10:38:07] FWD→TX (2 bytes): 30 0D | 0 +[10:38:07] RX (5 bytes): 41 54 4E 50 0D | ATNP +[10:38:07] FWD→TX (3 bytes): 36 43 0D | 6C +[10:38:07] RX (5 bytes): 41 54 52 52 0D | ATRR +[10:38:07] FWD→TX (2 bytes): 30 0D | 0 +[10:38:07] RX (5 bytes): 41 54 52 4E 0D | ATRN +[10:38:07] FWD→TX (1 bytes): 30 | 0 +[10:38:07] FWD→TX (1 bytes): 0D | +[10:38:08] RX (5 bytes): 41 54 4E 54 0D | ATNT +[10:38:08] FWD→TX (3 bytes): 31 39 0D | 19 +[10:38:08] RX (5 bytes): 41 54 4E 4F 0D | ATNO +[10:38:08] FWD→TX (2 bytes): 30 0D | 0 +[10:38:08] RX (5 bytes): 41 54 54 4F 0D | ATTO +[10:38:08] FWD→TX (2 bytes): 30 0D | 0 +[10:38:08] RX (5 bytes): 41 54 43 38 0D | ATC8 +[10:38:08] FWD→TX (2 bytes): 30 0D | 0 +[10:38:08] RX (5 bytes): 41 54 43 45 0D | ATCE +[10:38:08] FWD→TX (2 bytes): 30 0D | 0 +[10:38:08] RX (5 bytes): 41 54 53 43 0D | ATSC +[10:38:08] FWD→TX (5 bytes): 31 46 46 45 0D | 1FFE +[10:38:08] RX (5 bytes): 41 54 53 44 0D | ATSD +[10:38:08] FWD→TX (2 bytes): 34 0D | 4 +[10:38:08] RX (5 bytes): 41 54 41 31 0D | ATA1 +[10:38:08] FWD→TX (2 bytes): 30 0D | 0 +[10:38:08] RX (5 bytes): 41 54 41 32 0D | ATA2 +[10:38:08] FWD→TX (2 bytes): 30 0D | 0 +[10:38:08] RX (5 bytes): 41 54 41 49 0D | ATAI +[10:38:08] FWD→TX (2 bytes): 30 0D | 0 +[10:38:08] RX (5 bytes): 41 54 45 45 0D | ATEE +[10:38:08] FWD→TX (2 bytes): 30 0D | 0 +[10:38:08] RX (5 bytes): 41 54 4B 59 0D | ATKY +[10:38:08] FWD→TX (3 bytes): 4F 4B 0D | OK +[10:38:08] RX (5 bytes): 41 54 4E 49 0D | ATNI +[10:38:08] FWD→TX (2 bytes): 20 0D | +[10:38:08] RX (5 bytes): 41 54 50 4C 0D | ATPL +[10:38:08] FWD→TX (2 bytes): 34 0D | 4 +[10:38:08] RX (5 bytes): 41 54 50 4D 0D | ATPM +[10:38:08] FWD→TX (2 bytes): 30 0D | 0 +[10:38:09] RX (5 bytes): 41 54 43 41 0D | ATCA +[10:38:09] FWD→TX (3 bytes): 32 43 0D | 2C +[10:38:09] RX (5 bytes): 41 54 53 4D 0D | ATSM +[10:38:09] FWD→TX (2 bytes): 30 0D | 0 +[10:38:09] RX (5 bytes): 41 54 53 54 0D | ATST +[10:38:09] FWD→TX (5 bytes): 31 33 38 38 0D | 1388 +[10:38:09] RX (5 bytes): 41 54 53 50 0D | ATSP +[10:38:09] FWD→TX (2 bytes): 30 0D | 0 +[10:38:09] RX (5 bytes): 41 54 44 50 0D | ATDP +[10:38:09] FWD→TX (2 bytes): 33 45 | 3E +[10:38:09] FWD→TX (2 bytes): 38 0D | 8 +[10:38:09] RX (5 bytes): 41 54 53 4F 0D | ATSO +[10:38:09] FWD→TX (2 bytes): 30 0D | 0 +[10:38:09] RX (5 bytes): 41 54 42 44 0D | ATBD +[10:38:09] FWD→TX (2 bytes): 33 0D | 3 +[10:38:09] RX (5 bytes): 41 54 4E 42 0D | ATNB +[10:38:09] FWD→TX (2 bytes): 30 0D | 0 +[10:38:09] RX (5 bytes): 41 54 52 4F 0D | ATRO +[10:38:09] FWD→TX (2 bytes): 33 0D | 3 +[10:38:09] RX (5 bytes): 41 54 44 37 0D | ATD7 +[10:38:09] FWD→TX (2 bytes): 31 0D | 1 +[10:38:09] RX (5 bytes): 41 54 44 36 0D | ATD6 +[10:38:09] FWD→TX (2 bytes): 30 0D | 0 +[10:38:09] RX (5 bytes): 41 54 41 50 0D | ATAP +[10:38:09] FWD→TX (2 bytes): 30 0D | 0 +[10:38:09] RX (5 bytes): 41 54 44 30 0D | ATD0 +[10:38:09] FWD→TX (2 bytes): 30 0D | 0 +[10:38:10] RX (5 bytes): 41 54 44 31 0D | ATD1 +[10:38:10] FWD→TX (2 bytes): 30 0D | 0 +[10:38:10] RX (5 bytes): 41 54 44 32 0D | ATD2 +[10:38:10] FWD→TX (2 bytes): 30 0D | 0 +[10:38:10] RX (5 bytes): 41 54 44 33 0D | ATD3 +[10:38:10] FWD→TX (2 bytes): 30 0D | 0 +[10:38:10] RX (5 bytes): 41 54 44 34 0D | ATD4 +[10:38:10] FWD→TX (2 bytes): 30 0D | 0 +[10:38:10] RX (5 bytes): 41 54 44 35 0D | ATD5 +[10:38:10] FWD→TX (2 bytes): 31 0D | 1 +[10:38:10] RX (5 bytes): 41 54 44 38 0D | ATD8 +[10:38:10] FWD→TX (2 bytes): 30 0D | 0 +[10:38:10] RX (5 bytes): 41 54 50 30 0D | ATP0 +[10:38:10] FWD→TX (2 bytes): 31 0D | 1 +[10:38:10] RX (5 bytes): 41 54 4D 30 0D | ATM0 +[10:38:10] FWD→TX (2 bytes): 30 0D | 0 +[10:38:10] RX (5 bytes): 41 54 50 31 0D | ATP1 +[10:38:10] FWD→TX (2 bytes): 30 0D | 0 +[10:38:10] RX (5 bytes): 41 54 4D 31 0D | ATM1 +[10:38:10] FWD→TX (2 bytes): 30 0D | 0 +[10:38:10] RX (5 bytes): 41 54 50 32 0D | ATP2 +[10:38:10] FWD→TX (2 bytes): 30 0D | 0 +[10:38:10] RX (5 bytes): 41 54 50 52 0D | ATPR +[10:38:10] FWD→TX (3 bytes): 46 46 0D | FF +[10:38:10] RX (5 bytes): 41 54 50 44 0D | ATPD +[10:38:10] FWD→TX (3 bytes): 46 46 0D | FF +[10:38:10] RX (5 bytes): 41 54 49 55 0D | ATIU +[10:38:10] FWD→TX (2 bytes): 31 0D | 1 +[10:38:11] RX (5 bytes): 41 54 49 54 0D | ATIT +[10:38:11] FWD→TX (2 bytes): 31 0D | 1 +[10:38:11] RX (5 bytes): 41 54 49 43 0D | ATIC +[10:38:11] FWD→TX (2 bytes): 30 0D | 0 +[10:38:11] RX (5 bytes): 41 54 49 52 0D | ATIR +[10:38:11] FWD→TX (2 bytes): 30 0D | 0 +[10:38:11] RX (5 bytes): 41 54 50 54 0D | ATPT +[10:38:11] FWD→TX (3 bytes): 46 46 0D | FF +[10:38:11] RX (5 bytes): 41 54 52 50 0D | ATRP +[10:38:11] FWD→TX (3 bytes): 32 38 0D | 28 +[10:38:11] RX (5 bytes): 41 54 49 41 0D | ATIA +[10:38:11] FWD→TX (12 bytes): 46 46 46 46 46 46 46 46 46 46 46 46 | FFFFFFFFFFFF +[10:38:11] FWD→TX (5 bytes): 46 46 46 46 0D | FFFF +[10:38:11] RX (5 bytes): 41 54 54 30 0D | ATT0 +[10:38:11] FWD→TX (3 bytes): 46 46 0D | FF +[10:38:11] RX (5 bytes): 41 54 54 31 0D | ATT1 +[10:38:11] FWD→TX (3 bytes): 46 46 0D | FF +[10:38:11] RX (5 bytes): 41 54 54 32 0D | ATT2 +[10:38:11] FWD→TX (3 bytes): 46 46 0D | FF +[10:38:11] RX (5 bytes): 41 54 54 33 0D | ATT3 +[10:38:11] FWD→TX (3 bytes): 46 46 0D | FF +[10:38:11] RX (5 bytes): 41 54 54 34 0D | ATT4 +[10:38:11] FWD→TX (3 bytes): 46 46 0D | FF +[10:38:11] RX (5 bytes): 41 54 54 35 0D | ATT5 +[10:38:11] FWD→TX (3 bytes): 46 46 0D | FF +[10:38:11] RX (5 bytes): 41 54 54 36 0D | ATT6 +[10:38:11] FWD→TX (3 bytes): 46 46 0D | FF +[10:38:12] RX (5 bytes): 41 54 54 37 0D | ATT7 +[10:38:12] FWD→TX (3 bytes): 46 46 0D | FF +[10:38:12] RX (5 bytes): 41 54 56 52 0D | ATVR +[10:38:12] FWD→TX (3 bytes): 32 30 30 | 200 +[10:38:12] FWD→TX (2 bytes): 33 0D | 3 +[10:38:12] RX (5 bytes): 41 54 48 56 0D | ATHV +[10:38:12] FWD→TX (5 bytes): 32 45 34 45 0D | 2E4E +[10:38:12] RX (5 bytes): 41 54 44 42 0D | ATDB +[10:38:12] FWD→TX (3 bytes): 35 44 0D | 5D +[10:38:12] RX (5 bytes): 41 54 45 43 0D | ATEC +[10:38:12] FWD→TX (2 bytes): 30 0D | 0 +[10:38:12] RX (5 bytes): 41 54 45 41 0D | ATEA +[10:38:12] FWD→TX (2 bytes): 30 0D | 0 +[10:38:12] RX (5 bytes): 41 54 44 44 0D | ATDD +[10:38:12] FWD→TX (6 bytes): 31 30 30 30 30 0D | 10000 +[10:38:12] RX (5 bytes): 41 54 43 54 0D | ATCT +[10:38:12] FWD→TX (3 bytes): 36 34 0D | 64 +[10:38:12] RX (5 bytes): 41 54 47 54 0D | ATGT +[10:38:12] FWD→TX (4 bytes): 33 45 38 0D | 3E8 +[10:38:12] RX (5 bytes): 41 54 43 43 0D | ATCC +[10:38:12] FWD→TX (3 bytes): 32 42 0D | 2B +[10:38:12] RX (5 bytes): 41 54 43 4E 0D | ATCN +[10:38:12] FWD→TX (3 bytes): 4F 4B 0D | OK +[10:38:14] RX (3 bytes): 2B 2B 2B | +++ +[10:38:15] FWD→TX (3 bytes): 4F 4B 0D | OK +[10:38:15] RX (5 bytes): 41 54 43 45 0D | ATCE +[10:38:15] FWD→TX (2 bytes): 30 0D | 0 +[10:38:15] RX (5 bytes): 41 54 43 4E 0D | ATCN +[10:38:15] FWD→TX (3 bytes): 4F 4B 0D | OK +[10:38:17] FWD→TX (3 bytes): 02 0E FF |  +[10:38:17] 역방향 전달 실패: 쓰기 시간이 초과되었습니다. +[10:38:18] 포트 닫힘 +[10:38:18] 전달 포트 닫힘 + + +[10:09:51] TX (3 bytes): 2B 2B 2B | +++ +[10:09:52] RX (10 bytes): 02 0E FF 09 00 00 00 00 01 00 |  [10:09:52] RX (9 bytes): 00 00 30 30 30 30 D5 03 03 | [10:09:52] RX (3 bytes): 4F 4B 0D | OK +[10:09:52] TX (5 bytes): 41 54 43 48 0D | ATCH +[10:09:52] RX (3 bytes): 31 32 0D | 12 +[10:09:52] TX (5 bytes): 41 54 43 4E 0D | ATCN +[10:09:52] RX (3 bytes): 4F 4B 0D | OK +[10:38:02] RX (17 bytes): 02 0E FF 09 00 00 00 00 01 00 00 00 30 30 30 30 D5 |  [10:38:02] RX (2 bytes): 03 03 |  +[10:38:02] TX (5 bytes): 2B 2B 41 54 0D | ++AT +[10:38:02] TX (5 bytes): 41 54 43 4E 0D | ATCN +[10:38:05] TX (3 bytes): 2B 2B 2B | +++ +[10:38:06] RX (3 bytes): 4F 4B 0D | OK +[10:38:06] TX (5 bytes): 41 54 43 48 0D | ATCH +[10:38:06] RX (2 bytes): 31 32 | 12 +[10:38:06] RX (1 bytes): 0D | +[10:38:06] TX (5 bytes): 41 54 49 44 0D | ATID +[10:38:06] RX (5 bytes): 34 36 41 35 0D | 46A5 +[10:38:07] TX (5 bytes): 41 54 44 48 0D | ATDH +[10:38:07] RX (2 bytes): 30 0D | 0 +[10:38:07] TX (5 bytes): 41 54 44 4C 0D | ATDL +[10:38:07] RX (5 bytes): 46 46 46 46 0D | FFFF +[10:38:07] TX (5 bytes): 41 54 4D 59 0D | ATMY +[10:38:07] RX (3 bytes): 38 37 0D | 87 +[10:38:07] TX (5 bytes): 41 54 53 48 0D | ATSH +[10:38:07] RX (2 bytes): 31 33 | 13 +[10:38:07] RX (5 bytes): 41 32 30 30 0D | A200 +[10:38:07] TX (5 bytes): 41 54 53 4C 0D | ATSL +[10:38:07] RX (5 bytes): 34 32 30 39 35 | 42095 +[10:38:07] RX (4 bytes): 31 34 33 0D | 143 +[10:38:07] TX (5 bytes): 41 54 4D 4D 0D | ATMM +[10:38:07] RX (2 bytes): 30 0D | 0 +[10:38:07] TX (5 bytes): 41 54 4E 50 0D | ATNP +[10:38:07] RX (3 bytes): 36 43 0D | 6C +[10:38:07] TX (5 bytes): 41 54 52 52 0D | ATRR +[10:38:07] RX (2 bytes): 30 0D | 0 +[10:38:07] TX (5 bytes): 41 54 52 4E 0D | ATRN +[10:38:07] RX (1 bytes): 30 | 0 +[10:38:07] RX (1 bytes): 0D | +[10:38:08] TX (5 bytes): 41 54 4E 54 0D | ATNT +[10:38:08] RX (3 bytes): 31 39 0D | 19 +[10:38:08] TX (5 bytes): 41 54 4E 4F 0D | ATNO +[10:38:08] RX (2 bytes): 30 0D | 0 +[10:38:08] TX (5 bytes): 41 54 54 4F 0D | ATTO +[10:38:08] RX (2 bytes): 30 0D | 0 +[10:38:08] TX (5 bytes): 41 54 43 38 0D | ATC8 +[10:38:08] RX (2 bytes): 30 0D | 0 +[10:38:08] TX (5 bytes): 41 54 43 45 0D | ATCE +[10:38:08] RX (2 bytes): 30 0D | 0 +[10:38:08] TX (5 bytes): 41 54 53 43 0D | ATSC +[10:38:08] RX (5 bytes): 31 46 46 45 0D | 1FFE +[10:38:08] TX (5 bytes): 41 54 53 44 0D | ATSD +[10:38:08] RX (2 bytes): 34 0D | 4 +[10:38:08] TX (5 bytes): 41 54 41 31 0D | ATA1 +[10:38:08] RX (2 bytes): 30 0D | 0 +[10:38:08] TX (5 bytes): 41 54 41 32 0D | ATA2 +[10:38:08] RX (2 bytes): 30 0D | 0 +[10:38:08] TX (5 bytes): 41 54 41 49 0D | ATAI +[10:38:08] RX (2 bytes): 30 0D | 0 +[10:38:08] TX (5 bytes): 41 54 45 45 0D | ATEE +[10:38:08] RX (2 bytes): 30 0D | 0 +[10:38:08] TX (5 bytes): 41 54 4B 59 0D | ATKY +[10:38:08] RX (3 bytes): 4F 4B 0D | OK +[10:38:08] TX (5 bytes): 41 54 4E 49 0D | ATNI +[10:38:08] RX (2 bytes): 20 0D | +[10:38:08] TX (5 bytes): 41 54 50 4C 0D | ATPL +[10:38:08] RX (2 bytes): 34 0D | 4 +[10:38:08] TX (5 bytes): 41 54 50 4D 0D | ATPM +[10:38:08] RX (2 bytes): 30 0D | 0 +[10:38:09] TX (5 bytes): 41 54 43 41 0D | ATCA +[10:38:09] RX (3 bytes): 32 43 0D | 2C +[10:38:09] TX (5 bytes): 41 54 53 4D 0D | ATSM +[10:38:09] RX (2 bytes): 30 0D | 0 +[10:38:09] TX (5 bytes): 41 54 53 54 0D | ATST +[10:38:09] RX (5 bytes): 31 33 38 38 0D | 1388 +[10:38:09] TX (5 bytes): 41 54 53 50 0D | ATSP +[10:38:09] RX (2 bytes): 30 0D | 0 +[10:38:09] TX (5 bytes): 41 54 44 50 0D | ATDP +[10:38:09] RX (2 bytes): 33 45 | 3E +[10:38:09] RX (2 bytes): 38 0D | 8 +[10:38:09] TX (5 bytes): 41 54 53 4F 0D | ATSO +[10:38:09] RX (2 bytes): 30 0D | 0 +[10:38:09] TX (5 bytes): 41 54 42 44 0D | ATBD +[10:38:09] RX (2 bytes): 33 0D | 3 +[10:38:09] TX (5 bytes): 41 54 4E 42 0D | ATNB +[10:38:09] RX (2 bytes): 30 0D | 0 +[10:38:09] TX (5 bytes): 41 54 52 4F 0D | ATRO +[10:38:09] RX (2 bytes): 33 0D | 3 +[10:38:09] TX (5 bytes): 41 54 44 37 0D | ATD7 +[10:38:09] RX (2 bytes): 31 0D | 1 +[10:38:09] TX (5 bytes): 41 54 44 36 0D | ATD6 +[10:38:09] RX (2 bytes): 30 0D | 0 +[10:38:09] TX (5 bytes): 41 54 41 50 0D | ATAP +[10:38:09] RX (2 bytes): 30 0D | 0 +[10:38:09] TX (5 bytes): 41 54 44 30 0D | ATD0 +[10:38:09] RX (2 bytes): 30 0D | 0 +[10:38:10] TX (5 bytes): 41 54 44 31 0D | ATD1 +[10:38:10] RX (2 bytes): 30 0D | 0 +[10:38:10] TX (5 bytes): 41 54 44 32 0D | ATD2 +[10:38:10] RX (2 bytes): 30 0D | 0 +[10:38:10] TX (5 bytes): 41 54 44 33 0D | ATD3 +[10:38:10] RX (2 bytes): 30 0D | 0 +[10:38:10] TX (5 bytes): 41 54 44 34 0D | ATD4 +[10:38:10] RX (2 bytes): 30 0D | 0 +[10:38:10] TX (5 bytes): 41 54 44 35 0D | ATD5 +[10:38:10] RX (2 bytes): 31 0D | 1 +[10:38:10] TX (5 bytes): 41 54 44 38 0D | ATD8 +[10:38:10] RX (2 bytes): 30 0D | 0 +[10:38:10] TX (5 bytes): 41 54 50 30 0D | ATP0 +[10:38:10] RX (2 bytes): 31 0D | 1 +[10:38:10] TX (5 bytes): 41 54 4D 30 0D | ATM0 +[10:38:10] RX (2 bytes): 30 0D | 0 +[10:38:10] TX (5 bytes): 41 54 50 31 0D | ATP1 +[10:38:10] RX (2 bytes): 30 0D | 0 +[10:38:10] TX (5 bytes): 41 54 4D 31 0D | ATM1 +[10:38:10] RX (2 bytes): 30 0D | 0 +[10:38:10] TX (5 bytes): 41 54 50 32 0D | ATP2 +[10:38:10] RX (2 bytes): 30 0D | 0 +[10:38:10] TX (5 bytes): 41 54 50 52 0D | ATPR +[10:38:10] RX (3 bytes): 46 46 0D | FF +[10:38:10] TX (5 bytes): 41 54 50 44 0D | ATPD +[10:38:10] RX (3 bytes): 46 46 0D | FF +[10:38:10] TX (5 bytes): 41 54 49 55 0D | ATIU +[10:38:10] RX (2 bytes): 31 0D | 1 +[10:38:11] TX (5 bytes): 41 54 49 54 0D | ATIT +[10:38:11] RX (2 bytes): 31 0D | 1 +[10:38:11] TX (5 bytes): 41 54 49 43 0D | ATIC +[10:38:11] RX (2 bytes): 30 0D | 0 +[10:38:11] TX (5 bytes): 41 54 49 52 0D | ATIR +[10:38:11] RX (2 bytes): 30 0D | 0 +[10:38:11] TX (5 bytes): 41 54 50 54 0D | ATPT +[10:38:11] RX (3 bytes): 46 46 0D | FF +[10:38:11] TX (5 bytes): 41 54 52 50 0D | ATRP +[10:38:11] RX (3 bytes): 32 38 0D | 28 +[10:38:11] TX (5 bytes): 41 54 49 41 0D | ATIA +[10:38:11] RX (12 bytes): 46 46 46 46 46 46 46 46 46 46 46 46 | FFFFFFFFFFFF +[10:38:11] RX (5 bytes): 46 46 46 46 0D | FFFF +[10:38:11] TX (5 bytes): 41 54 54 30 0D | ATT0 +[10:38:11] RX (3 bytes): 46 46 0D | FF +[10:38:11] TX (5 bytes): 41 54 54 31 0D | ATT1 +[10:38:11] RX (3 bytes): 46 46 0D | FF +[10:38:11] TX (5 bytes): 41 54 54 32 0D | ATT2 +[10:38:11] RX (3 bytes): 46 46 0D | FF +[10:38:11] TX (5 bytes): 41 54 54 33 0D | ATT3 +[10:38:11] RX (3 bytes): 46 46 0D | FF +[10:38:11] TX (5 bytes): 41 54 54 34 0D | ATT4 +[10:38:11] RX (3 bytes): 46 46 0D | FF +[10:38:11] TX (5 bytes): 41 54 54 35 0D | ATT5 +[10:38:11] RX (3 bytes): 46 46 0D | FF +[10:38:11] TX (5 bytes): 41 54 54 36 0D | ATT6 +[10:38:11] RX (3 bytes): 46 46 0D | FF +[10:38:12] TX (5 bytes): 41 54 54 37 0D | ATT7 +[10:38:12] RX (3 bytes): 46 46 0D | FF +[10:38:12] TX (5 bytes): 41 54 56 52 0D | ATVR +[10:38:12] RX (3 bytes): 32 30 30 | 200 +[10:38:12] RX (2 bytes): 33 0D | 3 +[10:38:12] TX (5 bytes): 41 54 48 56 0D | ATHV +[10:38:12] RX (5 bytes): 32 45 34 45 0D | 2E4E +[10:38:12] TX (5 bytes): 41 54 44 42 0D | ATDB +[10:38:12] RX (3 bytes): 35 44 0D | 5D +[10:38:12] TX (5 bytes): 41 54 45 43 0D | ATEC +[10:38:12] RX (2 bytes): 30 0D | 0 +[10:38:12] TX (5 bytes): 41 54 45 41 0D | ATEA +[10:38:12] RX (2 bytes): 30 0D | 0 +[10:38:12] TX (5 bytes): 41 54 44 44 0D | ATDD +[10:38:12] RX (6 bytes): 31 30 30 30 30 0D | 10000 +[10:38:12] TX (5 bytes): 41 54 43 54 0D | ATCT +[10:38:12] RX (3 bytes): 36 34 0D | 64 +[10:38:12] TX (5 bytes): 41 54 47 54 0D | ATGT +[10:38:12] RX (4 bytes): 33 45 38 0D | 3E8 +[10:38:12] TX (5 bytes): 41 54 43 43 0D | ATCC +[10:38:12] RX (3 bytes): 32 42 0D | 2B +[10:38:12] TX (5 bytes): 41 54 43 4E 0D | ATCN +[10:38:12] RX (3 bytes): 4F 4B 0D | OK +[10:38:14] TX (3 bytes): 2B 2B 2B | +++ +[10:38:15] RX (3 bytes): 4F 4B 0D | OK +[10:38:15] TX (5 bytes): 41 54 43 45 0D | ATCE +[10:38:15] RX (2 bytes): 30 0D | 0 +[10:38:15] TX (5 bytes): 41 54 43 4E 0D | ATCN +[10:38:15] RX (3 bytes): 4F 4B 0D | OK +[10:38:17] RX (3 bytes): 02 0E FF |  +[10:38:17] RX (16 bytes): 09 00 00 00 00 01 00 00 00 30 30 30 30 D5 03 03 |