当前位置: 首页 > news >正文

树莓派 发那科 Fanuc Linux跨平台CNC数控数据采集协议,TCP协议包

市面上的数控基本都支持了跨平台通讯,下面以发那科为列讲解跨平台协议如何通讯,无需任何DLL,适配任何开发语言,纯Socket通讯

先上采集图 

握手包:a0 a0 a0 a0 00 01 01 01 00 02 00 02

释放包:a0 a0 a0 a0 00 01 02 01 00 00

部分读取信息代码如下

  public static Socket TcpSocket;public Form1(){InitializeComponent();}public byte[] ReceiveData(){byte[] b = new byte[1024];int n = TcpSocket.Receive(b);byte[] DATA = b.Take(n).ToArray();textBox1.Text = BitConverter.ToString(DATA).Replace("-", ""); ;return DATA;}private void button2_Click(object sender, EventArgs e){try{TcpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);TcpSocket.ReceiveTimeout = 1000;TcpSocket.Connect(txt_ip.Text, int.Parse(txt_port.Text));if (TcpSocket.Connected){TcpSocket.Send(SendCommand.HexStringToBytes(SendCommand.握手));byte[] Data = ReceiveData();MessageBox.Show("ok");}}catch (Exception ex){}}private void button1_Click(object sender, EventArgs e){TcpSocket.Send(SendCommand.HexStringToBytes(SendCommand.系统信息));byte[] Data = ReceiveData();系统信息.Text = FanucSysInfo(Data);}private void button3_Click(object sender, EventArgs e){TcpSocket.Send(SendCommand.HexStringToBytes(SendCommand.断开));TcpSocket.Disconnect(false);}private void button4_Click(object sender, EventArgs e){TcpSocket.Send(SendCommand.HexStringToBytes(SendCommand.状态模式));byte[] Data = ReceiveData();byte[] Datanew = Data.Skip(14).ToArray();状态模式.Text="模式"+ ((WorkMode)(BitConverter.ToInt16(Datanew, 15))).ToString();状态模式.Text+="   状态"+ ((RunStatus)(BitConverter.ToInt16(Datanew, 17))).ToString();}

相关文章:

树莓派 发那科 Fanuc Linux跨平台CNC数控数据采集协议,TCP协议包

市面上的数控基本都支持了跨平台通讯,下面以发那科为列讲解跨平台协议如何通讯,无需任何DLL,适配任何开发语言,纯Socket通讯 先上采集图 握手包:a0 a0 a0 a0 00 01 01 01 00 02 00 02 释放包:a0 a0 a0 a…...

Ubuntu中安装配置交叉编译工具并进行测试

01-下载获取交叉编译工具的源码 按照博文 https://blog.csdn.net/wenhao_ir/article/details/144325141的方法,把imx6ull的BSP下载好后,其中就有交叉编译工具。 当然,为了将来使用方便,我已经把它压缩并传到了百度网盘&#xff…...

C++核心day3作业

作业: 1.整理思维导图 2.整理课上代码 3.把课上类的三个练习题的构造函数写出来 函数全部类内声明,类外定义 定义一个矩形类Rec,包含私有属性length、width,包含公有成员方法: void set_length(int l); //设置长度v…...

socket UDP 环路回显的服务端

基于socket通讯的方式&#xff0c;无论用http或者udp或者自定义的协议&#xff0c;程序结构都是类似的。这个以UDP协议为例简要说明。 #include <stdio.h> // 标准输入输出库 #include <sys/types.h> // 提供了一些数据类型&#xff0c;如ssize_t #include <sy…...

springboot/ssm车辆违章信息管理系统Java代码web项目汽车违章处罚源码

基于springboot(可改ssm)htmlvue项目 springboot/ssm车辆违章信息管理系统Java代码web项目汽车违章处罚源码 开发语言&#xff1a;Java 框架&#xff1a;springboot/可改ssm vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&…...

5G模组AT命令脚本-关闭模组的IP过滤功能

关闭模组的IP过滤功能 关闭模组的IP过滤功能 5G 模组通常使用nat方式为 下挂设备或上位机提供上网服务&#xff0c;默认情况&#xff0c;不做NAt的包无法经由 模组转发&#xff0c;如果禁掉这个限制 &#xff0c;可使用本文中的配置命令本脚本用于关闭模组的IP过滤功能&#xf…...

STM32:实现ping命令(lwip)

目录 0.协议介绍ICMP数据包格式ping指令发送的ICMP回声请求消息ping指令接收的ICMP回声应答消息1.实现步骤2.源码分析2.1 初始化函数2.2 发送函数2.3 回调函数2.3.1 函数定义:2.3.2 解析数据包:2.3.3.处理ICMP数据包:2.3.4 资源释放:2.3.5 返回值:3.源码展示4.源码链接5.问…...

