Research and Implementation of Software Used for the Remote Control for VM 700 T Video Measuring Instrument

In this paper, the measurement software which can be used to realize remote control of the VM700T video measuring instrument is introduced. The authors can operate VM700T by a virtual panel on the client computer, select the results that the measuring equipment displayed to transmit it, and then display the image on the VM700T virtual panel in real time. The system does have some practical values and play an important role in distance learning. The functions that the system realized mainly includes four aspects: the real-time transmission of message based on the socket technology, the serial connection between server PC and VM700T measuring equipment, the image acquisition based on VFW technology and JPEG compression and decompression, and the network transmission of image files. The actual network transmission test is shown that the data acquisition method of this thesis is flexible and convenient, and the system is of extraordinary stability. It can display the measurement results in real time and basically realize the requirements of remote control. In the content, this paper includes a summary of principle, the detailed introduction of the system realization process and some related technology.


INTRODUCTION
In the technological fields of radio and TV industry, in order to guarantee the quality of video and audio signals to reach the industry standard, the whole process of production, processing, transmission, video and audio measurement equipment are widely used for the detection of signal monitoring.VM700T/A, as a fully functional video surveillance and video measuring instrument, plays an important role in student`s teaching and experiment in scientific research.First, when operating in the laboratory by themselves after a theoretical course, students can not only carry out the real-time observation and accurate measurement of the video signal by using the instrument, but also combine the theory and practice with improvements of using proficiency of the instrument.Second, the teachers` scientific research topics can be also efficiently combined with the equipment, such as some testing work for a variety of industrial measuring signals and various commercial products, or developments and designs of large system.It also promotes the development and innovation of the research in this field through a continuous in-depth study [1].
The network-teaching is becoming more and more widely-used due to the rapid development of network technology, and the distance learning conveniently and efficiently solves many problems caused by some unexpected factors.In some courses, the real-time display can help students understand the content of class more profoundly.In addition, when the individual part of the operating panel on the VM700T measuring instrument is damaged, we can still control the measuring instrument and ensure it works through the remote control software.Thus, a software system for remote operation is of great value and necessity.ABSTRACT: In this paper, the measurement software which can be used to realize remote control of the VM700T video measuring instrument is introduced.The authors can operate VM700T by a virtual panel on the client computer, select the results that the measuring equipment displayed to transmit it, and then display the image on the VM700T virtual panel in real time.The system does have some practical values and play an important role in distance learning.The functions that the system realized mainly includes four aspects: the real-time transmission of message based on the socket technology, the serial connection between server PC and VM700T measuring equipment, the image acquisition based on VFW technology and JPEG compression and decompression, and the network transmission of image files.The actual network transmission test is shown that the data acquisition method of this thesis is flexible and convenient, and the system is of extraordinary stability.It can display the measurement results in real time and basically realize the requirements of remote control.In the content, this paper includes a summary of principle, the detailed introduction of the system realization process and some related technology.the intelligent instrument, can be used to achieve the data communication with a computer via the communication interface [3].The Tektronix Inc website provides the users two applications on VM700T.One is the VM700T terminal user program, and another is the application that provides data services for the local area network [4].

Keywords
The communication connection of the server terminal and the VM700T video comprehensive test instrument in this system is realized through the RS-232 serial port on the rear panel of the VM700T.It is shown in Figure 2: As shown in Figure 3, VM700T is equipped with two RS-232 interfaces.One can be connected with the serial printer to print and output the measurement results; another can be connected with an external computer or a terminal to realize control function [5].In addition, the Tektronix Inc provides the RS232 programming manual of VM700T video measurement instrument for the users (VM700T Video measurement Set RS-232 Interface).The manual includes some descriptions of programming for controlling and communicating via the RS-232 interface of the machine [6] [7].

THE SYSTEM FRAMEWORK
The system is a C/S structure, on the client, two panels for VM700T instrument operation and network communication should be established.The server computer is connected with VM700T via RS232 serial port.The whole working process is as follows.At the beginning, the server should listen on specified terminal and open the serial port of VM700T, then the client sends a connection request, the server starts to connect after having received the request, then the client sends control command when has received the successful connection response, the server computer will send the instructions it received to VM700T through the serial port and then it will send the result that the VM700T measured after image acquisition and compression through network back to the client.Then we can decompress, preserve and display the images after successfully received on the client side.The overall remote control function of VM700T can be achieved ultimately.
The remote control system can be divided into network connection between client and server and transmission of control command module, image acquisition, compression and decompression of VM700T measurement results module, the serial connection of server and VM700T module, network transmission of the image module, see Figure4.

