Share this

Quick Start Guide | Part 18: Using Pulse-Type Motion Controllers in Positive Motion Technology

2026-04-06 05:21:39 · · #1

Video tutorial: "Using the Positive Motion Technology Pulse-Type Motion Controller"

Today, Zheng Motion Technology will share a basic introduction to using pulse-type motion controllers. We'll start with preparation, then move on to connecting the controller to the computer, setting controller parameters, setting driver parameters, and using the pulse axes.

1. Preparation

(I) Material Preparation

1. Hardware

One A.ZMC412 controller with 12 pulse axis interfaces.

B. A set of Panasonic servo drivers with pulse interfaces and motors.

C. One computer.

D. One shielded network cable.

One E.24V DC power supply.

F. One pulse axis connection cable.

G. Several terminal blocks and connecting wires.

2. Software

A.ZDevelop V3.10 is a controller programming software.

Download the compressed package from the official website of Zmotion Technology (www.zmotion.com.cn), extract it, and run the application directly; no installation is required.

B. Panasonic servo drive host computer debugging software.

Download and install it from the Panasonic website.

Figure 1

(II) Hardware Wiring

Taking the ZMC412 controller (see Figure 2) as an example, the controller body supports 12 pulse axes and can be expanded to 32 pulse axes.

It supports linear interpolation, arbitrary circular interpolation, spatial circular interpolation, helical interpolation, electronic cams, electronic gears, synchronous following, virtual axis settings, etc.; and adopts an optimized network communication protocol to achieve real-time motion control . It also supports hardware comparison output (HW_PSWITCH2), hardware timers, precise output during motion, pulse closed-loop, pitch compensation, and ZBasic multi-file multi-task programming.

It supports communication interfaces such as Ethernet, USB, CAN, 232, and 485. Various expansion modules can be connected via the CAN bus to expand the number of input/output points or pulse axes (a 120-ohm resistor needs to be connected in parallel at both ends of the CAN bus).

1. Controller wiring

See Figure 3 for the purpose of the controller interface.

(1) Main power supply: Connect the E+24V terminal on the controller's main power supply terminal to the positive terminal of the 24V DC power supply, and connect the EGND terminal to the negative terminal of the 24V DC power supply.

(2) Ethernet port wiring: Use a network cable to connect the controller's Ethernet port to the computer's Ethernet port.

(3) Wiring between controller and driver: When wiring the controller to the Panasonic A6 series, use a dedicated shielded cable. Connect one end to the pulse interface of the controller and the other end to the X4 interface of the driver. If the driver does not have a pulse interface that can be directly connected, the cable needs to be stripped and connected to the corresponding terminals of the driver according to the wiring reference in the following section.

Figure 3. Application of the ZMC412 controller interface

2. Controller and driver pulse wiring

Connect the controller's pulse axis interface to the corresponding terminal of the driver using a shielded twisted wire. Connect the corresponding terminals one by one according to the wiring diagram. See below for wiring method.

The number of pulse axes supported by the controller needs to be checked in the hardware manual, by printing ?*max, or by checking the controller status.

The controller's pulse axis interface typically has 26 pins, including pulse terminals and encoder terminals.

Pin function definition:

The general-purpose output ports within the pulse axis are numbered after the general-purpose OUT ports on the controller. The ZMC412 has 12 general-purpose OUT ports, numbered 0-11. The general-purpose output ports within AXIS 0-11 are numbered 12-23, each serving as the enable signal for each axis. Pin 3 is a general-purpose output port within the pulse axis interface, used for motor enable. Enabling OUT12 enables the driver connected to AXIS 0, enabling OUT13 enables the driver connected to AXIS 1, and so on.

There are two ways to connect the pulse terminal block to the encoder: differential connection and single-ended connection.

(1) Pulse wiring method

Differential connection connects the four terminals PUL+, PUL-, DIR+, and DIR- of the controller and driver one by one.

