读取FANUC机床的倍率信息需要用到 FOCAS链接库。

根据FANUC的连接手册可以知道,进给倍率信号存在 Gn012寄存器中。在机床上更改倍率开关,发现G0012寄存器值变化,经验证G0012就是要读取的寄存器。

查阅FOCAS函数说明,使用 pmc_rdpmcrng 函数进行读取。

输入

(1)库句柄;(获取的句柄)

(2)PMC地址类型的ID code; (0)

  • 0i-D参考范围

ID code

PMC地址类型

参考范围

(PMC类型)

0

G (Signal to PMC->CNC)

0-767
1000-1767
2000-2767(Note1)
3000-3767(Note1)
4000-4767(Note1)
5000-5767(Note1)
6000-6767(Note1)
7000-7767(Note1)
8000-8767(Note1)
9000-9767(Note1)

PMC

0-767
1000-1767(Note1)

PMC/L

1

F
(Signal to CNC->PMC)

0-767
1000-1767
2000-2767(Note1)
3000-3767(Note1)
4000-4767(Note1)
5000-5767(Note1)
6000-6767(Note1)
7000-7767(Note1)
8000-8767(Note1)
9000-9767(Note1)

PMC

0-767
1000-1767(Note1)

PMC/L

2

Y
(Signal to PMC->machine)

0-127
200-327
400-527(Note2)
600-727(Note2)
1000-1127(Note2)

PMC

0-127
200-327(Note2)
1000-1127(Note2)

PMC/L

3

X
(Signal to machine->PMC)

0-127
200-327
400-527(Note2)
600-727(Note2)
1000-1127(Note2)

PMC

0-127
200-327(Note2)
1000-1127(Note2)

PMC/L

4

A
(Message)
   *Message display

0-249

PMC

0-249

PMC/L

A
(Message)
   *status display

9000-9249

PMC

9000-9249

PMC/L

5

R
(Internal relay)

0-7999

PMC

0-1499

PMC/L

6

T
(Timer)
   *Changeable timer

0-449

PMC

0-79

PMC/L

T
(Timer)
   *Variable-timer precision(Note3)

9000-9499

PMC

9000-9079

PMC/L

7

K
(Keep relay)

0-99
900-999

PMC

0-19
900-999

PMC/L

8

C
(Counter)

0-399
5000-5199

PMC

0-79
5000-5039

PMC/L

9

D
(Data table)

0-9999

PMC

0-2999

PMC/L

12

E
(Extended relay)

0-9999

PMC

0-9999

PMC/L

 

(3)数据类型;(ushort)

(4)PMC地址起始号;(12)

(5)PMC地址结束号;(13)

(6)设定数据长度。(16)

type_d数据类型是0(字节型)

长度 = 8 + N

type_d数据类型是1(字型)

:

长度= 8 + N × 2

type_d数据类型是2(长字型)

:

长度= 8 + N × 4

* N是数据写入的个数(如将一个数写进R1000到R1001,那么此时N=2)。


输出

输出类IODBPMC0、IODBPMC1、IODBPMC2三者中的一个。

类的定义如下所示,其中

type_a表示PMC地址类型的ID code;

type_d表示PMC数据类型;

datano_s表示PMC地址起始号;

datano_e表示PMC地址结束号;

经测试可以读取寄存器G0012的值,读取到的数值与实际倍率存在如下关系     255-G0012=实际倍率

可能于数据存储的高低位顺序有关,我没有再继续深入研究这个问题。

