IGH常用命令总结
1.启动主站
sudo /etc/init.d/ethercat start
2.查看启动过程的打印数据
dmesg
3.扫描从站状态
4.ethercat slaves
主站状态
5.ethercat master
6.显示从站的详细配置信息
7.sudo ethercat config -v
8.输出别名为100的从站的PDO信息
sudo ethercat cstruct -a 100
9.显示所有PDO过程数据
sudo ethercat data
10.向从站写一条PDO条目。
ethercat download [ OPTIONS ] <INDEX> <SUBINDEX> <VALUE>
sudo ethercat download -t int16 -p 0 0x6060 00 08
解析:向从站0的索引号为0x6060(16位),子索引号为00(8位)的地址写入PDO条目值”0x08“;
11.从从站读取一条SDO
ethercat upload [ OPTIONS ] <INDEX> <SUBINDEX>
sudo ethercat upload -t int16 -p 0 0x6060 00
解析:读取从站0中索引号为0x6060(16位),子索引号为00(8位)的SDO条目
12.列出SDO字典
ethercat sdos [ OPTIONS ]
IGH初始化流程
master = ecrt_request_master(0); //1.请求
domain1 = ecrt_master_create_domain(master); //2.创建域
sc[0] = ecrt_master_slave_config(master, zero_slaver1, zero); //3.获取从站配置 命令行可看:ethercat slavers -h -v
ecrt_slave_config_pdos(sc[0], EC_END, device_syncs) //4.从站配置PDOs 命令行可看:ethercat cstruct
ecrt_domain_reg_pdo_entry_list(domain1, domain1_regs) //5.配置从站的domain,配置地址空间
// ecrt_slave_config_sdo8(sc[i], 0x6060, 0, 8); //6. 运行模式配置,CSP
// ecrt_slave_config_sdo8(sc[i], 0x60C2, 1, 1); //设置插补周期为1ms
// ecrt_slave_config_dc(sc[0], 0x0300, 1000000, 0, 0, 0); //7.配置DC控制寄存器
// ecrt_master_application_time(master, system_time_ns()); //8.
// ecrt_master_select_reference_clock(master, NULL); //9.
ecrt_master_activate(master) //10.启动
domainOutput_pd = ecrt_domain_data(domain1); //11.获取数据域指针
RCLCPP_INFO(this->get_logger(),"连接成功,配置通过");