Visual c ++, LabVIEW, LabWindows/CVI, and Matlab interface technology [Zhuan]

Source: Internet
Author: User
Tags mathematical functions
Visual c ++, LabVIEW, LabWindows/CVI and Matlab Interface Technology

Publisher: Wang Hua Release Date: 14:03:00 Content Abstract

Visual c ++, LabVIEW, LabWindows/CVI, and Matlab

Interport Technique

Wang Hua Yuan zhongfan

(College of Manufacturing Science and Engineering, Sichuan University, Chengdu 610065, Sichuan)

E-mail: wanghua-1125@163.com

Abstract: the interface technology between the most popular object-oriented visual programming tool Visual C ++, virtual instrument design platform LabVIEW, LabWindows/CVI, and powerful computing and drawing functions Matlab is elaborated in detail, so as to integrate with each other and give full play to their respective advantages. The effectiveness and feasibility of the interface technology are proved by examples.

Key words: VC ++; LabVIEW; LabWindows/CVI; MATLAB

Body

Text Size: medium or small

; Hybrid programming

Method classification: tp311 document identification code:

The interfacing technology

Visual c ++, LabVIEW, LabWindows/CVI and Matlab

Wang Hua, Yuan Zhong-fan

(College of manufacturing Sci. and Eng., Sichuan Univ., Cheng gdu 610065)

Abstract: The interfacing technology between Visual C ++, LabVIEW, LabWindows/CVI and Matlab is described in this article. visual c ++ is the most popular, object oriented, visual programming tool, and LabVIEW, LabWindows/CVI are two kinds of most excellent developing platform for Virtual Instrument at present, while MATLAB has powerful functions in calculating and drawing. only by combining MATLAB with Visual C ++, LabVIEW, LabWindows/CVI respectively can we make best of their own advantages. the examples can demonstrate the specified tiveness and feasibility of the interfacing technology.

Keywords: VC ++; LabVIEW; labwindow/CVI; MATLAB; Mixed Programming

1 Introduction

MATLAB is a "computing paper" programming language developed by Mathworks. It is a cross-platform scientific computing environment, it has powerful functions such as matrix column operations, numerical analysis, signal processing, system recognition, and image speech processing. The Application of MATLAB can easily implement many complex mathematical algorithms, which require a large amount of code in other development environments. However, Matlab also has some shortcomings, such as relatively weak data input and hardware control. The program execution speed is also relatively slow and generally needs to be run in the MATLAB environment. Therefore, when solving practical engineering problems, Matlab and other advanced languages are often mixed for programming, and the powerful mathematical functions of Matlab are used in other development environments. Microsoft Visual C ++ (VC ++ for short) is an advanced object-oriented visual programming tool. It is a development tool launched by Microsoft to support 32-bit operating systems, it provides integration with the latest Microsoft technology and a visual programming mode. It is an ideal development tool on the Windows platform. However, VC ++ has poor mathematical computing capabilities and is difficult to implement complicated mathematical algorithms. LabVIEW and LabWindows/CVI are currently the most influential virtual instrument development platforms, they organically combine the computer software design platform with professional instruments such as data collection, analysis, processing, and result expression as an interactive and efficient integrated development environment, labVIEW and LabWindows/CVI still cannot meet complex numerical computing and analysis requirements. Based on the advantages and disadvantages of the above development environments, this paper describes the interface technology of VC ++, LabVIEW, LabWindows/CVI and Matlab hybrid programming, the example proves the superiority of the hybrid programming interface technology.

2 visual c ++ and Matlab interface communication technology

VC ++ can develop Win32 programs based on MFC and Windows APIs. It features high code efficiency, fast execution speed, and a variety of styles of interfaces, however, in the era of developing digital image processing algorithms, coding requires a lot of work. If MATLAB's powerful numerical processing functions are integrated into the VC ++ development environment, it will provide more powerful technical support for project development. There are four channels for VC ++ and Matlab interfaces:

2.1 MATLAB built-in Compiler

Use the compiler provided by MATLAB to convert M files to various types of source code, such as C and C ++, on this basis, the Mex file and standalone applications are generated based on application requirements, which greatly improves the program running speed and code execution efficiency. In particular, independent executable applications can run independently from the MATLAB environment, greatly expanding the application scope of the program. However, the MATLAB compiler cannot compile script m Files, m Files with objects, and m Files with input or eval statements to operate workspace variables, the MATLAB compiler cannot compile built-in functions of Matlab.