nvm安装指定版本显示不存在及nvm ls-remote 列表只出现 iojs 而没有 node.js 解决办法

在使用 nvm install 18.20.3 安装 node 时会发现一直显示不存在此版本 Version 18.20.3 not found - try nvm ls-remote to browse available versions.使用 nvm ls-remote 查看可安装列表时发现&#xff0c;列表中只有 iojs 解决方法&#xff1a; 可以使用以下命令查看可安装…...

Spring Boot 中 WebClient 的实践详解

在现代微服务架构中&#xff0c;服务之间的通信至关重要。Spring Boot 提供了 WebClient&#xff0c;作为 RestTemplate 的替代方案&#xff0c;用于执行非阻塞式的 HTTP 请求。本文将详细讲解 WebClient 的实践&#xff0c;包括配置、使用场景以及常见的优化策略&#xff0c;帮…...

在GITHUB上传本地文件指南(详细图文版)

这份笔记简述了如何在GITHUB上上传文件夹的详细策略。 既是对自己未来的一个参考&#xff0c;又希望能给各位读者带来帮助。 详细步骤 打开目标文件夹&#xff08;想要上传的文件夹&#xff09; 右击点击git bash打开 GitHub创立新的仓库后&#xff0c;点击右上方CODE绿色按…...

【大模型系列篇】LLaMA-Factory大模型微调实践 - 从零开始

前一次我们使用了NVIDIA TensorRT-LLM 大模型推理框架对智谱chatglm3-6b模型格式进行了转换和量化压缩&#xff0c;并成功部署了推理服务&#xff0c;有兴趣的同学可以翻阅《NVIDIA TensorRT-LLM 大模型推理框架实践》&#xff0c;今天我们来实践如何通过LLaMA-Factory对大模型…...

30天学会Go--第7天 GO语言 Redis 学习与实践

30天学会Go–第7天 GO语言 Redis 学习与实践 文章目录 30天学会Go--第7天 GO语言 Redis 学习与实践前言一、Redis 基础知识1.1 Redis 的核心特性1.2 Redis 常见使用场景 二、安装 Redis2.1 在 Linux 上安装2.2 在 Windows 上安装2.3 使用 Docker 安装 Redis 三、Redis 常用命令…...

java 使用JSqlParser和CCJSqlParser 解析sql

maven <dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId><version>4.9</version> </dependency>解析SQL String sql "select aa,bb from b"; Statement statementCCJSq…...

基于spring boot的高校专业实习管理系统的设计与实现

文末获取源码和万字论文&#xff0c;制作不易&#xff0c;感谢点赞支持。 设计题目&#xff1a;基于spring boot的高校专业实习管理系统的设计与实现 摘 要 随着国内市场经济这几十年来的蓬勃发展&#xff0c;突然遇到了从国外传入国内的互联网技术&#xff0c;互联网产业从开…...

OpenCV相机标定与3D重建(11)机器人世界手眼标定函数calibrateRobotWorldHandEye()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 计算机器人世界/手眼标定&#xff1a; w T b _{}^{w}\textrm{T}_b w​Tb​ 和 c T g _{}^{c}\textrm{T}_g c​Tg​。 cv::calibrateRobotWorldHa…...

计算机网络ENSP课设--三层架构企业网络

本课程设计搭建一个小型互联网&#xff0c;并模拟Internet的典型Web服务过程。通过此次课程设计&#xff0c;可以进一步理解Internet的工作原理和协议过程&#xff0c;并提高综合知识的运用能力和分析能力。具体目标包括&#xff1a; &#xff08;1&#xff09;掌握网络拓扑的…...

【openwrt】openwrt-21.02 基于IP地址使用ipset实现策略路由操作说明

openwrt版本信息 DISTRIB_ID=OpenWrt DISTRIB_RELEASE=21.02-SNAPSHOT DISTRIB_REVISION=r0-6bf6af1d5 DISTRIB_TARGET=mediatek/mt7981 DISTRIB_ARCH=aarch64_cortex-a53 DISTRIB_DESCRIPTION=OpenWrt 21.02-SNAPSHOT r0-6bf6af1d5 DISTRIB_TAINTS=no-all busybox override …...

Git:常用命令

一、查看当前分支 git branch 二、查看所有分支 git branch -a 三、切换到远程分支 git checkout origin/分支名 示例&#xff1a;git checkout origin/dev 四、拉取远程分支代码 git pull origin 分支名 示例&#xff1a;git pull origin dev 五、常用指令 查看暂存区…...

【2025最新版】搭建个人博客教程

