版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、负公差轧制称重重量监视控制系统目录一、负公差轧制简介:二、负公差轧制的意义:三、目前负公差轧制存在的问题:四、技术关键五软件的研发六、效果分析:一、负公差轧制简介: 为了满足生产使用要求,并根据轧制水平,在产品标准中规定钢材尺寸的波动范围,允许钢材的实际尺寸与公称尺寸之间有一定的偏差,这个偏差一般称公差,公差分正、负公差,钢材按负公差轧制时,叫负公差轧制,安钢按照国家GB1499-1998标准要求实施生产,在客户无特殊要求情况下一般按负差轧制交货。二、负公差轧制的意义:1. 我公司第一轧钢厂生产的螺纹钢是按理论重量销售,因此稳定的高负差产品极具市场竞争力。负差率即实际重
2、量与理论重量的差值,除以理论重量,乘100%。以螺纹12为例,不按负差生产,在坯重2450kg的情况下,可生产12m定尺螺纹钢约230根。如果按负差生产,可生产237根240根左右。这多生产出的710根,就成了产品的“卖点”。 2. 因螺纹钢销售实行理论重量交货,负差率产品的稳定率直接影响公司声誉和效益。为此,一轧厂与公司相关部门配合,负差率取得良好效果。产品深受客户青睐,提高了公司产品声誉,增强了市场竞争力和创效能力。三、目前负公差轧制存在的问题:1、受自动化控制程度限制,一些工艺流程的操作还是依靠工人经验来完成,由于个人工作技能水平限制,尺寸控制极不稳定,因此控制台就需要及时准确的了解成品
3、钢的尺寸及重量。现在信息的沟通主要依靠电话。取样户每次取样称重后,将数据报给控制台,控制台根据实时情况,打电话询问260秤房秤台上钢的重量,这样,又费时,又不能及时、全面的掌握成品钢的情况。2、生产过程中,轧机构因料型变化,造成负差变化,在精整称重后,才能准确地反映出来,但目前缺少该信息的反馈方式,靠人工传递不仅不及时,而且不能连续不断地传递,而且容易出现数据传递误差。如果增加一套称重重量监视系统,可使每一捆的重量能及时反馈到轧机机构,可方便指导对料型进行调整,使指标得以提升。四、技术关键1为进一步提高车间的负差均衡率,在车间的前区增加一套称重重量监视系统,便于轧机区及时根据捆重调整控制负差均
4、衡率。2开发研制称重数据输出控制、大屏幕显示软件,实现实时数据显示功能3增设测定负差率的电子天平,确保负差稳定性实时数据的准确率五软件的研发1软件简介: 该软件是利用2工艺流程图3网络流程图4软件流程图5软件研发程序private void createimage() int height =350, width = 1000; Bitmap image = new Bitmap(width,height); Graphics g = Graphics.FromImage(image); try #region/画轴 g.Clear(Color.White); Font font = new
5、System.Drawing.Font("Arial",9,FontStyle.Regular); Font font1 = new System.Drawing.Font("宋体",20,FontStyle.Regular); Font font2 = new System.Drawing.Font("Arial",8,FontStyle.Regular); LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0,0,image.Width,image.
6、Height),Color.Blue,Color.Blue,1.2f,true); g.FillRectangle(Brushes.AliceBlue,0,0,width,height); Brush brush1 = new SolidBrush(Color.Red); Brush brush2 = new SolidBrush(Color.Green); Brush brush3 = new SolidBrush(Color.Purple); g.DrawString("螺纹12三线切分折线图", font1, brush1, new PointF(360, 320);
7、 g.DrawRectangle(new Pen(Color.Blue),0,0,image.Width-1,image.Height-1); Pen mypen = new Pen(brush,1); Pen mypen2 = new Pen(Color.Red,2); Pen mypen3 = new Pen(Color.Green,2); Pen mypen4 = new Pen(Color.Purple,2); /画纵向线条 int x = 60; for (int i = 0; i < 20; i+) g.DrawLine(mypen, x, 10, x, 310); x =
8、x + 40; Pen mypen1 = new Pen(Color.Blue,3); x = 60; g.DrawLine(mypen1,x,0,x,310); /绘制横向线条 int y = 10; for (int i = 0; i <3; i+) g.DrawLine(mypen,60,y,860,y); y = y + 100; y = 310; g.DrawString("16", font, Brushes.Blue, 653, 310); /画箭头 g.DrawLine(mypen, 853, 303, 860, 310); g.DrawLine(my
9、pen, 853, 317, 860, 310); g.DrawLine(mypen, 53, 7, 60, 0); g.DrawLine(mypen, 67, 7, 60, 0); / SqlConnection con = new SqlConnection("server=.;database=xxfc;uid=sa;pwd=sa"); SqlConnection con = wjj.createconnection(); con.Open(); SqlCommand cmd0 = new SqlCommand("select count(*) from x
10、xx where xh='螺纹12三线切分南线'", con); int count = Convert.ToInt32(cmd0.ExecuteScalar(); SqlCommand cmd5 = new SqlCommand("select count(*) from xxx where xh='螺纹12三线切分中线'", con); int countz = Convert.ToInt32(cmd5.ExecuteScalar(); SqlCommand cmd6 = new SqlCommand("select
11、count(*) from xxx where xh='螺纹12三线切分北线'", con); int countb = Convert.ToInt32(cmd6.ExecuteScalar(); if (count < 2 | countb < 2 | countz < 2) System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); Bitmap bitmange = new B
12、itmap(image); pictureBox1.Image = bitmange; else #endregion /坐标上的Y值(处理后) int count1 = new intcount; int count2 = new intcountz; int count3 = new intcountb; /标注的Y值(未处理) int count11 = new intcount; int count22 = new intcountz; int count33 = new intcountb; if (count >= 20) if (count < countb | co
13、unt < countz) SqlCommand cmd1 = new SqlCommand("select top 19 fcl from xxx where xh='螺纹12三线切分南线' order by ttime desc", con); SqlDataReader dr = cmd1.ExecuteReader(); int i = 0; while (dr.Read() count1i = Convert.ToInt32(Convert.ToDouble(dr"fcl") * 10); count11i = Conve
14、rt.ToInt32(Convert.ToDouble(dr"fcl") * 10); if (count1i > 80) count1i = 80; if (count1i < 50) count1i = 50; i+; dr.Close(); Font font3 = new System.Drawing.Font("Arial", 10, FontStyle.Bold); SolidBrush mybrush = new SolidBrush(Color.Red); Point points1 = new Point19; int a
15、= 780; for (int b = 0; b < 19; b+) points1b.X = a; points1b.Y = (80 - (Convert.ToInt32(count1b.ToString() * 10 + 10;/ a = a - 40; g.DrawLines(mypen2, points1); #endregion else #region SqlCommand cmd1 = new SqlCommand("select top 20 fcl from xxx where xh='螺纹12三线切分南线' order by ttime de
16、sc", con); SqlDataReader dr = cmd1.ExecuteReader(); int i = 0; while (dr.Read() count1i = Convert.ToInt32(Convert.ToDouble(dr"fcl") * 10); count11i = Convert.ToInt32(Convert.ToDouble(dr"fcl") * 10); if (count1i > 80) count1i = 80; if (count1i < 50) count1i = 50; i+; dr
17、.Close(); Font font3 = new System.Drawing.Font("Arial", 10, FontStyle.Bold); SolidBrush mybrush = new SolidBrush(Color.Red); Point points1 = new Point20; int a = 820; for (int b = 0; b < 20; b+) points1b.X = a; points1b.Y = (80 - (Convert.ToInt32(count1b.ToString() * 10 + 10;/ a = a - 4
18、0; g.DrawLines(mypen2, points1); #endregion else if (count > 0 & count < 20) #region SqlCommand cmd2 = new SqlCommand("select fcl from xxx where xh='螺纹12三线切分南线' order by ttime desc", con); SqlDataReader dr = cmd2.ExecuteReader(); int i = 0; while (dr.Read() count1i = Conv
19、ert.ToInt32(Convert.ToDouble(dr"fcl") * 10); count11i = Convert.ToInt32(Convert.ToDouble(dr"fcl") * 10); if (count1i > 80) count1i = 80; if (count1i < 50) count1i = 50; i+; /计算负差率对应的Y轴坐标; dr.Close(); Font font3 = new System.Drawing.Font("Arial", 10, FontStyle.Bold
20、); SolidBrush mybrush = new SolidBrush(Color.Red); Point points1 = new Pointcount; int a = 60 + (count - 1) * 40; for (int b = 0; b < count; b+) points1b.X = a; points1b.Y = (80 - (Convert.ToInt32(count1b.ToString() * 10 + 10;/ a = a - 40; g.DrawLines(mypen2, points1); #endregion else this.button
21、4.Enabled = false; #endregion #region/中线 if (countz >= 20) if (countz < countb | countz < count) #region SqlCommand cmd3 = new SqlCommand("select top 19 fcl from xxx where xh='螺纹12三线切分中线' order by ttime desc", con); SqlDataReader dr1 = cmd3.ExecuteReader(); int i = 0; whil
22、e (dr1.Read() count2i = Convert.ToInt32(Convert.ToDouble(dr1"fcl") * 10); count22i = Convert.ToInt32(Convert.ToDouble(dr1"fcl") * 10); if (count2i > 80) count2i = 80; if (count2i < 50) count2i = 50; i+; dr1.Close(); Font font3 = new System.Drawing.Font("Arial", 10
23、, FontStyle.Bold); SolidBrush mybrush = new SolidBrush(Color.Green); Point points2 = new Point19; int a = 780; for (int b = 0; b < 19; b+) points2b.X = a; points2b.Y = (80 - (Convert.ToInt32(count2b.ToString() * 10 + 10;/ a = a - 40; g.DrawLines(mypen3, points2); #endregion else #region SqlComman
24、d cmd3 = new SqlCommand("select top 20 fcl from xxx where xh='螺纹12三线切分中线' order by ttime desc", con); SqlDataReader dr1 = cmd3.ExecuteReader(); int i = 0; while (dr1.Read() count2i = Convert.ToInt32(Convert.ToDouble(dr1"fcl") * 10); count22i = Convert.ToInt32(Convert.ToDo
25、uble(dr1"fcl") * 10); if (count2i > 80) count2i = 80; if (count2i < 50) count2i = 50; i+; dr1.Close(); Font font3 = new System.Drawing.Font("Arial", 10, FontStyle.Bold); SolidBrush mybrush = new SolidBrush(Color.Green); Point points2 = new Point20; int a = 820; for (int b =
26、 0; b < 20; b+) points2b.X = a; points2b.Y = (80 - (Convert.ToInt32(count2b.ToString() * 10 + 10;/ a = a - 40; g.DrawLines(mypen3, points2); #endregion else if (countz > 0 & countz < 20) #region SqlCommand cmd3 = new SqlCommand("select fcl from xxx where xh='螺纹12三线切分中线' ord
27、er by ttime desc", con); SqlDataReader dr1 = cmd3.ExecuteReader(); int i = 0; while (dr1.Read() count2i = Convert.ToInt32(Convert.ToDouble(dr1"fcl") * 10); count22i = Convert.ToInt32(Convert.ToDouble(dr1"fcl") * 10); if (count2i > 80) count2i = 80; if (count2i < 50) co
28、unt2i = 50; i+; /计算负差率对应的Y轴坐标; dr1.Close(); Font font3 = new System.Drawing.Font("Arial", 10, FontStyle.Bold); SolidBrush mybrush = new SolidBrush(Color.Green); Point points2 = new Pointcountz; int a = 60 + (countz - 1) * 40; for (int b = 0; b < countz; b+) points2b.X = a; points2b.Y =
29、(80 - (Convert.ToInt32(count2b.ToString() * 10 + 10;/ a = a - 40; g.DrawLines(mypen3, points2); #endregion else this.button4.Enabled = false; #endregion #region/北线 if (countb >= 20) if (countb < countz | countb < count) #region SqlCommand cmd4 = new SqlCommand("select top 19 fcl from xxx where xh='螺纹12三线切分北线' order by ttime desc", con); SqlDataReader dr2 = cmd4.ExecuteReader(); int i = 0; while (dr2.Read() count3i = Convert.ToInt32(Convert.ToDouble(dr2"fcl") * 10); count33i = Convert.ToInt32(Convert.ToDouble(dr2"fcl") * 10); if (count3i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消防安全分片责任制度
- 区域管理责任制度
- 炒货安全责任制度范本
- 上什工作责任制度
- 环境监理责任制度汇编
- 2025-2026学年山东德州经开区抬头寺中学初三第三次质检数学试题含解析
- 2026年四川省广安市武胜县重点名校初三下学期第二次诊断性测验物理试题试卷含解析
- 河北省新乐市重点达标名校2026年中考数学试题全真模拟密押卷(六)含解析
- 2026年大学大一(建筑施工技术)混凝土施工工艺操作阶段测试题及答案
- 2025年前台防疫接待礼仪真题解析
- 园长证挂靠免责协议书
- 机电一体化技术与系统第2版龚仲华教学课件全套
- 住宅经营民宿合同范本
- 浙江省强基联盟2025-2026学年高三上学期10月联考生物试题(含答案)
- 思维导图与信息技术结合
- 项目部安全生产管理目标考核表
- 天津市2025天津市文化和旅游局直属艺术院团招聘23人笔试历年参考题库附带答案详解
- 量具储存知识培训课件
- 煤矿无轨胶轮车司机试卷与答案
- 电动车考试试题及答案
- 2.1 创新改变生活(教学设计) 2025-2026学年度道德与法治九年级上册 统编版
评论
0/150
提交评论