private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtDataBlock.Text) ||
                    string.IsNullOrWhiteSpace(txtDataBlock.Text))
                {
                    DxErrorProvider1.SetError(txtDataBlock, "The datablock is empty");
                }
                else
                {
                    if (db == null)
                    {
                        var dbNew = new DataBlock()
                        {
                            ChannelId     = ch.ChannelId,
                            DeviceId      = dv.DeviceId,
                            DataBlockId   = dv.DataBlocks.Count + 1,
                            DataBlockName = txtDataBlock.Text,
                            StartAddress  = (ushort)txtDBNumber.Value,
                            Description   = txtDesc.Text,
                            DataType      = string.Format("{0}", cboxDataType.SelectedItem),

                            Tags = new List <Tag>()
                        };


                        if (eventDataBlockChanged != null)
                        {
                            eventDataBlockChanged(dbNew, true);
                        }
                    }
                    else
                    {
                        db.ChannelId     = db.ChannelId;
                        db.DeviceId      = db.DeviceId;
                        db.DataBlockId   = int.Parse(txtDataBlockId.Text);
                        db.DataBlockName = txtDataBlock.Text;
                        db.StartAddress  = (ushort)txtDBNumber.Value;

                        db.Description = txtDesc.Text;
                        db.DataType    = string.Format("{0}", cboxDataType.SelectedItem);

                        if (eventDataBlockChanged != null)
                        {
                            eventDataBlockChanged(db, false);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(this.GetType().Name, ex.Message);
            }
        }
Ejemplo n.º 2
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtDataBaseName.Text) ||
                    string.IsNullOrWhiteSpace(txtDataBaseName.Text))
                {
                    DxErrorProvider1.SetError(txtDataBaseName, "The DataBase name is empty");
                }
                else
                {
                    DxErrorProvider1.Clear();
                    if (dbs == null)
                    {
                        DataBase dbsNew = new DataBase
                        {
                            DataBaseId   = SQl.DataBase.Count + 1,
                            DataBaseName = txtDataBaseName.Text,
                            Description  = txtDesc.Text
                        };
                        //dvNew.DataBlocks = new List<DataBlock>();
                        DataBaseManager.Add(SQl, dbsNew);
                        if (eventDataBaseChanged != null)
                        {
                            eventDataBaseChanged(dbsNew);
                        }

                        Close();
                    }
                    else
                    {
                        dbs.DataBaseId   = short.Parse(txtDataBaseId.Text);
                        dbs.DataBaseName = txtDataBaseName.Text;
                        dbs.Description  = txtDesc.Text;

                        DataBaseManager.Update(SQl, dbs);
                        if (eventDataBaseChanged != null)
                        {
                            eventDataBaseChanged(dbs);
                        }

                        Close();
                    }
                }
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(GetType().Name, ex.Message);
            }
        }
Ejemplo n.º 3
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtDataBaseName.Text) ||
                    string.IsNullOrWhiteSpace(txtDataBaseName.Text))
                {
                    DxErrorProvider1.SetError(txtDataBaseName, "The Table name is empty");
                }
                else
                {
                    DxErrorProvider1.Clear();
                    if (db == null)
                    {
                        Table TableNew = new Table
                        {
                            TableId = dv.Tables.Count + 1,

                            TableName   = txtTableName.Text,
                            Description = txtDescription.Text
                        };
                        TableManager.Add(dv, TableNew);
                        if (eventTableChanged != null)
                        {
                            eventTableChanged(TableNew);
                        }

                        Close();
                    }
                    else
                    {
                        db.TableId     = short.Parse(txtTableId.Text);
                        db.TableName   = txtTableName.Text;
                        db.Description = txtDescription.Text;

                        TableManager.Update(dv, db);
                        if (eventTableChanged != null)
                        {
                            eventTableChanged(db);
                        }

                        Close();
                    }
                }
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(GetType().Name, ex.Message);
            }
        }