2.2 call the MATLAB mathematical library function in VC ++

Program Design is carried out in the integrated environment of VC ++. The biggest Application Value of the matlab c ++ Math library is to run without the MATLAB environment. VC ++ has several obvious advantages in calling the MATLAB mathematical library and graphics library: Fast execution speed, low memory requirements, and can be released to users without Matlab. But it also has several obvious disadvantages: it cannot call functions of the graphic handle system; it cannot call functions in the MATLAB toolbox; some methods in MATLAB cannot be supported in C/C ++.

Use the environment settings of the MATLAB mathematical function library (assuming that MATLAB is installed under the root directory of the E disk)

1) in the VC ++ development environment, choose tools> OPTIONS... -> Directories: In the show directorie for column, select export defiles, and then add E:/Matlab/extern/include and E: to show directorie: /Matlab/extern/include/CPP; then select library files in the show directorie for column, and then add E:/Matlab/bin, E: /Matlab/extern/lib.

2) in the VC ++ development environment, choose Project> Settings... -> C/C ++: in the C/C ++ Category column, select Preprocessor and add msvc and mswind To The Preprocessor definition column.

3) set the dynamic link library during runtime. Project> Settings… In the development environment of VC ++... -> C/C ++: in the C/C ++ Category column, select code generation and select multithreaded DLL in the user run-time library column that appears.

4) after completing steps 1), 2), and 3), you can establish the project. # Include "Matlab" must be added to the source program. HPP ", but before the project compilation, you need to put libmx. lib, libmatlb. lib, libmatpm. lib and libmmfile. to add files such as lib to the project, the method is to add files to the project in the VC ++ development environment... In the displayed Insert Files to project dialog box, select the preceding file from directory e:/Matlab/extern/lib and click "OK.

2.3 use MATCOM software to implement interface communication between VC ++ and Matlab

MATCOM is a tool launched by mathtools to convert m Files into C ++ code with the same functions. Compared with the compiler provided by MATLAB, MATCOM can generate EXE files without the support of the MATLAB environment, thus effectively calling MATLAB functions and processes without the MATLAB environment. MATCOM has three main applications: 1) generate an independent EXE file using MATCOM; 2) generate a dynamic link library (DLL) file using MATCOM; 3) use the visual MATCOM function provided by MATCOM to display the MATCOM toolbar in the VC ++ integrated environment. Start VC ++ 6.0, choose tools> customize, select add-ins and Maro files, click brouse, select lib as the file type, and find mvcide under MATCOM/bin. DLL file and click OK, so that the MATCOM toolbar appears in the VC ++ integrated environment. You can directly compile the M file in VC ++.

Visual c ++ environment settings when using MATCOM

1) in the VC ++ development environment, choose tools> OPTIONS... -> Directories-> show directories for: add the lib directory under MATCOM to include files and library files, for example, "d:/matcom45/lib ".

2) in the VC ++ development environment, add D:/matcom45/lib/v1_1.lib to the project by adding project-> Add to project-> files, then, the header file of the v c ++ source file should contain matlib. h. Before calling the VC ++ code converted from the M file in the VC ++ source file, the "initm (matcom_version):" function is used to initialize the Class Library call and "exitm (); function to end the Class Library call. Therefore, add the following code to the main. cpp file:

Int main ()

{Initm (matcom_version ):

............ // The converted C ++ code

Exitm ();

Return 0;

}

2.4 call the Matlab Engine in VC ++ to implement interface communication

Compared with the other three interfaces, the Matlab Engine provides the most comprehensive support for MATLAB functions. Through the engine, the application will actually open a new MATLAB process, which can be controlled to complete any computing and drawing operations and provide 100% support for all data structures. The Matlab Engine adopts the client + server mode. Its essence is to use the Active X automatic DDE technology to implement data communication between VC ++ and Matlab. In a specific application, VC ++ acts as the client to take charge of user interfaces and submit data requests, while MATLAB belongs to the server and provides data services to the client. MATLAB provides the following engine functions for interaction with clients:

(1) engopen: Start the Matlab Engine;

(2) engclose: Disable the Matlab Engine;

(3) engevalstring: Send a string to MATLAB for execution;

