读取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中对于多媒体的支持是非常强大的,无论是音视频播放.录制, ...
随机推荐
- 百万年薪python之路 -- socket粘包问题解决
socket粘包问题解决 1. 高大上版解决粘包方式(自定制包头) 整体的流程解释 整个流程的大致解释: 我们可以把报头做成字典,字典里包含将要发送的真实数据的描述信息(大小啊之类的),然后json序 ...
- MySQL GROUP_CONCAT()函数 -- 字段合并查询
在做查询的时候遇到一个问题,今天分享一下解决方法. 先看一下我想要什么效果. 清单名称类型要点,后面两列为清单步骤(外键表) 但我并不想让主表的内容重复那么多遍,于是 distinct去重.子查询.左 ...
- 初级开发者也能码出专业炫酷的3D地图吗?
好看的3D地图搭建出来,一定是要能为开发者所用与业务系统开发中才能真正地体现价值.基因于此,CityBuilder建立了与ThingJS的通道——直转ThingJS代码,支持将配置完成的3D地图一键转 ...
- mac本地安装单机hadoop--学习笔记
Mac配置hadoop1.修改 /etc/hosts127.0.0.1 localhost2.下载hadoop2.9.0和jdk并安装配置相应环境 vim /etc/profile export HA ...
- Java Web(1)高并发业务
互联网无时无刻不面对着高并发问题,例如商品秒杀.微信群抢红包.大麦网抢演唱会门票等. 当一个Web系统,在一秒内收到数以万计甚至更多的请求时,系统的优化和稳定是至关重要的. 互联网的开发包括Java后 ...
- SpringBoot整合MybatisPlus3.X之逻辑删除(三)
pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId& ...
- 前后端对称加密(AES)
后端实现(JAVA) package com.vcgeek.hephaestus.demo; import org.apache.commons.codec.binary.Base64; import ...
- C++学习笔记4_new和delete
1. 默认的new和delete操作符new和delete是和c里面的mlloc和free是一样的,在堆中创建空间.堆中创建的,都要自己释放.C中void test(){ int *p=(int *) ...
- OV5640摄像头的数据处理配置流程(一)
module RGB_init( //系统信号输入(时钟+复位) input cmos_clk_i, //模块控制时钟 input rst_n_i, //系统复位信号 //OV5640输出信号(从56 ...
- 「刷题」xor
说实话这道题没有A掉,不过所有的思路都是我自己想的,我觉得这个思路真的很棒很棒很棒的. 首先这个题的题面描述告诉我这种运算有封闭性,满足结合律和交换率,那么其实这个东西是个群运算了,而且这个群有单位元 ...