Network connections among client and server and transmission of instructions
The remote control system is actually a C/S program, the server program is placed in the computer being controlled, and the client is placed in the control terminal.When the programs have been successfully installed both on the client and server, the client will start to search a remote computer which had been installed with a server program from the network.The client send messages calling for connection, and the connection between two PCs is established, then, you can realize the remote control through the TCP/ IP internet protocol [8].In this paper, we can control the VM700T video comprehensive measuring instrument by operating a virtual control panel on the client side, and the communication process needs the network and serial connection to be achieved.TCP (Transmission Control Protocol) which is connection-oriented, providing a reliable delivery service and a full duplex communication, is a transport layer protocol based on IP.Each TCP connection has only two endpoints and the endpoint which TCP connected is not the host, but the Socket (or called as Jack).According to the definition of RFC 793, the port number and the IP address form socket, socket= (IP address: port number).Each TCP connection is only determined by the two endpoints of communication [9].
TCP/IP socket provides three types of sockets; the stream socket, the datagram socket and the original socket.The MFC library of Visual C++ 6 is a series of C++ class, in which it encapsulates all kinds of functions to write applications for Microsoft Windows operating system.The network communication between server and the client in this paper is realized by using stream socket based on TCP (connection oriented) protocol programming, the working principle is shown in Figure 5.We use the MFC control and C++ language to program a network communication panel and a virtual panel of VM700T.When we have successfully built communication between the client and the server by inputting the right IP address and port number, we can click the virtual panel of VM700T and call the related function to send control command.For example, if we click the "wave" button, then it calls the function OnWave ().And by calling the function Senddata (), it can send the command "hardkey Waveform" to the server, then, the server passes the control command to VM700T.The result displayed on the screen of VM700T is shown in Figure 6 (Here, we use the 75% color bar signal).

Image acquisition, compression and decompression of VM700T measurement results
There are two methods of the VM700T interface collection: video stream and pictures.We use pictures in this paper, namely using the computer camera to capture a single frame of image.It can avoid high bit rate and high bandwidth which the real-time video stream acquisition needs, and it can be also used to reduce the hardware requirements for equipment.At present, we generally adopt two ways to develop video applications in the Windows platform.One is based on the two software development kit (SDK) which is attached to the video capture card.The advantage of this approach is that it is convenient for application, and easy to realize.But it has strong dependence on hardware and it often can`t fully meet the needs of the development of engineering video applications.Another method is based on VFW.The VFW is a software toolkit which is provided by Microsoft Company to develop the video applications based on the Windows platform.It also provides a series of application programming interfaces (API) by which users can conveniently realize some general functions such as video capture, video editing and video playback.It has the characteristic that we don`t need specialized hardware devices when playing the video, and it is of great flexibility.Thus, it can meet the need of developing video application program [10].

Web of Conferences MATEC
We use the AVICAP.DLL which is one of the six modules of the VFW software development kit to realize image acquisition in this paper.It is a dynamic link library file that the Microsoft Corp provided for video acquisition.The real-time acquisition of video data is realized mainly by calling the AVICap32.dllto create the AVICap window class.We can easily add the function of video capture to our applications through the AVIcap.The AVIcap supports for real-time video stream capture and single frame image capture.The image acquisition of this system is realized by calling the vfw32.liblibrary function in the VFW software development package, and the specific process is shown in Figure 7: In this paper, the current frame is saved as BMP (bitmap) file by calling capFileSaveDIB() function after being captured.BMP (Bitmap) is a standard image format in the Windows operating system.It is supported by all kinds of image processing softwares running on Windows environment.Bitmap occupies more space in memory, so in order to reduce system response problems caused by limit of network transmission bandwidth and frame loss, we need to compress the data.In this paper, we use the JPEG compression.The JPEG image compression has so many advantages such as the adjustable compression ratio and the higher compression rate.Furthermore, because of good support for JPEG standard, the compressed data on the receiving end can be directly conversed.It is of great effect and saves a lot of resource.
The VFW library does not directly support the JPEG compression, thus, we have to generate a Libjpeg.libdatabase file from the command line before the JPEG compression.The libjpeg which includes the widely-used JPEG encoding, JPEG decoding and other JPEG features is a library entirely written in C language.Most people choose to use the JPEG source code to compile and generate a library file.It makes the libjpeg much easier to directly process images in memory without using file operations.The steps to generate the libjpeg.libby using command lines are shown as follows: Download the source code of the libjpeg.Run the CMD window and enter the directory.Run the command: nmake /f makefile.vcnodebug=1.
If it shows" nmake is an interior or exterior command", then, we should input" path C:\Program Files\Microsoft Visual Studio 9.0\VC/bin".
If it shows" makefile.vc<11>:fatal error U1052: file 'win32.mak'not found", we can open the makefile.vcfile and change the twelfth line into" !include <C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\win32.mak>".When we come across the error " NMAKE:fatal error U1073: and don't know how to make 'jconfig.h'",we need to change the jconfig.vcinto jconfig.h.If it shows "NMAKE: fatal error U1077: '.../cl.EXE': and return code '0xc0000135'", we need to input "vcvars32" and enter.Then, it shows that lines of characters and starts are to generate the library.We can start to compress and decompress after adding the libjpeg.libinto the "object/library" module.The procedures of compression and decompression are alike except that the compression object is a jpeg-compressed_structure while the decompression object is a jpeg-decompressed_structure.When it is tested as an independent module by using this method, the image compression rate can reach 5%, and it can effectively reduce redundancy and improve the transmission rate.We can merely see no difference between the compressed image and the original one through our naked eyes, and it has better effects of display.