(4) engoutputbuffer: determines the buffer area for storing MATLAB output results;

(5) enggetarray: obtains a variable from the MATLAB workspace;

(6) engputarray: transmits the mxarray struct variable to the MATLAB workspace;

The basic steps for establishing and debugging the Matlab Engine in the VC ++ integrated development environment are as follows:

1) Start VC ++ 6.0 and create an MFC Appwizard (exe) project.

2) after the project is created, tools> OPTIONS... -> Directories-> show directories, add the MATLAB root directory/extern/include and Matlab root directory/extern/lib/Win32/Microsoft/msvc60 to include files and library files respectively, and then select OK.

3) in the VC ++ development environment, select the menu item settings in the drop-down menu project, open the Project Settings property page, select the link page, and in the object/library modules editing box, add the file name libmx. lib.

Step 2) You only need to set it once, and step 3) Each project must be set separately, because the MATLAB functions used by each project may be different.

After the preceding steps, you have completed the call and setup of the ATLAB engine function called in the VC ++ 6.0 development environment and the establishment of the Matlab Engine program, which can be executed after compilation and linking.

2.5 application example

Based on the advantages and disadvantages of VC ++ and MATLAB, we proposed four methods for their mixed programming interfaces. Compared with the other three methods, we used the Matlab Engine to implement interfaces, it saves a lot of system resources, and the overall performance of applications is good. The MATLAB support function provided by the engine is the most comprehensive, and the functions of MATLAB numerical computation and graphic processing can be fully utilized, provides full support for all data structures. This interface technology is suitable for scientific research and improves efficiency. In actual engineering problems, you can select an interface technology that suits your needs. I have debugged and verified each interface technology on the computer. It turns out that the above four interfaces of VC ++ and Matlab are completely correct and effective. Limited space, here is a detailed example of using the Matlab Engine to implement interfaces.

MATLAB has incomparable advantages in signal processing and graphic display. in MATLAB, the FFT algorithm can be implemented only by one function FFT, using VC ++ requires a long amount of code and understanding the principles of FFT. If VC ++ is used to call the Matlab Engine function to implement the FFT algorithm, the programming workload is greatly reduced, the programming efficiency is improved, and the FFT transformation of signals can be easily realized.

The current analog signal x (t) = sin (2 π ft) + 3sin (4 π ft) is used to obtain the amplitude spectrum of the N-point DFT. The main steps are as follows:

1) Use VC ++ to generate an engdemo single-document MFC application.

2) set the compiling environment according to the method described in section 2.4.

3) Add a new CPP file to enter the project. The file name is MATLAB. cpp. The Code is as follows:

# Include stdafx. h

# Include engine. h

Void maid ()

{

Engine * EP;

// Open the Matlab Engine and establish a connection with the local MATLAB

If (! (Ep = engopen (null )))

MessageBox (null, cannot open the Matlab Engine, engine demo, mb_ OK );

// Transmits data to MATLAB for analysis and calculation.

Engevalstring (Ep, n = 1024 ;);

Engevalstring (Ep, T = 0: 0. 001:1. 023 ;);

Engevalstring (Ep, F = 100 ;);

Engevalstring (Ep, x = sin (2 * pI * f * t) + 3 * sin (2 * pI * 2 * f * t ););

// Perform FFT transformation and display the operation result in the image format to return the VC ++

Engevalstring (Ep, y = FFT (x, n ););

Engevalstring (Ep, Fre = ABS (y ););

Engevalstring (Ep, subplot (2, 1, 1 ););

Engevalstring (Ep, plot (t, x ););

Engevalstring (Ep, xlabel ('time '););

Engevalstring (Ep, subplot (2, 1, 2 ););

Engevalstring (Ep, plot (FRE (1: 600 ););

Engevalstring (Ep, xlabel ('frequency '););

MessageBox (null, please any key, engine demo, mb_ OK );

// Close the engine

Engclose (EP );

}

4) add an "engine" menu, and add a "Demo" menu item under the "engine" menu.

5) Implement the message function of the "Demo" menu item.

Void cengdemoview: onenginedemo ()

{

MATLAB draw ();

}

6) Add the function declaration in the header of the file engdemoview. cpp:

Extern void maid ();

Compile and run the program, click the "Demo" menu item on the "engine" menu, start MATLAB in the background, and display 1 result:

 

