How to Fast Debug & Diagnose EtherCAT Motion Controller's Pulse "AXIS" Interface

Zmotion Controller - Aug 5 - - Dev Community

Debug and diagnose AXIS for EtherCAT motion controller, ZDevelop can be used, and it can rapidly check running situation of pulse-drives, please refer to below "problem checking" processes.

EtherCAT motion controller supports EtherCAT protocol and there are AXIS pulse interfaces (here, ZMC432 EtherCAT motion control), it supports many communication interfaces, mainly including EtherCAT, EtherNET, RS232, RS485, CAN, U disk, etc. It can be connected to ZDevelop software through EtherNET or RS232 serial port to complete test run.

Image description

Before testing, please do connection.

There are 2 ways: EtherNET or Serial port.

--Ethernet--

select relative IP address, please note 192.168.0.11 is the factory IP, and this IP and PC IP should be in the same network segment.

--Serial port--

Use serial port to connect, default parameters are Baud rate 38400, data bit 8, no parity, and it will resume default parameters when power-off.

Image description

Next, Do Configuration

After connected to controller, enable the drive firstly. Specifically, send OP (ionum, ON) command to open enable according to enable signal OUT No. described in axis interface of hardware manual. For example, for ZMC432 controller , we need to send OP(12, ON) to enable the driver on AXIS 0.

Send it directly on "command" or operate it through "View"-"OP". For those stepper drives that can enable directly when power-on, no need to operate this.

(1) Basic Parameters

Following parameters can be quickly configured from "View"--"Manual"/"Axis Parameter", or new build the project and write the command into controller.

A. BASE
BASE is used to select the axis No.to be connected for pulse axis. Axis No. connected on DB head is AXIS No. marked on controller panel.

B. ATYPE
ATYPE is used to set axis type. When ATYPE=1/7, it is pulse axis without feedback, when ATYPE=4/5, it is encoder axis with feedback. If encoder is needed to connect independently, set ATYPE=3/6.

Image description

C. UNITS
UNITS is used to set the pulse equivalent, which is configured according to the number of pulses per revolution of the driver. As the basic unit of the controller, it can be set as the number of pulses required for the motor to rotate 1°. If the driver rotates 10000 pulses per revolution, it can be set to UNITS=10000/360.

Conversion relationship: If UNITS=10000, the linear command MOVE(5) means sending 50000 pulses, the running speed SPEED=10 means sending 100000 pulses per second.

D. SPEED
SPEED means speed, ACCEL means acceleration and DECEL means deceleration , they are basic speed parameters. In addition, there are others, SRAMP instruction is usued to set S curve, prolonging acceleration time, then speed changes become more gently, and shake can be less, but VP_MODE instruction is used to set SS curve, acceleration transitions will be smooth, and the trajectory is more smooth with less compact.

Image description

(2) Pulse Modes

The factory default pulse mode of the controller is pulse + direction, the pulse mode needs to be matched to run, so it is necessary to confirm the pulse mode of the driver.

In fact, there are three pulse modes, pulse + direction, double pulse and quadrature pulse (valid controllers), and positive/negative logic both can be configured.

If you need to modify the mode, INVERT_STEP instruction can do this. The initial value of INVERT_STEP is 0, which means pulse + direction mode.

Then, grammar: INVERT_STEP = mode

mode: mode selection, default is 0, the mode value represented by the lower 8 bits (bit 0-bit 7) is as follows:

Image description

The levels corresponding to each mode are as follows.

If the polarity is reversed, the reference movement direction is opposite to the original one.

Image description

The upper 8 bits (bit 8-bit 15) indicate the direction change protection time, in microseconds: 0-255

Setting method: INVERT_STEP (axis No.) = 256*100+6, double pulse mode 6, protection time 100 microseconds.

(3) Basic Operations

A. Motion

Use the manual motion window of the view menu or online commands to send the MOVE linear motion command for debugging, and obtain the motion of the axis through the DPOS target position (or MPOS feedback position), etc. You can also use the view window "Scope" of the ZDevelop software to sample motion waveforms in real time.

The direction of motor movement is related to the motor polarity setting and INVERT_STEP positive/negative logic setting.

B. Parameters Checking

After the axis parameters are configured, they can be viewed in the "Axis Parameters" window. And parameters can automatically refresh and display in real time, and they can be modified through double-clicking.

Image description

(4) Abnormal Alarm

When an abnormal alarm occurs, the "Command and Output" window of the ZDevelop software will print an error message, or generate an AXISSTATUS alarm.

AXISSTATUS is the axis status parameter, which is used to judge whether the axis is currently abnormal, and the abnormal information will be displayed bit by bit. Multiple abnormal information can be superimposed. Following form can be referred.

For example, when AXISSTATUS shows 20h, which means it meets negative hard position limit now, then the axis stops immediately. When AXISSTATUS displays 1000h, indicating that the pulse frequency is too fast. Generally, this kind of problem occurs only in high-resolution devices. When this alarm occurs, it only needs to increase MAX_SPEED value.

Image description

Before the trial run, make sure that the hardware limit switch is configured successfully, as a safety protection for the machine to prevent overshooting.

After confirming that the machine can operate, use the DATUM command to configure the zero return mode, and the DATUM_IN command to configure the origin sensor to map to the input port. For the homing instructions, refer to the former technical articles.

Image description

The hard position limit switch is the limit switch that limits the maximum "allowable travel range" of an axis. In addition, it is a physical switch element, which is mapped to the corresponding input switch signal by the instruction. And determine whether to flip the signal according to the switch signal (normally opened or normally closed). After the setting is completed, the hard limit switch is touched, then the corresponding axis stops immediately, and the stop deceleration is FASTDEC.

The soft position limit switch will limit the "working range" of the axis, and the limit position is directly set by the command. After the axis reaches the set position, it will immediately stop moving with the deceleration FASTDEC.

Image description

(5) Configuration Grammar

FWD_IN = input port No. connected to positive hard limit, -1 cancels mapping.

REV_IN = input port No. connected to negative hard limit, -1 cancels mapping.

FS_LIMIT = forward movement travel limit, cancel setting larger value.

RS_LIMIT = negative motion travel limit, cancel setting a larger value

For example, the status bar below the ZDevelop software prompts axis0 alarm to indicate a red alarm error. Check the AXISSTATUS parameter of axis 0 in the axis parameters, and the prompt is 30h. According to the AXISSTATUS command description, it is known that the positive and negative limit alarms occurred. Check the limit configuration. That is, the configuration of IN0 and IN1 corresponding to FWD_IN(0)=0 and REV_IN(0)=1, and whether the related input INVERT_IN reverses the level state.

4. Manual Motion For Quick Debug

Close all software except ZDevelop, use ZDevelop to connect to the controller at the same time, download the empty program, manually set the axis number to be debugged according to the previous instructions, set the axis type ATYPE, pulse equivalent UNITS, acceleration ACCEL, deceleration DECEL, speed SPEED, and then Open "View" - "Manual", and manually operate the motor for trial run.

Image description

Press and hold "Left"/"Right", the motor will continue to move, release it to stop. "Command position" shows the current pulse DPOS (unit: UNITS). Fill in the "Distance" parameter, click "Motion", when "Absolute" is checked, the motor moves to the position of the distance parameter, when "Absolute" is not checked, the motor continues to move according to the distance parameter.

After setting according to the above steps, if the motor cannot move, please refer below "troubleshoot"

Image description

. . . . . . . . . . .
Terabox Video Player