最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

基于W5100的数控系统组网设计与实现

发布时间:2014-09-27 作者:吴 珩 郑忠智  来源:万方数据
关键字:W5100 数控系统 TCP/IP 以太网 
本文针对网络数控系统发展趋势,提出了一种基于 W5100 网络芯片和 OMAPL138B 微处理器网络数控系统设计方案。介绍了系统体系架构、硬件电路接口分析和设计、网络数控系统组网方案及软件设计方案。硬件部分采用直接并行总线模式实现OMAPL138B 与 W5100 连接,软件部分完成了 W5100 驱动编程、Socket 编程及应用功能开发,最终实现数控系统组网功能,对数控系统网络化应用具有较高的参考价值。

  3.2 PC 服务器软件设计

  PC 机服务器端采用 Microsoft Visual ++ 6.0 MFC 作为应用软件框架开发工具,网络服务器部分采用Windows Socket 编程,建立服务器并监听客户端连接。

  Windows Socket 基于 TCP(面向连接)的服务器端程序首先创建套接字(socket)并将套接字绑定到一个本地地址和端口上(bind),同时将该套接字设置为监听模式,准备接受客户端连接请求(listen);当客户端有连接请求时,返回一个用于该客户端有效通信连接的套接字(accept),利用该通信套接字与客户端进行通信(send/recv);最后,完成通信后关闭对应客户端的通信套接字(closesocket)。服务器端建立监听线程,专门处理客户连接,关键程序如下:

  ULONG WINAPI ListenThread(LPVOID p){ //监听线程处理函数
  SOCKET listenSocket; //服务器监听套接字
  BOOL bRet;
  SOCKADDR_IN addrSrv;
  SOCKADDR_IN addrClient;
  int len = sizeof(SOCKADDR)
  listenSocket = socket(AF_INET, SOCK_STREAM, 0); //创建监听套接字
  addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
  addrSrv.sin_family = AF_INET;
  addrSrv.sin_port = htons(8080); //绑定端口
  bind(listenSocket, (SOCKADDR *)&addrSrv, sizeof(SOCKADDR));
  listen(listenSocket, 5); //设置监听模式
  while(1){ //以下阻塞等待客户端连接
  SOCKET dataSocket=accept(listenSocket,(SOCKADDR*)&addrClient, &len);
  UserTransSaveSocket(dataSocket); //将客户端通信套接字存储
  }
  return 0;
  }

  功能部分采用 MFC 进行开发设计,与客户端的通信传输主要采用数据包的形式。包头第一个短整型是一个包标识符,表明该数据包的属性字符和标识位,紧接着 4 字节为包有效数据长度,最后跟着是有效数据区,数据包格式如下所示。数据包属性及服务器端功能如表 3 所示。

数据包属性及服务器端功能

  本文数控系统组网验证采用两台数控系统通过路由器建立的局域网与 PC 机服务器连接,客户端两台系统 IP 地址分别为:192.168.1.101 和 192.168.1.102,服务器 IP 地址为 192.168.1.2。PC 机服务器端能够与网络数控系统客户端进行文件传输、DNC 在线加工、远程诊断和协助控制以及伺服参数在线监控和修改。图 8 所示为文件传输管理、DNC 在线加工和远程诊断协助控制部分功能软件连接测试结果,证明本方案组网可行,能够实现数控系统网络化管理。

部分软件功能测试
图8 部分软件功能测试

4 结束语

  目前,工业自动化的发展越来越多的依靠网络技术,数控系统必然走向智能化、网络化、集成化,原先单一数控系统生产方式将逐渐淘汰。数控系统通过以太网、TCP/IP 通信协议和 Socket 编程技术进行组网,可以实现服务器与多台数控系统进行连接,满足监视和控制要求,进一步促进车间有效利用资源和提高生产效率。本文以此为出发点,提出了具有网络组网功能的数控系统体系结构、硬件平台和软件设计相关方案,并验证了有关功能。该方案设计简单、集成度高并且软件开发过程短等优点,对数控系统网络化应用具有较高的参考价值。

4
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。