读取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中对于多媒体的支持是非常强大的,无论是音视频播放.录制, ...
随机推荐
- vue-cli2、vue-cli3脚手架详细讲解
前言: vue脚手架指的是vue-cli它是vue官方提供的一个快速构建单页面(SPA)环境配置的工具,cli 就是(command-line-interface ) 命令行界面 .vue-cli是 ...
- vue-cli3.0之vue.config.js的配置项(注解)
module.exports = {// 部署应用时的基本 URLbaseUrl: process.env.NODE_ENV === 'production' ? '192.168.60.110:80 ...
- Mutex vs Semaphore vs Monitor vs SemaphoreSlim
C#开发者(面试者)都会遇到Mutex,Semaphore,Monitor,SemaphoreSlim这四个与锁相关的C#类型,本文期望以最简洁明了的方式阐述四种对象的区别. 线程安全 教条式理解 如 ...
- react中使用redux简易案例讲解
为什么我想要使用redux? 前段时间初步上手了react,最近在使用react的过程中发现对于组件之间通信的需求比较迫切,尤其是在axios异步请求后端数据的时候,这样的需求是特别强烈的!举个例子: ...
- 设计时需要考虑的问题(webAPI)
1.根据api接口访问路径定义好controller和action. 2.记录操作日志.包含接口入参.出参.异常以及重要的节点数据(数据库返回.第三方接口返回.重要的私有变量值) 3.入参合法性检查. ...
- 从0开始独立完成企业级Java电商网站开发(服务端)
数据表结构设计 唯一索引unique,保证数据唯一性 CREATE TABLE `mmall_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT ...
- 2018.8.13 python中生成器和生成器表达式
主要内容: 1.生成器和生成器函数 2.列表推导式 一.生成器 生成器是指就是迭代器,在python中有三种方式来获取生成器: 1.通过生成器函数 2.通过各种推导式来实现生成器 3.通过数据的转换也 ...
- iOS开发 swift 3dTouch实现 附代码
iOS开发 swift 3dTouch实现 附代码 一.What? 从iphone6s开始,苹果手机加入了3d touch技术,最简单的理解就是可以读取用户的点击屏幕力度大小,根据力度大小给予不同的反 ...
- Flask:Flask中使用会话技术
1.会话技术cookie和session (1)cookie 在网站中,HTTP请求是无状态的.也就是说,即使第一次用户访问服务器并登录成功后,第二次请求服务器依然不知道当前发起请求的是哪个用户.co ...
- Python3爬虫(1)_使用Urllib进行网络爬取
网络爬虫 又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫 ...