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

数控系统加工过程远程监控工具的设计与实现

发布时间:2014-10-07 作者:田德伟 陶耀东 焦广胜  来源:万方数据
关键字:数控系统 加工 远程监控 
为了实现对数控系统加工过程的远程监控,文章使用硬件抽象层、共享内存、I/O 多路复用等技术设计了数控系统加工过程远程监控工具。共享内存池和共享内存块两级管理的方式,提高内存的利用效率; I/O 多路复用技术解决了多客户端登陆的问题,提高了服务器端 CPU 的利用率; 利用 HAL技术设计了 halcmd 程序,用户能够通过运行客户端应用程序远程登陆服务器,监控数控系统的加工过程。最后通过 EMC2 开源数控软件对数控系统加工过程进行实验仿真,实验表明,该远程监控工具能够方便的对数控系统的加工过程进行监控。

3 系统实现

  3.1 关键数据结构

  在内核空间和用户空间之间的通信主要是嵌入硬件抽象层来实现的,硬件抽象层的设计又采用了共享内存技术。共享内存结构体 hal_data_t 的主要组成为:

  typedef struct {
  . . . . . .
  int comp_free_ptr;
  / / 存储空闲的 comp 地址
  int pin_free_ptr;
  / / 存储空闲的 pin 地址
  int param_free_ptr;
  . . . . . .
  unsigned long mutex;
  / /该结构互斥访问信号量地址
  int shmem_bot;
  int shmem_top;
  / / 共享内存的首地址和尾地址
  int comp_list_ptr;
  / /已加载的 comp 模块的首地址
  int pin_list_ptr;
  / /已加载的 comp 模块的首地址
  . . . . . .
  } hal_data_t;

  该结构作为全局变量,halcmd 的命令是通过获取互斥信号量来对该内存区域进行访问的。以 loadrtsiggen 为例,流程图 5 如所示。

处理 loadrt siggen 命令流程图

图 5 处理 loadrt siggen 命令流程图

  用户输入 loadrt siggen 命令时,该命令的功能是实现加载软元件 siggen,通过 halcmd _commands 查找loadrt 对应的操作函数 do _loadrt _cmd ( ) ,如果 siggen模块尚未插入,则利用 insmod siggen. ko 将该模块插入。并将 siggen 加入到 hal_data - > pin_list_ptr 的链表中。命令执行完毕,返回 halcmd 命令行。

  3.2 远程监控工具的实现

  远程监控工具是 halcmd 应用程序的一部分,它的主要任务是完成对输入命令的读入,解析命令,执行命令,返回命令执行结果。

  具体的代码实现:

  if( rmonitoring = = 1) / /监测是否开始远程监控模块
  { / / 创建远程监控模块
  createTCPServer( ) ; / /创建本地 select 并发服务器;
  select( maxfdp1,readfds,writefds,NULL,tvptr) ;
  / /查找接入的 socket 连接
  read( sockfd,buf,BUFSIZE) ;
  halcmd_parse _cmd ( tokens) ; / /在服务器端处理远程输入命令
  / /关闭 halcmd 应用程序
  halcmd_shutdown( ) ;
  / /关闭 socket 连接
  shutdown_socket( ) ;
  }
  else / /启用本地调试模式
  {
  get_input( srcfile,raw_buf,MAX_CMD_LEN) ; / /从终端获取输入的命令
  halcmd_parse_cmd( tokens) ; / /执行命令,并将结果输出到终端
  / /关闭 halcmd 应用程序
  halcmd_shutdown( ) ;
  }

  其中 halcmd_parse_cmd( tokens) 主要是根据 to-kens,按照命令索引跳转到相应的命令函数中执行。可以实现加载模块,模块互联,模块信息读取等命令功能; print_info( ) 根据 tokens 执行的结果将命令反馈信息发送给相应的客户端程序,从而实现对数控系统的加工状态的远程监测过程。

4 实验

  在 pc1 上运行数控系统仿真软件 EMC2,打开终端,使用 halcmd -kfr 启用加工过程远程监测模式。分别在 pc2 和 pc3 上运行. /monitor 192. 168. 2. 14,连接到 pc1 服务器端。查看 pc2 和 pc3 的输出情况,同时也可以执行 halcmd 命令。实验结果如图 6 所示。

处理 loadrt siggen 命令流程图

图 6

  上图是在 pc2 和 pc3 上显示的对引脚变化的图形化显示的结果,显示了三种不同的引脚曲线: 正弦,余弦和方形曲线。用户可以方便使用该工具远程查看各个引脚的变化情况。

5 总结与展望

  本文使用硬件抽象层技术和 I/O 多路复用技术,提出了一个数控系统加工过程远程监测工具的设计方案,并利用 EMC2 开源数控软件对数控数控加工过程进行仿真,运用该远程监测工具进行对其进行远程监测,能够获得数控加工过程中的轴的速度、轴的当前位置、轴的位置反馈等信息,表明了该设计方案在对加工过程远程监控方面是可行的。

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