The single-ended connection is a common anode connection. Connect the PUL- and DIR- terminals of the controller and the driver. Leave the PUL+ and DIR+ terminals of the controller floating. Connect the PUL+ and DIR+ terminals of the driver to the +5V power supply of the controller.

Differential connections are used to determine the voltage difference between two signal lines. For differential inputs, when the signal is disturbed, both differential lines will be affected simultaneously, but the voltage difference will not change significantly. In contrast, when the voltage of one line in a single-ended connection changes, the voltage difference will change relatively more significantly because the power supply voltage remains constant. Therefore, differential connections have better anti-interference performance than single-ended connections.

(2) Wiring between controller and encoder

The motion controllers from Zheng Motion Technology Co., Ltd. only accept 5V encoders for their pulse axis interfaces. Some controllers can accept 24V encoders for their I/O terminals. Check the hardware manual to see if your controller has this terminal. When using a 24V encoder, the ground wire is EGND.

5V encoders come in two connection methods: differential and single-ended. The differential connection is the same as a regular encoder: EA+ connects to A+, EA- connects to A-, and the pins are connected one-to-one, as shown in the diagram. The single-ended connection is as follows: encoder A connects to controller EA+, encoder B connects to controller EB+, and controller EA- and EB- are left floating.

Regardless of the connection method, remember that the controller and encoder must share a common ground, which is the ground GND of the pulse shaft interface (the terminals for a 26-pin connector are 10, 13, 24, etc.), not the IO ground (EGND).

(3) Wiring reference for controller and driver

A. Low-speed differential connection method

B. High-speed differential connection method

C. Wiring the driver to the motor or encoder.

For wiring instructions on connecting the servo driver to the motor and encoder, please refer to the Panasonic A6 Driver Instruction Manual (Comprehensive Edition). Connect the driver to 220V AC power.

2. Connect the controller to the computer

The controller can be connected to the computer via a serial port or a network port. The following explanation will take the network port connection as an example.

(I) Network Port Communication Operation Method

First, connect the controller to the computer using a network cable, turn on the controller's power, then open the ZDevelop programming software, click "Controller" → "Connect" in the menu bar, and open the "Connect to Controller" window.

The "Connect to Controller" window allows you to quickly view your local IP address and compare whether the controller and your computer are on the same network segment.