Figure 1 time-domain signal and its spectrum (where the time-domain signal is a spectrum)

3 Virtual Instrument Development Platform LabVIEW, LabWindows/CVI, and Matlab Interface Technology

LabVIEW is currently the only compiled graphical programming language in the world. It provides a wide range of database functions for data collection, analysis, and storage. It is an open development environment, has a large number of VI libraries that communicate with other applications. For example, LabVIEW uses automated ActiveX, DDE, and SQL to integrate with other Windows applications. In terms of hardware support, labVIEW integrates all the functions of data communication with the GUI, VXI, PXI, RS-232/485, PLC and plug-in digital acquisition devices. LabVIEW also directly supports Dynamic Data Exchange (DDE), Structured Query Language (SQL), TCP and UDP network protocols. Based on the Standard C language, LabWindows/CVI organically integrates the computer software design platform with professional instruments such as data collection, analysis, processing, and result expression, as an interactive integrated development environment, LabWindows/CVI provides a large number of interfaces with external code or software, such as DLL (Dynamic Link Library), DDE (shared library), and ActiveX controls. LabWindows/CVI is an ideal tool for developers familiar with the C language to develop virtual instruments such as detection, data collection, signal processing, and monitoring.

Even so, LabVIEW and LabWindows/CVI still cannot meet complex numerical computing and analysis requirements. Therefore, in the development of large-scale testing systems and virtual instruments, LabWindows/CVI is far from enough, MATLAB is an efficient mathematical computing tool. It is a very effective way to program together with LabVIEW and LabWindows/CVI. The following describes the interface technology between LabVIEW, LabWindows/CVI, and MATLAB, and provides an example for verification.

3.1 interfaces between Labview and Matlab

LabVIEW can communicate with MATLAB through MATLAB script nodes

3.1.1 MATLAB Script node

The MATLAB scrip node allows you to import M programs written in Matlab into the flowchart, and edit M programs in the flowchart according to the syntax of the MATLAB program. Select this node in LabVIEW: In the flowchart editing window, add the node to the flowchart by function> mathematics> formula> MATLAB scrip. After opening the MATLAB scrip node, you can directly compile the MATLAB program code in the diagram. If the MATLAB program has been compiled in advance, you can directly import it to the node, you can click "import" to complete the import. You can also right-click the node border and select "add import" or "add output" in the pop-up menu to add input and output variables, it transfers parameters between Labview and Matlab.

3.1.2 MATLAB script application example

The preceding section describes how to use the MATLAB Script node. The simulation design of virtual signal extraction is demonstrated below.

1) Application of Wavelet Analysis in Signal Extraction

In the process of signal collection, transmission and processing, the signal is contaminated by noise due to external or internal interference of the circuit, the processed noise or high-frequency signals are mixed with some useful slow-Changing Signals. Through Wavelet analysis, the useful signals of slow-changing can be identified from the noise or other high-frequency signals. In actual engineering, useful signals are usually low-frequency and stable, while noise signals or other high-frequency signals are high-frequency signals. Signal Extraction Using Wavelet analysis mainly involves the decomposition and reconstruction of wavelet.

2) design of virtual signal extraction Instrument

In this example, one-dimensional signals with noise are represented:

S (I) = f (I) + E (I), I = 0, 1, 2 ,..., N-1

F (I) is the real low-frequency slow-changing signal-sine wave, and E (I) is the noise signal-Uniform white noise.

In this simulation process, LabVIEW uses data collection or simulation to generate low-frequency slow-down signals containing noise or high-frequency signals, and sets signal extraction and processing parameters through the front panel of the virtual instrument, the parameters are transmitted to the corresponding functions of MATLAB through the interfaces of LabVIEW and MATLAB, the signal analysis and processing functions are completed, and the processing results are returned to LabVIEW for display.

The MATLAB wavelet toolkit provides many functions for wavelet analysis, including common functions for wavelet analysis, wavelet functions, one-dimensional wavelet transformations, two-dimensional wavelet transformations, and Wavelet Packet algorithms. In this simulation process, the wedn function is mainly used. This function can directly remove noise from one-dimensional signals. The Calling format is as follows:

