Esempio n. 1
0
 public IODeviceNode FindDeviceTreeNode(Scada.Model.IO_SERVER Server, Scada.Model.IO_COMMUNICATION Communication, Scada.Model.IO_DEVICE Device)
 {
     for (int i = 0; i < this.IoTree.Nodes.Count; i++)
     {
         if (this.IoTree.Nodes[i] is IOServerNode)
         {
             IOServerNode sNode = this.IoTree.Nodes[i] as IOServerNode;
             if (sNode.Server == Server)
             {
                 for (int j = 0; j < sNode.Nodes.Count; j++)
                 {
                     if (sNode.Nodes[j] is IOCommunicationNode)
                     {
                         IOCommunicationNode commNode = sNode.Nodes[j] as IOCommunicationNode;
                         if (commNode.Communication == Communication)
                         {
                             for (int c = 0; c < commNode.Nodes.Count; c++)
                             {
                                 if (commNode.Nodes[c] is IODeviceNode)
                                 {
                                     IODeviceNode deviceNode = commNode.Nodes[c] as IODeviceNode;
                                     if (deviceNode.Device == Device)
                                     {
                                         return(deviceNode);
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     return(null);
 }
Esempio n. 2
0
        public async void ReadRealDevice(Scada.Model.IO_SERVER server, Scada.Model.IO_COMMUNICATION communication, Scada.Model.IO_DEVICE device)
        {
            try
            {
                if (InfluxDbManager != null)
                {
                    var result = await InfluxDbManager.DbQuery_Real(server, communication, device);

                    if (result != null && result.Count() > 0)
                    {
                        Serie s = result.Last();
                        if (s != null && s.Values.Count > 0)
                        {
                            for (int i = 0; i < device.IOParas.Count; i++)
                            {
                                device.IOParas[i].IORealData = new Scada.IOStructure.IOData();
                            }
                            var values = s.Values[s.Values.Count - 1];
                            for (int i = 0; i < s.Columns.Count; i++)
                            {
                                if (s.Columns[i].Split('_')[0].ToLower() == "field")
                                {
                                    string paraname          = s.Columns[i].Replace("field_", "").Replace("_value", "").Replace("_datetime", "").Replace("_qualitystamp", "");
                                    Scada.Model.IO_PARA para = device.IOParas.Find(x => x.IO_NAME.Trim().ToLower() == paraname.ToLower());
                                    if (para != null)
                                    {
                                        int length = s.Columns[i].Split('_').Length;
                                        if (s.Columns[i].Split('_')[length - 1].ToLower() == "value")
                                        {
                                            para.IORealData.ParaValue = InfluxDbManager.GetInfluxdbValue(values[i]).ToString();
                                        }
                                        if (s.Columns[i].Split('_')[length - 1].ToLower() == "datetime")
                                        {
                                            para.IORealData.Date = Convert.ToDateTime(InfluxDbManager.GetInfluxdbValue(values[i]).ToString());
                                        }
                                        if (s.Columns[i].Split('_')[length - 1].ToLower() == "qualitystamp")
                                        {
                                            para.IORealData.QualityStamp = (QualityStamp)Enum.Parse(typeof(QualityStamp), InfluxDbManager.GetInfluxdbValue(values[i]).ToString());
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception emx)
            {
                AddLog("ERROR=50001" + emx.Message);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Scada.Model.IO_COMMUNICATION DataRowToModel(DataRow row)
        {
            Scada.Model.IO_COMMUNICATION model = new Scada.Model.IO_COMMUNICATION();
            if (row != null)
            {
                if (row["IO_COMM_ID"] != null)
                {
                    model.IO_COMM_ID = row["IO_COMM_ID"].ToString();
                }
                if (row["IO_COMM_NAME"] != null)
                {
                    model.IO_COMM_NAME = row["IO_COMM_NAME"].ToString();
                }
                if (row["IO_COMM_LABEL"] != null)
                {
                    model.IO_COMM_LABEL = row["IO_COMM_LABEL"].ToString();
                }
                if (row["IO_COMM_REMARK"] != null && row["IO_COMM_REMARK"].ToString() != "")
                {
                    model.IO_COMM_REMARK = row["IO_COMM_REMARK"].ToString();
                }
                if (row["IO_COMM_STATUS"] != null && row["IO_COMM_STATUS"].ToString() != "")
                {
                    model.IO_COMM_STATUS = int.Parse(row["IO_COMM_STATUS"].ToString());
                }
                if (row["IO_COMM_DRIVER_ID"] != null)
                {
                    model.IO_COMM_DRIVER_ID = row["IO_COMM_DRIVER_ID"].ToString();
                }
                if (row["IO_COMM_PARASTRING"] != null)
                {
                    model.IO_COMM_PARASTRING = row["IO_COMM_PARASTRING"].ToString();
                }


                if (row["IO_SERVER_ID"] != null)
                {
                    model.IO_SERVER_ID = row["IO_SERVER_ID"].ToString();
                }
                //加载通道驱动信息
                model.DriverInfo = driverDal.GetModel(model.IO_COMM_DRIVER_ID);
            }
            return(model);
        }
Esempio n. 4
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public Scada.Model.IO_COMMUNICATION GetModel(string IO_COMM_ID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select  ");
            strSql.Append(" IO_COMM_ID,IO_COMM_NAME,IO_COMM_LABEL,IO_COMM_REMARK,IO_COMM_STATUS,IO_COMM_DRIVER_ID,IO_SERVER_ID,IO_COMM_PARASTRING ");
            strSql.Append(" from IO_COMMUNICATION ");
            strSql.Append(" where IO_COMM_ID='" + IO_COMM_ID + "'");
            Scada.Model.IO_COMMUNICATION model = new Scada.Model.IO_COMMUNICATION();
            DataSet ds = DbHelperSQLite.Query(strSql.ToString());

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public bool Add(Scada.Model.IO_COMMUNICATION model)
        {
            StringBuilder strSql  = new StringBuilder();
            StringBuilder strSql1 = new StringBuilder();
            StringBuilder strSql2 = new StringBuilder();

            if (model.IO_COMM_ID != null)
            {
                strSql1.Append("IO_COMM_ID,");
                strSql2.Append("'" + model.IO_COMM_ID + "',");
            }
            if (model.IO_COMM_NAME != null)
            {
                strSql1.Append("IO_COMM_NAME,");
                strSql2.Append("'" + model.IO_COMM_NAME + "',");
            }
            if (model.IO_COMM_LABEL != null)
            {
                strSql1.Append("IO_COMM_LABEL,");
                strSql2.Append("'" + model.IO_COMM_LABEL + "',");
            }
            if (model.IO_COMM_REMARK != null)
            {
                strSql1.Append("IO_COMM_REMARK,");
                strSql2.Append("'" + model.IO_COMM_REMARK + "',");
            }
            if (model.IO_COMM_PARASTRING != null)
            {
                strSql1.Append("IO_COMM_PARASTRING,");
                strSql2.Append("'" + model.IO_COMM_PARASTRING + "',");
            }



            strSql1.Append("IO_COMM_STATUS,");
            strSql2.Append("" + model.IO_COMM_STATUS + ",");

            if (model.IO_COMM_DRIVER_ID != null)
            {
                strSql1.Append("IO_COMM_DRIVER_ID,");
                strSql2.Append("'" + model.IO_COMM_DRIVER_ID + "',");
            }
            if (model.IO_SERVER_ID != null)
            {
                strSql1.Append("IO_SERVER_ID,");
                strSql2.Append("'" + model.IO_SERVER_ID + "',");
            }
            strSql.Append("insert into IO_COMMUNICATION(");
            strSql.Append(strSql1.ToString().Remove(strSql1.Length - 1));
            strSql.Append(")");
            strSql.Append(" values (");
            strSql.Append(strSql2.ToString().Remove(strSql2.Length - 1));
            strSql.Append(")");
            int rows = DbHelperSQLite.ExecuteSql(strSql.ToString());

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 6
0
        public void Add(List <Scada.Model.IO_COMMUNICATION> models)
        {
            ArrayList sqlArray = new ArrayList();

            for (int i = 0; i < models.Count; i++)
            {
                Scada.Model.IO_COMMUNICATION model = models[i];
                model.IO_COMM_STATUS = 0;
                StringBuilder strSql  = new StringBuilder();
                StringBuilder strSql1 = new StringBuilder();
                StringBuilder strSql2 = new StringBuilder();
                if (model.IO_COMM_ID != null)
                {
                    strSql1.Append("IO_COMM_ID,");
                    strSql2.Append("'" + model.IO_COMM_ID + "',");
                }
                if (model.IO_COMM_NAME != null)
                {
                    strSql1.Append("IO_COMM_NAME,");
                    strSql2.Append("'" + model.IO_COMM_NAME + "',");
                }
                if (model.IO_COMM_LABEL != null)
                {
                    strSql1.Append("IO_COMM_LABEL,");
                    strSql2.Append("'" + model.IO_COMM_LABEL + "',");
                }
                if (model.IO_COMM_REMARK != null)
                {
                    strSql1.Append("IO_COMM_REMARK,");
                    strSql2.Append("'" + model.IO_COMM_REMARK + "',");
                }
                if (model.IO_COMM_PARASTRING != null)
                {
                    strSql1.Append("IO_COMM_PARASTRING,");
                    strSql2.Append("'" + model.IO_COMM_PARASTRING + "',");
                }



                strSql1.Append("IO_COMM_STATUS,");
                strSql2.Append("" + model.IO_COMM_STATUS + ",");

                if (model.IO_COMM_DRIVER_ID != null)
                {
                    strSql1.Append("IO_COMM_DRIVER_ID,");
                    strSql2.Append("'" + model.IO_COMM_DRIVER_ID + "',");
                }
                if (model.IO_SERVER_ID != null)
                {
                    strSql1.Append("IO_SERVER_ID,");
                    strSql2.Append("'" + model.IO_SERVER_ID + "',");
                }
                strSql.Append("insert into IO_COMMUNICATION(");
                strSql.Append(strSql1.ToString().Remove(strSql1.Length - 1));
                strSql.Append(")");
                strSql.Append(" values (");
                strSql.Append(strSql2.ToString().Remove(strSql2.Length - 1));
                strSql.Append(")");
                sqlArray.Add(strSql);
            }

            DbHelperSQLite.ExecuteSqlTran(sqlArray);
            sqlArray.Clear();
            sqlArray = null;
        }
Esempio n. 7
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(Scada.Model.IO_COMMUNICATION model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update IO_COMMUNICATION set ");
            if (model.IO_COMM_ID != null)
            {
                strSql.Append("IO_COMM_ID='" + model.IO_COMM_ID + "',");
            }
            if (model.IO_COMM_NAME != null)
            {
                strSql.Append("IO_COMM_NAME='" + model.IO_COMM_NAME + "',");
            }
            if (model.IO_COMM_LABEL != null)
            {
                strSql.Append("IO_COMM_LABEL='" + model.IO_COMM_LABEL + "',");
            }
            if (model.IO_COMM_REMARK != null)
            {
                strSql.Append("IO_COMM_REMARK='" + model.IO_COMM_REMARK + "',");
            }
            else
            {
                strSql.Append("IO_COMM_REMARK= null ,");
            }
            if (model.IO_COMM_PARASTRING != null)
            {
                strSql.Append("IO_COMM_PARASTRING='" + model.IO_COMM_PARASTRING + "',");
            }
            else
            {
                strSql.Append("IO_COMM_PARASTRING= null ,");
            }



            strSql.Append("IO_COMM_STATUS=" + model.IO_COMM_STATUS + ",");

            if (model.IO_COMM_DRIVER_ID != null)
            {
                strSql.Append("IO_COMM_DRIVER_ID='" + model.IO_COMM_DRIVER_ID + "',");
            }
            if (model.IO_SERVER_ID != null)
            {
                strSql.Append("IO_SERVER_ID='" + model.IO_SERVER_ID + "',");
            }
            int n = strSql.ToString().LastIndexOf(",");

            strSql.Remove(n, 1);
            strSql.Append(" where IO_COMM_ID='" + model.IO_COMM_ID + "'");
            int rowsAffected = DbHelperSQLite.ExecuteSql(strSql.ToString());

            if (rowsAffected > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 8
0
        public async Task <InfluxDBHistoryData> ReadHistoryAlarmConfigsDevice(Scada.Model.IO_SERVER server, Scada.Model.IO_COMMUNICATION communication, Scada.Model.IO_DEVICE device, DateTime SDate, DateTime EDate, int PageSize, int PageIndex)
        {
            if (InfluxDbManager != null)
            {
                var result = await InfluxDbManager.DbQuery_AlarmConfigs(server, communication, device, SDate, EDate, PageSize, PageIndex);

                return(result);
            }
            return(null);
        }
Esempio n. 9
0
        public async Task <InfluxDBHistoryData> ReadHistoryStaticsDevice(Scada.Model.IO_SERVER server, Scada.Model.IO_COMMUNICATION communication, Scada.Model.IO_DEVICE device, DateTime SDate, DateTime EDate, int PageSize, int PageIndex, string selected, string timespan)
        {
            if (InfluxDbManager != null)
            {
                var result = await InfluxDbManager.DbQuery_HistoryStatics(server, communication, device, SDate, EDate, PageSize, PageIndex, selected, timespan);

                return(result);
            }
            return(null);
        }
Esempio n. 10
0
 private void IOMonitorManager_OnMonitorReceive(Scada.Model.IO_SERVER server, Scada.Model.IO_COMMUNICATION comm, Scada.Model.IO_DEVICE device, byte[] sourceBytes)
 {
     MonitorFormManager.MonitorIODataShowView(server, comm, device);
 }
Esempio n. 11
0
 public IOCommunicationNode FindCommunicationTreeNode(Scada.Model.IO_SERVER Server, Scada.Model.IO_COMMUNICATION Communication)
 {
     for (int i = 0; i < this.IoTree.Nodes.Count; i++)
     {
         if (this.IoTree.Nodes[i] is IOServerNode)
         {
             IOServerNode sNode = this.IoTree.Nodes[i] as IOServerNode;
             if (sNode.Server == Server)
             {
                 for (int j = 0; j < sNode.Nodes.Count; j++)
                 {
                     if (sNode.Nodes[j] is IOCommunicationNode)
                     {
                         IOCommunicationNode commNode = sNode.Nodes[j] as IOCommunicationNode;
                         if (commNode.Communication == Communication)
                         {
                             return(commNode);
                         }
                     }
                 }
             }
         }
     }
     return(null);
 }