技术干货

EtherCAT从站用倍福EL1252的同事能不能来讲下这玩意儿的PDO映射咋配

li_wei
li_wei
2026/03/14 18:38

项目里要搭一个EtherCAT主站(用的是codesys软PLC,跑在工控机上),从站那边有几个倍福EL1252数字量输入模块,另外还有两个第三方伺服。每个EL1252的厂家ESI我都装上去了,主站能扫到设备,初始化也过了,灯能进OP状态。

现在卡在PDO映射这块儿。我看EL1252的ESI里默认就一个PDO,映射了8个bit的输入,这个我明白。但我想加一个过程数据里的诊断位进去,看手册说TxPDO0是默认那个8bit,TxPDO1是带诊断标志位的版本。在codesys的设备描述里我试着把TxPDO1勾上启用,再Sync Manager那边也改了,但每次下载配置从站就回PREOP,进不了OP了。SM通道的配置是我手动改的吗还是ESI里自动算出来的?

15 3

全部回复 (3)

wei99
wei99#1

SM通道配置你别自己手填,让codesys从ESI里自动读。EL1252的SM0和SM1输出通道在ESI里是定义好的,长度是按你勾的PDO总字节数算的。你把TxPDO1启用了之后总字节数变了,SM通道长度没自动跟上是常事儿,下载的时候主站会校验不过直接踢回PREOP。在设备编辑器里把所有TxPDO都选好之后,右键SM0/1重新同步一下参数,或者干脆把设备删了重新添加一次让它自动重建SM配置,应该就OK了。另外提醒一下,倍福的从站改PDO映射有时候需要在从站那边点一下reload PDO mapping硬件按键才生效,不知道你是不是少了这一步。

2026/03/15 09:07
童叟无欺
童叟无欺#2

codesys的话我建议你别在图形化设备树里手勾PDO,直接编辑那个从站的XML或者用PDO assignment脚本写。我之前在倍福从站上也是手动勾老是出怪问题,后来写了个启动脚本把PDO映射强制写进去稳得很。诊断位这种东西你确定一定需要吗?如果只是要看通道状态,EL1252那个8bit里的1就是通道状态信号,不一定非要开TxPDO1吧。

2026/03/15 13:54
huang1987
huang1987#3

等等,你那个第三方伺服是啥牌子?有些国产的从站ESI写得不全,codesys解析的时候SM通道长度算出来是错的,跟倍福模块挂一个总线就更容易出冲突。两个从站的PDO映射别一起改,先把倍福那俩EL1252单独挂总线跑通了,再把伺服加进去,看看到底是哪边的问题。

2026/03/16 03:38