[XD, cxd, LXD] = wden (x, tptr, sorh, Scal, N, 'wname '), the Return Value of the function is the signal XD and its decomposition structure [cxd, LXD] after the original signal X is de-oxidized. In formula, sorh specifies the selection of soft threshold (sorh = 's') or hard threshold (sorh = 'H'); tptr specifies the selection rule of threshold, which has four options: 'rigrsure ', 'heursure', 'sqtwolog', and 'minimaxi'. In this program, select 'ursure 'as the initial heuristic variable as the threshold. n is the number of layers of wavelet decomposition; wname specifies the wavelet used for decomposition. The simulation process of wavelet signal extraction is designed as follows:

1) Open Labview and place two waveform display controls (waveform graph) in the front panel development window. One is used to display the waveform containing noise and the other is used to display the waveform after noise elimination; place three numeric input controls, which are used to set the frequency of the Low-Frequency Slow-changing signal, the number of de-noise layers (x), and the sampling frequency.

2) Place the sine wave generator (sine wave) in the flowchart window. VI), even distribution of random signal generator (Uniform white noise. vi) is used to generate a sine wave sequence and a uniformly distributed random sequence. They are used to simulate Low-Frequency Slow-Changing Signals and noise signals, respectively) overlay the Low-Frequency Slow-changing signal and noise signal. In the function-> mathematics-> formula operation, place the MATLAB script in the flowchart editing box and add the input variables XX, X, and output variables XD, the corresponding data types are real vector, real, and real vector.

3) connect the data flow according to the line chart shown in 2. Write M programs in the MATLAB Script node editing box.

 

Figure 2 virtual signal simulator Flowchart

4) run the program. Click the "Frequency of Low-Frequency Slow-Changing Signals" button on the front panel to select the frequency of the simulation sine signal. Click the "Number of noise levels" button to determine the number of noise levels. Click the "sampling frequency" button, select the sampling frequency of the simulation sine signal. Run the VI file, as shown in result 3.

 

Figure 3 running result

It can be seen that the signal extraction simulation process is successfully realized through wavelet analysis using the interface technology of LabVIEW and Matlab software. Through this example, we can see that the development of virtual instruments based on LabVIEW and Matlab interface technology is completely feasible. LabVIEW is a graphical instrument programming language, which is easy to use. Although it provides a large number of information function processing functions, it has limited functions after all. MATLAB has powerful functions such as matrix column operations, numerical analysis, signal processing, system recognition, and image speech processing. Using the interface technology to call MATLAB in LabVIEW is an effective way to develop virtual instruments.

3.2 interface communication between LabWindows/CVI and Matlab

By establishing a data exchange ActiveX Service Control in the LabWindows/CVI environment, you can implement interface communication with Matlab. There are two methods to establish ActiveX services: The following two methods are described separately. You can choose one based on your actual situation.

1. In the Labwindows/cvi6.0 window, you can create ActiveX service functions by yourself. However, in this method, you must first install MATLAB and then install Labview/CVI. The procedure is as follows:

1) In the LabWindows/CVI window, select Tools> Create ActiveX controller. The ActiveX controller wizard-Welcome dialog box is displayed, and click Next, the ActiveX Server installed in the system is displayed in the ActiveX controller wizard-choose Server LIST. Select the MATLAB Automation server type library option in the list.

2) After clicking Next, the ActiveX controller wizard-configure dialog box is displayed. You need to name the target FP file and set the storage path. Assume that the file name is maid. FP. The storage path is D:/cvi6.0/work. click Next.

3) In the displayed ActiveX controller wizard-advanced Options dialog box, click Advanced OPTIONS ..., Press the "check all" button and click "Next" in the default mode. The system automatically generates the matlabatvx file. FP, maid. c. MATLAB atvx. h. MATLAB atvx. OBJ and maid. sub five files. In the Directory D:/cvi6.0/work, find the five icons shown in 4.

 

Figure 4 ActiveX service function icons

2. Use ActiveX service functions provided by LabWindows/CAI for interface communication

In Versions later than 5.0, CVI, samples, ActiveX, and MATLAB of LabWindows/CAI directly provide ActiveX service functions that communicate with Labview/CVI and Matlab interfaces: MATLAB srvr. c. MATLAB srvr. h. MATLAB srvr. OBJ, Matlab srvr. FP, Matlab srvr. sub. However, due to the different versions of MATLAB installed by different users, ActiveX service functions under CVI, samples, ActiveX, and Matlab cannot be directly applied to mixed programming, because the registration code of Matlab application of different versions of MATLAB software is different, you need to modify the registration code of Matlab. After careful research, the method and steps are summarized as follows:

