说明:EtherCAT为了方便用户空间对主站进行调试,因此提供一套用户空间使用的工具来设置从站参数,观察调试信息等等。正常情况下,每个主站的实例都会生成一个字符设备,名字为:/dev/EtherCATx。

欲想深入了解其他命令,可通过执行ethercat –help命令来查看详细使用方法。

下面具体的介绍了一下各参数及命令的使用,其中[ ]中为必选参数,< >为可选参数。

1.1 设置别名地址

命令:ethercat alias [ OPTIONS ] < ALIAS >
参数:
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对位置;
* –force -f:匹配所有从站;

例子:
sudo ethercat alias –position 0 0x2000
解析:将在bus总线上对应的从站0的别名(默认为0)为0x2000;
注意:必须有从站连接才能使用此命令。

1.2 显示总线配置

命令:ethercat config [ OPTIONS ]
参数:
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对位置;
* –verbose -v:显示详细信息;

例子:
sudo ethercat config -v
解析:显示所有从站的详细配置信息。
注意:必须启动应用程序才能使用此命令查看。

1.3 以C语言的形式输出PDO信息

说明:生成的PDO信息可以直接被应用层的ecrt_slave_config_pdos()函数调用。
命令:ethercat cstruct [ OPTIONS ]
参数:
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对位置;

例子:
sudo ethercat cstruct -a 100
解析:输出别名为100的从站的PDO信息。
注意:必须有从站连接才能使用此命令。

1.4 显示过程数据

说明:输出二进制的过程数据。
命令:ethercat data [ OPTIONS ]
参数:
* –domain -d :域的索引值,假如不填写参数则显示所有过程数据。

例子:
sudo ethercat data
解析:显示所有PDO过程数据。
注意:必须启动应用程序才能使用此命令查看。

1.5 设置主站调试级别

说明:设置主站的调试级别,调试信息将输出在/var/log/syslog文件中。
命令:ethercat debug
其中可有以下情况:
* 0 : 无任何调试信息输出
* 1 : 输出部分调试信息
* 2 : 输出所有的帧的内容(由于输出信息较多,请谨慎使用)

例子:
sudo ethercat debug 1
解析:打开部分调试信息输出

1.6 配置域

说明:显示域的信息。
命令:ethercat domains [ OPTIONS ]
参数:
* –domain -d :根据索引号,匹配域;
* –verbose -v:显示域的详细信息(FMMU和过程数据的信息);

例子:
① sudo ethercat domains执行后显示

Domain0:LogBaseAddr 0x00000000, Size 12, WorkingCounter 0/3

以上各字段的含义:
* LogBaseAddr:逻辑寻址的逻辑基地址;
* Size:域交换数据的字节数;
* WorkingCounter:第一个数字是WKC的当前值,第二个数字是WKC的期望值;

解析:显示域的基本信息。

② sudo ethercat domains -v执行后显示

Domain0:LogBaseAddr 0x00000000, Size 12, WorkingCounter 3/3
SlaveConfig 0:0, SM2 (Output), LogAddr 0x00000000, Size 6 06 00 9d aa 00 00
SlaveConfig 0:0, SM3 (Input), LogAddr 0x00000000, Size 6 31 0a 9d aa 00 00

以上各字段的含义:
* SlaveConfig:从机配置信息,主要包含别名和地址(绝对地址或相对地址);
* SM2:同步管理器2;
* LogAddr:FMMU映射的地址;
* Size:映射地址的大小;
* 数据位:十六进制显示的过程数据;

解析:显示域的详细信息(FMMU和过程数据的信息)。
注意:必须启动应用程序才能使用此命令查看。

1.7 访问SDO

说明:向从站写一条PDO条目。
命令:ethercat download [ OPTIONS ]
参数:
⑴ 可选参数:
* INDEX:16位无符整型的SDO索引;
* SUBINDEX:8位无符整型的SDO子索引;
* VALUE:需写入的SDO的值

⑵ [ OPTIONS ]参数:
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对位置;
* –type -t :SDO条目的数据类型;

type可使用的类型有:

bool、int8、int16、int32、int64、uint8、uint16、uint32、uint64、float、double、string、octet_string、unicode_string

对于sign-and-magnitude coding有:
sm8、sm16、sm32、sm64

例子:
sudo ethercat download -t int16 -p 0 0x6060 00 08
解析:向从站0的索引号为0x6060(16位),子索引号为00(8位)的地址写入PDO条目值”0x08“;

1.8 访问SDO

