コード例 #1
0
ファイル: meiqihuishou.cs プロジェクト: rcw0125/opcSvr
        public void calHssk()
        {
            //吹炼信号大于0,吹炼时间大于0,煤气中氧含量小于2,则具备回收条件

            int blowflag = getValueInt(blowflagid);
            int blowtime = getValueInt(blowtimeid);


            if (blowflag > 0 && blowtime > 0 && getValue(o_hangliangid) <= 2)
            {
                hstime++; //可回收时间+1
                if (hssk == 0)
                {
                    hssk = blowtime;
                    co5  = getValue(co5id);
                    co8  = getValue(co8id);
                }
            }
            //实际回收时间计算   风机信号0
            if (blowtime > 0 && getValueInt(fjid) > 0 && getValueInt(tapid) < 1)
            {
                sjhstime++;//实际回收时间+1
                if (sjhssk == 0)
                {
                    sjhssk = blowtime;
                }
            }
            #region 提枪次数计算
            //提枪时刻,次数计算
            //
            if (hssk > 0)
            {
                if (blowflag < 1 && tqflag == 0)
                {
                    tqflag = 1;
                    tqcount++;//提枪次数+1
                    if (tqsk == 0)
                    {
                        tqsk = blowtime;
                    }
                }
            }
            if (blowflag > 0 && hssk > 0 && tqflag == 1)
            {
                tqflag = 0;
            }
            #endregion

            if (hssk > 0)
            {
                if (getValueInt(tapid) > 0)
                {
                    string sql = "insert into cbof_mq_data_bak(bofid,hssk,khstime,sjhssk,sjhstime,co5,co8,tqcount,tqsk) values('" + bofid + "',";
                    sql += hssk + "," + hstime + "," + sjhssk + "," + sjhstime + "," + co5 + "," + co8 + "," + tqcount + "," + tqsk + ")";
                    oraDbHelp db = new oraDbHelp();
                    db.Update(sql);
                    clearData();
                }
            }
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: rcw0125/opcSvr
        public void loadLadleWeight()
        {
            string            sql            = "select code,round(steelweight,2) as weight from cccm_unit_mag where code='S63' or code='S64'";
            oraDbHelp         service        = new oraDbHelp();
            DataSet           ds             = service.Query(sql);
            List <casterInfo> listCasterInfo = new List <casterInfo>();

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                foreach (DataRow item in ds.Tables[0].Rows)
                {
                    if (item["code"].ToString() == "S63")
                    {
                        casterweight3.curweight = Convert.ToDouble(item["weight"]);
                        casterweight3.downLoadWeight();
                        casterweight3.ts = DateTime.Now.ToString("HH:mm:ss");
                    }
                    else
                    {
                        casterweight4.curweight = Convert.ToDouble(item["weight"]);
                        casterweight4.downLoadWeight();
                        casterweight4.ts = DateTime.Now.ToString("HH:mm:ss");
                    }
                }
            }
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: rcw0125/opcSvr
        /// <summary>
        /// 5#机水流量
        /// </summary>
        /// <param name="heatid"></param>
        public void calWater(string heatid)
        {
            double s1 = Math.Round(getVal(sllwz) + getVal(sllwz + 1) + getVal(sllwz + 2) + getVal(sllwz + 3) + getVal(sllwz + 4) + getVal(sllwz + 5) + getVal(sllwz + 6) + getVal(sllwz + 7), 1);
            double s2 = Math.Round(getVal(sllwz + 8) + getVal(sllwz + 9) + getVal(sllwz + 10) + getVal(sllwz + 11) + getVal(sllwz + 12) + getVal(sllwz + 13) + getVal(sllwz + 14) + getVal(sllwz + 15), 1);
            double s3 = Math.Round(getVal(sllwz + 16) + getVal(sllwz + 17) + getVal(sllwz + 18) + getVal(sllwz + 19) + getVal(sllwz + 20) + getVal(sllwz + 21) + getVal(sllwz + 22) + getVal(sllwz + 23), 1);
            double s4 = Math.Round(getVal(sllwz + 24) + getVal(sllwz + 25) + getVal(sllwz + 26) + getVal(sllwz + 27) + getVal(sllwz + 28) + getVal(sllwz + 29) + getVal(sllwz + 30) + getVal(sllwz + 31), 1);
            //插入数据
            string    sql     = "INSERT INTO CCCM_MBER_DATA(heatid,CS1,cs2,CS3,cs4) VALUES('" + heatid + "'," + s1 + "," + s2 + "," + s3 + "," + s4 + ")";
            oraDbHelp service = new oraDbHelp();

            service.Update(sql);
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: rcw0125/opcSvr
 /// <summary>
 /// 4#机末端电磁搅拌
 /// </summary>
 /// <param name="heatid"></param>
 public void calMddj(string heatid)
 {
     //1-4流实际电流大于1,则插入
     if (getVal(mdwz + 12) > 1 || getVal(mdwz + 13) > 1 || getVal(mdwz + 14) > 0 || getVal(mdwz + 15) > 0)
     {
         string sql = "INSERT INTO CCCM_MDDJ_DATA(HEATID,S1P,S2P,S3P,S4P,L1P,L2P,L3P,L4P,S1D,S2D,S3D,S4D,L1D,L2D,L3D,L4D) VALUES('" + heatid + "',";
         sql += getVal(mdwz) + "," + getVal(mdwz + 1) + "," + getVal(mdwz + 2) + "," + getVal(mdwz + 3) + "," + getVal(mdwz + 4) + "," + getVal(mdwz + 5) + ",";
         sql += getVal(mdwz + 6) + "," + getVal(mdwz + 7) + "," + getVal(mdwz + 8) + "," + getVal(mdwz + 9) + "," + getVal(mdwz + 10) + "," + getVal(mdwz + 11) + ",";
         sql += getVal(mdwz + 12) + "," + getVal(mdwz + 13) + "," + getVal(mdwz + 14) + "," + getVal(mdwz + 15) + ")";
         oraDbHelp service = new oraDbHelp();
         service.Update(sql);
     }
 }
コード例 #5
0
ファイル: Form1.cs プロジェクト: rcw0125/opcSvr
        /// <summary>
        /// 计算连铸机水流量、末端电磁搅拌数据
        /// </summary>
        public void getCasterInfo()
        {
            //查询连铸机生产状态
            string    sql     = "select code,heatid,status from cccm_unit_mag where code='S65' or code='S64'";
            oraDbHelp service = new oraDbHelp();
            DataSet   ds      = service.Query(sql);

            if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
            {
                foreach (DataRow item in ds.Tables[0].Rows)
                {
                    if (item["code"].ToString() == "S65")
                    {
                        if (item["status"].ToString() == "2")
                        {
                            //计算水流量
                            calWater(item["heatid"].ToString());
                        }
                        casterInfo5.heatid = item["heatid"].ToString();
                        casterInfo5.status = item["status"].ToString();
                    }
                    else
                    {
                        if (item["status"].ToString() == "2")
                        {
                            //计算末端电磁搅拌
                            calMddj(item["heatid"].ToString());
                        }
                        casterInfo4.heatid = item["heatid"].ToString();
                        casterInfo4.status = item["status"].ToString();
                    }
                }
            }
            DateTime dt = DateTime.Now;

            label22.Text = dt.ToString("yyyy-MM-dd HH:mm:ss");
        }
コード例 #6
0
ファイル: dabaoshenggang.cs プロジェクト: rcw0125/opcSvr
        public void calData()
        {
            #region  大包开浇时,记录各个值
            if (getValueInt(valid_status) == 1 && flag == 0)
            {
                flag          = 1;
                tundishweight = getValue(valid_tundishweight);
                var A_weight = getValue(valid_A_weight);
                var B_weight = getValue(valid_B_weight);
                if (A_weight > B_weight)
                {
                    dabaobi     = "A";
                    grossweight = A_weight;
                }
                else
                {
                    dabaobi     = "B";
                    grossweight = B_weight;
                }

                genzongzhi1   = getValue(valid_genzongzhi1);
                genzongzhi2   = getValue(valid_genzongzhi2);
                genzongzhi3   = getValue(valid_genzongzhi3);
                genzongzhi4   = getValue(valid_genzongzhi4);
                casting_begin = DateTime.Now;
                status        = "浇注中";
            }
            #endregion

            #region 大包停浇时,计算各个值,并保存到数据库
            if (getValueInt(valid_status) == 0 && flag == 1)
            {
                flag = 0;
                //中包浇注重量
                var tundishweight_end = getValue(valid_tundishweight);
                var tundishweight_add = tundishweight_end - tundishweight;

                //大包壁称量重量
                var tare_weight = 0.0;
                if (dabaobi == "A")
                {
                    tare_weight = getValue(valid_A_weight);
                }
                else
                {
                    tare_weight = getValue(valid_B_weight);
                }
                var remainweight = getValue(valid_ladelweight);

                //大包浇注时长
                var casting_end = DateTime.Now;
                var castingtime = Math.Round((casting_end - casting_begin).TotalMinutes, 1);
                //大包铸坯长度等
                var    genzongzhi1_end = getValue(valid_genzongzhi1);
                var    genzongzhi2_end = getValue(valid_genzongzhi2);
                var    genzongzhi3_end = getValue(valid_genzongzhi3);
                var    genzongzhi4_end = getValue(valid_genzongzhi4);
                var    zhupi_length    = Math.Round(genzongzhi1_end - genzongzhi1 + genzongzhi2_end - genzongzhi2 + genzongzhi3_end - genzongzhi3 + genzongzhi4_end - genzongzhi4, 2);
                string heatid          = "";
                double danzhong        = 0;
                string sql             = " select heatid,(select round(weight * 1000 / length, 3) from CQA_CAL_WEIGHT_STD  where spec = '280*325' and steelgrade = cccm_base_data.steelgrade and length = cccm_base_data.length and rownum = 1) as danzhong ";
                sql += " from cccm_base_data where treatno = (select max(treatno) from cccm_base_data where ccmid = 'S65') ";
                oraDbHelp service = new oraDbHelp();
                DataSet   ds      = service.Query(sql);
                if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
                {
                    foreach (DataRow item in ds.Tables[0].Rows)
                    {
                        heatid = item["heatid"].ToString();
                        try
                        {
                            danzhong = Convert.ToDouble(item["danzhong"]);
                        }
                        catch
                        {
                            danzhong = 0.72;
                        }
                    }
                }
                var zhupi_weight = zhupi_length * danzhong;

                string exeSql = " insert into cccm_ladle_weight(heatid, casting_weight, tundish_weight, zhupi_weight, zhupi_length, zhupi_danzhong, dabaobi, grossweight, tareweight, ";
                exeSql += " castingtime, casting_begin, casting_end, tundish_begin, tundish_end, zhupi1_begin, zhupi1_end, zhupi2_begin, zhupi2_end, ";
                exeSql += " zhupi3_begin, zhupi3_end, zhupi4_begin, zhupi4_end,remainweight) ";
                exeSql += " values('" + heatid + "', " + (tundishweight_add + zhupi_weight) + ", " + tundishweight_add + ", " + zhupi_weight + ", " + zhupi_length + ", " + danzhong + ", '" + dabaobi;
                exeSql += "'," + grossweight + ", " + tare_weight + "," + castingtime + ", '" + casting_begin.ToString("HH:mm:ss") + "', '" + casting_end.ToString("HH:mm:ss");
                exeSql += "'," + tundishweight + ", " + tundishweight_end + ", " + genzongzhi1 + ", " + genzongzhi1_end + ", " + genzongzhi2 + ", " + genzongzhi2_end + ", " + genzongzhi3 + "," + genzongzhi3_end + ", " + genzongzhi4 + ", " + genzongzhi4_end + ", " + remainweight + ") ";
                service.Update(exeSql);
                status = "已停浇";
            }
            #endregion
        }