Click on the above“Zhèng Yùn Dòng Xiǎo Zhù Shǒu”, to stay updated with new developments!

XPCIE1032H Function Introduction
XPCIE1032H supports PWM and PSO functions, with 16 input and output general-purpose I/O ports on board, all output ports being high-speed output ports, configurable as 4 PWM output ports or 16 high-speed PSO hardware comparison output ports. The input ports include 8 high-speed input ports, configurable as 4 high-speed color mark latching or two encoder inputs.
XPCIE1032H, paired with the MotionRT7 real-time kernel, connects using the local LOCAL interface, allowing for faster command interaction through high-speed core interaction, with single and multiple command interaction times reaching about 3-5 microseconds.
➜ The advantages of XPCIE1032H combined with the MotionRT7 real-time kernel are as follows:
1. Supports development in various upper computer languages, all series products can call the same set of API function libraries;
2. With the help of core interaction, motion commands can be called quickly, with response times as fast as microseconds, 10 times faster than traditional PCI/PCIe;
3. Solves the non-real-time control system issues of traditional PCI/PCIe motion control cards in a Windows environment;
4. Supports one-dimensional/two-dimensional/three-dimensional PSO (high-speed hardware position comparison output), suitable for applications like visual flying and precise dispensing, and laser energy control;
5. Provides high-speed input interfaces, facilitating position latching;
6. Supports mixed operation of the EtherCAT bus and pulse output, and mixed interpolation.
➜ When developing projects using XPCIE1032H and MotionRT7, the following steps are usually required:
1. Install the driver and perform signature authentication to recognize XPCIE1032H;
2. Open and execute the file “MotionRT710.exe”, configure parameters, and run the motion control real-time kernel;
3. Use ZDevelop software to connect to the controller for parameter monitoring. When connecting, please use PCI/LOCAL mode and ensure that the ZDevelop software version is above 3.10;
4. Complete the control program development, connect to the motion control card via LOCAL link mode to achieve real-time motion control.
➜ Comparing test data results with traditional PCI/PCIe cards and PLC:
Average Value |
C++ LOCAL |
C# LOCAL |
Traditional PCI/PCIe Card Interface Interaction |
PLC Network Port Communication Interaction |
1w Single Read Interaction Cycle |
4.70us |
5.3us |
64us |
500us-10ms |
10w Single Read Interaction Cycle |
3.90us |
5.7us |
65us |
500us-10ms |
1w Multiple Read Interaction Cycle |
6.20us |
8.85us |
472us |
500us-10ms |
10w Multiple Read Interaction Cycle |
5.50us |
8.37us |
471us |
500us-10ms |
-
Turn off the computer power.
-
Open the computer case, select an empty XPCIE slot, and use a screwdriver to remove the corresponding cover plate.
-
Insert the motion control card into the slot and tighten the screws on the cover plate.
-
Remove a cover plate from the adjacent slot and fix the adapter board to that slot with screws.


9. Video demonstration of the XPCIE1032H driver installation.

(1) Open the location of the console program and run the executable file “MotionRt710.exe”.
2. Create a new C# project (VS2022)
4. Unzip the downloaded installation package to find“Zmcaux.cs”, “zauxdll.dll”, “zmotion.dll” and place them in the project files
6. Double-click Form1.cs inside Form1 to open the code editing interface, write using cszmcaux at the beginning of the file, and declare the controller handle g_handle
Command1 |
|
||||||||
Command Prototype |
int32 __stdcall ZAux_FastOpen(int type, char *pconnectstring, uint32 uims ,ZMC_HANDLE * phandle) |
||||||||
Command Description |
Establish a connection with the controller, can specify the wait time for the connection |
||||||||
Input Parameters |
|
||||||||
Output Parameters |
|
||||||||
Return Value |
Returns 0 on success, non-zero values refer to error codes explanation. |
||||||||
Command Example |
Serial connection: ZMC_HANDLE phandle;//Controller connection handle Char comID[32]= “0”;//Serial port ID ZAux_FastOpen(1, comID,1000s ,&phandle); ZMC_HANDLE phandle;//Controller connection handle Char EthID[32]= “192.168.0.11”;//Network port ID ZAux_FastOpen(2, EthID,1000s ,&phandle); ZMC_HANDLE phandle;//Controller connection handle ZAux_FastOpen(ZMC_CONNECTION_LOCAL, “LOCAL1”,3000,&g_handle); |
Command2 |
|
||||||
Command Prototype |
int32 __stdcall ZAux_Direct_GetDpos(ZMC_HANDLE handle, int iaxis, float *pfValue) |
||||||
Command Description |
Read the current position of the axis or the position requested by the controller, unit is units. |
||||||
Input Parameters |
|
||||||
Output Parameters |
|
||||||
Return Value |
Returns 0 on success, non-zero values refer to error code explanation. |
||||||
Command Example |
Basic motion parameter setting retrieval |
||||||
Detailed Description |
/ |
Command3 |
|
||||||||
Command Prototype |
int32 __stdcall ZAux_DirectCommand(ZMC_HANDLE handle, const char *pszCommand,char *psResponse, uint32 uiResponseLength) |
||||||||
Command Description |
Send string command to the controller, direct mode (not buffered, a few commands are temporarily unsupported). |
||||||||
Input Parameters |
|
||||||||
Output Parameters |
|
||||||||
Return Value |
Returns 0 on success, non-zero values refer to error code explanation. |
||||||||
Command Example |
Usage of online command function |
||||||||
Detailed Description |
Upper computer calls unwrapped Basic command functions |
Command4 |
|
||||
Command Prototype |
int32 __stdcall ZAux_Close(ZMC_HANDLE handle) |
||||
Command Description |
Close the controller connection. |
||||
Input Parameters |
|
||||
Output Parameters |
/ |
||||
Return Value |
Returns 0 on success, non-zero values refer to error code explanation. |
||||
Command Example |
Close connection to the serial controller |
||||
Detailed Description |
/ |

