示例#1
0
        private void buttonGetIo_Click(object sender, EventArgs e)
        {
            if (serialDevice < 0)
            {
                MessageBox.Show("请先打开串口");
                return;
            }

            Byte[]   buffer    = new Byte[255];
            ushort[] addrArray = new ushort[2];

            HFREADER_IO pIo = new HFREADER_IO();

            Byte[] sendBuffer = new Byte[1024];
            Byte[] rcvBuffer  = new Byte[1024];

            if (!GetDeviceAddr(addrArray))
            {
                return;
            }

            LockUart();
            int rlt = hfReaderDll.hfReaderGetIo(serialDevice, addrArray[0], addrArray[1], ref pIo, sendBuffer, rcvBuffer);

            UnlockUart();

            if (rlt > 0)
            {
                this.textBoxGetIoSrcAddr.Text    = pIo.result.srcAddr.ToString("X").PadLeft(4, '0');
                this.textBoxGetIoTargetAddr.Text = pIo.result.targetAddr.ToString("X").PadLeft(4, '0');
                this.textBoxIn1.Text             = pIo.in1.ToString("X").PadLeft(8, '0');
                this.textBoxIn2.Text             = pIo.in2.ToString("X").PadLeft(8, '0');
                this.textBoxIn3.Text             = pIo.in3.ToString("X").PadLeft(8, '0');
                this.textBoxIn4.Text             = pIo.in4.ToString("X").PadLeft(8, '0');
            }
            DisplayRcvInf(rcvBuffer, "获取输入事件返回:");
            DisplaySendInf(sendBuffer, "获取输入事件:");
        }
示例#2
0
 public static extern int hfReaderCfgIo(int h, ushort srcAddr, ushort targetAddr, ref HFREADER_IO pIo, Byte[] pTxFrame, Byte[] pRxFrame);
示例#3
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (serialDevice < 0)
            {
                MessageBox.Show("请先打开串口");
                return;
            }

            Byte[]   buffer    = new Byte[255];
            ushort[] addrArray = new ushort[2];

            HFREADER_IO pIo = new HFREADER_IO();

            Byte[] sendBuffer = new Byte[1024];
            Byte[] rcvBuffer  = new Byte[1024];

            if (!GetDeviceAddr(addrArray))
            {
                return;
            }

            if (this.radioButtonRelayOff.Checked)
            {
                pIo.relayState = 0;
            }
            else if (this.radioButtonRelayOn.Checked)
            {
                pIo.relayState = 1;
            }
            else
            {
                pIo.relayState = 2;
            }

            if (this.radioButtonOut2Off.Checked)
            {
                pIo.out2State = 0;
            }
            else if (this.radioButtonOut2On.Checked)
            {
                pIo.out2State = 1;
            }
            else
            {
                pIo.out2State = 2;
            }

            if (this.radioButtonOut1Off.Checked)
            {
                pIo.out1State = 0;
            }
            else if (this.radioButtonOut1On.Checked)
            {
                pIo.out1State = 1;
            }
            else
            {
                pIo.out1State = 2;
            }

            LockUart();
            int rlt = hfReaderDll.hfReaderSetIo(serialDevice, addrArray[0], addrArray[1], ref pIo, sendBuffer, rcvBuffer);

            UnlockUart();

            if (rlt > 0)
            {
                if (pIo.result.flag == 0)
                {
                    this.radioButtonSetIoOk.Checked   = true;
                    this.radioButtonSetIoFail.Checked = false;
                }
                else
                {
                    this.radioButtonSetIoOk.Checked   = false;
                    this.radioButtonSetIoFail.Checked = true;
                }

                this.textBoxSetIoSrcAddr.Text    = pIo.result.srcAddr.ToString("X").PadLeft(4, '0');
                this.textBoxSetIoTargetAddr.Text = pIo.result.targetAddr.ToString("X").PadLeft(4, '0');
            }
            DisplayRcvInf(rcvBuffer, "设置输出事件返回:");
            DisplaySendInf(sendBuffer, "设置输出事件:");
        }
示例#4
0
        private void buttonCfgIo_Click(object sender, EventArgs e)
        {
            if (serialDevice < 0)
            {
                MessageBox.Show("请先打开串口");
                return;
            }

            Byte[]   buffer    = new Byte[255];
            ushort[] addrArray = new ushort[2];

            HFREADER_IO pIo = new HFREADER_IO();

            Byte[] sendBuffer = new Byte[1024];
            Byte[] rcvBuffer  = new Byte[1024];

            if (!GetDeviceAddr(addrArray))
            {
                return;
            }

            pIo.relayFrequent = (uint)(this.comboBoxRelayFreq.SelectedIndex + 1);
            pIo.out2Frequent  = (uint)(this.comboBoxOut2Freq.SelectedIndex + 1);
            pIo.out1Frequent  = (uint)(this.comboBoxOut1Freq.SelectedIndex + 1);

            if (GetHexInput(this.textBoxRelayCycle.Text, buffer, 1) <= 0)
            {
                return;
            }
            pIo.relayCycle = buffer[0];

            if (GetHexInput(this.textBoxOut2Cycle.Text, buffer, 1) <= 0)
            {
                return;
            }
            pIo.out2Cycle = buffer[0];

            if (GetHexInput(this.textBoxOut1Cycle.Text, buffer, 1) <= 0)
            {
                return;
            }
            pIo.out1Cycle = buffer[0];


            LockUart();
            int rlt = hfReaderDll.hfReaderCfgIo(serialDevice, addrArray[0], addrArray[1], ref pIo, sendBuffer, rcvBuffer);

            UnlockUart();

            if (rlt > 0)
            {
                if (pIo.result.flag == 0)
                {
                    this.radioButtonCfgIoOpOk.Checked   = true;
                    this.radioButtonCfgIoOpFail.Checked = false;
                }
                else
                {
                    this.radioButtonCfgIoOpOk.Checked   = false;
                    this.radioButtonCfgIoOpFail.Checked = true;
                }

                this.textBoxCfgIoSrcAddr.Text    = pIo.result.srcAddr.ToString("X").PadLeft(4, '0');
                this.textBoxCfgIoTargetAddr.Text = pIo.result.targetAddr.ToString("X").PadLeft(4, '0');
            }
            DisplayRcvInf(rcvBuffer, "配置IO输出事件返回:");
            DisplaySendInf(sendBuffer, "配置IO输出事件:");
        }