using System; using System.Linq; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Text; using System.Windows.Forms; namespace _7k_dio { public partial class Form1 : Form { IntPtr hPort; public Form1() { InitializeComponent(); cmbComPort.SelectedIndex = 0; } private void btnOpenPort_Click(object sender, EventArgs e) { //Open com port hPort = PACNET.UART.Open("COM"+cmbComPort.Text+","+txtBaudRate.Text); if (hPort == (IntPtr)(-1)) { uint ec = PACNET.ErrHandling.GetLastError(); MessageBox.Show(((PACNET.ErrCode)ec).ToString() + "\nError Code: 0x" + ec.ToString("X")); } else { btnClosePort.Enabled = true; btnOpenPort.Enabled = false; } } private void btnClosePort_Click(object sender, EventArgs e) { //Close com port PACNET.UART.Close(hPort); btnOpenPort.Enabled = true; btnClosePort.Enabled = false; } private void btnReadDI_Click(object sender, EventArgs e) { uint DiValue = 0; uint DoValue = 0; bool iRet; //Read DI data iRet = PACNET.PAC_IO.ReadDIO(hPort, PACNET.PAC_IO.PAC_REMOTE_IO(Convert.ToInt32(txtAddress.Text)), Convert.ToInt32(txtDIChannel.Text), Convert.ToInt32(txtDOChannel.Text), ref DiValue, ref DoValue); if (!iRet) { uint ec = PACNET.ErrHandling.GetLastError(); MessageBox.Show(((PACNET.ErrCode)ec).ToString() + "\nError Code: 0x" + ec.ToString("X")); } else txtDIValue.Text = DiValue.ToString("X"); } private void btnWriteDO_Click(object sender, EventArgs e) { bool iRet; //Write DO data iRet = PACNET.PAC_IO.WriteDO(hPort, PACNET.PAC_IO.PAC_REMOTE_IO(Convert.ToInt32(txtAddress.Text)), Convert.ToInt32(txtDOChannel.Text), Convert.ToUInt32(txtDOValue.Text, 16)); if (!iRet) { uint ec = PACNET.ErrHandling.GetLastError(); MessageBox.Show(((PACNET.ErrCode)ec).ToString() + "\nError Code: 0x" + ec.ToString("X")); } } private void button1_Click(object sender, EventArgs e) { uint DiValue = 0; uint DoValue = 0; bool iRet; //Read DI data iRet = PACNET.PAC_IO.ReadDIO_MF(hPort, PACNET.PAC_IO.PAC_REMOTE_IO(Convert.ToInt32(txtAddress.Text)), Convert.ToInt32(txtDIChannel.Text), Convert.ToInt32(txtDOChannel.Text), ref DiValue, ref DoValue); if (!iRet) { uint ec = PACNET.ErrHandling.GetLastError(); MessageBox.Show(((PACNET.ErrCode)ec).ToString() + "\nError Code: 0x" + ec.ToString("X")); } else txtDIValue.Text = DiValue.ToString("X"); } private void button2_Click(object sender, EventArgs e) { bool iRet; //Write DO data iRet = PACNET.PAC_IO.WriteDO_MF(hPort, PACNET.PAC_IO.PAC_REMOTE_IO(Convert.ToInt32(txtAddress.Text)), Convert.ToInt32(txtDOChannel.Text), Convert.ToUInt32(txtDOValue.Text, 16)); if (!iRet) { uint ec = PACNET.ErrHandling.GetLastError(); MessageBox.Show(((PACNET.ErrCode)ec).ToString() + "\nError Code: 0x" + ec.ToString("X")); } } } }