分享好友 环保知识首页 环保知识分类 切换频道

数控铣床Internet远程控制的一种实现

2013-03-23 15:43670工控之家工控之家网

  因特网的分布广泛使得建设基于因特网的远程控制系统成为一种可能。基于因特网的远程控制的特点有以下几点:

  ·传输通道是因特网。使用的协议是tcp/ip协议。因此, 对于采用因特网技术开发出来的远程控制技术,可以在采用tcp/ip协议的网络上使用, 一般不需要修改。

  ·系统开发周期短、充分利用了现有的网络资源; 维护费用小。

  ·具有很高的灵活性, 实现了真正的无处不在的远程控制。

  ·基于因特网的远程控制技术是不断发展的技术。随着因特网技术的发展, 基于因特网的远程控制技术也在不断的发展。

  ·存在不确定的时延问题。由于网络有限带宽和不确定路由造成的大且变化的网络时延, 网络阻塞也可能造成的数据包丢失。

  目前, 基于因特网的机器人控制系统普遍都采用了客户/服务器(c/s)网络模型, 通过网络发出控制命令。

  远程控制的实现方法

  ·建立远程控制的构架, 使的在任何一台连接到因特网的电脑上都可以通过浏览器控制异地数控铣床的工作状态。

  ·为了实现以上功能, 首先得建立一个本地控制函数, 此函数功能以动态链接库形式表现出来。其次,以网页的形式设计一个控制铣床的页面。设计一个服务器上运行的servlet, 通过动态链接库调用本地函数,把远程控制的命令转化为控制指令。

  笔者用jbuilder建立servlet,接受网页信息和调用类函数;建立一个本地函数。用frontpage设计网页。用c++builder编写一个本地函数的动态链接库dll,它能快速调用advantech驱动软件包,实现对底层数字量i/o卡的控制。

  系统总体设计

  基于internet的数控铣床的远程控制系统的结构如图1所示。这是一个典型的三层b/s结构。

  第一层是前台即浏览器。用户通过浏览器访问该系统而无需安装任何软件。 用户在网页上输入控制铣床的运动信息比如:

  x轴、y轴、z轴三方向的进给、停止, 主轴的转动以及停止。

  第二层servlet是运行在jbuilder自带的服务器tomcat4.0上的小程序。servlet负责调用本地函数,并把浏览器传送的信息转化成本地函数指令。

  第三层是数控铣床的本地控制系统。本地控制系统执行本地函数的发出的命令, 并将自己的状态返回给本地函数,本地函数把这些状态信息传递给servlet。本系统中由bordland c++builder 进行远程控制,建立了一个dll动态的链接库,调用本地函数。本地函数是jbuilder建立的类函数, 此函数的功能由dll实现。

  数控教学铣床的工作台是由步进电机实现控制的。采用信号发生器发出的给定脉冲(cp)控制步进电机的旋转步数,dir的高低电平来控制电机的正反转。

  可以改变脉冲频率来调节铣床进给的快慢。

  软件的设计

  c++builder撰写动态链结函式库dll建立dll专案的方式和一般应用程式大致相同。使用dll有两种方式:明确呼叫和不明确呼叫。

  不明确呼叫即静态调用法。该方法是利用链结一个记载输入函式的函式库档案(lib), 来进行链结, 如此系统会自动将该dll载入,同时在使用完毕后将其释放, 不必由使用者(也就是呼叫它的函式)来进行载入及释放的动作。所谓明确呼叫(explicited linked)是使用loadlibrary函式来载入dll。使用freelibrary函式来释放dll。使用明确呼叫的优点在于,可以完全控制该dll的载入及释放, 最有效地利用系统资源。在本系统中我们采用此种方式:

  static{system.loadlibrary(“project9”);} //调用系统加载库

  java与 c++的连接方法

  jbuilder是java的开发工具,而c++builder是c的开发工具。java连接c++的方法是,先将c++语言所编写的程序构造成动态链接函数库(dll), 再由java程序调用 dll库中的函数,使得dll库中函数被java看作是“方法”(method)。dll我们在前面已经介绍过。不过这种方法是直接用其他编程语言所提供,而不是java所编写, 所以将其方法称为“原生方法”(native method)。我们采用的是jni方法来进行两者之间的接口。

  javasoft公司提出了jni的标准接口。它使运行于java虚拟机上的java代码与用其他语言编写的库和应用程序能够相互调用。jni允许本地方法建立、使用和更新java对象,调用java方法和引用java类。也允许java代码调用c、c++、assembly等语言编成的程序和库。

  实现步骤

  开发环境: 操作系统为 windows2000平台java applet的开发工具为borland jbuilder8,本地方法的开发工具为bordland c++builder 6。

  jni—java native interface specification(java本地接口规范)jni是一种编程接口,下面将按步骤介绍使用jni的方法。

  ·ava类中要用本地代码实现的方法用native修饰, 构造类初始化器装入实现本地方法的库。

  ·译 java类, 并用javah工具生成 c++语言头文件, jsvah为jdki1.2带的一个工具。

  ·编写本地代码并编译成project5.dll,放入winnt的system32目录下, 以使java vm能找到这个库。

  servlet rvlet为服务器端的java的小程序,与运行在客户端的applet程序相对应,他们都是运用java语言编写的程序。servlet没有main方法,只有一些特定的方法用于启动, 执行, 和退出。它可以与运行在客户端的applet程序进行交互,也可以直接与客户端的html页面交互。servlet是对支持java的服务器的一般扩充,最常见的用途是扩展web服务器,提供非常安全的、可移植的、易于使用的cgi替代品。servlet完全运行在java虚拟机上,由于在服务器端运行, 因此它不依赖于浏览器的兼容性。

  在《form》标记中调用servlet。html格式使用户能在 web页面(即从浏览器)上输入数据, 并向 servlet提交数据。远程控制页面如图2所示。

 
 
 
 
 
 
 
 
 
 
 

  结束语

  以有代表性的数控铣床控制机构为研究对象,从理论和实现方法上对基于因特网的远程控制系统进行了研究。运用c++builder、jbuilder实现了跨平台的操作,最终完成数控教学铣床的远程控制。

