
本期我们将聚焦SSC工具Excel对象描述文件,以5.13版本的SSC工具生成的Excel基础应用表格为例,从文件创建、语法规则、设计规范、手动映射配置等方面,全方位讲解EtherCAT从站对象字典的标准化设计流程,搞定协议栈开发的核心配置环节!
先创建一个新的SSC项目,然后通过Tool→Application→Create New即可生成(如图所示),这将创建一个新的xlsx文件,以表格形式定义应用数据。

使用SSC TOOL创建的Excel表如下图所示,可点击表格最左侧的“2”或者“+”,展开表格。

1.注释
单行注释以// 开头(如图所示),该行内容将被忽略。

2.Index--对象索引
3.ObjectCode--对象代码
有效的对象代码包括VARIABLE、 ARRAY或 RECORD :
不同对象代码的示例如图所示,若未设置该值,系统将根据定义的条目自动设置对象代码。

在生成的ESI文件和源代码中,代码为ARRAY 或 RECORD 的对象会额外包含一个子索引0(Subindex0)条目,用于表示条目的数量,程序如图所示:
(1)Object0x8000 VARIABLE :


(3)Object 0x8002 RECORD:


5.DataType--数据类型

6.Default/Min/Max Value 可在“Default Value”、“Min Value”、“Max Value”列中定义相关数值,格式取决于所定义的数据类型。“Min Value”和“Max Value”列不会被SSC解析,可以留空,Excel表中默认隐藏这两列。

7.M/O/C, B/S and rx/tx (1)M/O/C :定义条目是强制(M)、可选(O)还是条件(C)的。该值仅会写入ESI文件,对从站应用无影响。 M/O/C 列默认隐藏,可选的PDO映射对象设为 O ,强制的映射对象设为 M 或留空。 (2)B/S :指定条目是备份对象(B)还是设置对象(S)。 (3)rx/tx :指定条目是否可映射到rx(输出)或tx(输入)PDO(这里的输入输出是以主站的角度来看的)。 PDO用于实时的数据更新,RxPDO是指以从站作为参考,从站接受主站的数据;TxPDO是指以从站作为参考,从站发给主站的数据。 8.Access 定义通过CoE协议的访问权限。访问权限(只读、只写、可读可写)在PreOP、SafeOP、OP状态下可以相同,也可以不同,条目访问权限如下表所示。

9.CoeRead/CoeWrite 若需要由应用处理CoE读和写请求,可在这两列中添加函数名,例如:CoeRead/CoeWrite,如图所示。

解析器将在xxxObjects.h 中生成对应的函数声明,并在应用C文件不存在的情况下,在应用C文件中生成空函数体,如图所示。

三、对象描述文件设计规则
1.实现访问对象字典函数时,SSC 对 CoE 对象内存分配要求如下:
2.PDO映射和同步管理器分配对象生成规则

(1)0x7000定义了一个数据对象。
(2)0x1600为0x7000建立了一个映射,用于在SM通道中传输对象字典0x7000中的数据。
(3)0x1C12把0x1600建立的映射添加到SM2中,以便在主站和从站的通信中传输数据。
四、手动定义PDO映射和SM分配对象
开发者可以只定义Input/Output对象,SSC TOOL可自动生成SM对象和PDO Mapping,这是最简单和快捷的对象设计方式。开发者也可以自己实现映射和分配,这就是所谓的手动映射和分配。为了支持灵活的过程数据配置,应手动定义PDO映射和SM分配对象。
1.手动定义PDO映射和SM分配对象
第一步:分配Input/Output对象(主索引、子索引)及通信、配置对象,如图所示:

第二步:将Input/Output对象映射到PDO Mapping中,如图所示:

第三步:添加PDO Mapping到SM对象中,如图所示:

2.关于补位的说明
对象具体的条目设计或填写时要注意对齐问题。需要16bit对齐,具体形式如下表所示。


3.将表格导入SSC项目
关闭Excel文件,或选择工具→应用→导入,即可将表格中定义的应用自动导入到SSC项目中,导入成功后会有弹窗提示,需确保弹窗内无报错提示。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。