using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using I8124_CE6; namespace Demo1_CSharp { public partial class Form1 : Form { byte cSlot; public Form1() { InitializeComponent(); //I8124SDK.I8124_ActiveModule(); ComboBox_Slot.SelectedIndex = 0; cSlot = 0; } private void Form1_Closed(object sender, EventArgs e) { I8124SDK.I8124_CloseModule(cSlot); } private void Button_GetFirmwareVer_Click(object sender, EventArgs e) { UInt32 Ret; Ret = I8124SDK.I8124_GetFirmwareVersion(cSlot); MessageBox.Show("The I-8124 Firmware version is " + Convert.ToString(Ret,16)); } private void Button_MasterID_Click(object sender, EventArgs e) { UInt32 MasterID; MasterID = I8124SDK.I8124_GetMasterMACID(cSlot); if (MasterID >= 64) { MessageBox.Show("Get Master ID Error(" + Convert.ToString(MasterID) + ")!"); return; } ComboBox_MasterID.SelectedIndex = Convert.ToInt32(MasterID); } private void Button_SetMasterID_Click(object sender, EventArgs e) { UInt32 MasterID,Ret; MasterID = Convert.ToByte(ComboBox_MasterID.SelectedIndex); Ret = I8124SDK.I8124_SetMasterMACID(cSlot, Convert.ToByte(MasterID)); if (Ret != 0) MessageBox.Show("Set Master ID Error(" + Convert.ToString(Ret) + ")!"); else MessageBox.Show("Set Master ID OK!"); } private void Button_BaudRate_Click(object sender, EventArgs e) { UInt32 BaudRate; BaudRate = I8124SDK.I8124_GetBaudRate(cSlot); if (BaudRate >= 3) { MessageBox.Show("Get Baud Rate Error(" + Convert.ToString(BaudRate) + ")!"); return; } ComboBox_BaudRate.SelectedIndex = Convert.ToInt32(BaudRate); } private void Button_SetBaudRate_Click(object sender, EventArgs e) { UInt32 BaudRate, Ret; BaudRate = Convert.ToByte(ComboBox_BaudRate.SelectedIndex); Ret = I8124SDK.I8124_SetBaudRate(cSlot, Convert.ToByte(BaudRate)); if (Ret != 0) MessageBox.Show("Set BaudRate Error(" + Convert.ToString(Ret) + ")!"); else MessageBox.Show("Set BaudRate OK!"); } private void Button_ResetFirmware_Click(object sender, EventArgs e) { I8124SDK.I8124_ResetFirmware(cSlot); } private void Button_SearchAllSlave_Click(object sender, EventArgs e) { UInt32 Ret; Ret = I8124SDK.I8124_SearchAllDevices(cSlot); if(Ret != 0) MessageBox.Show("Search All Slaves Error(" + Convert.ToString(Ret) + ")!"); else MessageBox.Show("Start to search all slave devices!\r\n Please wait for about 30 seconds!"); } private void button_Active_Click(object sender, EventArgs e) { uint Ret; cSlot = Convert.ToByte(ComboBox_Slot.SelectedIndex); cSlot++; Ret = I8124SDK.I8124_ActiveModule(cSlot); if (Ret != 0) { MessageBox.Show("Active Error : " + Ret.ToString()); return; } else MessageBox.Show("Active OK"); timer2.Enabled = true; } private void button_startalldevice_Click(object sender, EventArgs e) { uint Ret = 0; Ret = I8124SDK.I8124_StartAllDevice(cSlot); if (Ret != 0) { MessageBox.Show("Start All Devices Error : " + Ret.ToString()); return; } else { MessageBox.Show("Start All Devices OK"); timer1.Enabled = true; } } private void timer1_Tick(object sender, EventArgs e) { byte[] SlaveList = { (byte)1,(byte)40, (byte)42, (byte)44, (byte)46, (byte)53 }; int SlaveNo = SlaveList.Length; byte[] IOData = new byte[100]; uint Ret; ushort i,Counter,Len = 0; string MSG; for (Counter = 0; Counter < SlaveNo; Counter++) { Ret = I8124SDK.I8124_ReadInputData(cSlot, SlaveList[Counter], 1, ref Len, IOData); if (Ret != 0) MSG = "Error : " + Ret.ToString(); else { MSG = ""; for (i = 0; i < Len; i++) MSG += IOData[i].ToString("X") + ","; } switch (Counter) { case 0 : label_ID0.Text = "ID_" + SlaveList[Counter].ToString(); Label_IO0.Text = MSG; break; case 1: label_ID1.Text = "ID_" + SlaveList[Counter].ToString(); Label_IO1.Text = MSG; break; case 2: label_ID2.Text = "ID_" + SlaveList[Counter].ToString(); Label_IO2.Text = MSG; break; case 3: label_ID3.Text = "ID_" + SlaveList[Counter].ToString(); label_IO3.Text = MSG; break; case 4: label_ID4.Text = "ID_" + SlaveList[Counter].ToString(); label_IO4.Text = MSG; break; case 5: label_ID5.Text = "ID_" + SlaveList[Counter].ToString(); label_IO5.Text = MSG; break; case 6: label_ID6.Text = "ID_" + SlaveList[Counter].ToString(); label_IO6.Text = MSG; break; case 7: label_ID7.Text = "ID_" + SlaveList[Counter].ToString(); label_IO7.Text = MSG; break; case 8: label_ID8.Text = "ID_" + SlaveList[Counter].ToString(); label_IO8.Text = MSG; break; } //----------------------------------------------------- //----------------------------------------------------- Ret = I8124SDK.I8124_ReadbackOutputData(cSlot, SlaveList[Counter], 1, ref Len, IOData); if (Ret != 0) MSG = "Error : " + Ret.ToString(); else { MSG = ""; for (i = 0; i < Len; i++) MSG += IOData[i].ToString("X") + ","; } switch (Counter) { case 0: label_BackID0.Text = "ID_" + SlaveList[Counter].ToString(); label_BackIO0.Text = MSG; break; case 1: label_BackID1.Text = "ID_" + SlaveList[Counter].ToString(); label_BackIO1.Text = MSG; break; case 2: label_BackID2.Text = "ID_" + SlaveList[Counter].ToString(); label_BackIO2.Text = MSG; break; case 3: label_BackID3.Text = "ID_" + SlaveList[Counter].ToString(); label_BackIO3.Text = MSG; break; case 4: label_BackID4.Text = "ID_" + SlaveList[Counter].ToString(); label_BackIO4.Text = MSG; break; case 5: label_BackID5.Text = "ID_" + SlaveList[Counter].ToString(); label_BackIO5.Text = MSG; break; case 6: label_BackID6.Text = "ID_" + SlaveList[Counter].ToString(); label_BackIO6.Text = MSG; break; case 7: label_BackID7.Text = "ID_" + SlaveList[Counter].ToString(); label_BackIO7.Text = MSG; break; case 8: label_BackID8.Text = "ID_" + SlaveList[Counter].ToString(); label_BackIO8.Text = MSG; break; } } } private void timer2_Tick(object sender, EventArgs e) { label_status.Text = "Status: " +I8124SDK.I8124_GetMasterStatus(cSlot).ToString(); } private void button1_Click(object sender, EventArgs e) { timer1.Enabled = true; } byte flag = 1; private void button2_Click(object sender, EventArgs e) { byte[] SlaveList = { (byte)1, (byte)40, (byte)42, (byte)44, (byte)46, (byte)53 }; ushort[] SlaveDOLen = { 50,1, 3, 5, 4, 1 }; int SlaveNo = SlaveList.Length; byte[] IOData = new byte[100]; uint Ret; ushort i; if (flag == 1) { for (i = 0; i < 100; i++) IOData[i] = 0xFF; flag = 0; } else { for (i = 0; i < 100; i++) IOData[i] = 0x00; flag = 1; } for (i = 0; i < SlaveNo; i++) { Ret = I8124SDK.I8124_WriteOutputData(cSlot, SlaveList[i], 1, SlaveDOLen[i], IOData); if (Ret != 0) MessageBox.Show("Error :" + Ret.ToString()); } } } }