点赞 0
举报
收藏 0
打赏 0
评论 0
分享 2
更多相关评论
暂时没有评论,来说点什么吧
预测机器视觉市场的发展
机器视觉的一个重要作用在于对工业自动化水平提升的推动,这正是目前国内机器视觉市场的发展动力。而用户的需求无疑是机器视觉得以普及发展的诸多因素中最具决定性的。随着中国制造业的进一步发展,对机器视觉的需求也有了进一步的提高,这不仅仅表现在市场的

0评论2021-12-18698

静止无功发生器SVG技术说明
在有色金属冶炼加工企业中,供电的质量指标、电网运行的安全可靠性和经济性是最根本的问题。近年来,随着有色冶炼加工企业的发展,有色金属冶炼加工设备尤其是轧制设备趋向设备大型化、大容量、数字化、智能化,由电力电子器件构成的各种交交变频、交-直-交

0评论2021-12-18723

真空成型机中的温度控制系统设计
真空成型机是利用热成型工艺制造冰箱内胆的大型塑料加工机械,是冰箱制造企业的主力设备之一。由于长期以来,我国塑料加工机械的设计水平有限,不能在高端成型机领域满足国内市场的需要,这部分空缺主要由国外的品牌来填充。在过去的十几年间,我国从国外引进

0评论2021-11-07699

台达PLC的发酵罐PH值控制和管理系统
1 系统简介1.1 原加碱工艺说明发酵是生产黄原胶的其中一个重要的工艺过程,发酵过程的好坏直接影响到产品的质量和产量,在发酵的过程中,发酵物产生大量酸,影响细菌的生长和正常发酵,需要在发酵过程中加入碱液对产生的酸中和。目前,发酵过程加入碱液

0评论2021-11-07680

储能技术:优化新能源发电 增强新能源发电的稳定性
储能可以依据风、光的瞬时变化,减弱甚至消除新能源发电的波动,增强新能源发电的稳定性。变成稳定的电源《经济学人》2013年2月2日一篇报道显示,在德国,即便是现有的风电水平,在大风的日子,电网操作员也必须关闭机轮,因为没地方来储存这些能量。当

0评论2021-11-07715

DCS控制系统与PLC控制系统的主要区别
PLC控制和DCS控制系统不是一个逻辑层次上的概念,从名称上就能看出:PLC是以功能命名,DCS是以体系结构命名。从原理上看PLC就可以组成DCS。当然两者性能差异还是存在的,要具体看产品和需要。从应用角度来说,简单地以PLC,DCS来区分

0评论2021-11-07621

3D打印迷你肝脏可观察药物疗效
OFweek工控网讯:在实验室培育可移植肝脏过程中,美国科学家取得一项重大突破。他们利用装有细胞的3D打印机打印出迷你肝脏,深0.5毫米,宽4毫米,拥有很多与真实肝脏一样的功能,包括产生负责将激素、盐和药物运送到身体各处的蛋白质。打印3D迷

0评论2021-11-07669

伺服系统的主要作用和分类
如今,随着技术的不断成熟,交流伺服电机技术凭借其优异的性价比,逐渐取代直流电机成为伺服系统的主导执行电机。交流伺服系统技术的成熟也使得市场呈现出快速的多元化发展,并成为工业自动化的支撑性技术之一。主要作用1、以小功率指令信号去控制大功率负载

0评论2021-11-07668