微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 水平下调式三辊卷板机开放式数控系统的开发

水平下调式三辊卷板机开放式数控系统的开发

时间:12-12 来源:互联网 点击:

界面根据卷板机的加工操作特点编制的,界面简洁友好,便于工人学习、操作。该部分主要包括程序编辑人机界面、加工参数输入和修改人机界面、加工模拟人机界面、故障诊断报警人机界面和在线帮助人机界面,具有很好的人机交互性(HMI) ,在人机界面部分采用主菜单和相关子菜单的形式,菜单采用按钮式,当主菜单中的某一按钮按下时,就出现与其相关的子菜单。这种图形化软键代替了传统数控机床上的错综复杂的操作按钮,使得操作面板显得非常简洁。

2.2.2 通信驱动程序的编制

在通常系统软件的开发中,通信驱动程序的编程是工作量最大,最困难的部分,但PMAC 为用户提供了PCOMM 这个动态链接库来完成上位机同PMAC 之间的数据交换,它包括了PMAC 的所有的通信方式。这就使得这部分的开发工作变得简单,剩下的只是对动态库中的函数的调用问题了[6 ] 。下面具体介绍在VC + + 610 下调用动态库及使用库函数的方法。

PCOMM32 动态库里包含有200 多个库函数,熟悉高级语言的编程人员通过它方便地实现PMAC同上位PC 机的数据交换。PCOMM 中虽然函数众多,但常用的并不多,用其中的几个就可以完成大部分的通信控制功能,满足系统需要。常用的有如下9 个函数:OpenPmacDevice ( ) 、ClosePmacDevice ( ) 、PmacConfigure () 、PmacGetResponseA ( ) 、PmacDownLoadFile ( ) 、PmacGetBufferA ( ) 、PmacReady ( ) 、PmacSendCommandA () 。

在VC + + 610 中调用动态库有2 种方法即动态链接和静态链接。这里介绍动态链接在PCOMM中的应用。需要用到WINDOWS 的几个API (应用程序编程接口) 函数:LoadLibrary (加载动态库) 、Get ProcAddress (取得相应函数地址) 、FreeLibrary (卸载动态库) 。

首先在头文件中为所需的函数定义函数指针类型,其参数表要和动态库函数原型相同。如先定义3 个函数指针类型的别名: typedef BOOL ( CALLBACK 3 OpenPmac) (DWORD) 、typedef BOOL(CALLBACK 3 ClosePmac) (DWORD) 、typedef int (CALLBACK 3 PmacGet ) (DWORD , PCHAR ,UIN T ,PCHAR) 。

然后在该文件中定义3 个函数指针: OpenPmac open 、ClosePmac close 、PmacGet pmacget 。其次需要在执行文件中加载动态库,获得相应函数地址并赋给你所定义的函数指针:
  hMyDll = LoadLibrary (“pmac”) ;加载动态库
  ASSERT(hMyDll ! = NULL) ;
  open = (OpenPmac) Get ProcAdress (hMyDll “, OpenPmacDevice”) ;得函数地址并赋给函数指针
  close = (ClosePmac) Get ProcAdress (hMyDll “, ClosePmacDevice”) ;
  pmacget = (PmacGet) Get ProcAddress (hMyDll “, PmacGetResponseA”) ;
  接着通过指向函数的指针调用该函数:
  if (open ! = NULL)
  {
  ( 3 open) (0) ; / / 调用通信初始化函数
    Set Timer (1 ,50 ,NULL) ;/ / 设置定时器采集时间为50 ms
  }
  void CpcommDlg : :On Timer (UIN T nIDEvent) / / 定时器响应函数
  {
  ( 3 pmacget) (0 ,buf ,255 “, rx0”) ; / / 读取PMAC 卡寄存器X0 里的内容,存放在buf 中;
   Update (FAL SE) ;
   CDialog : :On Timer (nIDEvent) ;
  }
  最后在程序退出的时候需要将动态库卸载:
  BOOL CPcommDlg : :Dest royWindow() ;
  {
  ( 3 close) (0) ;/ / 关断与PMAC 的通信
    FreeLibrary (hMyDll) ;/ / 卸载动态库
    ret urn CDialog : :Dest royWindow() ;
  }

2.2.3 PLC程序的编制

PMAC 带有内置的软PLC 功能, PLC 的运行也是由PMAC 来实现的。PLC 的语法是采用IF -EL SE 结构的类C 语言,开发者只要有C 语言的基础就可以很快写出所需的PLC 程序。然后,利用PMAC 自带的软件开发平台,编辑,编译PLC 程序,并下载到PMAC 卡中。系统的PLC 程序完成系统的初始化和对各种输入输出量进行监控,主要包括看门狗PLC、上电PLC、主PLC、指示灯管理PLC 和下电PLC。主PLC 用来完成对控制面板及机床输入、输出进行监控的任务,它主要包括各种手动、自动功能的实现、主轴运动的控制、上料和卸料等操作。

3 结 论

基于IPC + PMAC 结构的双CPU 开放式数控系统,由于PMAC 的强大的功能,不仅在硬件系统的连接集成上比较方便,而且在系统软件的开发由于其提供的动态库支持也变得相对简单,用户开发自己的数控系统其实就是对PMAC 功能的定制。这使用户在比较短的周期内能开发出所需特定功能的数控系统。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top