读取FANUC进给倍率
读取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 |
PMC |
0-767 |
PMC/L |
||
1 |
F |
0-767 |
PMC |
0-767 |
PMC/L |
||
2 |
Y |
0-127 |
PMC |
0-127 |
PMC/L |
||
3 |
X |
0-127 |
PMC |
0-127 |
PMC/L |
||
4 |
A |
0-249 |
PMC |
0-249 |
PMC/L |
||
A |
9000-9249 |
PMC |
|
9000-9249 |
PMC/L |
||
5 |
R |
0-7999 |
PMC |
0-1499 |
PMC/L |
||
6 |
T |
0-449 |
PMC |
0-79 |
PMC/L |
||
T |
9000-9499 |
PMC |
|
9000-9079 |
PMC/L |
||
7 |
K |
0-99 |
PMC |
0-19 |
PMC/L |
||
8 |
C |
0-399 |
PMC |
0-79 |
PMC/L |
||
9 |
D |
0-9999 |
PMC |
0-2999 |
PMC/L |
||
12 |
E |
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进给倍率的更多相关文章
- hdu4038贪心(最快上升倍率,好题)
题意: 给你n个数,然后有两种操作 1.给其中的一个数+1,2.在序列里面增加一个1,然后给你一个m,表示进行了m次操作,最后问你操作之后所有数乘积最大是多少? 思路: 徒弟给我 ...
- Mitsubishi (三菱) Fanuc(发那科),CNC,网口数据采集,NC程序下发(其它品牌CNC,哈斯 马扎克 兄弟等,正在开发中)
1.话不多说,先看效果 三菱CNC Fanuc CNC 2.能采集的数据有如下: 产量,状态,轴负载,坐标,主轴转速,三个倍率(主轴倍率 进给倍率 快速倍率),进给速度,当前加工程序名/程序号,当前程 ...
- Unity读取 JSon配置文件
一.记录 只是记录,现在在项目中删除掉了.先保留下来,以飨来着!!当然有包括自己. 二.读取配置的代码 简单粗暴 [ExecuteInEditMode] public class Config : M ...
- CNC Fanuc 设备数据采集
为了这个Fanuc(发那科)数控机床数据的采集也花费了不少精力,先是去供应商那里了解,基本都是代理商,没有技术支持. 在网上也有关于Fanuc的以太网Ethernet连接文档,那里面有说明,大概是开发 ...
- Java利用内存映射文件实现按行读取文件
我们知道内存映射文件读取是各种读取方式中速度最快的,但是内存映射文件读取的API里没有提供按行读取的方法,需要自己实现.下面就是我利用内存映射文件实现按行读取文件的方法,如有错误之处请指出,或者有更好 ...
- PCB 机器学习(ML.NET)初体验实现PCB加投率预测
使用ML.NET建立PCB加投率模型对单一蚀刻工序进行加投率预测, 此实例为最简单预测,要想实现全流程加投率预测挑战难度还是挺大的,可以查看另一种关于大数据在PCB行业应用---加投率计算基本原理:P ...
- Android MediaPlayer 音频倍速播放,调整播放速度
本文链接: Android MediaPlayer 倍速播放,调整播放速度 现在市面上的很多音视频App都有倍速播放的功能,例如把播放速度调整为0.5.1.5.2倍等等. 从Android API 2 ...
- 西门子 S7-1500 PLC,使用手轮控制伺服电机
西门子 S7-1500 PLC,使用手轮控制伺服电机 本文描述了一种,1500PLC使用叠加定位的方法,实现手轮操作的方法. 手轮操作需要的功能 数控机床等设备上的电子手轮,起源于机械手轮.机械手轮是 ...
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
--iOS多媒体 概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制, ...
随机推荐
- 用深度优先搜索(DFS)解决多数图论问题
前言 本文大概是作者对图论大部分内容的分析和总结吧,\(\text{OI}\)和语文能力有限,且部分说明和推导可能有错误和不足,希望能指出. 创作本文是为了提供彼此学习交流的机会,也算是作者在忙碌的中 ...
- 百万年薪python之路 -- 并发编程之 多线程 三
1. 阻塞,非阻塞,同步,异步 进程运行的三个状态: 运行,就绪,阻塞. 从执行的角度: 阻塞: 进程运行时,遇到IO了,进程挂起,CPU被切走. 非阻塞: 进程没有遇到IO 当进程遇到IO, ...
- The usage of Markdown---杂谈:缩进/换行/分割线/注释/文字颜色
目录 1. 序言 2. 缩进 3. 换行 4. 分割线 5. 注释 6. 改变文字大小和颜色 更新时间:2019.09.14 1. 序言 今天一口气更新了接近10篇博客(虽然只是将我之前基本码好的 ...
- 微信公众号 访问403问题,样式错乱,js失效
我服了,还是那个微信公众号小项目. 这个项目用的是ssm+velocity 问题的是,有时候页面加载会乱,js,css都加载不出来. 这个问题也是很久了,前几天开会,那个甲方医院很不开心,说是要找下家 ...
- Java多线程编程(四)Lock的使用
一.使用ReentrantLock类 在Java多线程中,可以使用synchronized关键字来实现线程之间的同步互斥,但ReentrantLock类也能达到同样的效果,并且在扩展功能上也更加强大, ...
- django-模板之自动转义autoescape(八)
index.html {{QQ}} views.py def index(request): context={ 'QQ':'<a href="http://www.qq.com&qu ...
- SpringBoot整合elasticsearch(三)
Docker安装elasticsearch 启动注意2点,1是内存,2是线程数(此处进行简单安装,后面会详细补充es文档) [root@topcheer ~]# docker images REPOS ...
- WinDag基础1
建立调试会话 用户层调试会话的建立 直接创建进程并调试 附加到已经打开的进程 侵入式附加:接管正在运行的进程,可以进行调试 非侵入式附加:只能读取进程信息,不能接收目标进程的调试事件 通常情况下一个程 ...
- 框架搭建与EF常用基类实现
前两篇简单谈了一些.Net Core的优势以及机构设计的一些思路,这一篇开始,我们将从零开始搭建架构,底层我们将采用EF来访问数据库,所以这篇我们将贴一下EF常用操作的基类. 简单介绍下一些类库将要实 ...
- linux 编译引用动态库时,报GLIBC_2,14 not found的处理方法
这种错误一般是其引用的libc.so,其中含有版本较高的函数导致. 查看及解决办法: objdump -p ./libdmapi.so 显示: version References: ... requ ...