1) Open the Registry Editor and check the registration code of the Matlab application installed by the user. Take version6.5 as an example. The registration code is {554f6053-79d4-11d4-b067-009027ba5f81}

2) Enable the ActiveX service function MATLAB srvr. C by CVI/samples/acticex/MATLAB, and set the built-in MATLAB registration code 5.01 in MATLAB srvr. C:

Guid CLSID = {0x669cec94, 0x6e22, 0x11cf, 0xa4, 0xd6, 0x0, 0xa0, 0x24, 0x58, 0x3c, 0x19 };

Rewrite:

Guid CLSID = {0x554f6053, 0x79d4, 0x11d4, 0xb0, 0x67,0x0, 0x90,0x27, 0xba, 0x5f, 0x81 };

The above two methods are used, but the ActiveX service functions are the same. They include the most basic functions required for Mixed Programming of LabWindows/CVI and MATLAB, including: open the Matlab function, close the Matlab function, send the Matrix Function, accept the Matrix Function, run the Matlab function, Matlab window maximum minimization function, and so on. To facilitate developers to implement mixed programming with MATLAB in the Labwindows/CVI environment, NI Company also specially configured a more friendly interface function file named "maid. c.

The following describes how to implement mixed programming with MATLAB in LabWindows/CVI:

After the ActiveX service function is created, you can implement mixed programming. Start LabWindows/CVI and choose File> New> userinterface (*. UIR) create an instrument panel file. After the panel design is complete, save the file named example. UIR ., select Code-> Generate-> all code, write the original code, and name it example. c save. After the panel design and original code writing, you can create and save the project file. In the project file window, select edit-> add files to project and add example. c. Example. h, example. UIR, add the ActiveX service function mentioned above, and operate run-> RUN project in the project file, user panel editing, or code window to debug and run the project file. Due to space limitations, I will not give an example here. I believe that as long as you are familiar with LabWindows/CVI, you will be able to smoothly implement matilab mixed programming in the LabWindows/CVI environment.

4. Conclusion

This article systematically introduces the interface technology between Visual C ++, LabVIEW, LabWindows/CVI and MATLAB. Their implementation greatly shortens the program development cycle and reduces the programming workload, improves work efficiency. In engineering research, this mixed programming interface technology will be very applied. All the examples mentioned in this article have passed the debugging in VC ++ 6.0, Matlab 6.5, and labview6.1, verifying the correctness of the above interface technology.

References

[1] (US) David J. kruglinski, socot Wingo, George Shepherd. Programming visual c ++ 6.0 technical insider [M]. Beijing: Beijing hope electronics Publishing House, 1999.

[2] matlab c ++ Math Library Reference [M]. 2000. Mathworks Inc.

[3] Ni company. LabWindows/CVI programmer Reference Manual [m], 2001.

[4] He Qiang. MATLAB extended programming [M]. Beijing: Tsinghua University Press, 2002.

[5] Liu Junhua. Virtual Instrument Design Based on labiew [M]. Beijing: Electronics Industry Press, 2003.

[6] Chen yayong. MATLAB Signal Processing [M]. Beijing: People's post and telecommunications Press, 2001.

[7] Tao hong. Implementation of hybrid programming of MATLAB and C/Visual C ++ [J]. Computer Engineering and application, 2000, (10 ).

[8] Zheng Lixin. LabWindows/CVI and Matlab soft interface technology and application [J]. Automated instrumentation, 2004, (4 ).

[9] Development of ActiveX Server in LabWindows/CVI [J]. Computer simulation, 2004, (12 ).

Author profile: Wang Hua (1981-), male, Linze, Gansu Province, master of Manufacturing Science and Engineering at Sichuan University. Main Research Direction: mechanical and electronic engineering; yuan zhongfan (1950-), male, professor at the School of Manufacturing Science and Engineering, Sichuan University, doctoral advisor, main research direction: Mechanical and Electronic Engineering.

 

Contact: Wang Hua, class 1, 2004 graduate student, School of Manufacturing Science and Engineering, Sichuan University

Zip code: 610065

E-mail: wanghua-1125@163.com

Tel: 028-85404459

Mobile Phone: 13194863492

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.