The wecon driver supports Wecon’s VD3E single-axis EtherCAT servo
drive.
In your XML file, you should have an entry somewhat like this:
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="-1">
<slave idx="0" type="VD3E" name="s"/>
</master>
</masters>
See the CiA 402 documentation for additional details
about how to configure CiA 402 devices in LinuxCNC. At a minimum, you
will need to include the cia402 HAL component.
Note the refClockSyncCycles="-1"; see the distributed-clocks caveat
below before changing it.
0x00000eff, product code
0x0d3e0001. CoE only (no FoE, no EoE).The identity was read from live hardware and matches the vendor ESI
“Wecon VD3E EtherCAT Servo V1.15.0.xml” (revision 0x00000073).
The related VD5 and VD5L drives share one product code (0x0d510001)
and differ only by revision, so supporting them needs revision
matching, not just another product code. Neither is supported yet.
The VD3E has been tested on live hardware: driven to OP on a
five-slave bus (three Inovance IS620N axes, the VD3E, and an Omron
NX-ECC202 coupler), where it runs the spindle of a 3-axis mill in
cyclic velocity mode. Object 0x6502 reads 0x3AD (pp, pv, tq,
hm, csp, csv, cst), and position, velocity, torque and
following-error feedback are live.
1 << bits), as a UINT16. Feed constant
has no substitute: only the electronic gear 0x6091 exists, defaulting
to 1:1, so out of the box 0x6064 carries raw encoder counts and mm
scaling is the master’s job.Er.34 (motor overload), 82 is A-82. Formatting
the same value as hex points the operator at a different fault
entirely. The full table of codes is chapter 11.2 of the vendor
manual.V1.15 here, the latest at the time of writing — and the ESI states
the firmware it describes. A drive older than the ESI needs the
vendor’s firmware upgrade tool.ethercat sdos, and the manufacturer groups are named
there (0x201E = “U0 Group monitor”, 0x2020 = “U2 Group Monitor”,
0x2000..0x200D = the P0..P13 parameter groups). Useful when
you need a vendor object and only have the manual’s Pxx-yy /
Uxx-yy numbering.refClockSyncCycles="-1"); with a positive value the
clocks did not converge at all. The driver enables DC by default
(assignActivate 0x300, SYNC0 at the application cycle time, shifted
by half the cycle). The half-cycle SYNC0 shift is the manual’s
recommendation — advance the PDI by 50% of the SYNC0 period — and
their fault E.101 (“ECAT sync error”) names an unreasonable master
SYNC Shift Time as its first cause; measured, the shift buys much
faster startup convergence. Override with a <dcConf> element if
needed.There are no Wecon-specific <modParam> options; the standard
cia402 modParams apply. The driver enables the
following cia402 features on top of the base set: opmode selection,
CSP, CSV, CST, target torque, actual torque, actual following error,
and the error code (0x603F ships in the factory TxPDO, so exporting it
costs nothing).
To override the default distributed-clock settings, use a <dcConf>
element on the slave as usual.
The driver exports the standard cia402 pin set, prefixed with
lcec.<master>.<slave-name>.srv-, for example:
srv-cia-controlword, srv-cia-statuswordsrv-opmode, srv-opmode-displaysrv-actual-position, srv-actual-velocity, srv-actual-torquesrv-target-position, srv-target-velocity, srv-target-torquesrv-actual-following-error, srv-error-codesrv-supported-modes, srv-supports-mode-{pp,pv,tq,hm,csp,csv,cst}See the CiA 402 documentation for the full list and semantics.