示例︰参数阅读

使用SDO服务READ可以读取参数。为此,必须知道待读取参数的索引和子索引。

将通过示例更详细地对SDO服务进行介绍。在本示例中,在Beckoff Automation GmbH的EtherCAT®主站中通过TwinCAT 3工程设计工具执行服务。

请按以下步骤进行操作:

  • 您已在TwinCAT项目中集成了EtherCAT®主站服务所需的库和功能模块(参见SDO服务READ和WRITE)。
  1. 打开MOVISUITE®工程设计软件并搜索参数。
  2. 将鼠标指针移到参数的输入框或显示区域上,并注意工具提示中的参数索引。子索引与索引号之间用一个点隔开。
  3. 创建功能模块FB_EcCoeSdoRead的实例。
  4. 占用功能模块的输入端:

输入端

数值

sNetID

EtherCAT®主站的网络ID

nSlaveAddr

待读取数据的设备的EtherCAT®地址。

nIndex

待读取的参数的索引。

如果使用双轴模块,则第二个轴的索引所分配的偏移量为0x1000 (4096 dec)。

nSubIndex

待读取的参数的子索引。

pDstBuf

读取的参数的存储数据范围指针。

cbBufLen

待读取的参数占用的最大内存大小(单位:字节)。

针对MOVI‑C®自动化模块的变频器,参数的最大内存大小始终为4字节。

bExecute

开始读取过程的上升沿。

tTimeout

功能模块的超时时间

  1. 如要启动过程,bExecute输入端必须识别到“Rising Edge”(上升沿)。
    • 参数的当前值显示在相应的变量中。该变量还必须进行相应定标,以便以正确的用户单位显示实际的、未定标的值。
    • 在本示例中,读出了直流侧电压的值。必须按1000定标该值。
    • bBusybError输出端提示SDO服务的状态。如果执行SDO服务时出错并且您设置了bError输出端,则nErrId输出端会显示故障编号。