diff --git a/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemBLDCMotorSetting.Designer.cs b/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemBLDCMotorSetting.Designer.cs index dd295bc..c3f9726 100644 --- a/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemBLDCMotorSetting.Designer.cs +++ b/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemBLDCMotorSetting.Designer.cs @@ -31,11 +31,11 @@ this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlCenterSystemBLDCMotorSetting)); this.smartGroupBox1 = new SmartX.SmartGroupBox(); + this.buttonDefaultSet = new SmartX.SmartButton(); + this.buttonReboot = new SmartX.SmartButton(); this.buttonStart = new SmartX.SmartButton(); this.smartGroupBox4 = new SmartX.SmartGroupBox(); - this.smartListBox1 = new SmartX.SmartListBox(); - this.buttonAlarmRead = new SmartX.SmartButton(); - this.buttonAlarmReset = new SmartX.SmartButton(); + this.listBoxAlarm = new SmartX.SmartListBox(); this.buttonMotor4 = new SmartX.SmartButton(); this.smartGroupBox2 = new SmartX.SmartGroupBox(); this.labelTitleMotorID = new SmartX.SmartLabel(); @@ -77,6 +77,8 @@ this.smartGroupBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(46)))), ((int)(((byte)(46)))), ((int)(((byte)(46))))); this.smartGroupBox1.BackPictureBox = null; this.smartGroupBox1.BackPictureBox1 = null; + this.smartGroupBox1.Controls.Add(this.buttonDefaultSet); + this.smartGroupBox1.Controls.Add(this.buttonReboot); this.smartGroupBox1.Controls.Add(this.buttonStart); this.smartGroupBox1.Controls.Add(this.smartGroupBox4); this.smartGroupBox1.Controls.Add(this.buttonMotor4); @@ -100,6 +102,68 @@ this.smartGroupBox1.TabIndex = 175; this.smartGroupBox1.TextColor = System.Drawing.Color.Black; // + // buttonDefaultSet + // + this.buttonDefaultSet.BackPictureBox = null; + this.buttonDefaultSet.BackPictureBox1 = null; + this.buttonDefaultSet.BackPictureBox2 = null; + this.buttonDefaultSet.ButtonColor = System.Drawing.Color.Gray; + this.buttonDefaultSet.ButtonImageAutoSize = true; + this.buttonDefaultSet.ColorKeySamplePosition = new System.Drawing.Point(0, 0); + this.buttonDefaultSet.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonDefaultSet.DisableImage"))); + this.buttonDefaultSet.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonDefaultSet.DownImage"))); + this.buttonDefaultSet.GroupID = 0; + this.buttonDefaultSet.InitVisible = true; + this.buttonDefaultSet.Location = new System.Drawing.Point(389, 20); + this.buttonDefaultSet.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; + this.buttonDefaultSet.Name = "buttonDefaultSet"; + this.buttonDefaultSet.NestedClickEventPrevent = false; + this.buttonDefaultSet.OutlinePixel = 1; + this.buttonDefaultSet.RepeatInterval = 200; + this.buttonDefaultSet.RepeatIntervalAccelerate = null; + this.buttonDefaultSet.SafeInterval = 200; + this.buttonDefaultSet.Size = new System.Drawing.Size(50, 50); + this.buttonDefaultSet.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; + this.buttonDefaultSet.TabIndex = 213; + this.buttonDefaultSet.TextColor = System.Drawing.Color.Black; + this.buttonDefaultSet.TextDownColor = System.Drawing.Color.White; + this.buttonDefaultSet.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; + this.buttonDefaultSet.TextLocation = new System.Drawing.Point(0, 0); + this.buttonDefaultSet.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; + this.buttonDefaultSet.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonDefaultSet.UpImage"))); + this.buttonDefaultSet.Click += new System.EventHandler(this.buttonDefaultSet_Click); + // + // buttonReboot + // + this.buttonReboot.BackPictureBox = null; + this.buttonReboot.BackPictureBox1 = null; + this.buttonReboot.BackPictureBox2 = null; + this.buttonReboot.ButtonColor = System.Drawing.Color.Gray; + this.buttonReboot.ButtonImageAutoSize = true; + this.buttonReboot.ColorKeySamplePosition = new System.Drawing.Point(0, 0); + this.buttonReboot.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonReboot.DisableImage"))); + this.buttonReboot.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonReboot.DownImage"))); + this.buttonReboot.GroupID = 0; + this.buttonReboot.InitVisible = true; + this.buttonReboot.Location = new System.Drawing.Point(445, 20); + this.buttonReboot.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; + this.buttonReboot.Name = "buttonReboot"; + this.buttonReboot.NestedClickEventPrevent = false; + this.buttonReboot.OutlinePixel = 1; + this.buttonReboot.RepeatInterval = 200; + this.buttonReboot.RepeatIntervalAccelerate = null; + this.buttonReboot.SafeInterval = 200; + this.buttonReboot.Size = new System.Drawing.Size(50, 50); + this.buttonReboot.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; + this.buttonReboot.TabIndex = 212; + this.buttonReboot.TextColor = System.Drawing.Color.Black; + this.buttonReboot.TextDownColor = System.Drawing.Color.White; + this.buttonReboot.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; + this.buttonReboot.TextLocation = new System.Drawing.Point(0, 0); + this.buttonReboot.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; + this.buttonReboot.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonReboot.UpImage"))); + this.buttonReboot.Click += new System.EventHandler(this.buttonReboot_Click); + // // buttonStart // this.buttonStart.BackPictureBox = null; @@ -136,9 +200,7 @@ this.smartGroupBox4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); this.smartGroupBox4.BackPictureBox = null; this.smartGroupBox4.BackPictureBox1 = null; - this.smartGroupBox4.Controls.Add(this.smartListBox1); - this.smartGroupBox4.Controls.Add(this.buttonAlarmRead); - this.smartGroupBox4.Controls.Add(this.buttonAlarmReset); + this.smartGroupBox4.Controls.Add(this.listBoxAlarm); this.smartGroupBox4.Font = new System.Drawing.Font("Arial", 13F, System.Drawing.FontStyle.Bold); this.smartGroupBox4.FrameLineColor1 = System.Drawing.Color.White; this.smartGroupBox4.FrameLineColor2 = System.Drawing.Color.Black; @@ -154,104 +216,38 @@ this.smartGroupBox4.Text = "Alarm"; this.smartGroupBox4.TextColor = System.Drawing.Color.White; // - // smartListBox1 + // listBoxAlarm // - this.smartListBox1.BackPictureBox = null; - this.smartListBox1.BackPictureBox1 = null; - this.smartListBox1.BackPictureBox2 = null; - this.smartListBox1.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER; - this.smartListBox1.ColumnDelimiter = '\0'; - this.smartListBox1.ColumnOffsets = null; - this.smartListBox1.Font = new System.Drawing.Font("Arial", 13F, System.Drawing.FontStyle.Regular); - this.smartListBox1.FontColor = System.Drawing.Color.Black; - this.smartListBox1.InitVisible = true; - this.smartListBox1.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD; - this.smartListBox1.ItemOffsetGap = 0; - this.smartListBox1.ItemOffsetX = 0; - this.smartListBox1.ItemOffsetY = 0; - this.smartListBox1.Location = new System.Drawing.Point(34, 89); - this.smartListBox1.MouseMoveEventSpace = 3; - this.smartListBox1.MouseMoveSpace = 10; - this.smartListBox1.Name = "smartListBox1"; - this.smartListBox1.OutLineColor = System.Drawing.SystemColors.ControlText; - this.smartListBox1.SelectColor = System.Drawing.Color.Blue; - this.smartListBox1.SelectFilled = true; - this.smartListBox1.SelectFontColor = System.Drawing.Color.DarkBlue; - this.smartListBox1.SelectItemIndex = -1; - this.smartListBox1.SeparationlineColor1 = System.Drawing.Color.Gray; - this.smartListBox1.SeparationlineColor2 = System.Drawing.Color.LightGray; - this.smartListBox1.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle; - this.smartListBox1.SeparationlineVisibleBottom = true; - this.smartListBox1.SeparationlineVisibleTop = true; - this.smartListBox1.Size = new System.Drawing.Size(206, 107); - this.smartListBox1.TabIndex = 210; - this.smartListBox1.Text = "smartListBox1"; - // - // buttonAlarmRead - // - this.buttonAlarmRead.BackPictureBox = null; - this.buttonAlarmRead.BackPictureBox1 = null; - this.buttonAlarmRead.BackPictureBox2 = null; - this.buttonAlarmRead.ButtonColor = System.Drawing.Color.Gray; - this.buttonAlarmRead.ButtonImageAutoSize = true; - this.buttonAlarmRead.ColorKeySamplePosition = new System.Drawing.Point(0, 0); - this.buttonAlarmRead.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonAlarmRead.DisableImage"))); - this.buttonAlarmRead.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonAlarmRead.DownImage"))); - this.buttonAlarmRead.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold); - this.buttonAlarmRead.GroupID = 0; - this.buttonAlarmRead.InitVisible = true; - this.buttonAlarmRead.Location = new System.Drawing.Point(34, 43); - this.buttonAlarmRead.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; - this.buttonAlarmRead.Name = "buttonAlarmRead"; - this.buttonAlarmRead.NestedClickEventPrevent = false; - this.buttonAlarmRead.OutlinePixel = 1; - this.buttonAlarmRead.RepeatInterval = 200; - this.buttonAlarmRead.RepeatIntervalAccelerate = null; - this.buttonAlarmRead.SafeInterval = 200; - this.buttonAlarmRead.Size = new System.Drawing.Size(100, 40); - this.buttonAlarmRead.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; - this.buttonAlarmRead.TabIndex = 209; - this.buttonAlarmRead.Text = "Alarm Read"; - this.buttonAlarmRead.TextColor = System.Drawing.Color.White; - this.buttonAlarmRead.TextDownColor = System.Drawing.Color.White; - this.buttonAlarmRead.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; - this.buttonAlarmRead.TextLocation = new System.Drawing.Point(0, 0); - this.buttonAlarmRead.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; - this.buttonAlarmRead.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonAlarmRead.UpImage"))); - this.buttonAlarmRead.Click += new System.EventHandler(this.buttonAlarmRead_Click); - // - // buttonAlarmReset - // - this.buttonAlarmReset.BackPictureBox = null; - this.buttonAlarmReset.BackPictureBox1 = null; - this.buttonAlarmReset.BackPictureBox2 = null; - this.buttonAlarmReset.ButtonColor = System.Drawing.Color.Gray; - this.buttonAlarmReset.ButtonImageAutoSize = true; - this.buttonAlarmReset.ColorKeySamplePosition = new System.Drawing.Point(0, 0); - this.buttonAlarmReset.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonAlarmReset.DisableImage"))); - this.buttonAlarmReset.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonAlarmReset.DownImage"))); - this.buttonAlarmReset.Font = new System.Drawing.Font("Arial", 11F, System.Drawing.FontStyle.Bold); - this.buttonAlarmReset.GroupID = 0; - this.buttonAlarmReset.InitVisible = true; - this.buttonAlarmReset.Location = new System.Drawing.Point(140, 43); - this.buttonAlarmReset.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; - this.buttonAlarmReset.Name = "buttonAlarmReset"; - this.buttonAlarmReset.NestedClickEventPrevent = false; - this.buttonAlarmReset.OutlinePixel = 1; - this.buttonAlarmReset.RepeatInterval = 200; - this.buttonAlarmReset.RepeatIntervalAccelerate = null; - this.buttonAlarmReset.SafeInterval = 200; - this.buttonAlarmReset.Size = new System.Drawing.Size(100, 40); - this.buttonAlarmReset.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; - this.buttonAlarmReset.TabIndex = 208; - this.buttonAlarmReset.Text = "Alarm Reset"; - this.buttonAlarmReset.TextColor = System.Drawing.Color.White; - this.buttonAlarmReset.TextDownColor = System.Drawing.Color.White; - this.buttonAlarmReset.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; - this.buttonAlarmReset.TextLocation = new System.Drawing.Point(0, 0); - this.buttonAlarmReset.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; - this.buttonAlarmReset.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonAlarmReset.UpImage"))); - this.buttonAlarmReset.Click += new System.EventHandler(this.buttonAlarmReset_Click); + this.listBoxAlarm.BackPictureBox = null; + this.listBoxAlarm.BackPictureBox1 = null; + this.listBoxAlarm.BackPictureBox2 = null; + this.listBoxAlarm.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER; + this.listBoxAlarm.ColumnDelimiter = '\0'; + this.listBoxAlarm.ColumnOffsets = null; + this.listBoxAlarm.Font = new System.Drawing.Font("Arial", 13F, System.Drawing.FontStyle.Regular); + this.listBoxAlarm.FontColor = System.Drawing.Color.Black; + this.listBoxAlarm.InitVisible = true; + this.listBoxAlarm.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD; + this.listBoxAlarm.ItemOffsetGap = 0; + this.listBoxAlarm.ItemOffsetX = 0; + this.listBoxAlarm.ItemOffsetY = 0; + this.listBoxAlarm.Location = new System.Drawing.Point(34, 39); + this.listBoxAlarm.MouseMoveEventSpace = 3; + this.listBoxAlarm.MouseMoveSpace = 10; + this.listBoxAlarm.Name = "listBoxAlarm"; + this.listBoxAlarm.OutLineColor = System.Drawing.SystemColors.ControlText; + this.listBoxAlarm.SelectColor = System.Drawing.Color.Blue; + this.listBoxAlarm.SelectFilled = true; + this.listBoxAlarm.SelectFontColor = System.Drawing.Color.DarkBlue; + this.listBoxAlarm.SelectItemIndex = -1; + this.listBoxAlarm.SeparationlineColor1 = System.Drawing.Color.Gray; + this.listBoxAlarm.SeparationlineColor2 = System.Drawing.Color.LightGray; + this.listBoxAlarm.SeparationLineStyle = SmartX.SmartListBox.SEPARATIONLINETYPES.FixedSingle; + this.listBoxAlarm.SeparationlineVisibleBottom = true; + this.listBoxAlarm.SeparationlineVisibleTop = true; + this.listBoxAlarm.Size = new System.Drawing.Size(206, 164); + this.listBoxAlarm.TabIndex = 210; + this.listBoxAlarm.Text = "smartListBox1"; // // buttonMotor4 // @@ -588,6 +584,7 @@ this.buttonRefresh.TextLocation = new System.Drawing.Point(0, 0); this.buttonRefresh.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; this.buttonRefresh.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonRefresh.UpImage"))); + this.buttonRefresh.Visible = false; this.buttonRefresh.Click += new System.EventHandler(this.buttonRefresh_Click); // // buttonMotor2 @@ -976,9 +973,9 @@ public SmartX.SmartLabel labelMotorID; private SmartX.SmartGroupBox smartGroupBox4; private SmartX.SmartButton buttonStart; - private SmartX.SmartButton buttonAlarmReset; - private SmartX.SmartButton buttonAlarmRead; - private SmartX.SmartListBox smartListBox1; + private SmartX.SmartListBox listBoxAlarm; private SmartX.SmartTimer timer; + private SmartX.SmartButton buttonReboot; + private SmartX.SmartButton buttonDefaultSet; } } diff --git a/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemBLDCMotorSetting.cs b/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemBLDCMotorSetting.cs index ca1e01c..12d4bd8 100644 --- a/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemBLDCMotorSetting.cs +++ b/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemBLDCMotorSetting.cs @@ -93,6 +93,10 @@ namespace ITC81DB_0H.Controls this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Read, this.CommID, CommunicationAddress.BLDCMotorParameterRead, ""); } + public void DisplayRPM() + { + this.labelMotorRPM.Text = this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex]._6734_MotorRPM; + } public void VisibleMotorNum(int num) { @@ -108,14 +112,24 @@ namespace ITC81DB_0H.Controls button[i].Visible = false; } + public void UpdateAlarm(int index, Collection items) + { + this.listBoxAlarm.Items.Clear(); + if (items[index]._6790_Alarm_FaultSignal == true) + this.listBoxAlarm.Items.Add("Detect Fault Signal"); + if (items[index]._6791_Alarm_HallSensorError == true) + this.listBoxAlarm.Items.Add("Hall Sensor Error"); + if (items[index]._6792_Alarm_MotorStop == true) + this.listBoxAlarm.Items.Add("Motor stopped while operating"); + } public void UpdateParameter(int index, Collection items) { - this.labelVersionMajor.Text = items[index].VersionMajor + "."; - this.labelVersionMinor.Text = items[index].VersionMinor + "."; - this.labelVersionBuild.Text = items[index].VersionBuild; + this.labelVersionMajor.Text = items[index]._6730_VersionMajor + "."; + this.labelVersionMinor.Text = items[index]._6731_VersionMinor + "."; + this.labelVersionBuild.Text = items[index]._6732_VersionBuild; - this.labelMotorRPM.Text = items[index].MotorRPM.ToString(); - switch (items[index].MotorDirection) + this.labelMotorRPM.Text = items[index]._6734_MotorRPM.ToString(); + switch (items[index]._6735_MotorDirection) { case 0: this.labelMotorDirectionRead.Text = "None"; @@ -130,7 +144,7 @@ namespace ITC81DB_0H.Controls this.labelMotorDirectionRead.Text = "None"; break; } - switch (items[index].SelectOperMode) + switch (items[index]._6765_SelectOperMode) { case 0: this.labelSelectOperMode.Text = "MCU"; @@ -146,10 +160,10 @@ namespace ITC81DB_0H.Controls public void DisplayParameter(int index, Collection items) { this.labelMotorID.Text = items[index].MotorID.ToString(); - this.labelMotorSpeed.Text = items[index].MotorSpeed.ToString(); - this.comboBoxMotorPoleNum.SelectedIndex = items[index].PoleNum; - this.labelAttenuatorRatio.Text = items[index].AttenuatorRatio.ToString(); - if (items[index].OperDirection == 1) + this.labelMotorSpeed.Text = items[index]._6704_MotorSpeed.ToString(); + this.comboBoxMotorPoleNum.SelectedIndex = items[index]._6705_PoleNum; + this.labelAttenuatorRatio.Text = items[index]._6706_AttenuatorRatio.ToString(); + if (items[index]._6764_OperDirection == 1) this.buttonMotorDirectionWrite.ButtonDown(); else this.buttonMotorDirectionWrite.ButtonUp(); @@ -187,16 +201,50 @@ namespace ITC81DB_0H.Controls this.DisplayParameter(this.MotorIndex, this.ParentForm.ParentForm.CollectionBLDCParameter); } + private void buttonDefaultSet_Click(object sender, EventArgs e) + { + DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.ParentForm.SystemConfig1.Language, 25); + if (myDlg.ShowDialog() == DialogResult.Yes) + { + this.ParentForm.ParentForm.TransferData(CommunicationCommand.BLDCDefaultSet, CommunicationID.MainBoard); + + for (int i = 0; i < FormMain.BLDCMotorNum; i++) + { + this.ParentForm.ParentForm.CollectionBLDCParameter[i]._6704_MotorSpeed = 80; + this.ParentForm.ParentForm.CollectionBLDCParameter[i]._6705_PoleNum = 1; + this.ParentForm.ParentForm.CollectionBLDCParameter[i]._6706_AttenuatorRatio = 5; + this.ParentForm.ParentForm.CollectionBLDCParameter[i]._6764_OperDirection = 1; + } + this.ParentForm.ParentForm.SaveBLDCMotorFile(this.ParentForm.ParentForm.CollectionBLDCParameter); + //this.ParentForm.ParentForm.TransferBLDCMotorData + // (this.CommID, this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex]); + } + } + private void buttonReboot_Click(object sender, EventArgs e) + { + DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.ParentForm.SystemConfig1.Language, 26); + if (myDlg.ShowDialog() == DialogResult.Yes) + { + this.ParentForm.ParentForm.TransferData(CommunicationCommand.BLDCMCUReboot, CommunicationID.MainBoard); + } + } + private void buttonRefresh_Click(object sender, EventArgs e) { this.RefreshDisplay(); } private void buttonStart_Click(object sender, EventArgs e) { - if(this.buttonStart.ButtonStatus == SmartButton.BUTSTATUS.DOWN) + if (this.buttonStart.ButtonStatus == SmartButton.BUTSTATUS.DOWN) + { this.ParentForm.ParentForm.TransferData(CommunicationCommand.Start, this.CommID); + this.timer.Start(); + } else + { this.ParentForm.ParentForm.TransferData(CommunicationCommand.Stop, this.CommID); + this.timer.Stop(); + } } private void labelMotorID_Click(object sender, EventArgs e) @@ -242,7 +290,7 @@ namespace ITC81DB_0H.Controls else { this.labelMotorSpeed.Text = myKeyPad.StringValue; - this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex].MotorSpeed = myKeyPad.IntValue; + this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex]._6704_MotorSpeed = myKeyPad.IntValue; value = Helper.StringZeroFillDigits4(myKeyPad.StringValue); this.ParentForm.ParentForm.SaveBLDCMotorFile(this.ParentForm.ParentForm.CollectionBLDCParameter); @@ -255,7 +303,7 @@ namespace ITC81DB_0H.Controls { string value = ""; - this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex].PoleNum = this.comboBoxMotorPoleNum.SelectedIndex; + this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex]._6705_PoleNum = this.comboBoxMotorPoleNum.SelectedIndex; value = Helper.StringZeroFillDigits4(this.comboBoxMotorPoleNum.SelectedIndex.ToString()); this.ParentForm.ParentForm.SaveBLDCMotorFile(this.ParentForm.ParentForm.CollectionBLDCParameter); @@ -278,7 +326,7 @@ namespace ITC81DB_0H.Controls else { this.labelAttenuatorRatio.Text = myKeyPad.StringValue; - this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex].AttenuatorRatio = myKeyPad.IntValue; + this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex]._6706_AttenuatorRatio = myKeyPad.IntValue; value = Helper.StringZeroFillDigits4(myKeyPad.StringValue); this.ParentForm.ParentForm.SaveBLDCMotorFile(this.ParentForm.ParentForm.CollectionBLDCParameter); @@ -291,29 +339,21 @@ namespace ITC81DB_0H.Controls string value = ""; if (this.buttonMotorDirectionWrite.ButtonStatus == SmartButton.BUTSTATUS.DOWN) - this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex].OperDirection = 1; // CCW + this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex]._6764_OperDirection = 1; // CCW else - this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex].OperDirection = 0; // CW + this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex]._6764_OperDirection = 0; // CW this.ParentForm.ParentForm.SaveBLDCMotorFile(this.ParentForm.ParentForm.CollectionBLDCParameter); - value = Helper.StringZeroFillDigits4(this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex].OperDirection.ToString()); + value = Helper.StringZeroFillDigits4(this.ParentForm.ParentForm.CollectionBLDCParameter[this.MotorIndex]._6764_OperDirection.ToString()); this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Write, this.CommID, CommunicationAddress.BLDCOperDirection, value); this.RefreshDisplay(); } - private void buttonAlarmRead_Click(object sender, EventArgs e) - { - - } - private void buttonAlarmReset_Click(object sender, EventArgs e) - { - this.ParentForm.ParentForm.TransferData(CommunicationCommand.MotorAlarmReset, this.CommID); - } - private void timer_Tick(object sender, EventArgs e) { - + this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Read, this.CommID, + CommunicationAddress.BLDCMotorRPM, ""); } #endregion } diff --git a/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemBLDCMotorSetting.resx b/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemBLDCMotorSetting.resx index 694a589..5f13581 100644 --- a/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemBLDCMotorSetting.resx +++ b/ITC81DB_0H/Controls/CenterSystem/ControlCenterSystemBLDCMotorSetting.resx @@ -118,6 +118,606 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 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 + rkJggg== + + + + + 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 + gg== + + + + + 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 @@ -317,394 +917,6 @@ r41lE99ArafWMpd/sTkt4Fb5T8yxJwteOSv3EIgXpl2dBIyuHoPp1Dy+lMGRYTUXemsIVl5a7dMqaqWr 5Yy9hDnMYuFOZOcewf3K3ewKXogCIBZGVZXMhVhbAg3gsDaSQGPpZJyrsYT7NTWGGkGAvtz+3kOAJOam HL0QaWlp+D/wCVgtPf3sUQAAAABJRU5ErkJggg== - - - - - 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 - fvp0oIaG3yhXP/qw1nqaAAAAAElFTkSuQmCC - - - - - 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 - gg== - - - - - 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 - fvp0oIaG3yhXP/qw1nqaAAAAAElFTkSuQmCC - - - - - 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 - gg== @@ -2089,10 +2301,10 @@ - 17, 17 + 17, 4 - 49 + 35 WEBPAD diff --git a/ITC81DB_0H/DataStore.cs b/ITC81DB_0H/DataStore.cs index 8f3b0e1..12bac83 100644 --- a/ITC81DB_0H/DataStore.cs +++ b/ITC81DB_0H/DataStore.cs @@ -906,6 +906,8 @@ namespace ITC81DB_0H public static readonly string SystemInformationRead4 = "9515"; // BLDC 모터 파라미터 읽기 public static readonly string BLDCMotorParameterRead = "9516"; + // BLDC 모터 알람 읽기 + public static readonly string BLDCMotorAlarmRead = "9517"; } #endregion @@ -2923,29 +2925,32 @@ namespace ITC81DB_0H #region Field private int m_MotorID; - private int m_CommBaudrate; - private int m_CommParityBit; - private int m_PWMDelay; - private int m_FeedbackDeviation; - private int m_MotorSpeed; - private int m_PoleNum; - private int m_AttenuatorRatio; + private int m_6700_CommBaudrate; + private int m_6701_CommParityBit; + private int m_6702_PWMDelay; + private int m_6703_FeedbackDeviation; + private int m_6704_MotorSpeed; + private int m_6705_PoleNum; + private int m_6706_AttenuatorRatio; - private int m_BootingStart; - private int m_PortUse; - private int m_Feedback; - private int m_InitDirection; - private int m_OperDirection; - private int m_SelectOperMode; + private int m_6760_BootingStart; + private int m_6761_PortUse; + private int m_6762_Feedback; + private int m_6763_InitDirection; + private int m_6764_OperDirection; + private int m_6765_SelectOperMode; - private string m_VersionMajor; - private string m_VersionMinor; - private string m_VersionBuild; - private string m_Frequency; - private string m_MotorRPM; - private int m_MotorDirection; - private string m_AttenuatorRPM; + private string m_6730_VersionMajor; + private string m_6731_VersionMinor; + private string m_6732_VersionBuild; + private string m_6733_Frequency; + private string m_6734_MotorRPM; + private int m_6735_MotorDirection; + private string m_6736_AttenuatorRPM; + private bool m_6790_Alarm_FaultSignal; + private bool m_6791_Alarm_HallSensorError; + private bool m_6792_Alarm_MotorStop; #endregion #region Constructor @@ -2962,107 +2967,123 @@ namespace ITC81DB_0H set { this.m_MotorID = value; } } - public int CommBaudrate + public int _6700_CommBaudrate { - get { return this.m_CommBaudrate; } - set { this.m_CommBaudrate = value; } + get { return this.m_6700_CommBaudrate; } + set { this.m_6700_CommBaudrate = value; } } - public int CommParityBit + public int _6701_CommParityBit { - get { return this.m_CommParityBit; } - set { this.m_CommParityBit = value; } + get { return this.m_6701_CommParityBit; } + set { this.m_6701_CommParityBit = value; } } - public int PWMDelay + public int _6702_PWMDelay { - get { return this.m_PWMDelay; } - set { this.m_PWMDelay = value; } + get { return this.m_6702_PWMDelay; } + set { this.m_6702_PWMDelay = value; } } - public int FeedbackDeviation + public int _6703_FeedbackDeviation { - get { return this.m_FeedbackDeviation; } - set { this.m_FeedbackDeviation = value; } + get { return this.m_6703_FeedbackDeviation; } + set { this.m_6703_FeedbackDeviation = value; } } - public int MotorSpeed + public int _6704_MotorSpeed { - get { return this.m_MotorSpeed; } - set { this.m_MotorSpeed = value; } + get { return this.m_6704_MotorSpeed; } + set { this.m_6704_MotorSpeed = value; } } - public int PoleNum + public int _6705_PoleNum { - get { return this.m_PoleNum; } - set { this.m_PoleNum = value; } + get { return this.m_6705_PoleNum; } + set { this.m_6705_PoleNum = value; } } - public int AttenuatorRatio + public int _6706_AttenuatorRatio { - get { return this.m_AttenuatorRatio; } - set { this.m_AttenuatorRatio = value; } + get { return this.m_6706_AttenuatorRatio; } + set { this.m_6706_AttenuatorRatio = value; } } - public int BootingStart + public int _6760_BootingStart { - get { return this.m_BootingStart; } - set { this.m_BootingStart = value; } + get { return this.m_6760_BootingStart; } + set { this.m_6760_BootingStart = value; } } - public int PortUse + public int _6761_PortUse { - get { return this.m_PortUse; } - set { this.m_PortUse = value; } + get { return this.m_6761_PortUse; } + set { this.m_6761_PortUse = value; } } - public int Feedback + public int _6762_Feedback { - get { return this.m_Feedback; } - set { this.m_Feedback = value; } + get { return this.m_6762_Feedback; } + set { this.m_6762_Feedback = value; } } - public int InitDirection + public int _6763_InitDirection { - get { return this.m_InitDirection; } - set { this.m_InitDirection = value; } + get { return this.m_6763_InitDirection; } + set { this.m_6763_InitDirection = value; } } - public int OperDirection + public int _6764_OperDirection { - get { return this.m_OperDirection; } - set { this.m_OperDirection = value; } + get { return this.m_6764_OperDirection; } + set { this.m_6764_OperDirection = value; } } - public int SelectOperMode + public int _6765_SelectOperMode { - get { return this.m_SelectOperMode; } - set { this.m_SelectOperMode = value; } + get { return this.m_6765_SelectOperMode; } + set { this.m_6765_SelectOperMode = value; } } - public string VersionMajor + public string _6730_VersionMajor { - get { return this.m_VersionMajor; } - set { this.m_VersionMajor = value; } + get { return this.m_6730_VersionMajor; } + set { this.m_6730_VersionMajor = value; } } - public string VersionMinor + public string _6731_VersionMinor { - get { return this.m_VersionMinor; } - set { this.m_VersionMinor = value; } + get { return this.m_6731_VersionMinor; } + set { this.m_6731_VersionMinor = value; } } - public string VersionBuild + public string _6732_VersionBuild { - get { return this.m_VersionBuild; } - set { this.m_VersionBuild = value; } + get { return this.m_6732_VersionBuild; } + set { this.m_6732_VersionBuild = value; } } - public string Frequency + public string _6733_Frequency { - get { return this.m_Frequency; } - set { this.m_Frequency = value; } + get { return this.m_6733_Frequency; } + set { this.m_6733_Frequency = value; } } - public string MotorRPM + public string _6734_MotorRPM { - get { return this.m_MotorRPM; } - set { this.m_MotorRPM = value; } + get { return this.m_6734_MotorRPM; } + set { this.m_6734_MotorRPM = value; } } - public int MotorDirection + public int _6735_MotorDirection { - get { return this.m_MotorDirection; } - set { this.m_MotorDirection = value; } + get { return this.m_6735_MotorDirection; } + set { this.m_6735_MotorDirection = value; } } - public string AttenuatorRPM + public string _6736_AttenuatorRPM { - get { return this.m_AttenuatorRPM; } - set { this.m_AttenuatorRPM = value; } + get { return this.m_6736_AttenuatorRPM; } + set { this.m_6736_AttenuatorRPM = value; } + } + + public bool _6790_Alarm_FaultSignal + { + get { return this.m_6790_Alarm_FaultSignal; } + set { this.m_6790_Alarm_FaultSignal = value; } + } + public bool _6791_Alarm_HallSensorError + { + get { return this.m_6791_Alarm_HallSensorError; } + set { this.m_6791_Alarm_HallSensorError = value; } + } + public bool _6792_Alarm_MotorStop + { + get { return this.m_6792_Alarm_MotorStop; } + set { this.m_6792_Alarm_MotorStop = value; } } #endregion @@ -3071,28 +3092,32 @@ namespace ITC81DB_0H { this.MotorID = 0; - this.CommBaudrate = 0; - this.CommParityBit = 0; - this.PWMDelay = 5; - this.FeedbackDeviation = 60; - this.MotorSpeed = 80; - this.PoleNum = 1; - this.AttenuatorRatio = 5; + this._6700_CommBaudrate = 0; + this._6701_CommParityBit = 0; + this._6702_PWMDelay = 5; + this._6703_FeedbackDeviation = 60; + this._6704_MotorSpeed = 80; + this._6705_PoleNum = 1; + this._6706_AttenuatorRatio = 5; - this.BootingStart = 0; - this.PortUse = 1; - this.Feedback = 0; - this.InitDirection = 0; - this.OperDirection = 0; - this.SelectOperMode = 0; + this._6760_BootingStart = 0; + this._6761_PortUse = 1; + this._6762_Feedback = 0; + this._6763_InitDirection = 0; + this._6764_OperDirection = 0; + this._6765_SelectOperMode = 0; - this.VersionMajor = "01"; - this.VersionMinor = "00"; - this.VersionBuild = "00"; - this.Frequency = "0"; - this.MotorRPM = "0"; - this.MotorDirection = 1; - this.AttenuatorRPM = "0"; + this._6730_VersionMajor = "01"; + this._6731_VersionMinor = "00"; + this._6732_VersionBuild = "00"; + this._6733_Frequency = "0"; + this._6734_MotorRPM = "0"; + this._6735_MotorDirection = 1; + this._6736_AttenuatorRPM = "0"; + + this._6790_Alarm_FaultSignal = false; + this._6791_Alarm_HallSensorError = false; + this._6792_Alarm_MotorStop = false; } #endregion } diff --git a/ITC81DB_0H/DialogForms/DialogFormYesNo.cs b/ITC81DB_0H/DialogForms/DialogFormYesNo.cs index 0f1b5b5..697f685 100644 --- a/ITC81DB_0H/DialogForms/DialogFormYesNo.cs +++ b/ITC81DB_0H/DialogForms/DialogFormYesNo.cs @@ -130,6 +130,16 @@ namespace ITC81DB_0H.DialogForms this.labelMessage1.Text = "소수점을 변경하면 랜덤모드 설정값이 초기화됩니다."; this.labelMessage2.Text = "소수점을 변경하시겠습니까?"; break; + case 25: + this.labelErrorCode.Text = "Motor Default Set"; + this.labelMessage1.Text = "모든 BLDC 모터 설정값을 Default로 설정하시겠습니까?"; + this.labelMessage2.Text = "이전 값으로 되돌릴 수 없습니다."; + break; + case 26: + this.labelErrorCode.Text = "Motor Reboot"; + this.labelMessage1.Text = "모든 BLDC 모터 보드를 리부팅 하시겠습니까?"; + this.labelMessage2.Text = ""; + break; default: break; } @@ -240,6 +250,16 @@ namespace ITC81DB_0H.DialogForms this.labelMessage1.Text = "Changing the decimal point resets the random mode"; this.labelMessage2.Text = "settings. Do you want to change the decimal point?"; break; + case 25: + this.labelErrorCode.Text = "Motor Default Set"; + this.labelMessage1.Text = "Do you want to set all BLDC motor settings to Default?"; + this.labelMessage2.Text = "It cannot be reverted to its previous value."; + break; + case 26: + this.labelErrorCode.Text = "Motor Reboot"; + this.labelMessage1.Text = "Reboot all BLDC motor boards?"; + this.labelMessage2.Text = ""; + break; default: break; } @@ -350,6 +370,16 @@ namespace ITC81DB_0H.DialogForms this.labelMessage1.Text = "更改小数点将重置随机模式设置。"; this.labelMessage2.Text = "您要更改小数点吗?"; break; + case 25: + this.labelErrorCode.Text = ""; + this.labelMessage1.Text = "是否要将所有 BLDC 电机设置设为默认值?"; + this.labelMessage2.Text = "它不能恢复到以前的值。"; + break; + case 26: + this.labelErrorCode.Text = ""; + this.labelMessage1.Text = "重新启动所有 BLDC 电机板?"; + this.labelMessage2.Text = ""; + break; default: break; } @@ -463,6 +493,16 @@ namespace ITC81DB_0H.DialogForms this.labelMessage1.Text = "Изменение десятичной точки сбрасывает настройки случайного режима."; this.labelMessage2.Text = "Изменить десятичную точку?"; break; + case 25: + this.labelErrorCode.Text = ""; + this.labelMessage1.Text = "Вы хотите установить все настройки двигателя BLDC по умолчанию?"; + this.labelMessage2.Text = "Его нельзя вернуть к предыдущему значению."; + break; + case 26: + this.labelErrorCode.Text = ""; + this.labelMessage1.Text = "Перезагрузить все платы двигателей BLDC?"; + this.labelMessage2.Text = ""; + break; default: break; } @@ -575,6 +615,16 @@ namespace ITC81DB_0H.DialogForms this.labelMessage1.Text = "Wenn der Dezimalpunkt geändert wird, wird der"; this.labelMessage2.Text = "Zufallsmoduseinstellung initialisiert. Willst du es ändern?"; break; + case 25: + this.labelErrorCode.Text = ""; + this.labelMessage1.Text = "Möchten Sie alle BLDC-Motoreinstellungen auf Standard setzen?"; + this.labelMessage2.Text = "Nelze ji vrátit na předchozí hodnotu."; + break; + case 26: + this.labelErrorCode.Text = ""; + this.labelMessage1.Text = "Alle BLDC-Motorplatinen neu starten?"; + this.labelMessage2.Text = ""; + break; default: break; } diff --git a/ITC81DB_0H/Forms/FormMain.cs b/ITC81DB_0H/Forms/FormMain.cs index 7d8fcb7..c51d4f7 100644 --- a/ITC81DB_0H/Forms/FormMain.cs +++ b/ITC81DB_0H/Forms/FormMain.cs @@ -2134,6 +2134,24 @@ namespace ITC81DB_0H.Forms break; case "5302": break; + case "6734": // BLDC - 구동중인 모터의 RPM + #region Value Assign + for (int i = 0; i < BLDCMotorNum; i++) + { + if (this.CurrentMotorID(lane) == this.CollectionBLDCParameter[i].MotorID) + { + index = i; + + this.CollectionBLDCParameter[index]._6734_MotorRPM = receiveData.Substring(0, 4); + + if (this.ChildFormMenu.CenterSystemBLDCMotorSetting != null) + this.ChildFormMenu.CenterSystemBLDCMotorSetting.DisplayRPM(); + + break; + } + } + #endregion + break; case "6901": break; case "9031": @@ -2263,26 +2281,52 @@ namespace ITC81DB_0H.Forms if (this.ChildFormMenu.CenterInforSystem3 != null) this.ChildFormMenu.CenterInforSystem3.UpdateParameter2Display(this.SystemInfo3); break; - case "9516": + case "9516": // BLDC 모터 파라미터 읽기 #region Value Assign for (int i = 0; i < BLDCMotorNum; i++) { if (this.CurrentMotorID(lane) == this.CollectionBLDCParameter[i].MotorID) + { index = i; + + this.CollectionBLDCParameter[index]._6730_VersionMajor = receiveData.Substring(0, 4); + this.CollectionBLDCParameter[index]._6731_VersionMinor = receiveData.Substring(4, 4); + this.CollectionBLDCParameter[index]._6732_VersionBuild = receiveData.Substring(8, 4); + this.CollectionBLDCParameter[index]._6733_Frequency = receiveData.Substring(12, 4); + this.CollectionBLDCParameter[index]._6734_MotorRPM = receiveData.Substring(16, 4); + this.CollectionBLDCParameter[index]._6735_MotorDirection = int.Parse(receiveData.Substring(20, 4)); + this.CollectionBLDCParameter[index]._6736_AttenuatorRPM = receiveData.Substring(24, 4); + this.CollectionBLDCParameter[index]._6765_SelectOperMode = int.Parse(receiveData.Substring(28, 4)); + + if (this.ChildFormMenu.CenterSystemBLDCMotorSetting != null) + this.ChildFormMenu.CenterSystemBLDCMotorSetting.UpdateParameter(index, this.CollectionBLDCParameter); + + this.TransferDataStream(CommunicationCommand.Read, lane, CommunicationAddress.BLDCMotorAlarmRead, ""); + + break; + } } - - this.CollectionBLDCParameter[index].VersionMajor = receiveData.Substring(0, 4); - this.CollectionBLDCParameter[index].VersionMinor = receiveData.Substring(4, 4); - this.CollectionBLDCParameter[index].VersionBuild = receiveData.Substring(8, 4); - this.CollectionBLDCParameter[index].Frequency = receiveData.Substring(12, 4); - this.CollectionBLDCParameter[index].MotorRPM = receiveData.Substring(16, 4); - this.CollectionBLDCParameter[index].MotorDirection = int.Parse(receiveData.Substring(20, 4)); - this.CollectionBLDCParameter[index].AttenuatorRPM = receiveData.Substring(24, 4); - this.CollectionBLDCParameter[index].SelectOperMode = int.Parse(receiveData.Substring(28, 4)); #endregion + break; + case "9517": // BLDC 모터 알람 읽기 + #region Value Assign + for (int i = 0; i < BLDCMotorNum; i++) + { + if (this.CurrentMotorID(lane) == this.CollectionBLDCParameter[i].MotorID) + { + index = i; - if (this.ChildFormMenu.CenterSystemBLDCMotorSetting != null) - this.ChildFormMenu.CenterSystemBLDCMotorSetting.UpdateParameter(index, this.CollectionBLDCParameter); + this.CollectionBLDCParameter[index]._6790_Alarm_FaultSignal = bool.Parse(receiveData.Substring(0, 4)); + this.CollectionBLDCParameter[index]._6791_Alarm_HallSensorError = bool.Parse(receiveData.Substring(4, 4)); + this.CollectionBLDCParameter[index]._6792_Alarm_MotorStop = bool.Parse(receiveData.Substring(8, 4)); + + if (this.ChildFormMenu.CenterSystemBLDCMotorSetting != null) + this.ChildFormMenu.CenterSystemBLDCMotorSetting.UpdateAlarm(index, this.CollectionBLDCParameter); + + break; + } + } + #endregion break; default: break; @@ -7381,9 +7425,10 @@ namespace ITC81DB_0H.Forms } public string CurrentCommunicationID(int num) { + int motorID = this.CollectionBLDCParameter[num].MotorID; string ID = "A"; - switch (num) + switch (motorID) { case 1: ID = "A"; @@ -7452,13 +7497,13 @@ namespace ITC81DB_0H.Forms structItem.MotorID = this.CollectionBLDCParameter[i].MotorID; - structItem.CommBaudrate = this.CollectionBLDCParameter[i].CommBaudrate; - structItem.CommParityBit = this.CollectionBLDCParameter[i].CommParityBit; - structItem.PWMDelay = this.CollectionBLDCParameter[i].PWMDelay; - structItem.FeedbackDeviation = this.CollectionBLDCParameter[i].FeedbackDeviation; - structItem.MotorSpeed = this.CollectionBLDCParameter[i].MotorSpeed; - structItem.PoleNum = this.CollectionBLDCParameter[i].PoleNum; - structItem.AttenuatorRatio = this.CollectionBLDCParameter[i].AttenuatorRatio; + structItem.CommBaudrate = this.CollectionBLDCParameter[i]._6700_CommBaudrate; + structItem.CommParityBit = this.CollectionBLDCParameter[i]._6701_CommParityBit; + structItem.PWMDelay = this.CollectionBLDCParameter[i]._6702_PWMDelay; + structItem.FeedbackDeviation = this.CollectionBLDCParameter[i]._6703_FeedbackDeviation; + structItem.MotorSpeed = this.CollectionBLDCParameter[i]._6704_MotorSpeed; + structItem.PoleNum = this.CollectionBLDCParameter[i]._6705_PoleNum; + structItem.AttenuatorRatio = this.CollectionBLDCParameter[i]._6706_AttenuatorRatio; structItem.DummyInt1 = 0; structItem.DummyInt2 = 0; @@ -7487,11 +7532,11 @@ namespace ITC81DB_0H.Forms structItem.DummyString9 = "0"; structItem.DummyString10 = "0"; - structItem.BootingStart = this.CollectionBLDCParameter[i].BootingStart; - structItem.PortUse = this.CollectionBLDCParameter[i].PortUse; - structItem.Feedback = this.CollectionBLDCParameter[i].Feedback; - structItem.InitDirection = this.CollectionBLDCParameter[i].InitDirection; - structItem.OperDirection = this.CollectionBLDCParameter[i].OperDirection; + structItem.BootingStart = this.CollectionBLDCParameter[i]._6760_BootingStart; + structItem.PortUse = this.CollectionBLDCParameter[i]._6761_PortUse; + structItem.Feedback = this.CollectionBLDCParameter[i]._6762_Feedback; + structItem.InitDirection = this.CollectionBLDCParameter[i]._6763_InitDirection; + structItem.OperDirection = this.CollectionBLDCParameter[i]._6764_OperDirection; structItem.DummyInt16 = 0; structItem.DummyInt17 = 0; @@ -7546,13 +7591,13 @@ namespace ITC81DB_0H.Forms structItem.MotorID = item.MotorID; - structItem.CommBaudrate = item.CommBaudrate; - structItem.CommParityBit = item.CommParityBit; - structItem.PWMDelay = item.PWMDelay; - structItem.FeedbackDeviation = item.FeedbackDeviation; - structItem.MotorSpeed = item.MotorSpeed; - structItem.PoleNum = item.PoleNum; - structItem.AttenuatorRatio = item.AttenuatorRatio; + structItem.CommBaudrate = item._6700_CommBaudrate; + structItem.CommParityBit = item._6701_CommParityBit; + structItem.PWMDelay = item._6702_PWMDelay; + structItem.FeedbackDeviation = item._6703_FeedbackDeviation; + structItem.MotorSpeed = item._6704_MotorSpeed; + structItem.PoleNum = item._6705_PoleNum; + structItem.AttenuatorRatio = item._6706_AttenuatorRatio; structItem.DummyInt1 = 0; structItem.DummyInt2 = 0; @@ -7581,11 +7626,11 @@ namespace ITC81DB_0H.Forms structItem.DummyString9 = "0"; structItem.DummyString10 = "0"; - structItem.BootingStart = item.BootingStart; - structItem.PortUse = item.PortUse; - structItem.Feedback = item.Feedback; - structItem.InitDirection = item.InitDirection; - structItem.OperDirection = item.OperDirection; + structItem.BootingStart = item._6760_BootingStart; + structItem.PortUse = item._6761_PortUse; + structItem.Feedback = item._6762_Feedback; + structItem.InitDirection = item._6763_InitDirection; + structItem.OperDirection = item._6764_OperDirection; structItem.DummyInt16 = 0; structItem.DummyInt17 = 0; @@ -7644,13 +7689,13 @@ namespace ITC81DB_0H.Forms { structItem.MotorID = items[i].MotorID; - structItem.CommBaudrate = items[i].CommBaudrate; - structItem.CommParityBit = items[i].CommParityBit; - structItem.PWMDelay = items[i].PWMDelay; - structItem.FeedbackDeviation = items[i].FeedbackDeviation; - structItem.MotorSpeed = items[i].MotorSpeed; - structItem.PoleNum = items[i].PoleNum; - structItem.AttenuatorRatio = items[i].AttenuatorRatio; + structItem.CommBaudrate = items[i]._6700_CommBaudrate; + structItem.CommParityBit = items[i]._6701_CommParityBit; + structItem.PWMDelay = items[i]._6702_PWMDelay; + structItem.FeedbackDeviation = items[i]._6703_FeedbackDeviation; + structItem.MotorSpeed = items[i]._6704_MotorSpeed; + structItem.PoleNum = items[i]._6705_PoleNum; + structItem.AttenuatorRatio = items[i]._6706_AttenuatorRatio; structItem.DummyInt1 = 0; structItem.DummyInt2 = 0; @@ -7679,11 +7724,11 @@ namespace ITC81DB_0H.Forms structItem.DummyString9 = "0"; structItem.DummyString10 = "0"; - structItem.BootingStart = items[i].BootingStart; - structItem.PortUse = items[i].PortUse; - structItem.Feedback = items[i].Feedback; - structItem.InitDirection = items[i].InitDirection; - structItem.OperDirection = items[i].OperDirection; + structItem.BootingStart = items[i]._6760_BootingStart; + structItem.PortUse = items[i]._6761_PortUse; + structItem.Feedback = items[i]._6762_Feedback; + structItem.InitDirection = items[i]._6763_InitDirection; + structItem.OperDirection = items[i]._6764_OperDirection; structItem.DummyInt16 = 0; structItem.DummyInt17 = 0; @@ -7749,19 +7794,19 @@ namespace ITC81DB_0H.Forms items[i].MotorID = structItem.MotorID; - items[i].CommBaudrate = structItem.CommBaudrate; - items[i].CommParityBit = structItem.CommParityBit; - items[i].PWMDelay = structItem.PWMDelay; - items[i].FeedbackDeviation = structItem.FeedbackDeviation; - items[i].MotorSpeed = structItem.MotorSpeed; - items[i].PoleNum = structItem.PoleNum; - items[i].AttenuatorRatio = structItem.AttenuatorRatio; + items[i]._6700_CommBaudrate = structItem.CommBaudrate; + items[i]._6701_CommParityBit = structItem.CommParityBit; + items[i]._6702_PWMDelay = structItem.PWMDelay; + items[i]._6703_FeedbackDeviation = structItem.FeedbackDeviation; + items[i]._6704_MotorSpeed = structItem.MotorSpeed; + items[i]._6705_PoleNum = structItem.PoleNum; + items[i]._6706_AttenuatorRatio = structItem.AttenuatorRatio; - items[i].BootingStart = structItem.BootingStart; - items[i].PortUse = structItem.PortUse; - items[i].Feedback = structItem.Feedback; - items[i].InitDirection = structItem.InitDirection; - items[i].OperDirection = structItem.OperDirection; + items[i]._6760_BootingStart = structItem.BootingStart; + items[i]._6761_PortUse = structItem.PortUse; + items[i]._6762_Feedback = structItem.Feedback; + items[i]._6763_InitDirection = structItem.InitDirection; + items[i]._6764_OperDirection = structItem.OperDirection; } } } @@ -8038,18 +8083,18 @@ namespace ITC81DB_0H.Forms { StringBuilder sb = new StringBuilder(); - sb.Append(Helper.StringZeroFillDigits4(item.CommBaudrate)); // 메인보드와의 통신 Baudrate(4) - sb.Append(Helper.StringZeroFillDigits4(item.CommParityBit)); // 메인보드와의 통신 Parity bit(4) - sb.Append(Helper.StringZeroFillDigits4(item.PWMDelay)); // PWM 변화 속도(4) - sb.Append(Helper.StringZeroFillDigits4(item.FeedbackDeviation)); // Feedback 구동을 위한 변화 편차(4) - sb.Append(Helper.StringZeroFillDigits4(item.MotorSpeed)); // Motor 속도(4) - sb.Append(Helper.StringZeroFillDigits4(item.PoleNum)); // BLDC 모터 Pole 수(4) - sb.Append(Helper.StringZeroFillDigits4(item.AttenuatorRatio)); // 감속기 비율(4) - sb.Append(Helper.StringZeroFillDigits4(item.BootingStart)); // 부팅 시 자동 구동 여부(4) - sb.Append(Helper.StringZeroFillDigits4(item.PortUse)); // 타 Port 모터 사용 여부(4) - sb.Append(Helper.StringZeroFillDigits4(item.Feedback)); // 모터 구동 중 피드백 제어 여부(4) - sb.Append(Helper.StringZeroFillDigits4(item.InitDirection)); // 초기 모터 방향(4) - sb.Append(Helper.StringZeroFillDigits4(item.OperDirection)); // 구동 중 모터 방향(4) + sb.Append(Helper.StringZeroFillDigits4(item._6700_CommBaudrate)); // 메인보드와의 통신 Baudrate(4) + sb.Append(Helper.StringZeroFillDigits4(item._6701_CommParityBit)); // 메인보드와의 통신 Parity bit(4) + sb.Append(Helper.StringZeroFillDigits4(item._6702_PWMDelay)); // PWM 변화 속도(4) + sb.Append(Helper.StringZeroFillDigits4(item._6703_FeedbackDeviation)); // Feedback 구동을 위한 변화 편차(4) + sb.Append(Helper.StringZeroFillDigits4(item._6704_MotorSpeed)); // Motor 속도(4) + sb.Append(Helper.StringZeroFillDigits4(item._6705_PoleNum)); // BLDC 모터 Pole 수(4) + sb.Append(Helper.StringZeroFillDigits4(item._6706_AttenuatorRatio)); // 감속기 비율(4) + sb.Append(Helper.StringZeroFillDigits4(item._6760_BootingStart)); // 부팅 시 자동 구동 여부(4) + sb.Append(Helper.StringZeroFillDigits4(item._6761_PortUse)); // 타 Port 모터 사용 여부(4) + sb.Append(Helper.StringZeroFillDigits4(item._6762_Feedback)); // 모터 구동 중 피드백 제어 여부(4) + sb.Append(Helper.StringZeroFillDigits4(item._6763_InitDirection)); // 초기 모터 방향(4) + sb.Append(Helper.StringZeroFillDigits4(item._6764_OperDirection)); // 구동 중 모터 방향(4) sb.Append("0000"); // Dummy1(4) sb.Append("0000"); // Dummy2(4) sb.Append("0000"); // Dummy3(4) diff --git a/ITC81DB_0H/bin/Release/ITC81DB_0H.exe b/ITC81DB_0H/bin/Release/ITC81DB_0H.exe index e15702b..ffa8299 100644 Binary files a/ITC81DB_0H/bin/Release/ITC81DB_0H.exe and b/ITC81DB_0H/bin/Release/ITC81DB_0H.exe differ diff --git a/ITC81DB_0H/obj/Release/ITC81DB_0H.exe b/ITC81DB_0H/obj/Release/ITC81DB_0H.exe index e15702b..ffa8299 100644 Binary files a/ITC81DB_0H/obj/Release/ITC81DB_0H.exe and b/ITC81DB_0H/obj/Release/ITC81DB_0H.exe differ