运算符

运算符由2个字母组成,用于两个值的比较,以决定它们是相等还是一个值小于或大于另一个值。注意,不能使用不等号

运算符

含义

EQ

等于(=)

NE

不等于

GT

大于

GE

大于或等于

LT

小于

LE

小于或等于

示例程序           下面的程序计算数值1~10的总和

O9500;#1=0;………………………………….存储和的变量初值

#2=1;………………………………….被加数变量的初值

N1 IF[#2GT 10]GOTO 2;…………….当被加数大于10时转移到N2

#1=#1+#2;…………………………….计算和

#2=#2+#1;…………………………….下一个被加数

GOTO 1;………………………………转移到N1

N2 M30;................................................程序结束

算术和逻辑运算

功能

格式

备注

定义

#i=#j:

 

加法

#i=#j+#k

 

减法

#i=#j-#k

乘法

#i=#j*#k

除法

#i=#j/#k

正弦

#i=SIN[#j]:

角度以度指定090度30分表示为90.5度

反正弦

#i=ASIN[#j]:

余弦

#i=COS[#j]:

反余弦

#i=ACOS[#j]:

正切

#i=TAN[#j]:

反正切

#i=ATAN[#j]:

平方根

#i=SQRT[#j]:

 

绝对值

#i=ABS[#j]:

舍入

#i=ROUND[#j]:

上取整

#i=FIX[#j]:

下取整

#i=FUP[#j]:

自然数对数

#i=LN[#j]:

指数函数

#i=EXP[#j]:

#i=#jOR#k:

逻辑运算一位一位地按二进制数执行

异或

#i=#jXOR#k:

#i=#jAND#k:

从BCD转为BIN

#i=BCD#j;

用于与PMC的信号交换

从BIN转为BCD

#i=BCD#j;

角度单位

SIN、ASIN、COS、ACOS、TAN和ATAN的角度单位是度

ARCSIN#i=ASIN[#j]:

●取值范围如下:当参数(N0.6004¥0)NAT位设为0时,270~90度;当参数(N0.6004¥0)NAT位设为1时,-90~90度。

●  当#j超过-1到1的范围时,发出P/S报警N0.111。

●  常数可替代变量#j。

ARCCOS#i=ACOS[#j];

●  取值范围从180~0度。

●  当#j超过-1到1的范围时,发出P/S报警N0.111。

●  常数可替代变量#j。

ARCTAN#i=ATAN[#j];

●  指定两边的长度,并用斜杠(/)分开

●  取值范围如下:当参数(N0.6004¥0)NAT位设为0时,0~360度[例如:当指定#i=ATAN[-1]/[-1];时,#1=225度]。当参数(N0.6004¥0)NAT位设为1时,-180~180度[例如:当指定#i=ATAN[-1]/[-1];时,#1=-135度]

●  常数可替代变量#j。

自然对数#i=LN[#j];

●     注意,相对误差可能大于10-8

●  当反对数(#j)为0或小于0时,发出报警N0.111。

●  常数可替代变量#j。

指数函数#i=EXP[#j]:

●     注意,相对误差可能大于10-8

●  当运算结果超过3.65×1047(j大约是110)时,出现溢出报警N0.111

●  常数可替代变量#j。

上取整下取整:

CNC处理数值运算时,若操作后产生整数绝对值大于原数的绝对值时为上取整;小于为下取整。例如:

假设#1=1.2,#2=-1.2。当执行#3=FUP[#1]时,2.0赋给#3;当执行#3=FIX[#1]时1.0赋给#3;当执行#3=FUP[#2]时,-2.0赋给#3;当执行#3=FIX[#2]时,-1.0赋给#3。

宏程序语句:包含算术或逻辑运算(=)的程序;包含控制语句(例如,用GOTO,DO,END)的程序;包含宏程序调用指令(例如,用G65,G66,G67或其它G代码,M代码调用宏程序)的程序段;除宏程序以外任何程序段都为NC语句。

与NC语句的不同:

即使置于单段程序运行方式,机床也不停止。但是,当参数N0.6000#5SBM设定位、为1时,在单段程序方式中,机床停止。在刀具半径补偿方式中宏程序语句段不做为移动程序段处理

与宏程序语句相同性质的NC语句:

含有子程序调用指令(例如,用M98或其它M代码或用T代码调用子程序)但没有除O,N,P或L地址之外的其它地址指令的NC语句,其性质与宏程序语句相同;不包含除O,N,P或L以外的指令地址的程序段其性质与宏程序语句相同。

无限循环;

当指定DO而没有指定WHILE语句时,产生从DO到END的无限循环。

宏程序调用和子程序调用之间的差别:点击关注更多内容

宏程序调用(G65)不同于子程序调用(G98),如下所述:

●  用G65,可以指定自变量(数据传送到宏程序)。M98没有该功能。

●  当M98程序段包含另一个NC指令(例如。G01.X100.0M98PP)时,在指令执行之后调用子程序。相反,G65无条件的调用子程序。

●  M98程序段包含另一个NC指令(例如,G01X100.0M98PP)时在单程序方式中,机床停止。相反,G65机床不停止。

●  用G65,改变局部变量的级别。用M98,不改变局部变量的级别。

G65P-L -(自变量指定);P:要调用的程序;L:重复次数;自变量:数据传递到宏程序

391.FANUC宏程序编程的更多相关文章

  1. 使用Sharepoint定时运行Excel中宏程序

    需求:因为Excel中数据量很大,其中包含了几个宏程序从其他数据源读取数据,运行一次宏需要比较长的时间,为了不影响使用,要求每天半夜运行一次Excel中的宏(无参数),Excel存放在共盘上. 解决方 ...

  2. MySQL 数据库应用程序编程

    普通用户使用客户端应用程序(Client Application)和服务器程序(Server Application)通信以取得服务, 而服务器程序通常要和数据库服务器通信以取得数据存取服务, 这时就 ...

  3. API(Application Programming Interface,应用程序编程接口)

    API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码 ...

  4. SAS学习笔记37 宏程序中parmbuff选项

    该选项用于指定宏可以接受可变参数列表,而且参数值保存在SYSPBUFF宏变量中.parmbuff的参数价值,其实就是每次执行宏程序时,可以指定不同数量的参数值,这些宏参数被保存在&syspbu ...

  5. 【ABAP系列】SAP ABAP 高级业务应用程序编程(ABAP)

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 高级业务应用程 ...

  6. Flask 教程 第二十三章:应用程序编程接口(API)

    本文翻译自The Flask Mega-Tutorial Part XXIII: Application Programming Interfaces (APIs) 我为此应用程序构建的所有功能都只适 ...

  7. 01:MFC应用程序编程

    一 MFC的发展 VC 1.0->VC 5.0->VC 6.0->VC2008 SP1)->VS2010 二 MFC基础 1 MFC 微软基础类库 采用类的方式,将Win32 ...

  8. Linux 应用程序编程基础

    一个计算机应用程序在内存中可以分成两个部分:存放代码的代码段和存放数据的数据段.代码段存放用户编写的代码;数据段存放栈和堆. 相关内存管理函数 #include <stdlib.h> vo ...

  9. Yarn应用程序编程实例

    Yarn自带的Application示例程序:DistributedShell 和 UnManaged AM1 DistributedShell ,故名思意,是一个分布式运行shell命令的应用程序, ...

随机推荐

  1. 使用Git上传项目代码到github

    github是一个基于Git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.这对于一般人来说公共仓库就已经足够了.   注册账户以及创建仓库 要想使用gi ...

  2. Unity 遮罩 点击panel以外的位置,panel关闭

    public Class Panel_ATMRechage : IPanel{ private Dictionary<string,UISprite>mSprites; } protect ...

  3. JMeter-Eclipse添加自定义函数 MD5加密 32位和16位

    最近公司的接口都是MD5  16位加密,所以要使用加密功能. 之前也做过加密,因为用的比较少,所以是写了一个加密方法,导出JAR包,调用的.用起来需要很多设置,并且换算效率也不高.听前同事说,jmet ...

  4. input输入框控制字数

    HTML: <input class = "remark" type = "text" maxlength = "500"> J ...

  5. hadoop 2.7.3 集群安装

    三台虚拟机,centos6.5 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: loca ...

  6. 点评阿里JAVA手册之异常日志(异常处理 日志规约 )

    下载原版阿里JAVA开发手册  [阿里巴巴Java开发手册v1.2.0] 本文主要是对照阿里开发手册,注释自己在工作中运用情况. 本文内容:异常处理 日志规约 本文难度系数为一星(★) 本文为第三篇 ...

  7. java中File类中list()和listFiles()方法区别

    list()和listFiles()方法区别: 1.返回值类型不同:前者为String数组,后者为File对象数组 2.数组中元素内容不同:前者为string类型的[文件名](包含后缀名),后者为Fi ...

  8. [python标准库]XML模块

    1.什么是XML XML是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分.您可以创建内容,然后使用限定标记标记它,从而使每个单词. ...

  9. iOS bug调试技巧学习----breakpoint&condition

    给断点添加条件 - (void)testCondition2 { NSArray *array = @[@"我们", @"一起", @"来" ...

  10. gradle 使用总结

    什么是gradle 书面化解释: Gradle可以自动化地进行软件构建.测试.发布.部署.软件打包,同时也可以完成项目相关功能如:生成静态网站.生成文档等. Gradle是一种依赖管理工具. 它和ma ...