Пример #1
0
 // ------------------------------------------------------------------------
 // Quitt application
 private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (BRmaster != null)
     {
         BRmaster = null;
     }
     Application.Exit();
 }
Пример #2
0
        // ------------------------------------------------------------------------
        // Module information prototype
        internal MasterBR_MDinfo(MasterBR _BRmaster, byte _mod_nr)
        {
            BRmaster = _BRmaster;
            mod_nr   = _mod_nr;
            _id      = (ushort)BRmaster.SyncReadWord(MasterBR.ID_parameter, Convert.ToUInt16(0xA001 + mod_nr * 16));
            _name    = Get_HardwareName(_id);

            _analog_in_index   = (ushort)BRmaster.SyncReadWord(MasterBR.ID_parameter, Convert.ToUInt16(0xA004 + mod_nr * 16));
            _analog_out_index  = (ushort)BRmaster.SyncReadWord(MasterBR.ID_parameter, Convert.ToUInt16(0xA005 + mod_nr * 16));
            _digital_in_index  = (ushort)BRmaster.SyncReadWord(MasterBR.ID_parameter, Convert.ToUInt16(0xA006 + mod_nr * 16));
            _digital_out_index = (ushort)BRmaster.SyncReadWord(MasterBR.ID_parameter, Convert.ToUInt16(0xA007 + mod_nr * 16));
        }
Пример #3
0
 // ------------------------------------------------------------------------
 // Disconnect from bus coupler
 private void DoDisconnect()
 {
     if (BRmaster != null)
     {
         BRmaster.Disconnect();
         BRmaster = null;
     }
     btnConnect.Text         = "Connect";
     btnConnect.Image        = imageList1.Images[1];
     btnBusCoupler.BackColor = Color.Gainsboro;
     btnBusCoupler.Enabled   = false;
     btnModules.Enabled      = false;
     btnModules.BackColor    = Color.Gainsboro;
     grpModules.Visible      = false;
     grpBusCoupler.Visible   = false;
     RefreshTimer.Enabled    = false;
 }
Пример #4
0
 // ------------------------------------------------------------------------
 // Information class prototype.
 internal MasterBR_BCinfo(MasterBR _BRmaster)
 {
     BRmaster = _BRmaster;
 }
Пример #5
0
        // ------------------------------------------------------------------------
        // Open or close connection to bus coupler
        private void btnConnect_Click(object sender, EventArgs e)
        {
            // ------------------------------------------------------------------------
            // Close connection to bus coupler
            if (btnConnect.Text == "Connected")
            {
                DoDisconnect();
            }
            // ------------------------------------------------------------------------
            // Open connection to bus coupler
            else
            {
                try
                {
                    btnConnect.Text = "Connecting...";
                    btnConnect.Refresh();

                    // Create new master instance, add events and reset watchdog
                    BRmaster = new ModbusTCPBR.MasterBR();
                    BRmaster.OnBCexception += new ModbusTCPBR.MasterBR.BCexception(BRmaster_OnBCexception);
                    BRmaster.PollRefresh    = 200;
                    BRmaster.Connect(txtIP.Text, 502);

                    BRmaster.BCinfo.watchdog_reset();
                    BRmaster.BCinfo.watchdog_threshold = 5000;

                    ReadControllerInfo(true);

                    // Set up buttons and tabs
                    btnConnect.Image      = imageList1.Images[0];
                    btnConnect.Text       = "Connected";
                    btnBusCoupler.Enabled = true;
                    btnModules.Enabled    = true;
                    btnModules_Click(null, null);

                    // Read module information and fill list box with data
                    lstModules.Items.Clear();
                    for (int x = 0; x <= BRmaster.MDinfo.GetUpperBound(0); x++)
                    {
                        if (BRmaster.MDinfo[x].name == "unknown")
                        {
                            lstModules.Items.Add("Module" + x.ToString());
                        }
                        else
                        {
                            lstModules.Items.Add(BRmaster.MDinfo[x].name);
                        }
                    }
                    if (lstModules.Items.Count >= 0)
                    {
                        lstModules.SelectedIndex = 0;
                    }
                }
                catch (SystemException error)
                {
                    DoDisconnect();
                    // Catch message
                    if (error.GetType().ToString() == "System.Net.Sockets.SocketException")
                    {
                        MessageBox.Show("Check IP address or host name!", "Can't find X20BC0087 controller", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    MessageBox.Show(error.Message);
                }
            }
        }