示例︰写入参数

使用SDO服务WRITE可以写入参数。为此,必须知道待写入参数的索引和子索引。

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

请按以下步骤进行操作:

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

输入端

数值

sNetID

EtherCAT®主站的网络ID

nSlaveAddr

待写入数据的设备的EtherCAT®地址。

nIndex

待写入的参数的索引。

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

nSubIndex

待写入的参数的子索引。

pDstBuf

指向包含待写入值的数据区域的指针。

cbBufLen

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

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

bExecute

开始写入过程的上升沿。

tTimeout

功能模块的超时时间

  1. 根据参数定标待写入的值。
  2. 如要启动过程,bExecute输入端必须识别到“Rising Edge”(上升沿)。
    • 在本示例中,为电压极限写入了一个新值。在执行服务之前,该值已按1000进行定标。
    • bBusybError输出端提示服务的状态。如果执行服务时出错并且您设置了bError输出端,则nErrId输出端会显示故障编号。