严新龙 发表于 2023-8-8 10:35:01

H300PLC的SDO指令定义

1.    EC_SdoWrite/EC_SdoRead功能块用于通过SDO读/写EtherCAT从站的对象。
2.    指令调用位置及图标:
               
3.    描述(1)   使用EC_SdoRead时EN需要一直处于ON状态(2)   正确的填写wIndex和bySubIndex,确保从站中存在该对象否则指令会报错(3)   触发xExecute一个上升沿指令开始执行SDO通讯。(4)   SDO是非实时通信而且通讯时长却决于网络状态,数据块大小和从站状态。如果未能在dwTimeOut时长内完成通讯则会报错ETC_TIME_OUT(5)   中间可以通过xAbort中断指令(6)   通讯成功则pBuffer指向的指定长度的数据将被写入到从站对象中
4.    指令输入输出说明
符号数据类型描述
输入
xExecuteBOOL上升沿:启动从站参数的读取.为了在之后再次释放内部通道,
实例必须被xExecute:调用至少一次= FALSE.
xAbortBOOLTRUE:当前写入过程中止.
wDeviceWORD从站的物理地址.
wIndexWORD对象目录中参数的索引.
bySubindexBYTE对象目录中参数的子索引.
dwTimeOutDWORD监视时间的定义,以毫秒为单位.如果在此时间到期时参数的写入尚未完成,则输出错误消息.
pBufferDWORD指向包含要写入的数据的数据缓冲区的指针.
dwSizeDWORD数据缓存区(pBuffer)的大小,以字节为单位
输出
xDoneBOOLTRUE:参数的写入完成且没有错误.
xBusyBOOLTRUE:写入尚未完成.
xErrorBOOLTRUE:写入期间发生错误.
dwErrorDWORD有关xError显示的错误原因的信息,例如超时时的ETC_CO_TIMEOUT
dwSdoAbortDWORD如果设备中发生错误,此输出将提供有关它的更多信息
dwDataWrittenDWORD写入的字节数;最大dwSize(输入).

5.    错误说明dwSdoAbort:输出的是标准CANopen的SDO报错信息
6.    应用举例及使用注意事项(1)   使用此库的功能块PLC固件需要在2.68以及上(2)   编程软件版本需要在V2.29及以上(3)   需要读写的参数不需要在组态中添加,也不需要勾选启用专家设置
此处设备ID即组态中的ID号 我们需要写的地址位16#6098:0 也就是回原模式这个参数,所以wIndex=16#6098(10#24728);bySubindex=0超时时间=100ms写入起始地址=VB2350写入字节长度=2

触发指令,执行结果如下

写入后,我们再把16#6098:0读上来






qkswll 发表于 2023-9-26 17:14:48

你这个功能块引脚怎么都能显示全,请问怎么设置才能显示出来,我的显示不全?还有我读过来的数据都是256的倍数呢,假如我读的地址里是10#1,回过来的数据是10#256?请教大神2个问题?C:\Users\Administrator\Desktop

yanxinyue 发表于 2023-9-27 08:52:02

qkswll 发表于 2023-9-26 17:14
你这个功能块引脚怎么都能显示全,请问怎么设置才能显示出来,我的显示不全?还有我读过来的数据都是256的 ...

你可以点击这边可以进行放大的,就可以显示全引脚参数了,另外你读取的参数的话你可以实际监控下看看你的那个回原模式到底是多少,我们帖子里面是之前给他设置了35号模式,所以读回来是35,你可以在IO映射里面去监控下那个回原模式看看具体多少,只要和你读回来的一致即可

qkswll 发表于 2023-9-27 14:31:10

实际监控的就是10#1,但读回来的就是256.。还有我读回原速度16#6099/1,四个字节 始终返回2字节数据,尽管字节数量管脚已经设置4,

yanxinyue 发表于 2023-9-27 17:13:18

qkswll 发表于 2023-9-27 14:31
实际监控的就是10#1,但读回来的就是256.。还有我读回原速度16#6099/1,四个字节 始终返回2字节数据,尽管 ...

你看看你的PLC固件版本是不是2.68及以上?

qkswll 发表于 2023-9-28 15:09:01

哦,型号是H36-001S2,在线升级里最高版本就是2.62,没有看到2.68固件呢?

qkswll 发表于 2023-10-9 20:58:47

型号是H36-001S2,在线升级里最高版本就是2.62,没有看到2.68固件呢?

yanxinyue 发表于 2023-10-10 08:32:57

qkswll 发表于 2023-10-9 20:58
型号是H36-001S2,在线升级里最高版本就是2.62,没有看到2.68固件呢?

等待固件发布后再使用吧

LI1234556 发表于 2023-11-16 11:50:38

M226ES可以用吗
页: [1]
查看完整版本: H300PLC的SDO指令定义