using System; using System.Linq; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO.Ports; namespace _7k_di { public partial class Form1 : Form { IntPtr hPort; public Form1() { InitializeComponent(); //LoadComPort(); cmbComPort.SelectedIndex = 0; } private void LoadComPort() { //Set default int counter = 10; //Get number of COM port and assign COM port list in cmPort. foreach (string s in SerialPort.GetPortNames()) { if (s.Length == 4) { //COM0~COM9 cmbComPort.Items.Add(s); } else { /* COM10 and later New com port name: "$device\\COM10" , "$device\\COM11" , "$device\\COM12" , "$device\\COM13" , ................. */ string ss; ss = "COM" + counter.ToString(); counter++; cmbComPort.Items.Add(ss); } } cmbComPort.SelectedIndex = 0; } private void btnOpenCom_Click(object sender, EventArgs e) { //Open com port this.hPort = PACNET.UART.Open("COM"+cmbComPort.Text + ":," + txtBaurdRate.Text); if (hPort == (IntPtr)(-1)) { uint ec = PACNET.ErrHandling.GetLastError(); MessageBox.Show(((PACNET.ErrCode)ec).ToString() + "\nError Code: 0x" + ec.ToString("X")); } else { btnOpenCom.Enabled = false; btnCloseCom.Enabled = true; } } private void btnCloseCom_Click(object sender, EventArgs e) { //Close com port PACNET.UART.Close(hPort); btnOpenCom.Enabled = true; btnCloseCom.Enabled = false; } private void btnRead_Click(object sender, EventArgs e) { uint DiValue= 0; bool iRet; //Read module data iRet = PACNET.PAC_IO.ReadDI(hPort, PACNET.PAC_IO.PAC_REMOTE_IO(Convert.ToInt32(txtAddress.Text)), Convert.ToInt16(txtChannel.Text), ref DiValue); if (!iRet) { uint ec = PACNET.ErrHandling.GetLastError(); MessageBox.Show(((PACNET.ErrCode)ec).ToString() + "\nError Code: 0x" + ec.ToString("X")); } txtReadData.Text = Convert.ToString(DiValue, 16); } private void button2_Click(object sender, EventArgs e) { uint DiValue = 0; bool iRet; //Read module data iRet = PACNET.PAC_IO.ReadDICNT(hPort, PACNET.PAC_IO.PAC_REMOTE_IO(Convert.ToInt32(txtAddress.Text)), Convert.ToInt16(txtDICNTChannel.Text), Convert.ToInt16(txtChannel.Text), ref DiValue); if (!iRet) { uint ec = PACNET.ErrHandling.GetLastError(); MessageBox.Show(((PACNET.ErrCode)ec).ToString() + "\nError Code: 0x" + ec.ToString("X")); } textBox1.Text = DiValue.ToString(); } private void button3_Click(object sender, EventArgs e) { bool iRet; //Read module data iRet = PACNET.PAC_IO.ClearDICNT(hPort, PACNET.PAC_IO.PAC_REMOTE_IO(Convert.ToInt32(txtAddress.Text)), Convert.ToInt16(txtDICNTChannel.Text), Convert.ToInt16(txtChannel.Text)); if (!iRet) { uint ec = PACNET.ErrHandling.GetLastError(); MessageBox.Show(((PACNET.ErrCode)ec).ToString() + "\nError Code: 0x" + ec.ToString("X")); } textBox1.Text = ""; } private void button5_Click(object sender, EventArgs e) { uint DiValue = 0; bool iRet; //Read module data iRet = PACNET.PAC_IO.ReadDI_MF(hPort, PACNET.PAC_IO.PAC_REMOTE_IO(Convert.ToInt32(txtAddress.Text)), Convert.ToInt16(txtChannel.Text), ref DiValue); if (!iRet) { uint ec = PACNET.ErrHandling.GetLastError(); MessageBox.Show(((PACNET.ErrCode)ec).ToString() + "\nError Code: 0x" + ec.ToString("X")); } txtReadData.Text = Convert.ToString(DiValue, 16); } private void button1_Click(object sender, EventArgs e) { bool iRet; //Read module data iRet = PACNET.PAC_IO.ClearDICNT_MF(hPort, PACNET.PAC_IO.PAC_REMOTE_IO(Convert.ToInt32(txtAddress.Text)), Convert.ToInt16(txtDICNTChannel.Text), Convert.ToInt16(txtChannel.Text)); if (!iRet) { uint ec = PACNET.ErrHandling.GetLastError(); MessageBox.Show(((PACNET.ErrCode)ec).ToString() + "\nError Code: 0x" + ec.ToString("X")); } textBox1.Text = ""; } private void button4_Click(object sender, EventArgs e) { uint DiValue = 0; bool iRet; //Read module data iRet = PACNET.PAC_IO.ReadDICNT_MF(hPort, PACNET.PAC_IO.PAC_REMOTE_IO(Convert.ToInt32(txtAddress.Text)), Convert.ToInt16(txtDICNTChannel.Text), Convert.ToInt16(txtChannel.Text), ref DiValue); if (!iRet) { uint ec = PACNET.ErrHandling.GetLastError(); MessageBox.Show(((PACNET.ErrCode)ec).ToString() + "\nError Code: 0x" + ec.ToString("X")); } textBox1.Text = DiValue.ToString(); } } }