说明:向从站读取一个SDO条目。
命令:ethercat upload [ OPTIONS ]
参数:
⑴ 可选参数:
* INDEX:16位无符整型的SDO索引;
* SUBINDEX:8位无符整型的SDO子索引;

⑵ [ OPTIONS ]参数:
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对位置;
* –type -t :SDO条目的数据类型;

type可使用的类型有:

bool、int8、int16、int32、int64、uint8、uint16、uint32、uint64、float、double、string、octet_string、unicode_string

对于sign-and-magnitude coding有:
sm8、sm16、sm32、sm64

例子:
sudo ethercat upload -t int16 -p 0 0x6060 00
解析:读取从站0中索引号为0x6060(16位),子索引号为00(8位)的SDO条目。

注意:必须有从站连接才能使用此命令。

1.9 输出EOE统计信息

说明:显示EOE的统计信息,包括主站的发送率和接收率(Byte/s)。
命令:ethercat eoe
参数:无

1.10 FOE通信

⑴ 通过FOE读取从站的文件。
命令:ethercat foe_read [ OPTIONS ]
参数:
① 可选参数
* :为从站中的源文件;

② [ OPTIONS ]参数
* –output -file -o :为读取数据的存储文件,缺省的话数据将读取到stdout;
* –alias:匹配从站的别名;
* –position:匹配从站的绝对位置;

⑵ 通过FOE向从站存储文件。
命令:ethercat foe_write [ OPTIONS ]
① 可选参数
* :为要发送的文件(指定路径+文件名),也可以为” - “,表示从标准输入中读取文件;

② [ OPTIONS ]参数
* –output -file -o :为从站存储的目标文件名,假如不指定名字,则为主站发送 FILENAME的去掉路径的名字;
* –alias:匹配从站的别名;
* –position:匹配从站的绝对位置;

1.11 创建一个拓扑图形

说明:输出总线拓扑图。
命令:ethercat graph [ OPTIONS ]

例子:
sudo ethercat graph | dot -Tsvg > ~/Desktop/bus.svg
解析:将总线拓扑图输出到桌面。

1.12 主站和以太网设备

说明:显示主站和以太网设备信息。
命令:ethercat master [ OPTIONS ]
参数:
* –master -m :indices为主站的索引。默认显示所有的设备信息;

例子:
sudo ethercat master
解析:显示所有主机的设备信息(发送帧、接收帧、参考时钟、应用时间)。

注意:欲想显示应用时间需启动应用程序。

1.13 同步管理,PDOs,PDO条目

说明:显示出同步管理器的参数和PDO任务和映射信息。
命令:ethercat pdos [OPTIONS]
参数:
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对位置;
* –skin -s :”skin”可选择”default“和”etherlab“;

例子:
sudo ethercat pdos -p 0 -s default执行后显示:

SM2:PhysAddr 0x1400, DefaultSize 64, ControlRegister 0x34, Enable 1
RxPDO 0x1600 “Receive PDO1 Mapping”
PDO entry 0x6040:00, 16 bit, ” ”
PDO entry 0x607a:00, 32 bit, ” “

以上各字段的含义:
⑴ 同步管理器信息
* SM2:同步管理器2;
* PhysAddr:物理地址开始地址;
* DefaultSize:默认数据大小;
* ControlRegister:控制寄存器;
* Enable:使能字

⑵ 显示PDO方向,索引值,PDO名字
* RxPDO:代表从站发送数据的方向(从站接收数据);
* 0x1600:PDO的索引值;
* “Receive PDO1 Mapping”:PDO的名字;

⑶ 显示PDO条目的索引和子索引(都是以16进制的形式现实的),显示位宽和描述
* 0x6040:00 : 表示索引和子索引;
* 16bit:表示该条目的位宽;
* ” “:表示该位的描述;

1.14 寄存器访问

⑴ 获取对应从站寄存器的内容
命令:ethercat reg_read [ OPTIONS ]

[ SIZE ]
参数:
① 可选参数
* ADDRESS:16位无符号的寄存器地址;
* SIZE:要读取的对应寄存器字节数(16位无符号值);[ SIZE ] + ADDRESS不能超过64K,假如type参数隐含要读取的字节数,则可以忽略掉[ SIZE ]参数;

② [ OPTIONS ]参数
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对位置;
* –type -t :匹配数据类型;

type可使用的类型有:

bool、int8、int16、int32、int64、uint8、uint16、uint32、uint64、float、double、string、octet_string、unicode_string

对于sign-and-magnitude coding有:
sm8、sm16、sm32、sm64

例子:
sudo ethercat reg_read -p 6 -t sm32 0x092c
解析:获取从站6的0x092C寄存器所存储的值。