Ejemplo n.º 4
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtDeviceName.Text) ||
                    string.IsNullOrWhiteSpace(txtDeviceName.Text))
                {
                    DxErrorProvider1.SetError(txtDeviceName, "The device name is empty");
                }
                else
                {
                    DxErrorProvider1.Clear();
                    if (dv == null)
                    {
                        Device dvNew = new Device
                        {
                            DeviceId    = ch.Devices.Count + 1,
                            SlaveId     = (short)txtSlaveId.Value,
                            DeviceName  = txtDeviceName.Text,
                            Description = txtDesp.Text,
                            DataBlocks  = new List <DataBlock>()
                        };
                        EventscadaLogger?.Invoke(1, "DeviceManager", $"{DateTime.Now}", "Add Device");

                        if (eventDeviceChanged != null)
                        {
                            eventDeviceChanged(dvNew, true);
                        }
                    }
                    else
                    {
                        dv.SlaveId     = (short)txtSlaveId.Value;
                        dv.DeviceName  = txtDeviceName.Text;
                        dv.Description = txtDesp.Text;
                        EventscadaLogger?.Invoke(1, "DeviceManager", $"{DateTime.Now}", "Editor Device");

                        if (eventDeviceChanged != null)
                        {
                            eventDeviceChanged(dv, false);
                        }
                    }
                    Close();
                }
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(GetType().Name, ex.Message);
            }
        }
