#tcp #robotics #automation #networking #kuka

rs_openshowvar

一个用于连接库卡机器人并通过 OpenShowVar 协议执行读写操作的 Rust 库

9 个版本

0.1.8 2024 年 7 月 22 日
0.1.7 2024 年 6 月 26 日

1063网络编程

Download history 425/week @ 2024-06-10 40/week @ 2024-06-17 142/week @ 2024-06-24 34/week @ 2024-07-01 143/week @ 2024-07-22 55/week @ 2024-07-29 2/week @ 2024-08-12

每月 200 次下载

MIT 许可证

1MB
136

包含 (WOFF 字体,400KB) NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2,(WOFF 字体,135KB) FiraSans-Medium-8f9a781e4970d388.woff2,(WOFF 字体,130KB) FiraSans-Regular-018c141bf0843ffd.woff2,(WOFF 字体,82KB) SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2,(WOFF 字体,77KB) SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,(WOFF 字体,45KB) SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2 等 3 个字体文件。

rs_openshowvar

rs_openshowvar 是一个用于通过 TCP/IP 使用 OpenShowVar 协议与库卡机器人交互的 Rust 库。

概述

rs_openshowvar 是一个 Rust 库,它通过 TCP/IP 连接到机器人系统以执行读写操作。针对 KukaVarProxy 服务器,它允许使用 OpenShowVar 协议访问库卡机器人。此库旨在用于机器人控制和监控应用程序,提供可靠的 TCP/IP 通信和丰富的机器人变量管理功能。

本项目受到以下仓库的启发

库卡 VarProxy 消息格式

与库卡 VarProxy 的通信遵循此消息格式

  • 消息 ID(2 字节,十六进制)
  • 消息长度(2 字节,十六进制)
  • 读取(0)或写入(1)指示器(1 字节)
  • 变量名称长度(2 字节,十六进制)
  • 变量名称(ASCII,# 字节)
  • 变量值长度(2 字节,十六进制)
  • 变量值(ASCII,# 字节)

安装

rs_openshowvar 添加到您的 Cargo.toml 文件中的依赖项

[dependencies]
rs_openshowvar = "0.1.8"

使用方法

库卡 VarProxy

此库旨在通过库卡 VarProxy 服务器连接到库卡机器人。库卡 VarProxy 是一种服务器软件,用于通过 TCP/IP 访问库卡机器人系统变量。

  1. 有关安装和配置库卡 VarProxy 的说明,请参阅 库卡 VarProxy GitHub 仓库

  2. 确保将 rs_openshowvar 配置为使用端口 7000 以连接到库卡 VarProxy 服务器。库卡 VarProxy 在此端口上监听以与库卡机器人通信。

  3. 使用 rs_openshowvar 库创建自己的程序以连接到您的机器人。下面是一个示例

use rs_openshowvar::OpenShowVar;

pub fn main() {
    // Create an instance of OpenShowVar with the robot's IP address and port
    let mut robot = OpenShowVar::new("192.168.1.10".to_string(), 7000);

    // Connect to the robot
    match robot.connect() {
        Ok(_) => println!("Connected to the robot"),
        Err(e) => {
            // Display the connection error and terminate the process
            println!("Connection error: {}", e);
            return;
        }
    }

    // Specify the variable name and value
    let variable_name = "existing_var";
    let value = "new_value";

    // Write to the variable
    match robot.write(variable_name, value) {
        Ok(_) => println!("Variable written successfully"),
        Err(e) => println!("Error writing variable: {}", e),
    }

    // Read from the variable
    match robot.read(variable_name) {
        Ok(read_value) => println!("Read value: {}", read_value),
        Err(e) => println!("Error reading variable: {}", e),
    }
    // Disconnect from the robot
    robot.disconnect();
}

文档

有关详细API文档和用法示例,请访问文档

贡献

欢迎贡献!如果您想为rs_openshowvar做出贡献,请fork仓库并提交包含您更改的pull请求。

许可协议

本项目采用MIT许可协议。有关详细信息,请参阅LICENSE文件。

无运行时依赖