读取FANUC进给倍率的更多相关文章

  1. hdu4038贪心(最快上升倍率,好题)

    题意:       给你n个数,然后有两种操作 1.给其中的一个数+1,2.在序列里面增加一个1,然后给你一个m,表示进行了m次操作,最后问你操作之后所有数乘积最大是多少? 思路:      徒弟给我 ...

  2. Mitsubishi (三菱) Fanuc(发那科),CNC,网口数据采集,NC程序下发(其它品牌CNC,哈斯 马扎克 兄弟等,正在开发中)

    1.话不多说,先看效果 三菱CNC Fanuc CNC 2.能采集的数据有如下: 产量,状态,轴负载,坐标,主轴转速,三个倍率(主轴倍率 进给倍率 快速倍率),进给速度,当前加工程序名/程序号,当前程 ...

  3. Unity读取 JSon配置文件

    一.记录 只是记录,现在在项目中删除掉了.先保留下来,以飨来着!!当然有包括自己. 二.读取配置的代码 简单粗暴 [ExecuteInEditMode] public class Config : M ...

  4. CNC Fanuc 设备数据采集

    为了这个Fanuc(发那科)数控机床数据的采集也花费了不少精力,先是去供应商那里了解,基本都是代理商,没有技术支持. 在网上也有关于Fanuc的以太网Ethernet连接文档,那里面有说明,大概是开发 ...

  5. Java利用内存映射文件实现按行读取文件

    我们知道内存映射文件读取是各种读取方式中速度最快的,但是内存映射文件读取的API里没有提供按行读取的方法,需要自己实现.下面就是我利用内存映射文件实现按行读取文件的方法,如有错误之处请指出,或者有更好 ...

  6. PCB 机器学习(ML.NET)初体验实现PCB加投率预测

    使用ML.NET建立PCB加投率模型对单一蚀刻工序进行加投率预测, 此实例为最简单预测,要想实现全流程加投率预测挑战难度还是挺大的,可以查看另一种关于大数据在PCB行业应用---加投率计算基本原理:P ...

  7. Android MediaPlayer 音频倍速播放,调整播放速度

    本文链接: Android MediaPlayer 倍速播放,调整播放速度 现在市面上的很多音视频App都有倍速播放的功能,例如把播放速度调整为0.5.1.5.2倍等等. 从Android API 2 ...

  8. 西门子 S7-1500 PLC,使用手轮控制伺服电机

    西门子 S7-1500 PLC,使用手轮控制伺服电机 本文描述了一种,1500PLC使用叠加定位的方法,实现手轮操作的方法. 手轮操作需要的功能 数控机床等设备上的电子手轮,起源于机械手轮.机械手轮是 ...

  9. iOS开发系列--音频播放、录音、视频播放、拍照、视频录制

    --iOS多媒体 概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制, ...

随机推荐

  1. pycharm的使用(day03复习整理)

    pycharm的使用 file --> settings --> editor -->general --> change font size .... file --> ...

  2. 基于SEER的区块链版赛亚麻将游戏Pre alpha版本内测啦!

    游戏基于SEER测试网络文体平台模块(Culture and Sports Platform,CSP),正在进行数据调试等工作,大家可以尝鲜体验. 此游戏账户和资金等核心系统完全基于区块链,但目前运行 ...

  3. IDEA配置maven+错误记录

    使用maven并不是那么顺利所以把自己遇到的问题也记录一下 下载maven 从官网下载maven官网 配置环境变量 新建一个变量名:MAVEN_HOME 值:maven目录 path:%MAVEN_H ...

  4. 微服务SpringCloud之GateWay路由

    在前面博客学习了网关zuul,今天学下spring官方自带的网关spring cloud gateway.Zuul(1.x) 基于 Servlet,使用阻塞 API,它不支持任何长连接,如 WebSo ...

  5. [HNOI2004]L语言 trie树? Ac自动机? hash!!

    题目描述 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的.现在你要处理的就是一段没有标点的文章. 一段文章T是由若干小写字母构成.一个单词W也是由若干小写字母构成.一个字典D是若干个单词的 ...

  6. weex不支持类的动态追加

    做一个weex项目时遇到需要根据状态动态改变样式的功能,本来想通过判断属性追加类的方式实现,如下: :class="['long-news',{'bold-txt':noRead}]&quo ...

  7. docker 概念简介、简单入门

    1.docker 简介 Docker 是一个开源项目,这个项目旨在通过把应用程序打包为可移植的.自给自足的容器(引用语) DocKer一次构建可放在任何地方就可以运行,不需要进行任何改变DocKer  ...

  8. textarea如何实现高度自适应(一)

    转自轩枫阁 - http://www.xuanfengge.com/textarea-on-how-to-achieve-a-high-degree-of-adaptive.html 方法一:div模 ...

  9. 小奇的仓库:换根dp

    一道很好的换根dp题.考场上现场yy十分愉快 给定树,求每个点的到其它所有点的距离异或上m之后的值,n=100000,m<=16 只能线性复杂度求解,m又小得奇怪.或者带一个log像kx一样打一 ...

  10. JS中的两种数据类型以及实现引用类型的深拷贝

    一.前言 我们知道,在JS中数据类型按照访问方式和存储方式的不同可分为基本类型和引用类型.基本类型基本类型有String.Boolean.Number,Undefined.Null,这些基本类型都是按 ...