8. Related Programs
private void button4_Click(object sender, EventArgs e){ //LOCAL mode connection int ret = zmcaux.ZAux_FastOpen(5, "LOCAL", 1000, out g_handle); if (ret == 0) { label2.Text = "Connected"; label2.BackColor = Color.Green; MessageBox.Show("Controller connection successful!", "Notice"); } else { MessageBox.Show("Connection failed, please select the correct LOCAL!"); }}
private void SingleRun(object sender, EventArgs e){ float dpos = 0; DateTime beforeDT = System.DateTime.Now; for (int i = 0; i <10000; i++) { zmcaux.ZAux_Direct_GetDpos(g_handle, 0, ref dpos); } DateTime afterDT = System.DateTime.Now; TimeSpan ts = afterDT - beforeDT; label14.Text = (ts.TotalMilliseconds).ToString(); label2.Text = ((ts.TotalMilliseconds * 1000) / 10000).ToString(); label16.Text = dpos.ToString();}
private void MuchRun(object sender, EventArgs e){ int[] status = { 0, 0, 0, 0 }; float[] dpos = { 0, 0, 0, 0 }; uint[] num = { 0, 0, 0, 0 }; string cmd; int star = 0; StringBuilder cmdBuff = new StringBuilder(2048); string[] tmp = new string[12]; cmd = "?dpos(0),dpos(1),dpos(2),dpos(3),axisstatus(0),axisstatus(1),axisstatus(2),axisstatus(3),in(0),in(1),in(2),in(3)"; DateTime beforeDT = System.DateTime.Now; for (int i = 0; i < 10000; i++) { zmcaux.ZAux_DirectCommand(g_handle, cmd, cmdBuff, 2048); } DateTime afterDT = System.DateTime.Now; TimeSpan ts = afterDT - beforeDT; label23.Text = (ts.TotalMilliseconds).ToString(); label16.Text = ((ts.TotalMilliseconds * 1000) / 10000).ToString(); string s = cmdBuff.ToString(); string[] arrS = new string[20]; for (int i = 0; i < s.Length; i++) { if (s[i] != 9) { arrS[star] += s[i]; } else { star++; continue; } } label24.Text = arrS[0]; label25.Text = arrS[1]; label26.Text = arrS[2]; label27.Text = arrS[3]; label28.Text = arrS[4]; label30.Text = arrS[5]; label32.Text = arrS[6]; label34.Text = arrS[7]; if (Convert.ToInt32(arrS[8]) == 0) { label29.BackColor = Color.Red; label29.Text = "Signal not triggered"; } else { label29.BackColor = Color.Green; label29.Text = "Signal triggered"; } if (Convert.ToInt32(arrS[9]) == 0) { label31.BackColor = Color.Red; label31.Text = "Signal not triggered"; } else { label31.BackColor = Color.Green; label31.Text = "Signal triggered"; } if (Convert.ToInt32(arrS[10]) == 0) { label33.BackColor = Color.Red; label33.Text = "Signal not triggered"; } else { label33.BackColor = Color.Green; label33.Text = "Signal triggered"; } if (Convert.ToInt32(arrS[11]) == 0) { label35.BackColor = Color.Red; label35.Text = "Signal not triggered"; } else { label35.BackColor = Color.Green; label35.Text = "Signal triggered"; }}
private void button1_Click(object sender, EventArgs e){ zmcaux.ZAux_Close(g_handle); g_handle = (IntPtr)0; label2.Text = "Not connected"; label2.BackColor = Color.Red;}
10. Effect Demonstration
Complete Code Access Address

For more exciting content, please follow the “Zhèng Yùn Dòng Xiǎo Zhù Shǒu” public account. For related development environments and example codes, please consult Zhèng Yùn Technology sales engineers: 400-089-8936.
Review Previous Content
The Lottery is Here! Fans who participated in the “Motion Control System Application and Practice” book giveaway event, look here
Book Giveaway! Fully Autonomous IDE of “Motion Control System Application and Practice”
Domestic EtherCAT Motion Control Edge Controller (Six): RtBasic File Download and Continuous Trajectory Processing Python + Qt Development
Domestic EtherCAT Motion Control Edge Controller (Five): IO Configuration and Zero Return Motion Python + Qt Development
Domestic EtherCAT Motion Control Edge Controller (Four): Axis Parameter Configuration and Single Axis Motion PC Upper Computer C++ Control
Domestic EtherCAT Motion Control Edge Controller (Three): Peripheral Read and Write and RTSys Development Diagnosis
Domestic EtherCAT Motion Control Edge Controller (Two): Unified Upper Computer API Interface
Domestic EtherCAT Motion Control Edge Controller (One): ZMC432H Hardware Interface
The Application of High Flexibility SS Acceleration and Deceleration Curve in Lithium Battery Welding
What are the Differences Between EtherCAT and Ethernet, and What Does Communication Cycle Mean?
In the Era of Industrial Ethernet, How to Choose a Bus Motion Controller?
The Application of EtherCAT Motion Controller in CNC Processing Handwheel Tracking
The Application of EtherCAT Motion Controller in CNC Processing Handwheel Tracking C++
How to Quickly Achieve Single Axis/Multi Axis Synchronous Follow Function with Zhèng Yùn Technology Motion Controller?
Motion Controller PSO Visual Flying and Precise Output C++ Development (Three): Two-Dimensional/Three-Dimensional/Multi-Axis PSO Output
Motion Controller PSO Visual Flying and Precise Output C++ Development (Two): Multi-Axis PSO Equidistant/Periodic Output
Motion Controller PSO Visual Flying and Precise Output C++ Development (One): Single Axis PSO
Eight Channel PSO of Motion Controller for Visual Flying and Precise Output
Windows Real-Time Motion Control Soft Core (Seven): LOCAL High-Speed Interface Test with Labview
Windows Real-Time Motion Control Soft Core (Six): LOCAL High-Speed Interface Test with Matlab
Windows Real-Time Motion Control Soft Core (Five): LOCAL High-Speed Interface Test with VC6.0
Windows Real-Time Motion Control Soft Core (Four): LOCAL High-Speed Interface Test with VB.NET
Windows Real-Time Motion Control Soft Core (Three): LOCAL High-Speed Interface Test with C++
Windows Real-Time Motion Control Soft Core (Two): LOCAL High-Speed Interface Test with Qt
Windows Real-Time Motion Control Soft Core (One): LOCAL High-Speed Interface Test with C#
Open Laser Galvo Motion Controller: C++ Quick Call Graphics Library Application
Open Laser Galvo Motion Controller: C++ Galvo Correction Method and Implementation
Open Laser Galvo Motion Controller: C++ Quick Development
Open Laser Galvo Motion Controller (Five): ZMC408SCAN Laser Fiber Energy Control
Open Laser Galvo Motion Controller (Four): ZMC408SCAN Galvo Control Fiber Laser Processing
Open Laser Galvo Motion Controller (Three): ZMC408SCAN Axis Control Fiber Laser Processing
Open Laser Galvo Motion Controller (Two): ZMC408SCAN Laser Interface and Control
Open Laser Galvo Motion Controller (One): ZMC408SCAN Interface and Function
Motion Controller PSO Position Synchronous Output (Three): High Precision Equidistant Two-Dimensional Three-Dimensional PSO Output
Motion Controller PSO Position Synchronous Output (Two): Detailed Explanation of PSO Mode
Motion Controller PSO Position Synchronous Output (One): Hardware Platform and PSO Command Introduction
Economical EtherCAT Motion Controller (Ten): Quick Start of EtherCAT Bus
Economical EtherCAT Motion Controller (Nine): Oscilloscope Usage
Economical EtherCAT Motion Controller (Eight): Axis Parameters and Motion Commands
Economical EtherCAT Motion Controller (Seven): Motion Buffering
Economical EtherCAT Motion Controller (Six): Data Storage
Economical EtherCAT Motion Controller (Five): Multi-Task Operation
Economical EtherCAT Motion Controller (Four): ModbusRTU or ModbusTcp Communication with Touch Screen
Economical EtherCAT Motion Controller (Three): PLC Implementing Multi-Axis Linear Interpolation and Electronic Cam
Economical EtherCAT Motion Controller (Two): ZBasic Implementing Multi-Axis Linear Interpolation Motion
Economical EtherCAT Motion Controller (One): Function Introduction and Application Scenarios
Motion Control + Machine Vision Demo Software Framework (Three): Visual Correction + Continuous Interpolation Recipe Editing
Motion Control + Machine Vision Demo Software Framework (Two): Mobile Calibration and Shape Matching
Motion Control + Machine Vision Demo Software Framework (One): Management of Mechanical Parameters and Recipe Files
Overview of Motion Control + Machine Vision Demo Software Framework System
EtherCAT Axis Expansion Module EIO16084 Application in Motion Control System
Quick Debugging and Diagnosis of Pulse Interface in EtherCAT Motion Controller
Quick Start | Part Twenty-One: Introduction to Motion Controller ZHMI Configuration Programming One
Quick Start | Part Twenty-One: Custom Communication of Zhèng Yùn Technology Motion Controller
Quick Start | Part Twenty: MODBUS Communication of Zhèng Yùn Technology Motion Controller
Quick Start | Part Nineteen: Multi-Axis Synchronization and Electronic Cam Command Introduction of Zhèng Yùn Technology Motion Controller
Quick Start | Part Eighteen: Usage of Pulse Type Motion Controller of Zhèng Yùn Technology
Quick Start | Part Seventeen: Usage of Multi-Axis Interpolation Motion Commands of Motion Controller
Quick Start | Part Sixteen: Quick Start of EtherCAT Bus of Zhèng Yùn Technology Motion Controller
Quick Start | Part Fifteen: Introduction to Motion Buffer of Motion Controller
Quick Start | Part Fourteen: Basic Axis Parameters and Basic Motion Control Commands of Motion Controller
Quick Start | Part Thirteen: Usage of ZDevelop Programming Software of Zhèng Yùn Technology Motion Controller
Quick Start | Part Twelve: Usage of USB Interface of Zhèng Yùn Technology Motion Controller
Quick Start | Part Eleven: Application of Interrupts in Motion Controller
Quick Start | Part Ten: Characteristics of Multi-Task Operation of Motion Controller
Quick Start | Part Nine: How to Apply Oscilloscope in Motion Controller?
Quick Start | Part Eight: How to Use EtherCAT Bus in Motion Controller?
Quick Start | Part Seven: How to Use ZCAN Bus Expansion Module in Motion Controller?
Quick Start | Part Six: How to Apply Data and Storage in Motion Controller?
Quick Start | Part Five: How to Apply Input/Output IO in Motion Controller?
Quick Start | Part Four: How to Communicate with Touch Screen in Motion Controller?
Quick Start | Part Three: How to Develop ZPLC Program in Motion Controller?
Quick Start | Part Two: How to Develop ZBasic Program in Motion Controller?
Quick Start | Part One: How to Upgrade Firmware in Motion Controller?
Configuration and Implementation of EtherCAT and RTEX Driver Axis Return to Zero
Application of G Code on Motion Controller
Custom G Code Programming Application of Motion Controller
Offline Simulation Debugging, Accelerate Project Progress!
Usage of 8 Axis EtherCAT Axis Expansion Module EIO24088
Demo of Motion Controller Cutting Application
Application of Position Latching Function of Motion Controller
Quick Start of ZMC Motion Controller SCARA Robot Application
Quick Start of RTEX Bus Usage of Motion Controller
Usage Method of Zhèng Yùn Technology CAD Drawing Software with Controller
Advanced Application of EtherCAT Bus Motion Controller
EtherCAT Motion Control Card Development Tutorial with Qt (Middle): Continuous Trajectory Processing of Small Segments, Pause and Continue
EtherCAT Motion Control Card Development Tutorial with Qt (Above): Development Environment Configuration and Simple Motion Control Application
Application of SCARA and Other Robot Commands of EtherCAT Motion Control Card
PWM and Analog Output Synchronization and Motion Speed of EtherCAT Motion Control Card
Hardware Comparison Output and Encoder Latching of EtherCAT Motion Control Card
IO Actions and Motion Control Synchronization of EtherCAT Motion Control Card
Real-Time Program Operation and Read/Write Control of EtherCAT Motion Control Card
Pause, Resume, and System Safety Settings of EtherCAT Motion Control Card
Continuous Interpolation Motion of Small Segments of EtherCAT Motion Control Card
Multi-Axis Interpolation Motion and Handwheel Motion of EtherCAT Motion Control Card
Auxiliary Debugging Tools and Methods Introduction of EtherCAT Motion Control Card
Axis Parameter Setting and Motion of EtherCAT Motion Control Card
Hardware Wiring and C# Hardware Peripheral Read/Write and Return to Zero Motion of EtherCAT Motion Control Card
Easy-to-Use Motion Control Card (Sixteen): Pitch Compensation and Backlash Compensation
Easy-to-Use Motion Control Card (Fifteen): Real-Time Program of PC Start/Stop Controller
Easy-to-Use Motion Control Card (Fourteen): Synchronization of PWM, Analog Output and Motion Control
Easy-to-Use Motion Control Card (Thirteen): Synchronization of IO Actions and Motion Control
Easy-to-Use Motion Control Card (Twelve): Safety Settings of Motion Control System
Easy-to-Use Motion Control Card (Eleven): Motion Pause and Resume and Speed Ratio Settings
Easy-to-Use Motion Control Card (Ten): Continuous Interpolation and Small Segment Forward
Easy-to-Use Motion Control Card (Nine): Circular Interpolation and Spiral Interpolation
Easy-to-Use Motion Control Card (Eight): Linear Interpolation and Handwheel Motion
Easy-to-Use Motion Control Card (Seven): Load Multiple Continuous Small Segment Data at Once
Easy-to-Use Motion Control Card (Six): Basic File Download and Continuous Trajectory Processing
Easy-to-Use Motion Control Card (Five): IO Configuration and Return to Zero Motion
Easy-to-Use Motion Control Card (Four): Function Library Packaging
Easy-to-Use Motion Control Card (Three): Axis Parameter Configuration and Single Axis Motion Control
Easy-to-Use Motion Control Card (Two): Peripheral Read/Write and ZDevelop Diagnosis
Application of Motion Control Card in ROS (Below)
EtherCAT Motion Control Card and LabVIEW Build Intelligent Equipment (Five)
EtherCAT Motion Control Card and LabVIEW Build Intelligent Equipment (Four)
EtherCAT Motion Control Card and LabVIEW Build Intelligent Equipment (Three)
EtherCAT Motion Control Card and LabVIEW Build Intelligent Equipment (Two)
EtherCAT Motion Control Card and LabVIEW Build Intelligent Equipment (One)
Motion Control Card Application Development Tutorial with MATLAB
Motion Control Card Application Development Tutorial with C++
Motion Control Card Application Development Tutorial with Python
Motion Control Card Application Development Tutorial with C#
Motion Control Card Application Development Tutorial with Linux
Motion Control Card Application Development Tutorial with VB6.0
Motion Control Card Application Development Tutorial with VC6.0
Motion Control Card Application Development Tutorial with Qt
Motion Control Card Application Development Tutorial with LabVIEW
Motion Control Card Application Development Tutorial with Laser Galvo Control
Motion Control Card Application Development Tutorial with Hardware Comparison Output
About Zhèng Yùn Technology
Shenzhen Zhèng Yùn Technology Co., Ltd. was established in 2013, focusing on the research of purely domestic motion control technology and the development of general motion control software and hardware platforms and products. It is a national high-tech enterprise and a specialized and innovative “little giant” enterprise.
Zhèng Yùn Technology brings together talented individuals from companies such as Huawei and ZTE. Striving for innovation, the company currently holds more than fifty intellectual property rights, including patents and copyrights. While adhering to independent innovation, it actively collaborates with major universities and research institutes to research basic motion control technologies, making it one of the fastest-growing companies in the domestic industrial control field, and one of the few companies that fully master core motion control technologies and real-time industrial control software platform technologies in the country.
In addition to the main R&D center, Zhèng Yùn Technology has three R&D branches in Zhongshan, Wuhan, and Shanghai. To better serve customers, it has two regional service centers in Suzhou and Dongguan, as well as sales and technical service agencies in Foshan, Xiamen, Qingdao, Xi’an, Wuhan, Chengdu, Tianjin, and Zhengzhou.
After years of development and application by numerous partners, Zhèng Yùn Technology’s products are widely used in various fields such as 3C electronics, semiconductors, new energy, robotics, packaging and printing, textiles and clothing, laser processing, medical pharmaceuticals, CNC machine tools, and traditional processing.
