2 个不稳定版本

0.2.0 2020 年 11 月 3 日
0.1.0 2020 年 6 月 16 日

#6 in #ethercat


用于 ethercat

MIT/Apache

94KB
975

EtherCAT ESI

用 Rust 编写的处理 EtherCAT 从机信息 (ESI) 的库。

许可证

版权所有 2020 slowtec GmbH

MIT/Apache-2.0


lib.rs:

EtherCAT 从机信息 (ESI)。

EtherCAT 从机信息 (ESI) 文件是一个 XML 文件,一些 EtherCAT 主堆栈使用它来配置从机并生成网络描述文件。然而,其主要目的是描述数据与从机共享的方式,包括它使用的同步管理器以及每个同步管理器中的 PDO。

官方 XML 架构可以在 EtherCAT 从机信息 (ESI) 架构 中找到(见 EtherCATInfo.xsd)。

示例

use ethercat_esi::EtherCatInfo;
use std::{
    env,
    fs::File,
    io::{self, prelude::*},
};

fn main() -> io::Result<()> {
    match env::args().nth(1) {
        None => {
            eprintln!("Missing filename");
        }
        Some(file_name) => {
            let mut xml_file = File::open(file_name)?;
            let mut xml_string = String::new();
            xml_file.read_to_string(&mut xml_string)?;
            let info = EtherCatInfo::from_xml_str(&xml_string)?;
            println!("{:#?}", info);
        }
    }
    Ok(())
}

依赖项

~1.7–2.2MB
~51K SLoC