# NC-Link-Adapter **Repository Path**: hf-cloud-platform/nc-link-adapter ## Basic Information - **Project Name**: NC-Link-Adapter - **Description**: NC-Link安全适配器、NC-Link协议转换、NC-Link通信组、NC-Link安全组 支持MT-Connect、OPC UA、Modbus-TCP协议适配 支持SM3、SM4密码协议 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2023-09-12 - **Last Updated**: 2023-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NC-Link-Adapter #### NC-Link介绍 **NC-Link(数控装备工业互联通讯协议)是由中国机床工具工业协会正式发布的团体标准。NC-Link平台围绕支持机床装备企业应用和推广NC-Link标准协议,构建面向制造产线、车间、工厂的数据服务基础设施,打破因工业设备通讯接口相异造成的“信息孤岛”,为车间生产管理、预测性分析、设备远程运维、工业产品溯源等智能应用提供稳定、可靠、可持续的数据资产运营服务。** **应用系统application** 对数控机床的属性数据、参数数据及运行数据进行分析、管理和监控或对数控机床进行控制的软硬件系统。如ERP和MES等。 **适配器adapter** 软件组件或硬件设备,用于连接代理器和数控机床,实现从数控装备采集其属性数据、参数数据或运行数据并进行格式解析和转换,以统一格式传送到代理器,或者接收从代理器传来的控制信息,按照指定的数控机床要求转换并传递到对应的数控机床。 **代理器agent** 软件组件或硬件设备,用于连接适配器和应用系统,实现从适配器采集数据并分发到应用系统,或者接收从应用系统传来的控制信息并下传到适配器。 **终端terminal** 应用系统或连接了适配器的数控机床。终端由系统内唯一的终端标识符来标识。 由于数控机床与适配器为一对一对应,本文件中使用适配器来代表数控机床。 **通信接口interface** 指应用系统与代理器、适配器与代理器之间的通信规则,包括请求/应答/发布等指令的名称、格式,以及指令的各项参数。 **数控机床模型numerical control equipment model** 采用树状的面向对象方式对数控机床的结构、属性和数据进行描述的结果,其表现形式为数控机床样式文件。具体数控机床的模型是依据当前数控机床的实际特点裁剪而得到的,称为数控机床模型实例,其表现形式为数控机床模型文件。 **上行upload** 数据由数控机床经适配器、代理器,传输至应用系统。 **下行download** 数据由应用系统经过代理器、适配器传输至数控机床。 **模型文件model file** 符合样式文件描述的数控机床模型文件,文件内容为JSON对象。也称Probe文件。 **数据项data item** 数控机床模型定义中各对象的属性在使用中规定的取值组合单元。 **设备 device** 数控机床或者其附属设备。 **请求/响应 request/response** 应用系统与代理器之间的一种数据通信方式。该方通信式下,请求者通过代理器向接收者发出Request PDU,接收者收到该请求协议数据单元后,通过代理器,向请求者返回相应的Response PUD。 **订阅/发布subscribe/publish** 应用系统、代理器、适配器等三者之间的通信方式。通过订阅/发布通信模式,三者之间传递协议数据单元,完成应用系统与适配器之间的信息传输或控制功能。 **状态通知 State Notify** 用于终端得知其他终端状态发生变更的机制。代理器在检测到终端的连接状态发生变更时,向监听该终端状态的终端发送状态变更消息。 **方法 method** 用来实现用户自定义功能。用户可以在适配器中预先设置好自定义功能,通过下发调用指令实现调用用户自定义功能。 #### 本项目已完成及相关内容。 NC-Link安全适配器、NC-Link协议转换、NC-Link通信组、NC-Link安全组 支持MT-Connect、OPC UA、Modbus-TCP协议适配 支持SM3、SM4密码协议 #### 软件架构 **NC-Link安全适配器,目前支持MTConnect、OPC UA、Modbus-TCP三种协议的主体适配,通过mosquitto消息代理外置安全方案。** #### 安装教程 **MTConnect适配器测试方案** **测试准备** ①启动MT-Connect模拟服务器 在window10环境下执行命令:agent run ②启动Mosquitto服务 在Ubuntu 22.04.1 LTS虚拟机环境下安装mosquitto并启动mosquitto服务器: sudo apt install mosquitto mosquitto ③启动MT-Connect适配器 在Ubuntu 22.04.1 LTS虚拟机环境下执行命令: cd MTConnect sh install_mtc.sh ./MTConnect **OPC UA适配器测试方案** **测试准备** ① 安装cmake工具后,安装open62541库 步骤1: git clone -b v1.3.2 [GitHub - open62541/open62541: Open source implementation of OPC UA (OPC Unified Architecture) aka IEC 62541 licensed under Mozilla Public License v2.0](https://github.com/open62541/open62541.git) 步骤2:cd open62541 步骤3:git submodule update --init --recursive 步骤4:mkdir build 步骤5:cd build 步骤6:cmake .. -DUA_ENABLE_AMALGAMATION=ON 步骤7:make ②将build目录下的open62541.h和build/bin目录下的libopen62541.a复制到OPC-UA/thirdparty/open62541目录下。 ③回到OPC-UA目录,命令行创建build文件夹并cmake 步骤1:mkdir build 步骤2:cd build 步骤3:cmake .. 步骤4:make ④ 运行build目录下的可执行文件,先运行server,再运行client。通过MQTTBox工具进行测试。 **ModBus适配器测试方案** **测试准备** 先运行MODBUS设备服务端,再运行适配器。通过MQTT.fx工具进行测试。其他步骤同MTConnect适配器测试方案。 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request