【2025最新版】搭建个人博客教程 –小记&#xff1a; 在搭建我的这个博客之前我在CSDN也发布过一些文章&#xff0c;目前应该也是几千粉丝了&#xff0c;但是看到别人都是用自己博客写的就感觉自己很LOW&#xff0c;所以就想自己来搭建一个属于自己的个人博客。当然搭建博客的…...

微信小程序实现联动删除输入验证码框

以下是json代码 {"component": true,"usingComponents": {} }以下是wxml代码 <van-popup show"{{ show }}" bind:close"onClose" custom-class"extract"><image src"../../images/extract/icon1.png"…...

ARM异常处理机制与ESR寄存器详解

1. ARM异常处理机制概述在ARMv8/v9架构中&#xff0c;异常处理是处理器响应硬件或软件事件的核心机制。当发生异常时&#xff0c;处理器会暂停当前程序执行&#xff0c;跳转到预定义的异常向量表入口&#xff0c;同时将异常相关信息记录在异常综合征寄存器(ESR)中。异常可能由多…...

LEANN:基于选择性重计算的本地向量检索,实现97%存储压缩

1. 项目概述&#xff1a;LEANN&#xff0c;一个重新定义本地向量检索的开源项目如果你和我一样&#xff0c;对当前AI应用生态里动辄需要将个人数据上传到云端、依赖昂贵且臃肿的向量数据库感到厌倦&#xff0c;那么LEANN的出现&#xff0c;绝对会让你眼前一亮。这不仅仅是一个工…...

AbMole丨CL 316243:β3-肾上腺素受体激动剂,在代谢调控与能量消耗研究中的应用

CL 316243是一种高选择性的β3-肾上腺素受体&#xff08;β3-AR&#xff09;激动剂&#xff0c;其对β3-AR的选择性远高于β1-AR和β2-AR[1]。CL 316243&#xff08;CAS No.&#xff1a;138908-40-4&#xff09;通过激活β3-AR&#xff0c;刺激腺苷酸环化酶&#xff08;AC&…...

实战-Spine动画与UI元素的层级穿插艺术

1. Spine动画与UI层级穿插的核心挑战 在2D游戏开发中&#xff0c;角色动画和UI元素的视觉层级管理是个高频痛点。我遇到过最典型的场景是&#xff1a;当角色装备武器时&#xff0c;武器需要插入到手臂和身体之间&#xff1b;释放技能时&#xff0c;特效又要在特定骨骼层级间动态…...

星链引擎:AI 驱动的全域营销决策自动化系统技术实现

一、引言在当前数字化营销时代&#xff0c;企业面临着前所未有的数据爆炸和决策复杂度。一个典型的全域营销场景中&#xff0c;企业每天需要处理来自多个平台的数百万条用户行为数据&#xff0c;同时还要根据市场变化、竞品动态和用户反馈&#xff0c;实时调整内容策略、发布策…...

昇腾平台上的异构编程

昇腾平台作为国产化 AI 算力核心底座&#xff0c;采用CPUNPU 异构计算架构&#xff0c;异构编程是充分释放昇腾硬件算力、实现高性能计算与 AI 推理融合加速的关键技术。异构编程指在同一计算任务中&#xff0c;协同调度通用处理器&#xff08;CPU&#xff09;与神经网络处理器…...

在Taotoken控制台中查看与分析API用量明细的实际操作

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 在Taotoken控制台中查看与分析API用量明细的实际操作 对于使用大模型API进行开发的团队或个人而言&#xff0c;清晰、准确地掌握AP…...

LunaTranslator:打破语言壁垒,让视觉小说触手可及

LunaTranslator&#xff1a;打破语言壁垒&#xff0c;让视觉小说触手可及 【免费下载链接】LunaTranslator 视觉小说翻译器 / Visual Novel Translator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator 还在为日文、英文的视觉小说而烦恼吗&#xff1…...

Silk v3解码器终极指南:高效转换微信QQ语音为MP3格式

Silk v3解码器终极指南&#xff1a;高效转换微信QQ语音为MP3格式 【免费下载链接】silk-v3-decoder [Skype Silk Codec SDK]Decode silk v3 audio files (like wechat amr, aud files, qq slk files) and convert to other format (like mp3). Batch conversion support. 项目…...

VPS自动化配置脚本:Shell脚本实现服务器安全与开发环境一键部署

1. 项目概述&#xff1a;一个为开发者量身打造的VPS自动化配置脚本如果你和我一样&#xff0c;经常需要快速部署新的VPS&#xff08;虚拟专用服务器&#xff09;来跑一些临时的项目、搭建测试环境&#xff0c;或者只是厌倦了每次都要重复那些繁琐的初始化步骤&#xff0c;那么你…...