读取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. SpringBoot 开发案例之参数传递的正确姿势

    前言 开发这么多年,肯定还有不少小伙伴搞不清各种类型的参数是如何传递的,很多同学都是拿来即用,复制粘贴一把撸,遇到问题还是一脸懵逼. 姿势 学习参数传递的正确姿势,先说怎么做,再说为什么,本质上还是复 ...

  2. Java中的锁[原理、锁优化、CAS、AQS]

    1.为什么要用锁? 锁-是为了解决并发操作引起的脏读.数据不一致的问题. 2.锁实现的基本原理 2.1.volatile Java编程语言允许线程访问共享变量, 为了确保共享变量能被准确和一致地更新, ...

  3. Flask解析(一):Local、LocalStak、LocalProxy

    原创作者:flowell,转载请标明出处:https://www.cnblogs.com/flowell/p/local_local_proxy_local_stack.html Local是什么? ...

  4. Unity中的优化技术

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/candycat1992/article/ ...

  5. ajax 跨域问题处理

    第一种方法 服务端处理 response.addHeader("Access-Control-Allow-Origin", "*"); 第二种 客户端使用Jso ...

  6. 务必收藏备用:.net core中通过Json或直接获取图形验证码(数字验证码、字母验证码、混合验证码),有源代码全实战demo(开源代码.net core3.0)

    很多人写的博客大家看了会一知半解,不知道怎么用,应该引用什么类库或者代码不全,这样很多小白很是头疼,尤其是尝新技术更是如此.我们这边不止告诉你步骤,而且还提供开源demo.随着时间的推移,我们的dem ...

  7. js实现的几种继承方式

    他山之石,可以攻玉,本人一直以谦虚的态度学他人之所长,补自己之所短,望各位老师指正! 拜谢 js几种继承方式,学习中的总结: 所谓的继承是为了继承共有的属性,减少不必要代码的书写 第一种:借用构造函数 ...

  8. for循环使用笔记

    1.for i in rang(1,101,2) #2为步长 print("loop",i) 2.flag 标志位3.for 循环CODE1 for与else一起用:当for循环正 ...

  9. Vue+element UI实现表格数据导出Excel组件

    介绍 这是一个可以将页面中的表格数据导出为Excel文件的功能组件,该组件一般与表格一起使用,将表格数据传给组件,然后通过点击组件按钮可将表格中的数据导出成Excel文件. 使用方法 由于封装该组件内 ...

  10. DAY 3 数论专场

    2019-07-23 今天的题目一个比一个神仙,很早之前就在讨论今天是不是晚上回宾馆就没脑子了,后来发现,是中午.... 一上午就讲了一个PPT,然而标题就两个子---数论... 这谁顶的住....整 ...