Ejemplo n.º 5
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(txtDeviceName.Text) ||
                    string.IsNullOrWhiteSpace(txtDeviceName.Text))
                {
                    DxErrorProvider1.SetError(txtDeviceName, "The device name is empty");
                }
                else
                {
                    DxErrorProvider1.ClearErrors();
                    if (dv == null)
                    {
                        Device dvNew = new Device();
                        dvNew.DeviceId    = ch.Devices.Count + 1;
                        dvNew.SlaveId     = (short)txtSlaveId.Value;
                        dvNew.DeviceName  = txtDeviceName.Text;
                        dvNew.Description = txtDesp.Text;
                        dvNew.DataBlocks  = new List <DataBlock>();

                        if (eventDeviceChanged != null)
                        {
                            eventDeviceChanged(dvNew, true);
                        }
                    }
                    else
                    {
                        dv.SlaveId     = (short)txtSlaveId.Value;
                        dv.DeviceName  = txtDeviceName.Text;
                        dv.Description = txtDesp.Text;

                        if (eventDeviceChanged != null)
                        {
                            eventDeviceChanged(dv, false);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(this.GetType().Name, ex.Message);
            }
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (chkCreateTag.Checked && (string.IsNullOrEmpty(txtPrefix.Text) ||
                                             string.IsNullOrWhiteSpace(txtPrefix.Text)))
                {
                    DxErrorProvider1.SetError(txtPrefix, "The Prefix is empty");
                }
                if (string.IsNullOrEmpty(txtDataBlock.Text) ||
                    string.IsNullOrWhiteSpace(txtDataBlock.Text))
                {
                    DxErrorProvider1.SetError(txtDataBlock, "The datablock is empty");
                }
                else
                {
                    if (db == null)
                    {
                        var dbNew = new DataBlock()
                        {
                            ChannelId     = ch.ChannelId,
                            DeviceId      = dv.DeviceId,
                            DataBlockId   = dv.DataBlocks.Count + 1,
                            DataBlockName = txtDataBlock.Text,
                            TypeOfRead    = CboxTypeOfRead.SelectedText,
                            StartAddress  = (ushort)txtStartAddress.Value,
                            MemoryType    = txtPrefix.Text,
                            Description   = txtDesc.Text,
                            Length        = (ushort)txtAddressLength.Value,
                            DataType      = cboxDataType.SelectedText,
                            Tags          = new List <Tag>()
                        };
                        foreach (var item in dv.DataBlocks)
                        {
                            TagsCount += item.Tags.Count;
                        }
                        AddressCreateTagModbus(dbNew, true, TagsCount);
                        if (eventDataBlockChanged != null)
                        {
                            eventDataBlockChanged(dbNew, true);
                        }
                    }
                    else
                    {
                        db.ChannelId     = db.ChannelId;
                        db.DeviceId      = db.DeviceId;
                        db.DataBlockId   = int.Parse(txtDataBlockId.Text);
                        db.DataBlockName = txtDataBlock.Text;
                        db.TypeOfRead    = CboxTypeOfRead.SelectedText;
                        db.StartAddress  = (ushort)txtStartAddress.Value;
                        db.MemoryType    = txtPrefix.Text;
                        db.Length        = (ushort)txtAddressLength.Value;
                        db.Description   = txtDesc.Text;
                        db.DataType      = $"{cboxDataType.SelectedItem}";


                        AddressCreateTagModbus(db, false);

                        if (eventDataBlockChanged != null)
                        {
                            eventDataBlockChanged(db, false);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(this.GetType().Name, ex.Message);
            }
        }
Ejemplo n.º 7
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                int Address      = 0;
                int Save_BufAddr = 0;


                switch (cboxDataType.Text)
                {
                case "Bit" when chkX16.Checked:
                    Save_BufAddr = (int)txtAddressLength.Value * 16;
                    break;

                default:
                    Save_BufAddr = (int)txtAddressLength.Value;
                    break;
                }
                Address = chkX10.Checked ? 10 * (int)txtStartAddress.Value : (int)txtStartAddress.Value;

                if (chkCreateTag.Checked && (string.IsNullOrEmpty(txtDomain.Text) ||
                                             string.IsNullOrWhiteSpace(txtDomain.Text)))
                {
                    DxErrorProvider1.SetError(txtDomain, "The Prefix is empty");
                }

                if (string.IsNullOrEmpty(txtDataBlock.Text) ||
                    string.IsNullOrWhiteSpace(txtDataBlock.Text))
                {
                    DxErrorProvider1.SetError(txtDataBlock, "The datablock is empty");
                }
                else
                {
                    if (db == null)
                    {
                        DataBlock dbNew = new DataBlock()
                        {
                            ChannelId     = ch.ChannelId,
                            DeviceId      = dv.DeviceId,
                            DataBlockId   = dv.DataBlocks.Count + 1,
                            DataBlockName = txtDataBlock.Text,
                            TypeOfRead    = string.Empty,
                            StartAddress  = (ushort)txtStartAddress.Value,
                            MemoryType    = txtDomain.Text,
                            Description   = txtDesc.Text,
                            Length        = (ushort)txtAddressLength.Value,
                            DataType      = (DataTypes)System.Enum.Parse(typeof(DataTypes), string.Format("{0}", cboxDataType.SelectedItem)),
                            IsArray       = chkIsArray.Checked,
                            Tags          = new List <Tag>()
                        };


                        switch (cboxDataType.Text)
                        {
                        case "Bit":
                        case "Byte":
                            if (chkCreateTag.Checked && chkIsHex.Checked)
                            {
                                AddressCreateTagBitHex(dbNew, Address, Save_BufAddr, true);
                            }
                            else
                            {
                                AddressCreateTagBit(dbNew, Address, Save_BufAddr, true);
                            }

                            break;

                        default:
                            if (chkCreateTag.Checked)
                            {
                                AddressCreateTagWord(dbNew, true);
                            }

                            break;
                        }


                        eventDataBlockChanged?.Invoke(dbNew, true);
                        Close();
                    }
                    else
                    {
                        db.ChannelId     = db.ChannelId;
                        db.DeviceId      = db.DeviceId;
                        db.DataBlockId   = int.Parse(txtDataBlockId.Text);
                        db.DataBlockName = txtDataBlock.Text;
                        db.TypeOfRead    = string.Empty;
                        db.StartAddress  = (ushort)txtStartAddress.Value;
                        db.MemoryType    = txtDomain.Text;
                        db.Length        = (ushort)txtAddressLength.Value;
                        db.Description   = txtDesc.Text;
                        db.DataType      = (DataTypes)System.Enum.Parse(typeof(DataTypes), string.Format("{0}", cboxDataType.SelectedItem));
                        db.IsArray       = chkIsArray.Checked;


                        switch (cboxDataType.Text)
                        {
                        case "Bit":
                        case "Byte":
                            if (chkCreateTag.Checked && chkIsHex.Checked)
                            {
                                AddressCreateTagBitHex(db, Address, Save_BufAddr, false);
                            }
                            else
                            {
                                AddressCreateTagBit(db, Address, Save_BufAddr, false);
                            }

                            break;

                        default:
                            if (chkCreateTag.Checked)
                            {
                                AddressCreateTagWord(db, false);
                            }

                            break;
                        }

                        eventDataBlockChanged?.Invoke(db, false);
                        Close();
                    }
                }
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(GetType().Name, ex.Message);
            }
        }
Ejemplo n.º 8
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                Channels.Clear();
                SaveOPCChannels(channelsTree.Nodes);
                //  Close();
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(GetType().Name, ex.Message);
            }
            try
            {
                if (string.IsNullOrEmpty(txtDataBlock.Text) ||
                    string.IsNullOrWhiteSpace(txtDataBlock.Text))
                {
                    DxErrorProvider1.SetError(txtDataBlock, "The datablock is empty");
                }
                else
                {
                    if (db == null)
                    {
                        DataBlock dbNew = new DataBlock
                        {
                            ChannelId     = ch.ChannelId,
                            DeviceId      = dv.DeviceId,
                            DataBlockId   = dv.DataBlocks.Count + 1,
                            DataBlockName = txtDataBlock.Text,
                            TypeOfRead    = string.Empty,
                            StartAddress  = 0,
                            MemoryType    = string.Empty,
                            Description   = string.Empty,
                            Length        = (ushort)Channels.Count,
                            DataType      = DataTypes.String,
                            Tags          = new List <Tag>()
                        };

                        AddressCreateTagOPC(dbNew, true, TagsCount);
                        if (eventDataBlockChanged != null)
                        {
                            eventDataBlockChanged(dbNew, true);
                        }
                    }
                    else
                    {
                        db.ChannelId     = db.ChannelId;
                        db.DeviceId      = db.DeviceId;
                        db.DataBlockId   = int.Parse(txtDataBlockId.Text);
                        db.DataBlockName = txtDataBlock.Text;
                        db.TypeOfRead    = string.Empty;
                        db.StartAddress  = (ushort)Channels.Count;
                        db.MemoryType    = string.Empty;
                        db.Length        = (ushort)Channels.Count;
                        db.Description   = string.Empty;
                        db.DataType      = DataTypes.String;


                        AddressCreateTagOPC(db, false);

                        if (eventDataBlockChanged != null)
                        {
                            eventDataBlockChanged(db, false);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(GetType().Name, ex.Message);
            }
        }
Ejemplo n.º 9
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                if (chkCreateTag.Checked && (string.IsNullOrEmpty(txtDomain.Text) ||
                                             string.IsNullOrWhiteSpace(txtDomain.Text)))
                {
                    DxErrorProvider1.SetError(txtDomain, "The Prefix is empty");
                }

                if (string.IsNullOrEmpty(txtDataBlock.Text) ||
                    string.IsNullOrWhiteSpace(txtDataBlock.Text))
                {
                    DxErrorProvider1.SetError(txtDataBlock, "The datablock is empty");
                }
                else
                {
                    if (db == null)
                    {
                        DataBlock dbNew = new DataBlock()
                        {
                            ChannelId     = ch.ChannelId,
                            DeviceId      = dv.DeviceId,
                            DataBlockId   = dv.DataBlocks.Count + 1,
                            DataBlockName = txtDataBlock.Text,
                            TypeOfRead    = CboxTypeOfRead.Text,
                            StartAddress  = (ushort)txtStartAddress.Value,
                            MemoryType    = txtDomain.Text,
                            Description   = txtDesc.Text,
                            Length        = (ushort)txtAddressLength.Value,
                            DataType      = (DataTypes)System.Enum.Parse(typeof(DataTypes), string.Format("{0}", cboxDataType.SelectedItem)),
                            IsArray       = true,
                            Tags          = new List <Tag>()
                        };


                        AddressCreateTagModbus(dbNew, true, TagsCount);

                        eventDataBlockChanged?.Invoke(dbNew, true);
                        Close();
                    }
                    else
                    {
                        db.ChannelId     = db.ChannelId;
                        db.DeviceId      = db.DeviceId;
                        db.DataBlockId   = int.Parse(txtDataBlockId.Text);
                        db.DataBlockName = txtDataBlock.Text;
                        db.TypeOfRead    = CboxTypeOfRead.Text;
                        db.StartAddress  = (ushort)txtStartAddress.Value;
                        db.MemoryType    = txtDomain.Text;
                        db.Length        = (ushort)txtAddressLength.Value;
                        db.Description   = txtDesc.Text;
                        db.DataType      = (DataTypes)System.Enum.Parse(typeof(DataTypes), string.Format("{0}", cboxDataType.SelectedItem));
                        db.IsArray       = true;


                        AddressCreateTagModbus(db, false);

                        eventDataBlockChanged?.Invoke(db, false);
                        Close();
                    }
                }
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(GetType().Name, ex.Message);
            }
        }
