上篇文章讲述了Fanuc数据采集的必备库的说明以及调用方式,此片文章开始真正的实战操作

首先看下上图,所有的公开函数都会有一个 FlibHndl参数,次参数的含义为大家解释:

开发者开发客户端程序和Fanuc系统连接,客户端为TCP Client,Fanuc数控系统为TCP Server,那么我们将这里的FlibHndl参数定义为Socket实列,只不过Fanuc厂家为了我们开发方便,用数字代替了Socket,我们拿着FlibHndl去和函数做调用的时候,内部函数会根据和FlibHndl绑定的Socket进行和数控系统通讯,实际Socket是由fwlibe1.dll来进行统一管理。

那么既然我们用到一个句柄,我们就为句柄定义为一个静态变量,同时为了对fwlib32函数的扩展,我们写一个类继承f2lib32,如下图:

那么上图我们写了一个FanucOpe类,该类继承focas类库,这样我们又可以在FanucOpe添加我们想要的功能,同时可以通过FanucOpe类调用Focas类里面的所有方法、变量、枚举等,又不去改写原有的类库。

那么以上类库建立完成,下面开始做连接操作

fanuc连接函数为如下函数,

public static extern short cnc_allclibhndl3( [In,MarshalAs(UnmanagedType.AsAny)] Object ip,
        ushort port,int timeout, out ushort FlibHndl);

ip代表数控系统的通讯IP,Port代表数控系统的通讯端口,timerout代表着连接超时,单位为秒,如设置为10S,则代表10秒钟没连接成功代表通信失败,类似socket中的阻塞模式下的waitone功能,

同时函数返回short类型的结果,以及out出来ushort类型的通讯句柄,以后每次和函数连接时候都拿着句柄和系统进行通讯。

开始调用此函数,如下

ret代表函数执行结果,与函数枚举进行匹配,FanucOpe.Handle代表函数返回值,

博主现在没有和数控系统进行连接,返回-16,代表socket通信错误,如果成功返回值是0。同时Handle的值>0

如果连接成功我们尝试读取一个加工总数测试一下

,如下图,cnc_rdparam是读取fanuc系统参数的公共函数,6712代表我们要读取的点在fanuc数控系统里面的参数位置,此方法返回一个IODBPSD_1,我们不用去管他是什么,我们就先去定义一个此类型的参数,让他从cnc_rdparam中回调出来,我们直接拿其结果即可。

以上就是fanuc函数的连接操作和读取操作方法,如有需要,可以在评论区留邮箱,我会将fanuc所有的函数库代表的是读取什么数据解释出来,如读取主轴倍率,就是pmc_rdpmcrng函数。调用方式是

以下demo解决了fanuc各种 坑:如负载内存泄漏、报警版本问题、程序新老版本指定目录问题、大文件传输丢包问题等

谢谢支持,有需要的留邮箱,有测试demo。同时博主有多线程并发数据采集架构可供参考

下一篇文章开始写西门子数控系统(无需opc)、新代数控系统、广数数控系统、三菱数控系统以及兄弟数控系统等。

西门子采集如下图:支持828D,840dsl,808,802dsl,840d,810d

加qq 验证入群