⑵ 将内容写入指定从站寄存器
命令:ethercat reg_write [ OPTIONS ]


参数:
① 可选参数
* ADDRESS:16位无符号的寄存器地址;
* DATA:要写入寄存器的数据;假如制定了”type”数据类型,那么”DATA”根据指定的数据类型对数据进行解析;假如未指定”type”数据类型,则”DATA”可以为指定的文件或将”DATA”设置为” - “,表示从标准输入中获得数据;

② [ OPTIONS ]参数
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对地址;
* –type -t :匹配数据类型;
* –emergency -e:以紧急的方式请求写入文件;

例子:
sudo ethercat reg_write -p 5 -t sm32 0x092c 200
解析:向从站5的寄存器0x092c写入数据200。

1.15 SDO字典

说明:列出SDO字典(SDO信息和SDO条目信息)。
命令:ethercat sdos [ OPTIONS ]
参数:
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对位置;
* –quiet -q:只输出PDOs,不输出PDO条目信息;

例子:
sudo ethercat sdos执行后显示

SDO 0x1000,”Device type”
0x1000:0, r-r-r-, uint32, 32 bit, “Device type”
1
2
SDOs:SDO 0x1000,”Device type”
* 0x1000:SDO索引值;
* “Device type”:SDO名字;

SDO条目:0x1000:0, r-r-r-, uint32, 32 bit, “Device type”
* 0x1000:0:索引值及子索引值;
* r-r-r-:表示访问权限;
* uint32:表示该条目的数据类型;
* 32bit:表示该条目的位宽;
* “Device type”:对该条目的描述;

1.16 SII访问

⑴ 读取从站的SII内容
命令:ethercat sii_read [OPTIONS]
参数:
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对位置;
* –verbose -v:分类显示数据文本内容;

例子:
① sudo ethercat sii_read -p 0 -v
解析:以分类数据文本形式显示sii的内容;
② sudo ethercat sii_read -p 0 | hexdump
解析:以16进制形式显示sii的内容;
③ sudo ethercat sii_read -p 0 > Backup.bin
解析:将sii的内容备份到Back.bin文件下;

注意:必须有从站连接才能使用此命令。

⑵ 向从站写入sii内容
命令:ethercat sii_write [ OPTIONS ]
参数:
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对位置;
* –force -f:不进行有效检查;

例子:
sudo ethercat sii_read -p 0 Backup.bin
解析:将Backup.bin的内容写入从站0的SII中。

注意:必须有从站连接才能使用此命令。

1.17 显示从站的信息

说明:显示总线上的从站的信息。
命令:ethercat slaves [ OPTIONS ]
参数:
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对地址;
* –verbose -v:显示从站的详细信息;

例子:
sudo ethercat slaves -v
解析:显示所有从站的详细信息。

1.18 SOE IDN访问

说明:读取从站的SOE IDN。
命令:ethercat soe_read [ OPTIONS ]
参数:
① 可选参数
* DRIVE:驱动号【0 - 7】,缺省默认为0;
* IDN:

② [ OPTIONS ]参数
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对地址;
* –type -t :匹配数据类型;

type可使用的类型有:

bool、int8、int16、int32、int64、uint8、uint16、uint32、uint64、float、double、string、octet_string、unicode_string

对于sign-and-magnitude coding有:sm8、sm16、sm32、sm64

1.19 请求应用层转换状态机

说明:请求应用层转换状态。
命令:ethercat states [ OPTIONS ]
参数:
⑴ 可选参数
* STATE:可选的参数有INIT、PREOP、BOOT、SAFEOP、OP;

⑵ [ OPTIONS ]参数
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对地址;

例子:
sudo ethercat states -p 0 OP
解析:将从站0的状态切换为OP;

注意:必须有从站连接才能使用此命令。

1.20 显示主站版本

说明:显示主张的版本。
命令:ethercat version [ OPTIONS ]

1.21 生成从站配置描述

说明:生成从站信息描述文件。
命令:ethercat xml [ OPTIONS ]
参数:
* –alias -a :匹配从站的别名;
* –position -p :匹配从站的绝对地址;

例子:
sudo ethercat xml -p 0
解析:生成从站0的从站信息描述文件并显示出来

