- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
冷轧生产执行系统(PES)中间件设计与实现.doc
冷轧生产执行系统(PES)中间件设计与实现
摘 要
中国 1/vie
阐述使用C#开发技术、SQL server数据库技术开发冷轧中间件的总体设计方案,详细分析了柳钢生产计划在内部网络的流向。
【关键词】C#SQL server冷轧中间件
1 前言
柳钢冷轧生产执行系统(Product Execution System,PES)属于柳钢制造执行系统(Manufacturing Execution System,简称MES)的子系统,在柳钢冷轧钢卷生过程中,需要通过MES制定生产计划以报文的形式下发到PES,冷轧厂需要根据公司的生产计划执行生产。因此,需要通过设计中间件进行对公司下发计划存储的数据库跟生产机组二级服务器数据库进行衔接,执行生产计划的下发及实际生产数据上传。
2 需求分析
2.1 业务需求分析
冷轧中间件的开发主要是将公司中间件下发到冷轧Sql数据库中的数据跟生产机组二级服务器数据库中数据实现对接。有效的实现冷轧Sql数据库数据跟生产机组二级服务器数据的互通。
2.2 功能需求分析
冷轧中间件在功能上,首先要实现冷轧Sql数据库跟二级数据服务器数据库进行连接,其次创建时间定时器,对数据库数据进行定时遍历查询,将未下发的生产计划自动按时下发以及二级服务器内未上传的实际生产数据按时上传。实现对上下鞍座实绩、钢卷焊接实绩、钢卷生产实绩、重量更新、酸轧作业命令。
2.3 数据流向分析
冷轧卷生产数据流向,首先由公司通过MMS系统制定总生产计划存储到公司的Oracle数据库中,再通过PES系统访问公司的oracle数据库,对制定的总生产计进行详细分配到各个机组生产,制定详细计划。公司中间件是对公司的Oracle数据库中的冷轧生产计划下发到冷轧Sql数据库中。冷轧中间件是将冷轧Sql数据库中的数据分配到各个相应机组二级服务器数据库中。等到机组按照生产计划完成生产后,二级机组服务器数据库会生成实际生产数据,会通过冷轧中间件传回冷轧Sql数据库中,再由公司中间件传回到公司的Oracle数据库中。
3 中间件功能结构图
中间件功能主要有上下鞍座实绩、钢卷焊接实绩、钢卷生产实绩、重量更新、酸轧作业命令。功能结构图如图1所示。
4 数据库设计
4.1 E-R图
E-R图是一种概念模型。概念模型实际上是现实世界到机器世界的一个中间层次。因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接的表达应该用众的各种语义知识,另一方面他还应该简单、清晰并且易于会员理解。图2是各个数据表的实体图。
4.2 基本表设计
如表1所示。
5 中间件实现
中间件的实现使用了C#程序设计语言程序技术跟SQL server数据库技术相结合。实现了冷轧中间件的内部远程连接服务器功能、上下鞍座实绩、钢卷焊接实绩、钢卷生产实绩、重量更新、酸轧作业命令功能等。
5.1 冷轧中间件界面设计
冷轧中间件界面设计如图3所示。
5.2 冷轧中间件测试服务器连接实现
冷轧中间件测试服务器连接实现代码如下所示:
publicstaticbool TestConnection(string host, int port, int millisecondsTimeout)
{
TcpClient client = neillisecondsTimeout); return client.Connected; }
catch(Exception e) {thro();
//构造Ping实例
Ping pingSender = neent = true;
//测试数据
string data = test data abcabc;
byte[] buffer = Encoding.ASCII.GetBytes(data);
//设置超时时间
int timeout = 120;
//调用同步 send 方法发送数据,将返回结果保存至PingReply实例
PingReply reply = pingSender.Send(ipStr, timeout, buffer, options);
if (reply.Status == IPStatus.Success)
{ if (textBox4.Text == || textBox4.Text == 9999)
{ textBox4.Text = 1; textBox4.ForeColor = Color.Red; }
else { textBox4.Text = (Convert.To
文档评论(0)