5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: G代码的由来,有谁知道? [打印本页]

作者: toly    时间: 2012-9-12 20:32
标题: G代码的由来,有谁知道?
最近想写一个G代码编译器,但是不知道G代码的由来,不知道这G代码是由何组织发布的,自感十分悲哀。有哪位坛友知道的请指教一下,感激不尽。。。
作者: toly    时间: 2012-9-12 21:04
在Google上找来一英文的,不知道的朋友一起补一下
http://en.wikipedia.org/wiki/G-code
作者: sun2773    时间: 2012-9-12 21:26
与不懂英文的一起补补
作者: toly    时间: 2012-9-12 21:35
sun2773 发表于 2012-9-12 21:26
与不懂英文的一起补补

不懂英文的再补补英文吧,懂英文的把它变成中文

作者: 姜鹰熊    时间: 2012-9-12 21:39
网页不是能直接翻译了么,我点了一下你们看看对不对

实现

在20世纪50年代初,第一次执行在麻省理工学院伺服机构实验室开发的数控。在以后的几十年里,许多的实现已开发出许多(商业和非商业)组织。G-代码经常被用来在这些实现。在20世纪60年代初由电子工业联盟的主要标准版在美国定居。[ 需要的引证 ] 1980年2月被批准为RS274D的最后修订。ISO 6983标准在世界上,经常使用,虽然在不同的欧洲国家有时也使用其他的标准,如DIN 66025或PN-73M-55256,PN-93/M-55251的在波兰。
扩展和变化,已加入独立控制制造商和机床制造商,运营商的一个特定的控制器必须知道每个制造商的产品的差异。
一个标准化的版本的G代码,被称为BCL,只用很少的机器。
在20世纪70年代至90年代期间,许多数控机床制造商试图克服困难的标准化机床的发那科控制器的兼容性。西门子又是市场主导,CNC数控系统,尤其是在欧洲。在21世纪的头十年中,控制器的差异和不兼容是不是嫌麻烦,因为开发的CAD / CAM应用程序,可以输出相应的G代码为特定的机床加工操作。
一些数控机床使用的“**”节目,这是一个精灵般的编程模式,无论是隐藏的G-代码或完全绕过使用的G代码。一些常见的例子是西南工业ProtoTRAK,马扎克的MAZATROL,Hurco的ULTIMAX,哈斯直观编程系统(IPS),森精机的CAPS**的软件。
G-代码开始为有限类型的语言,缺乏结构,如循环,条件运算符,程序员声明的变量与自然的字,包括名称(或表达式使用它们)。因此,这是无法编码逻辑,它本质上只是一个“连接点”,其中很多点的位置计算出普通的程序员。最新的G-代码实现这样的结构,创造的语言有点接近一个高层次的编程语言。可以告诉更多的程序员最终的结果是所需的机器,并留下中间计算的机器,他(她)使用机器的计算能力,充分利用。
作者: toly    时间: 2012-9-12 21:41
姜鹰熊 发表于 2012-9-12 21:39
网页不是能直接翻译了么,我点了一下你们看看对不对

实现

太先进了,不过只是变成了中文
作者: 姜鹰熊    时间: 2012-9-12 21:43
toly 发表于 2012-9-12 21:41
太先进了,不过只是变成了中文

嗯,下一步直接变成脑子里的语言,下 载到脑子里就不用现学了,直接拿来就用了

作者: 解闷丸    时间: 2012-9-12 22:41
C语言编译器是将C语言编译成机器语言..

你要弄个G代码编译器...你要将G代码编译成机器语言?

听起来视乎有点不合逻辑啊?
作者: 深圳晨夕    时间: 2012-9-12 23:20
真不知道。
作者: 夜行侠    时间: 2012-9-12 23:28
学习

作者: toly    时间: 2012-9-13 10:31
解闷丸 发表于 2012-9-12 22:41
C语言编译器是将C语言编译成机器语言..

你要弄个G代码编译器...你要将G代码编译成机器语言?

你要将G代码编译成机器语言,道理是这么个道理,准确一点说就是数控机器的驱动能识别的"语言"(脉冲)。不知道这样解释是否得当,兄台是否清楚。

作者: top-one    时间: 2012-9-13 13:29
G代码本来就是一看就明白是什么线路什么长度什么指示,楼主所谓的编译器就是个对照计算表,要转成好的脉冲,真正难在运动控制。在学习阶段老说要做成什么什么,行家看了不舒服,也不好说什么。
看这些贴感觉中 国很弱,不学无术吹牛的多,特别大部分领 导是这样的表表者,感觉楼主比较有做领 导的潜力。

G G功能(准备功能字)
            G0 快速移动
            G1 直线插补
            G2 顺时针圆弧插补
            G3 逆时针圆弧插补
            CIP 中间点圆弧插补 ........................





while(1)
string=readfrom(Gtext,1);
if string(1)==G;
   swith(number(string(2,3));/强制转换G后面的2个字符为数字
     0:/如果是G0 就读出G0后的X,Y数据减当前点位就知道相对位移
      pointnow(a,b)=number(readfrom(Gtext,2,3);
      Pluse(X,Y)=a-Xnow,b-Ynow;
      1:。。。。。。




作者: lzqwq    时间: 2012-9-13 13:36
为什么叫插补不就是移动吗
作者: wtoffice    时间: 2012-9-13 13:41
这下热闹了、、、、、、、、、、
作者: toly    时间: 2012-9-13 15:14
top-one 发表于 2012-9-13 13:29
G代码本来就是一看就明白是什么线路什么长度什么指示,楼主所谓的编译器就是个对照计算表,要转成好的脉冲, ...

不是科班出生的,就是会遭科班出生的指责,这是没法改变?
不是科班出生的,仅仅是兴趣爱好,呵呵,说错的地方,您莫抬举,也莫计较。
虽说一窍不通,但也不是不想学习,请莫打击弱小的心林,

作者: pascle    时间: 2012-9-13 18:59
专业




欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://wz.5imx.com/) Powered by Discuz! X3.3