Ethercat解析(三)之命令行工具的使用相关推荐

  1. Android日志[进阶篇]三-Logcat 命令行工具

    Android日志[进阶篇]一-使用 Logcat 写入和查看日志 Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) Android日志[进阶篇]三-Logcat命令行工具 Androi ...

  2. k8s(三):命令行工具kubectl与核心技术Pod

    文章目录 1. kubectl 1.1 概述 1.2 kubectl命令语法 1.3 kubectl命令举例 2. 核心技术-Pod 2.1 概述 2.2 Pod特性 2.3 拉取镜像策略 2.4 资 ...

  3. GitHub趋势榜第一:超级命令行工具Semantic,比较解析源代码

      新智元报道   来源:GitHub 编辑:大明 [新智元导读]作为开发者,天天都要与源代码打交道,面对不同版本,不同语言的代码进行比较.分析,理顺开发流程往往是开发者的日常.近日,一款名为Sema ...

  4. jq输出文本_如何用 Linux 命令行工具解析和格式化输出 JSON | Linux 中国

    我们将使用 Linux 上的命令行工具解析并格式化打印 JSON.它对于在 shell 脚本中处理大型 JSON 数据或在 shell 脚本中处理 JSON 数据非常有用.-- Ostechnix J ...

  5. linux服务器返回json,Linux 命令行工具解析和格式化输出 JSON的方法

    JSON 是一种轻量级且与语言无关的数据存储格式,易于与大多数编程语言集成,也易于人类理解 -- 当然,如果格式正确的话.JSON 这个词代表 J ava S cript O bject N otat ...

  6. 三、Kubernetes集群的命令行工具kubectl

    目录 1.kubectl概述 2.kubectl命令的语法 3.kubectl help获取更多信息 4.kubectl 子命令使用分类 4.1 基础命令 4.2部署和集群的管理命令 4.3故障和调试 ...

  7. 构建现代化的命令行工具

    文章源于 lambdas.dev 每当我们想要创建一个基于 NodeJS 的命令行工具时,就会衍生出一堆问题需要解决,比如如何准备开发环境,如何打包转译代码,如何使代码在转译后保持可调用的状态同时尽可 ...

  8. python解析库_Python命令行解析库argparse

    原博文 2014-08-13 05:48 − 2.7之后python不再对optparse模块进行扩展,python标准库推荐使用argparse模块对命令行进行解析. 1.example 有一道面试 ...

  9. deb 安装_本地安装DEB包的3种命令行工具(适合Ubuntu和Deepin )

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 在本教程中,我们将学习如何使用三种不同的命令行工具(d ...

  10. 命令行工具开发:如何快速实现命令行提示?

    简介:对于稍微复杂一些的命令行工具,命令行的提示功能必不可少.那么对于不同语言的开发者,有没有一种简单快捷的实现方式呢?本文分享一种快速实现的方法,使用YAML文件定义命令行工具的使用规范,再通过工具 ...

最新文章

  1. java 中的 Enumeration 在Vector,Hashtable和web中的应用
  2. Nature Biotechnology封面 | 经济快速:纳米孔宏基因组方案, 6小时准确识别下呼吸道病原体...
  3. 学python的主流就业方向-Python有哪些就业方向 你知道Python的优势吗
  4. 【NLP】一份相当全面的BERT模型精讲
  5. linux下安装配置oracle
  6. Ubuntu系统显卡驱动、CUDA、CUDNN安装(二CUDA和CUDNN)
  7. 【kafka】kafka LogSegmentOffsetOverflowException segment overflow Detected offset overflow
  8. 字符转换工具,仿牛族字符转换
  9. C语言和设计模式(中介者模式)
  10. n维椭球体积公式_加速度计 椭球校准 (最小二乘法 椭球拟合)
  11. spark算子的分类
  12. Android学习笔记之AndroidManifest.xml文件解析(摘自皮狼的博客)
  13. 图解虚拟机三种网络连接方式
  14. 华为交换机端口基本配置指南
  15. Tif格式图片的读取与保存
  16. 电脑网络没有问题,就是电脑连不上网的解决办法
  17. 如何把源代码格式复制到WPS文档中
  18. 【笔记】编译原理——第三章 词法分析
  19. 计算机网络原理与技术
  20. 2月编程语言排行榜谁还没有看?

热门文章

  1. git rebase 与git merge 小结
  2. echarts setoption 不生效
  3. idea如何全屏_intelliJ IDEA 全屏键盘手
  4. 前端通过代码实现F11全屏效果
  5. ZEMAX | 如何围绕空间中的任何点旋转任何元素
  6. 网络安全(黑客)工具
  7. 【移动终端应用开发】实验2:SQLite数据库的使用
  8. PPT图表素材 模板 扁平化 复古 时尚 微立体 动态 综合分类大合集
  9. 详细实例全面解析SQL存储过程
  10. MAC M1 QT-kits配置 QT安装 qt-version配置 No suitable kits found. The qmake executable could not be added