When selecting from the IP address list dropdown, it will automatically find the available controller IP address on the current local area network (the controller's IP address can be found when the POWER and RUN lights are on after the controller is powered on).

When there are multiple controllers on the same network, if the IP drop-down list does not display the IP address of the target controller, you can perform an IP scan to view all available controller IP addresses. After the scan is complete, confirm and close this window, then select again from the IP drop-down list.

After selecting the correct IP address and clicking connect, the programming software and controller are successfully connected, and the online command and output window will print information prompts.

The controller's default IP address is 192.168.0.11. The "Connect to Controller" window displays the local IP address. Please ensure that the wired and wireless network cards are configured with their respective IP addresses. The computer's IP address must be on the same network segment as the controller's IP address for it to connect; that is, the first three segments of the four-segment IP address must be the same, and the last segment must be different for communication to occur.

If the controller and the computer are not on the same network segment, you need to change the IP address of either the controller or the computer to make them on the same network segment.

To change the controller's IP address, you first need to connect to the controller via serial port, obtain the controller's IP address, and then modify either the local IP address or the controller's IP address to ensure they are on the same network segment.

(ii) Modify the controller IP address

First, connect to the controller via serial port to obtain the controller's IP address, and then modify the controller's IP address.

Method 1: You can directly modify the controller's IP address through the menu bar "Controller" → "Modify IP Address" window.

Method 2: Modify via online command sent through the IP_ADDRESS instruction.

After the command is successfully sent and modified, the connection will be automatically disconnected. The online command will print the controller connection error information. Reconnect to the controller via the network port by selecting the new IP address 192.168.0.23. The IP address will be permanently valid after successful modification.

(III) Change the local IP address

Taking Windows 10 as an example, in the Start menu, click on: "Control Panel" → "Network and Internet" → "Network and Sharing Center" → "Ethernet".

In the "Ethernet Status" window, click "Properties" to open the "Ethernet Properties" window. Locate Internet Protocol Version 4 (TCP/IPv4) and open it. You will then see the local IP address modification window. Check "Use the following IP address" and modify the IP address in the IP address input field. Change the local IP address to be on the same network segment as the controller IP address. After modification, click "OK" to successfully modify the IP address.

Reopen the "Connect to Controller" window and try connecting to the controller.

3. Controller parameter settings

(I) Axis Function Type Settings

The axis function type setting can only be set to the characteristics that the axis already possesses. Select from the types provided in the table below, for example:

Pulse axis selection: ATYPE=1/7;

EtherCAT bus axis selection: ATYPE=65/66/67;

RTEX bus axis selection: ATYPE=50/51/52, etc.

The ATYPE is set during program initialization. If the ATYPE does not match the actual axis type, the program will report an error.

The ATYPE of the pulse motor shaft is usually set to 1, 7, 4, etc. The factory default ATYPE of the pulse shaft is 1 or 7. This mode does not include the encoder. At this time, MPOS is false and automatically copies the contents of DPOS. When ATYPE is set to 4, a real encoder can be connected and MPOS is the real feedback.

Use the INVERT_STEP command to set the servo/stepping pulse output mode, with options for dual-pulse mode, pulse plus direction mode, and quadrature pulse mode (supported by the 4-series controller).

Command to query the current pulse output mode:

?INVERT_STEP(n) or ?INVERT_STEP AXIS(n) 'n is the axis number

?*INVERT_STEP '?*Query all axis parameters

(II) Pulse Axis Interface Axis Number Rules

1. Default axis number rules

When using a pulse axis, the driver's axis number is determined by the axis number on the controller's pulse axis interface. No axis mapping is required. If connected to the controller's pulse axis interface AXIS 0, the motor axis number connected to the driver will be 0. To check which axis number the encoder feedback for axis 0 is on, open "Controller Status" in ZDevelop via the "Controller" menu.

For the types of axes that each pulse axis interface supports, please refer to the description in the Axis features list in the "Controller Status" window. Axis numbers with "Step Encoder" in the remarks can be configured to have both pulse output "Step" and feedback "Encoder" (this is satisfied when ATYPE is 4). Axis numbers with only "Encoder" after them are the axis numbers occupied by feedback axes, such as axis 6. The default ATYPE for feedback axes is 3 (ATYPE of 3 corresponds to a quadrature encoder, which can be changed to 6 to correspond to a pulse direction type encoder).

For example, the ZMC432 controller has 6 pulse axis interfaces. The axis numbers for pulse output are 0, 1, 2, 3, 4, and 5. The axis numbers corresponding to encoder feedback are 6, 7, 8, 9, 10, and 11. The first pulse axis interface has two axis numbers, 0 (output device motor) and 6 (feedback device encoder). The second pulse axis interface has axis numbers 1 and 7. The third pulse axis interface has axis numbers 2 and 8, and so on.

Different controller types have different numbers of axis interface terminals and different axis numbers for feedback axes. The ZMC412 has 12 pulse axis numbers, from 0 to 11. Axes 16-27 can be configured as encoders, thus mapping to the encoders on axes 0-11.

The following sections 2-4 are generally not needed.

2. Local pulse axis number remapping

Generally, the local pulse axis number marked on the controller is used and does not need to be modified separately. If modification is required, please refer to the following instructions.

The pulse axis number and encoder axis number of the controller pulse axis interface have been set and can be used directly by the user. If you want to change the default local pulse axis number, you can remap the local pulse axis number according to the following mapping rules.

When remapping, be sure to set the original pulse axis as a virtual axis first. After modification, you must reset ATYPE.

The 4-series controller supports local pulse or encoder axis number remapping, supported by firmware version 160608 and above.

Mapping rule: AXIS_ADDRESS (remapped axis number) = (-1 << 16) + local pulse axis number to be modified

Example:

BASE(0,1) 'Axis numbers that need to be remapped

ATYPE(0)=0 'Set the axis type to virtual axis

ATYPE(1)=0

BASE(4) 'Remapped axis numbers'

AXIS_ADDRESS(4) = (-1 << 16) + 0 'Remap the first axis

ATYPE(4)=1 'Mapping complete, axis type reset'

BASE(5) 'Remapped axis numbers'

AXIS_ADDRESS(5) = (-1 << 16) + 1 'Remap the second axis

ATYPE(5)=1 'Mapping complete, axis type reset'

3. Special pulse axis interface

Some controller models have an OUT output port that can be used as a pulse axis output, as shown in the figure below. Whether the output port supports configuration as a pulse axis needs to be checked in the controller hardware manual for the default function description of the input pins.

The output port is configured to support only single-ended connection for the pulse axis and does not support differential connection.

When the corresponding axis is configured as a virtual axis (ATYPE=0), it is a normal output port; otherwise, it is an axis signal. The factory default is ATYPE=0.

When the ATYPE of the corresponding axis is configured as 1 or 7, the axis number is the number marked on the back of the terminal, which is the axis signal.

The pulse port can use either E5V common anode output or E24V common anode output.

4. Special encoder shaft interface

Some input IN ports can also be used as encoder inputs, as shown in the figure below. Whether the input port supports connecting an encoder needs to be checked in the controller hardware manual for the default function description of the input pins.

The input port is configured so that the encoder only supports single-ended connection and does not support differential connection.

When the corresponding axis is configured as a virtual axis (ATYPE=0), it is a normal output port; otherwise, it is an encoder input signal. The factory default is ATYPE=0.

Configure the ATYPE (axis type) of the corresponding encoder axis to 3 or 6, and the axis number is the number marked on the back of the terminal. At this time, the corresponding input port will be used as the encoder signal input interface.

This type of encoder is a low-speed optocoupler isolated encoder and can only be used for low-speed 24V encoders such as handwheels.

4. Driver parameter settings

The driver parameter settings are configured using the accompanying driver software.

(I) Parameter Modification

To modify drive parameters, first connect the drive. You can choose to connect the drive via USB cable or WLAN. Use a USB cable to connect the computer to the X1 port on the drive. Power on the drive and open the Panasonic drive software PANATERM. A "Select Communication with Drive" window will pop up. Select to connect to the drive via USB. The drive information will be automatically obtained and displayed in the window. Click OK to connect successfully and you can then configure the drive.

Improper I/O settings of the driver may cause limit alarms, or require setting limit level reversal, etc. You can open the "Parameters" window in the menu bar of the PANATERM driver software main interface, as shown in the figure below. Find the parameter that needs to be modified in the parameter list on the left. I/O corresponds to parameter category 4. Modify the "Setting Value" of the parameter, confirm and save the current modified value, and then write the parameter to the driver.

The "Initialize" button is used to restore the IO settings to factory defaults.

Taking modifying the number of pulses per revolution of the motor as an example, find the corresponding parameter in parameter category 0, set the number of pulses per revolution of the motor to 10000, which means that sending 10000 pulses to the motor will make the motor rotate once. After setting, write the parameter to the driver.

Modifying other parameters is also done by finding the corresponding parameter in the detailed options of the parameter list and then modifying it. Multiple different types of parameters can be modified at once and then passed to the driver. The changes will only take effect after being written to the driver's EEPROM. See the next section.

(ii) Parameter writing to the driver

After setting the parameters of the driver, first click "Transfer" to transfer all the modified parameters to the driver, then click EEP to write the parameters to the driver's EEPROM. After powering on the driver again, the modified parameters will take effect. The values ​​in the image show the modified input parameters. You can refer to and modify various types of parameters in the parameter overview below.

(III) Driver Alarm

Here are three ways to view drive alarm information.

1. Check the driver alarm information printed in the ZDevelop software command and output window, or check the value of the AXISSTATUS axis status command, and modify the axis parameters according to the error information.

2. Observe whether there is any error message on the LED panel of the driver. An error will be displayed with an error code. Check the error according to the driver manual, correct it, and then clear the alarm.

3. You can also open the alarm window of the driver software to see if there are any alarms on the current drive, or to query historical alarms.

Check the alarm information in the driver software to see the cause of the alarm and the solution.

5. Use of the pulse axis

(I) Wiring Configuration

When a ZMC412 is connected to a servo driver with an encoder, both the pulse output signal and the encoder input signal are connected to the AXIS 0 axis interface on the controller. At this time, the motor axis number is axis 0, the encoder axis number corresponding to the motor axis is axis 16, the motor axis type is 7 by default, and the encoder axis type is 3 by default.

Axis 0 is the pulse axis, DPOS is true, MPOS is false; Axis 16 is the encoder axis, DPOS is false, MPOS is true.

During normal operation, the MPOS of axis 16 follows the DPOS of axis 0.

(II) Trial Operation

1. Pulse axis enable

To enable the axis, open the universal OUT port in the corresponding axis interface. For ZMC412, which uses the AXIS 0 axis interface, opening OUT12 will enable the axis. When enabled, the driver will emit a running sound. To determine if the axis is enabled, you can manually rotate the motor axis while ensuring safety. If it can rotate, it is not enabled; if it cannot rotate, it is enabled.

Before use, the axis parameters are initialized. Basic parameters such as UNITS, ATYPE, SPEED, ACCEL, and DECEL can then be used to execute motion commands.

The pulse axis returns to zero using the zero-return method provided by the controller.

2. Troubleshooting using manual movement

Since pulse wiring is relatively complex, during trial operation, first use the "Manual Motion" window to check if the motor can rotate. During the debugging phase, set the pulse equivalent UNITS to a smaller value, observe the shaft's running status, and then gradually increase it. If the motor cannot rotate, troubleshooting is required.

Pulse axis troubleshooting steps:

Potential problems and solutions when using "left" and "right" operations:

(1) The motor remains stationary, but the DPOS changes.

At this point, the controller pulse has been issued. Check if the driver has any alarms and whether the motor wiring is correct.

It could also be that the unit settings are too low; the motor is turning, but the rotation is not obvious.

(2) The motor rotates in only one direction.

Checking the motor control mode, the controller pulse axis can currently only use dual pulse and pulse + direction two-axis control modes, and cannot use quadrature pulse control.

(3) The motor only rotates when only one side is operated.

Check the motor wiring.

The motor's current control mode is different from the controller's current control mode. The controller defaults to pulse + direction control, which can be modified using the INVERT_STEP instruction.

(4) The motor does not move, and DPOS does not change.

Check if the axis parameter AXISSTATUS is triggering an alarm.

3. Download the motion control program.

After the manual motion test shows normal operation, download the program to run the motion control commands. Axis 0 is a pulse axis, and a motion control command MOVE(200) is sent to axis 0. Axis 16 is the encoder feedback for axis 0.

The oscilloscope acquires waveforms from four channels: the position DPOS and speed MSPEED of pulse axis 0, and the feedback position MPOS and feedback speed MSPEED of encoder axis 16.

That concludes our discussion on the use of multi-axis interpolation motion commands in the Zheng Motion Technology motion controller. For more learning videos and articles, please follow our WeChat official account "Zheng Motion Assistant".

This article is original content from Zheng Motion Technology. We welcome everyone to reprint it for mutual learning and to jointly improve China's intelligent manufacturing level. Copyright belongs to Zheng Motion Technology. Please indicate the source if you reprint this article.


Read next

CATDOLL CATDOLL 115CM Shota Doll Kiki Male Doll (Customer Photos)

Height: 115cm Male Weight: 19.5kg Shoulder Width: 29cm Bust/Waist/Hip: 57/53/64cm Oral Depth: 3-5cm Vaginal Depth: N/A ...

Articles 2026-02-22