391.FANUC宏程序编程
运算符
运算符由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宏程序编程的更多相关文章
- 使用Sharepoint定时运行Excel中宏程序
需求:因为Excel中数据量很大,其中包含了几个宏程序从其他数据源读取数据,运行一次宏需要比较长的时间,为了不影响使用,要求每天半夜运行一次Excel中的宏(无参数),Excel存放在共盘上. 解决方 ...
- MySQL 数据库应用程序编程
普通用户使用客户端应用程序(Client Application)和服务器程序(Server Application)通信以取得服务, 而服务器程序通常要和数据库服务器通信以取得数据存取服务, 这时就 ...
- API(Application Programming Interface,应用程序编程接口)
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码 ...
- SAS学习笔记37 宏程序中parmbuff选项
该选项用于指定宏可以接受可变参数列表,而且参数值保存在SYSPBUFF宏变量中.parmbuff的参数价值,其实就是每次执行宏程序时,可以指定不同数量的参数值,这些宏参数被保存在&syspbu ...
- 【ABAP系列】SAP ABAP 高级业务应用程序编程(ABAP)
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 高级业务应用程 ...
- Flask 教程 第二十三章:应用程序编程接口(API)
本文翻译自The Flask Mega-Tutorial Part XXIII: Application Programming Interfaces (APIs) 我为此应用程序构建的所有功能都只适 ...
- 01:MFC应用程序编程
一 MFC的发展 VC 1.0->VC 5.0->VC 6.0->VC2008 SP1)->VS2010 二 MFC基础 1 MFC 微软基础类库 采用类的方式,将Win32 ...
- Linux 应用程序编程基础
一个计算机应用程序在内存中可以分成两个部分:存放代码的代码段和存放数据的数据段.代码段存放用户编写的代码;数据段存放栈和堆. 相关内存管理函数 #include <stdlib.h> vo ...
- Yarn应用程序编程实例
Yarn自带的Application示例程序:DistributedShell 和 UnManaged AM1 DistributedShell ,故名思意,是一个分布式运行shell命令的应用程序, ...
随机推荐
- 开涛spring3(3.1) - DI的配置使用
3.1.1 依赖和依赖注入 传统应用程序设计中所说的依赖一般指“类之间的关系”,那先让我们复习一下类之间的关系: 泛化:表示类与类之间的继承关系.接口与接口之间的继承关系: 实现:表示类对接口的实现 ...
- springboot 中使用websocket简单例子
gradle 中添加依赖,引入websocket支持 compile("org.springframework.boot:spring-boot-starter-websocket:${sp ...
- HttpClien Get&Post
新公司上班第二周,开始进军.Net Core,这方面的东西比较新,所以已经封装好的东西比较少,比如HttpClien之类的开源类库,找了NuGet好久,没有找到,所以先写个简陋的来用着先. 引用: u ...
- JavaSE教程-04Java中循环语句for,while,do···while-思维导图
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 2)右击在新标签中打开放大查看
- vue-cli webpack在node环境下安装使用
第一步,需要下载并安装node.js以及他的npm组件: 第二步,用node -v;npm -v来测试node.js以及npm是否安装成功(建议用GIT命令行工具,因为GIT是linux系统),如果显 ...
- HTML5 客户端存储数据的两种方式
HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是由 coo ...
- HTML 简单了解
HTML 特别的通俗易懂!想学自己制作网页的,就来我这看看吧! 首先 我先介绍一下什么是HTML! HTML是用来描述网页的一种语言!他结合CSS样式之后会有非常炫酷的样式! 1.HTML是指一种超文 ...
- javascript中document.form[formName][]的意思
近来重新学习javascript发现还有很多知识点模糊,今天就javascript中的document.forms[formName][inputName]进行说明: <!DOCTYPE htm ...
- angularjs下拉框实现渲染html
angualrjs处于安全的考虑,插值 指令会对相应字符串进行过滤,避免出现html攻击.但是在一些时候,我们需要渲染html,比如实现一个分级的下拉框,代码如下: <body ng-app=& ...
- node.js零基础详细教程(7):node.js操作mongodb,及操作方法的封装
第七章 建议学习时间4小时 课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...