Network transmission of the image
In this paper, we use the thread function method to achieve the image transmission program.Thread is the control flow of a single order in the process.Every program has at least one thread.If there is only one thread, then it will be the program itself.The specific implementation is to add a thread function SendFile-Proc(LPVOID lpParameter) into SERVERDlg.cpp,and then call this thread function in sending function OnSendFile.We defined a data-packet class structure specially used for file transmission in the program, and the member variables include packet type, file size, data buffer and commands for file sending.We use packet to send file data in the thread function, the first 128 bytes in the buffer are used to store the file name and then followed the file data when the file starts to be sent.The file transmission will be finished when the other side refuses to receive file.When we send the last packet, we must also send the ending command. Figure 8 shows the file transmission process in detail.

SYSTEM TESTING
The communication and control procedures which are described in this paper are applications running on the Windows operating system, and they are based on the PC machine.The programming language is C++, and the development environment is Microsoft Visual C ++ 6.0.We use a great deal of MFC (Microsoft Foundation Classes) object usage in the establishment of the VM700T control panel and the programming process of network communication.We also use an Ac-tiveX control --MSComm (Microsoft Communications Control) for serial communication programming in the Windows system.We designed and implemented a software platform which can capture and transmit images effectively and reliably by using the MFC control and employing the TCP/IP network transmission protocol which is widely used.
In order to verify the performance of the system, we use the TG8000 signal generator to generate a 75% ICETA 2015 03001-p.5 color bar signal to test and display the signal waveform and vector diagram in this paper.The diagram of system connection is shown in Figure 9.We also need to manually set the serial port number and baud rate of VM700T video measurement instrument after having established connections.For the start, we should click the "Configure" button on the panel of VM700T; then click the "Configure Files" button and the "Communication Setup Files" icon.The remote control port must be chosen to the serial line interface, and the "Message Display" option must be chosen to "Remote".If VM700T is working in the "no-protocol" mode, "non-SLIP interfacing" should be set to "terminal".Set the baud rate to 9600, the "flow Control" of hardware to "CTS/RTS" and the "flow Control" of software to "XON/XOFF".Set the data bit to 8, the "Reset Character" to "none" and the "Carrier Detect" to "disable".We can start to test after running the communication program and input the command of control.

CONCLUSIONS
In this thesis, the authors designed and implemented a system which realizes effective remote control of the video measuring instrument VM700T by operating the virtual panel on the client.And the functions include the real-time transmission of control command, the serial connection between server PC and VM700T measuring equipment, the image acquisition based on VFW technology and JPEG compression and decompression, and the network transmission of image file.We do realize the achievement of remotely controlling the VM700T measuring equipment via the network connection of client and server and the serial connection between server and VM700T.The results of VM700T can be captured, transmitted and displayed in real time and this system can be effectively used for actually experimental operation after debugging and some actual network tests.It can be also used to avoid some inconveniencies caused by the time, region or damaged instrument, thus, it plays an important role in distance learning.

Figure 4 .Figure 5 .
Figure 4. Functional modules of the system

Figure 6 .
Figure 6.Waveform of the 75% color bar signal

Figure 9 .
Figure 9. Diagram of system connection

Figure 10 .
Figure 10.Flow chart of the remote control system

Figure 10
Figure10shows the flow chart of the whole remote control system.First, we run the server-side program and start listening, and then, run the client program to generate the dialog box for the network connection and the virtual panel of the VM700T video measuring instrument.The network connection will be established by inputting the right IP address and port number of the server computer.Then, we can call the VM700T virtual panel to send control commands, and