Fanuc发那科法兰克数据采集实战c#——CNC数控系统数据采集、西门子免授权数据采集方案相关推荐

  1. Fanuc发那科法兰克数据采集入门一

    从我的上一篇文章,提到了fanuc各类系统的含义.可采集的数据点,下面直接开始进行入门 ①必备组件: 首先Fanuc有开源的库,我们通过调用库进行和fanuc数控系统进行通讯,分别是Fwlib32.d ...

  2. c# Fanuc发那科 法兰克 数据采集 提供源码 支持程序上传下载 Fanuc 免授权数据采集

    FANUC 是日本一家专门研究数控系统的公司,成立于1956年.是世界上最大的专业数控系统生产厂家,占据了全球70%的市场份额.FANUC于1959年首先推出了电液步进电机,在后来的若干年中逐步发展并 ...

  3. Fanuc发那科法兰克数控系统采集初探c#

    Fanuc数控系统初探 FANUC 是日本一家专门研究数控系统的公司,成立于1956年.是世界上最大的专业数控系统生产厂家,占据了全球70%的市场份额.FANUC于1959年首先推出了电液步进电机,在 ...

  4. 发那科 / 法兰克(Fanuc)CNC数据采集

    一,概述 前面介绍过,发那科CNC数据采集一般有两种方法: (1)通过FOCAS 1/2 开发包进行二次开发采集数据(仅适用于windows系统) (2)通过纯TCP协议方法.该方法不局限于CPU架构 ...

  5. 发那科法兰克加工中心FANUC 0MD 操作面板讲解,看看这些按键是什么意思

    在"视图"下拉菜单或者浮动菜单中选择"控制面板切换"后,数控系统操作键盘会出现在视窗的右上角,其左侧为数控系统显示屏,如下图所示.用操作键盘结合显示屏可以进行数 ...

  6. php 发那科,FANUC发那科CNC数据采集教程连接CNC

    重要:本文最后更新于2019-07-16 08:26:19,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗. 发那科系统的cnc可以通过官方的支持库接口获取cnc数据,第一步就是要连接 ...

  7. focas2 fanuc发那科数控系统数据采集刀具DNC程序管理源代码

    focas2 fanuc发那科数控系统数据采集刀具DNC程序管理源代码c# 即送fanuc开发虚拟机,无需真机调试. 直接用虚拟机可采集测试 多线程数据采集+分析(日产量.班次产量.日OEE.班次OE ...

  8. 欧姆龙PLC和FANUC发那科DeviceNet通讯

    近期在做发那科FANUC的通讯,会吧CC-LINK.Profibus-DP.Profinet I/O.DeviceNet.EtherNet/IP这些常用通讯做成文档发上来,大家喜欢的话可以关注 注:做 ...

  9. fanuc服务器显示8,FANUC发那科伺服电源报警8维修

    FANUC发那科伺服电源报警8维修,过电压故障原因:电源电压高过了允许输入电压的范围.逆变器上P.N间电压超过了规定值.电源电压太高.存在容性负载或UPS(不间断电源),使得线电压升高.未接再生放电电 ...

最新文章

  1. ASP.NET MVC3中Controller与View之间的数据传递总结
  2. 静态网页和动态网页的区别(转载)
  3. ES10 可以使用几个新特性
  4. Chrome 自动填充的表单是淡黄色的背景怎么办!
  5. 领域驱动设计 pdf_什么是领域驱动设计?
  6. Java虚拟机学习集锦是我攒来的,看这篇文章准没错!
  7. Linux c学习--从标准输入输出看流和缓冲区
  8. TextArea换行 滚动条
  9. 点击图片旋转180_一起来点亮斗门!请你旋转手机屏幕90横屏并点击图片!
  10. ArcGIS Pro 简明教程(2)基础操作和简单制图
  11. 【基础处理】基于matlab语音信号预处理【含Matlab源码 364期】
  12. 星星之火-34:傅里叶分析的9大步骤
  13. 关于MATLAB调用第三方程序
  14. 小程序梦想贩卖机v2-1.0.88-带4插件(2022.9.8更新)
  15. 迅雷某页面存在sql注入漏洞
  16. 安卓系统PK浏览器:物联网开发,哪个才是最佳之选?
  17. 笔杆网试用---感官体验篇一
  18. python保存图片
  19. spring cloud NetFlix 学习笔记
  20. 如何安装Tomcat 8.0

热门文章

  1. 大数据行业就业指南:三大方向 十大职位
  2. CATTI 三级笔译考试准备
  3. Spring Cloud 链路追踪
  4. 新浪微博基于Docker的混合云架构与应用实践
  5. leetcode:活字印刷
  6. 【M35】让自己习惯于标准C++语言
  7. 市场调研你所不知道的几个关键点
  8. win10提示wlan没有有效的ip配置的解决方法
  9. The Singularity Is Near(奇点临近)阅读笔记----六大纪元
  10. Python基础一(介绍)