private void Form1_FormClosed(object sender, FormClosedEventArgs e) { Timer1.Enabled = false; if (btn_StartNetwork.Text == "Stop Network") { NexECM.NEC_StopNetwork(MASTER_ID, 5000); } NexECM.NEC_StopDriver(); /*if (sample.IsAlive) * { * sample.Abort(); * }*/ }
private void btn_Exit_Click(object sender, EventArgs e) { mysample.Abort(); Timer1.Enabled = false; //sample if (btn_StartNetwork.Text == "Stop Network") { NexECM.NEC_StopNetwork(MASTER_ID, 5000); } NexECM.NEC_StopDriver(); this.Close(); }
private void btn_startNetwork_Click(object sender, EventArgs e) { int ret = 0; if ((tb_EniPath.Text == null) || (tb_EniPath.Text == "")) { MessageBox.Show("Please load ENI first"); return; } if (btn_StartNetwork.BackColor != Color.YellowGreen) { ret = NexECM.NEC_StartDriver();//初始化函式庫 if (ret != 0) { MessageBox.Show("NEC_StartDriver failed" + ret.ToString()); return; } ret = NexECM.NEC_ResetEcMaster(MASTER_ID);//重置EC-Master if (ret != 0) { MessageBox.Show("NEC_ResetEcMaster failed" + ret.ToString()); return; } ret = NexECM.NEC_SetParameter(MASTER_ID, 0, 1000);//設定EC-Master參數 if (ret != 0) { MessageBox.Show("NEC_SetParameter failed" + ret.ToString()); return; } ret = NexCoeMotion.NEC_CoE402Reset();//重置函式庫 if (ret != 0) { MessageBox.Show("NexCoeMotion failed" + ret.ToString()); return; } ret = NexECM.NEC_StartNetworkEx(MASTER_ID, mEniPath, 1, 5000);//啟動EC-Master if (ret != 0) { MessageBox.Show("NEC_StartNetworkEx failed" + ret.ToString()); return; } ret = NexECM.NEC_GetSlaveCount(MASTER_ID, ref mSlaveCnt);//讀取線上EC-Slaves數量(2) if (ret != 0) { MessageBox.Show("NEC_GetSlaveCount failed" + ret.ToString()); return; } if (TOTAL_AXIS != mSlaveCnt) { MessageBox.Show("Please check ENI file and TOTAL_AXIS value!!"); return; } for (ushort i = 0; i < mSlaveCnt; i++) { ret = NexCoeMotion.NEC_CoE402GetAxisId(MASTER_ID, i, ref mAxisId[i]);//讀取驅動器ID if (ret != 0) { MessageBox.Show("NEC_CoE402GetAxisId failed" + ret.ToString()); return; } ret = NexCoeMotion.NEC_CoE402UpdatePdoMapping(mAxisId[i]);//更新PDO設定 if (ret != 0) { MessageBox.Show("NEC_CoE402UpdatePdoMapping failed" + ret.ToString()); return; } ret = NexCoeMotion.NEC_CoE402FaultReset(mAxisId[i], 5000);//清除重製驅動器錯誤 if (ret != 0) { MessageBox.Show("NEC_CoE402FaultReset failed" + ret.ToString()); return; } } btn_StartNetwork.BackColor = Color.YellowGreen; Timer1.Enabled = true; //? btn_StartNetwork.Text = "Stop Network"; btn_Browse.Enabled = false; //? } else { Timer1.Enabled = false;//? for (int i = 0; i < mSlaveCnt; i++) { ret = NexCoeMotion.NEC_CoE402ServoOn(mAxisId[i], 0);//設定驅動器消磁(disable) if (ret != 0) { MessageBox.Show("NEC_CoE402ServoOn diaable failed" + ret.ToString()); return; } } btn_ServoOn_0.Text = "Servo on"; btn_Move_0.Text = "Move"; btn_ServoOn_1.Text = "Servo on"; btn_Move_1.Text = "Move"; ret = NexECM.NEC_StopNetwork(MASTER_ID, 5000); if (ret != 0) { MessageBox.Show("NEC_StopNetwork failed" + ret.ToString()); return; } ret = NexECM.NEC_StopDriver(); if (ret != 0) { MessageBox.Show("NEC_StopDriver failed" + ret.ToString()); return; } btn_StartNetwork.Text = "Start Network"; btn_StartNetwork.BackColor = Color.WhiteSmoke; btn_Browse.Enabled = true; } }