Ejemplo n.º 10
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            try
            {
                var Address      = 0;
                var Save_BufAddr = 0;


                if (cboxDataType.Text == "Bit" || cboxDataType.Text == "Byte")
                {
                    Save_BufAddr = (int)txtAddressLength.Value * 16;
                }
                else
                {
                    Save_BufAddr = (int)txtAddressLength.Value;
                }
                if (chkX10.Checked)
                {
                    Address = 10 * (int)txtStartAddress.Value;
                }
                else
                {
                    Address = (int)txtStartAddress.Value;
                }



                if (chkCreateTag.Checked && (string.IsNullOrEmpty(txtDomain.Text) ||
                                             string.IsNullOrWhiteSpace(txtDomain.Text)))
                {
                    DxErrorProvider1.SetError(txtDomain, "The Prefix is empty");
                }
                if (string.IsNullOrEmpty(txtDataBlock.Text) ||
                    string.IsNullOrWhiteSpace(txtDataBlock.Text))
                {
                    DxErrorProvider1.SetError(txtDataBlock, "The datablock is empty");
                }
                else
                {
                    if (db == null)
                    {
                        var dbNew = new DataBlock()
                        {
                            ChannelId     = ch.ChannelId,
                            DeviceId      = dv.DeviceId,
                            DataBlockId   = dv.DataBlocks.Count + 1,
                            DataBlockName = txtDataBlock.Text,
                            TypeOfRead    = string.Empty,
                            StartAddress  = (ushort)txtStartAddress.Value,
                            MemoryType    = txtDomain.Text,
                            Description   = txtDesc.Text,
                            Length        = (ushort)txtAddressLength.Value,
                            DataType      = cboxDataType.SelectedText,
                            Tags          = new List <Tag>()
                        };


                        if (cboxDataType.Text == "Bit" || cboxDataType.Text == "Byte")
                        {
                            if (chkCreateTag.Checked)
                            {
                                AddressCreateTagBit(dbNew, Address, Save_BufAddr, true);
                            }
                        }
                        else
                        {
                            if (chkCreateTag.Checked)
                            {
                                AddressCreateTagWord(dbNew, true);
                            }
                        }


                        if (eventDataBlockChanged != null)
                        {
                            eventDataBlockChanged(dbNew, true);
                        }
                    }
                    else
                    {
                        db.ChannelId     = db.ChannelId;
                        db.DeviceId      = db.DeviceId;
                        db.DataBlockId   = int.Parse(txtDataBlockId.Text);
                        db.DataBlockName = txtDataBlock.Text;
                        db.TypeOfRead    = string.Empty;
                        db.StartAddress  = (ushort)txtStartAddress.Value;
                        db.MemoryType    = txtDomain.Text;
                        db.Length        = (ushort)txtAddressLength.Value;
                        db.Description   = txtDesc.Text;
                        db.DataType      = $"{cboxDataType.SelectedItem}";

                        if (cboxDataType.Text == "Bit" || cboxDataType.Text == "Byte")
                        {
                            if (chkCreateTag.Checked)
                            {
                                AddressCreateTagBit(db, Address, Save_BufAddr, false);
                            }
                        }
                        else
                        {
                            if (chkCreateTag.Checked)
                            {
                                AddressCreateTagWord(db, false);
                            }
                        }


                        if (eventDataBlockChanged != null)
                        {
                            eventDataBlockChanged(db, false);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(this.GetType().Name, ex.Message);
            }
        }