Ejemplo n.º 1
0
        public void butWrite_Click(System.Object sender, System.EventArgs e)
        {
            short i  = 0;
            short re = 0;

            string[] temp = null;
            object[] WD   = null;
            if (!EntLink)
            {
                MessageBox.Show("还未与PLC建立联接!");
                return;
            }
            WD   = new object[Convert.ToUInt16(txtWriteCnt.Text)];
            temp = txtWrite.Text.Split('\n');
            for (i = 0; i < WD.Length; i++)
            {
                if (i >= temp.Length)
                {
                    WD[i] = 0;
                }
                else
                {
                    WD[i] = temp[i].Trim();
                }
            }
            int var1 = cmbWriteType.SelectedIndex + 1;

            HostLink.PlcCom.DataType typ = (HostLink.PlcCom.DataType)var1;
            switch (cmbWriteMry.SelectedIndex)
            {
            case 0:
                re = PLC.CmdWrite(Convert.ToUInt16(txtStation.Text), CIO, typ, Convert.ToUInt16(txtWriteAdd.Text), Convert.ToUInt16(txtWriteCnt.Text), ref WD);
                break;

            case 1:
                re = PLC.CmdWrite(Convert.ToUInt16(txtStation.Text), LR, typ, Convert.ToUInt16(txtWriteAdd.Text), Convert.ToUInt16(txtWriteCnt.Text), ref WD);
                break;

            case 2:
                re = PLC.CmdWrite(Convert.ToUInt16(txtStation.Text), DR, typ, Convert.ToUInt16(txtWriteAdd.Text), Convert.ToUInt16(txtWriteCnt.Text), ref WD);
                break;

            case 3:
                re = PLC.CmdWrite(Convert.ToUInt16(txtStation.Text), HR, typ, Convert.ToUInt16(txtWriteAdd.Text), Convert.ToUInt16(txtWriteCnt.Text), ref WD);
                break;
            }
            txtReWrite.Text = re.ToString();
        }
Ejemplo n.º 2
0
        public void butRead_Click(System.Object sender, System.EventArgs e)
        {
            short i  = 0;
            short re = 0;

            object[] RD = null;
            RD = new object[Convert.ToInt16(txtReadCnt.Text)];
            if (!EntLink)
            {
                MessageBox.Show("还未与PLC建立联接!");
                return;
            }
            int var1 = cmbReadType.SelectedIndex + 1;

            HostLink.PlcCom.DataType typ = (HostLink.PlcCom.DataType)var1;
            switch (cmbReadMry.SelectedIndex)
            {
            case 0:
                re = PLC.CmdRead(Convert.ToUInt16(txtStation.Text), CIO, typ, Convert.ToUInt16(txtReadAdd.Text), Convert.ToUInt16(txtReadCnt.Text), ref RD);
                break;

            case 1:
                re = PLC.CmdRead(Convert.ToUInt16(txtStation.Text), LR, typ, Convert.ToUInt16(txtReadAdd.Text), Convert.ToUInt16(txtReadCnt.Text), ref RD);
                break;

            case 2:
                re = PLC.CmdRead(Convert.ToUInt16(txtStation.Text), DR, typ, Convert.ToUInt16(txtReadAdd.Text), Convert.ToUInt16(txtReadCnt.Text), ref RD);
                break;

            case 3:
                re = PLC.CmdRead(Convert.ToUInt16(txtStation.Text), HR, typ, Convert.ToUInt16(txtReadAdd.Text), Convert.ToUInt16(txtReadCnt.Text), ref RD);
                break;
            }
            txtReRead.Text = re.ToString();
            lstRead.Items.Clear();
            for (i = 0; i < RD.Length; i++)
            {
                if (!(RD[i] == null))
                {
                    lstRead.Items.Add(RD[i]);
                }
                else
                {
                    lstRead.Items.Add("0");
                }
            }
        }