Top Banner
978-1-4244-5386-3/09/$26.00 ©2009 IEEE Virtual and Remote Laboratory of the Ball and Beam System José Luis Díez, Marina Vallés, Ángel Valera Department of Systems Engineering and Control, Universidad Politécnica de Valencia Camino de Vera, 14. 46023 Valencia, Spain {jldiez,mvalles,giuprog}@isa.upv.es Abstract— This paper presents the development of a virtual and remote laboratory for the use of the well-known Ball and Beam non-linear process. The authors use a novel connection between Easy Java Simulations and C++ in order to develop the remote laboratory. This approach has the advantage of using Easy Java Simulations for the model simulation and C++ for the low level control of the real process. I. INTRODUCTION A valuable option in the educational process is the use of Information Technology (IT) resources [1] as this can lead to an increase in time and space flexibility. Distance learning benefits more from the new technologies than standard education does. However, when the latter makes appropriate use of IT as an effective learning support resource, then “blended learning” occurs and seems to be the future educational trend [2-6]. The extended use of these resources has been possible given the increasing number of household computers with Internet access, and could reduce the actual teaching hours at University spent on undergraduate programs [7-9]. Nowadays, the relation between the Internet and Process Control is far removed from the experimental phase, but has reached a mature state [10], providing practical applications for those companies offering online courses [11-12]. Internet- based learning is also of interest for companies in which staff training plays a role [13-14]. Apart from educational applications, remote industrial process monitoring and control through the Internet provide different advantages (i.e., optimization of infrastructures performance, preventive maintenance management, a reduction in staffing costs, etc.) and also represents a step forward for tele-working [15-17] in the area. Some relevant applications can be found for medicine [18], chemical plants [19] or robotics [20-24]. In this paper a proposal of on-line remote laboratory using Java is presented, being especially interesting for researchers and lecturers using C++ in their everyday control algorithms. After defining some key concepts about virtual and remote laboratories in section II, the possibility of using Easy Java Simulations tool is presented in section III. This section also presents to connection between Easy Java Simulations and C++ in order to develop a remote laboratory. Section IV presents the application to the Ball and Beam systems, and a final conclusions section has also been included at the end of the paper. II. REMOTE LABORATORIES A. Definitions Based on the Internet, two different options can be found for setting up laboratories in learning environments: virtual laboratories and remote laboratories. For example, a virtual laboratory allows continuous access to a simulated process in a computer. Under this structure, a remote interaction between the student/operator and the virtual laboratory is possible. Halfway between traditional and virtual laboratories are the remote laboratories that provide a real experiment for remote users. The incorporation of Webcams permits the observation of real systems evolution in addition to variables of interest. Most of the equipment needed for setting up a virtual/remote laboratory is available in traditional laboratories. The only additional element required is an interface between the local application and the Web server. Two different operating options are available for remote labs: batch and on-line operations. A pure on-line operation considers control algorithms at the remote computer, the control actions and sensors being the information transmitted through the Internet [25]. The reference and parameters can be altered while the experiment is being carried out, however variable delays appear as a consequence of Internet traffic. A batch operation avoids Internet delays because the reference and controller parameters are sent to the server before the experiment begins and, once finished, the process output is sent to the remote computer [26]. In any case, it is necessary to add some interaction to the system to illustrate the dynamic evolution of the controlled plant. This can be carried out with a camera, a scope that shows the time evolution of the process variables (usually decimation and packing of the sample data should be used to reduce traffic overload) or both. Another option in the middle of the batch and on-line is to perform an on-line operation with the control algorithms at the server. In this way the control actions and sensors information does not have to be transmitted through the Internet. Only the reference and parameters must be updated from the remote computer through the Internet while the experiment is being performed. In this way variable delays of Internet traffic are avoided, interactivity is enhanced and remote on-line control is performed.
6

Virtual and remote laboratory of the ball and beam system

Mar 31, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Virtual and remote laboratory of the ball and beam system

978-1-4244-5386-3/09/$26.00 ©2009 IEEE

Virtual and Remote Laboratory of the Ball and Beam System

José Luis Díez, Marina Vallés, Ángel Valera Department of Systems Engineering and Control, Universidad Politécnica de Valencia

Camino de Vera, 14. 46023 Valencia, Spain {jldiez,mvalles,giuprog}@isa.upv.es

Abstract— This paper presents the development of a virtual and remote laboratory for the use of the well-known Ball and Beam non-linear process. The authors use a novel connection between Easy Java Simulations and C++ in order to develop the remote laboratory. This approach has the advantage of using Easy Java Simulations for the model simulation and C++ for the low level control of the real process.

I. INTRODUCTION A valuable option in the educational process is the use of

Information Technology (IT) resources [1] as this can lead to an increase in time and space flexibility. Distance learning benefits more from the new technologies than standard education does. However, when the latter makes appropriate use of IT as an effective learning support resource, then “blended learning” occurs and seems to be the future educational trend [2-6]. The extended use of these resources has been possible given the increasing number of household computers with Internet access, and could reduce the actual teaching hours at University spent on undergraduate programs [7-9].

Nowadays, the relation between the Internet and Process Control is far removed from the experimental phase, but has reached a mature state [10], providing practical applications for those companies offering online courses [11-12]. Internet-based learning is also of interest for companies in which staff training plays a role [13-14]. Apart from educational applications, remote industrial process monitoring and control through the Internet provide different advantages (i.e., optimization of infrastructures performance, preventive maintenance management, a reduction in staffing costs, etc.) and also represents a step forward for tele-working [15-17] in the area. Some relevant applications can be found for medicine [18], chemical plants [19] or robotics [20-24].

In this paper a proposal of on-line remote laboratory using Java is presented, being especially interesting for researchers and lecturers using C++ in their everyday control algorithms.

After defining some key concepts about virtual and remote laboratories in section II, the possibility of using Easy Java Simulations tool is presented in section III. This section also presents to connection between Easy Java Simulations and C++ in order to develop a remote laboratory. Section IV presents the application to the Ball and Beam systems, and a final conclusions section has also been included at the end of the paper.

II. REMOTE LABORATORIES

A. Definitions Based on the Internet, two different options can be found

for setting up laboratories in learning environments: virtual laboratories and remote laboratories. For example, a virtual laboratory allows continuous access to a simulated process in a computer. Under this structure, a remote interaction between the student/operator and the virtual laboratory is possible.

Halfway between traditional and virtual laboratories are the remote laboratories that provide a real experiment for remote users. The incorporation of Webcams permits the observation of real systems evolution in addition to variables of interest. Most of the equipment needed for setting up a virtual/remote laboratory is available in traditional laboratories. The only additional element required is an interface between the local application and the Web server.

Two different operating options are available for remote labs: batch and on-line operations. A pure on-line operation considers control algorithms at the remote computer, the control actions and sensors being the information transmitted through the Internet [25]. The reference and parameters can be altered while the experiment is being carried out, however variable delays appear as a consequence of Internet traffic. A batch operation avoids Internet delays because the reference and controller parameters are sent to the server before the experiment begins and, once finished, the process output is sent to the remote computer [26].

In any case, it is necessary to add some interaction to the system to illustrate the dynamic evolution of the controlled plant. This can be carried out with a camera, a scope that shows the time evolution of the process variables (usually decimation and packing of the sample data should be used to reduce traffic overload) or both.

Another option in the middle of the batch and on-line is to perform an on-line operation with the control algorithms at the server. In this way the control actions and sensors information does not have to be transmitted through the Internet. Only the reference and parameters must be updated from the remote computer through the Internet while the experiment is being performed. In this way variable delays of Internet traffic are avoided, interactivity is enhanced and remote on-line control is performed.

Page 2: Virtual and remote laboratory of the ball and beam system

B. Technical options There are several options for developing virtual and remote

laboratorias and, up to now, it is more an ad-hoc solution to the problem that a standard. For example, authors of this paper used Matlab Web Server (MWS) as a very powerful and very basic tool that helps in the development of virtual laboratories when the developer is used to Matlab. However, developing remote laboratories is not as easy [26-28]. Other possibilities could involve using the Matlab Builder for Java or.NET tools [29-30]; a common gateway interface (CGI) or other methods and tools which allow the Matlab kernel machine to be connected to a web server such as JMatlink or EasyJava [31].

In order to allow application portability, in this case a solution based on Java is going to be presented. EasyJava is an adequate tool for doing so.

C. EasyJava Every technical work requires the right tool. Easy Java

Simulations is an authoring tool that has been specifically designed for the creation of interactive simulations in Java. Though it is important not to confuse the final product with the tool used to create it, and, in principle, the simulations we will create with Ejs can also be built with the help of any modern computer programming language, this tool originates from the specific expertise accumulated along several years of experience in the creation of computer simulations, and will therefore be very useful to simplify our task, both from the technical and from the conceptual point of view.

From the technical point of view because Ejs greatly simplifies the creation of the view of a simulation, that is, the graphical part of it, a process that usually requires an advanced level of technical know-how on programming computer graphics. From the conceptual point of view, because Ejs provides a simplified structure for the creation of the model of the simulation, that is, the scientific description of the phenomenon under study.

Obviously, part of the task still depends on us. Ours is the responsibility for the design of the view and for providing the variables and algorithms that describe the model of the simulation. With this software tool, we can create models of different complexity, from the very simple to the far-from-trivial. Once more, Easy Java Simulations has some built-in features that will make our task easier, also when writing our algorithms.

For instance, Ejs will allow us to solve numerically complex systems of ordinary differential equations in a very comfortable way, as well as it will automatically take care of a number of internal issues of technical nature (such as multithreading, to name one) which, if manually done, would require the help of an expert programmer.

III. EASY JAVA SIMULATIONS AND REMOTE LABS

D. Conectivity options To help improve the interactive and dynamic capabilities of

these models, Ejs can be used together with different external tools as Sysquake, Dymola, Matlab, Simulink or Labview. To be more precise, this means exactly that an author can create a simulation with Ejs that controls the execution of, for example, a Simulink model and that displays or modifies the values of parameters and variables of the model from the Ejs simulation. Additionally, authors can also call any external function at any point in their Ejs models.

The Matlab/Simulink feature is already included in any distribution of Ejs. Hence, you don’t need to install any other software. However, the connection with other tools is not provided although it is possible, as it is going to be presented next.

E. Implementation of a laboratory Server using C++ A valuable option for implementing the application server

for the remote laboratory is to use a high-level programming language as C++.

Proceeding this way has the advantage that the developed code is highly efficient since it has been developed specifically for the application, so the computing times are smaller than with other tools. However, this solution has the disadvantage that a great programming development is needed since there are not predefined functions for the application to be developed.

When the server is implemented, the functionally that is wanted for it has to be taken into account. The server must be waiting for incoming requests for working with the plant. When it happens, the database where the reserves for working with the plant at the server are kept needs to be consulted in order to know if it is correct. If this is not true, the application waits for new requests.

Fig. 1 Controller structure based on C++. If the request is correct, the application that allows the

remote user to control the plant must be initialized. In order to

Page 3: Virtual and remote laboratory of the ball and beam system

achieve this, first, the plant must be controlled using the controller given by the user, but, at the same time information of how this controller is working needs to be sent to the user, as well as allow him to change dynamically the set point and the controller parameters. On the other way, moreover, the application must control that the user does not exceed the time assigned to him.

For allowing all this executions in a simultaneous way, an application based on threads with the structure that is showed at the following figure has been developed.

Next the functionality of each of these threads will be detailed.

1) Login/Password thread As has been mentioned before, the main application has to

be waiting for a user that wants to connect with the plant all the time. At the moment that this happens, this thread is started which only collects the login and password introduced by the remote client.

This information is used for verifying if the user has a valid reservation, this means, if the login and password are valid and that this user has a reservation for the date and time in which the request is achieved.

If this is true, the application gives the user all the functionalities that allow him to control remotely the plant for which three threads will be released simultaneously: the controller one, the communication one and the reservation control one that appears at the previous figure. Otherwise, it informs the user with the type of error and remains waiting for a new incoming request.

2) Controller thread This thread, as its name indicates will be in charge of

executing the controller designed by the remote user, and it must access to the acquisition cards and deal with the sample time.

Some of the controller parameters could be changed in a dynamic way although for the Controller thread this will be transparent, since this is achieved sharing variables between this thread and the communication one.

Moreover, due to its functionality, this thread will be the one with the highest priority.

3) Communication thread This thread will have two objectives. One is to allow the

user to change dynamically the controller parameters and the reference value and, on the other hand, that the server can send to the remote user real-time information about the controller performance.

Reservation Control thread Besides the work that the threads described before do, it

will be necessary to control that the user using the plant does not exceed the time that has assigned for the session. So, periodically this information is verified (and also sent to the user).

IV. LABORATORY EXAMPLE

F. The ball and beam experiment The ball and beam process is a further remotely accessible

system. Basically, this prototype is a ball placed on a straight beam. A lever arm is attached to the beam at one end and a servo gear at the other. As the servo gear turns by an angle, the lever changes the angle of the beam. When the angle is changed from the vertical position, gravity causes the ball to roll along the beam.

The purpose of this experiment is to control the position of the ball along the track by manipulating the angular position of the servo.

In this system there are two sensors. The first one measures the servo position. This is a potentiometer that provides a voltage depending on the motor axe position. The second one provides a voltage depending on the ball position. This sensor is mounted on the beam. One side of the track is a nickel-chromium wire-wound resistor, and the other side of the track is a steel rod. When the ball rolls on the beam, it acts as a wiper similar to that of a potentiometer.

This system allows complex control activities. For example, with this system the controller can consist of two loops: the inner loop ensures the control of the servo position. The outer loop controls the ball position.

Fig. 2. Ball and beam system

G. Ejs and C++ based remote lab Now the environment developed with Ejs is described. The

application has two different parts (see Figure 1). At the left part (that will be known as representation window from now on) and scheme of the ball and beam system can be seen. At the right part (that will be named as evolution window) the evolution of the main variables of the process are showed.

4) Representation window. At the upper part of the representation window a scheme of

the ball and beam system can be seen, where the ball position over the beam will change depending on the process state. At the lower part there is a panel with different buttons that are going to be used for acting over the system, and that will be described in detail next.

Page 4: Virtual and remote laboratory of the ball and beam system

Fig. 3. Interface of the application for the ball and beam system. The plant can be viewed in two ways:

• In simulation mode. The plant is showed as appears at figure 3. When this mode is chosen to work, the system operates locally and evolves based on a mathematical model of the process.

• In remote mode (using the Video connection). The real plant at the remote laboratory is showed. At this working mode the image captured by video of the real plant at the laboratory is showed.

At the central part of the representation window, a description that indicates the video state appears. How to go from one to another way of visualisation will be explained soon. At the bottom part of the representation window there are two tabs that allow changing the system way of work. These two tabs are: CONTROL and PID.

At the CONTROL tab a set of sliders and some buttons that let us define different situations at the process dynamic are provided (for example, consider or not that there is friction).

There are two sliders and a selection button that allow achieving the following actions:

• Friction coefficient: This slider represents the values of the friction coefficient that is considered at the model of the system.

• Fps: it is used for delaying the simulation and be able with this to observe better the obtained results.

• Moving Reference: It allows that the set point change between the maximum and minimum position values. These values are determinated by two mobile red arrows (adjusted by the user) that at the beginning appear at the beam extremes.

Using the buttons that are placed at the bottom row, the user can control the main operations over the system evolution. Specifically the following actions can be achieved:

• Play. It is used to start the simulation. • Pause. It is used to establish a pause at the

simulation. • Reset. It is used to reset the simulation or the

remote connexion that has been established and start again the work at the beginning.

• Connect. If this button has not been pressed, when Play is pressed the application will work in simulation mode, so, the application is executed as virtual laboratory. If it is pressed, it allows the connection with the plant in remote mode (using the real system that is placed at the laboratory) once the access control has been passed (see figure 4). The access keys will be provided when the access to the plant for a student is allowed. It is important to note also that when you are working at remote mode the Play, Pause and Reset buttons are not active.

Fig. 4. Access control to the remote mode.

• Disconnect. While the plant is working at remote mode, the Connect button is replaced by the Disconnect one that is used to stop the laboratory work and go back to the simulation mode.

At the PID tab three numerical fields are provided that let

us to change the parameters of the controllers associated with the position automatic control (see figure 5). So, it is possible to change the proportional gain (Kp), the integral time (Ti) and the derivative time (Td). Initially, they will have assigned values that allow operating with the system in a reasonable way.

Fig. 5. PID tab. Below the tabs of system operation an informative line

appears where the operation mode of the system is specified at any moment. If it is at simulation mode, as happens at figure 3, the phrase: Status Lab: Simulation Mode will appear. However, if you are operating at remote mode this will be the state that will be showed (Status Lab: Remote Mode with labserver).

5) System evolution window At the right of the representation window there is the

system evolution window, where it is showed, as its name indicates the evolution of the most important variables of the process (see figure 3). Two graphics where the evolution of the most important variables of the process is registered can be found. The Position_Control tab shows, at the upper graphical, the evolution of the controlled variable corresponding to the lineal position of the ball and under this, the evolution of the handled variable corresponding to the angular position of the dc motor (control action U). In the

Page 5: Virtual and remote laboratory of the ball and beam system

same way, the Speed tab shows, at the upper graphical, the evolution of the lineal velocity of the ball and, at the lower graphical, the evolution of the angular velocity of the beam.

Under both graphics a set of numerical fields that indicate the value of the different interesting variables of the process is showed. Specifically the following fields are available:

• Position [m] and Speed [m/sec]: They show the values of the lineal position and velocity variables of the ball at any time expressed in meters or meters by second, respectively.

• Reference: It shows the value of the desired set point. This is expressed in meters [m]. This field becomes an editing field if PID control is selected.

• Ang. Vel. [rd/s]: It shows the value of the angular velocity variable of the motor, expressed in radians by second.

• Time [seconds]: It shows the time instant corresponding to the simulation at any time, expressed in seconds.

• Theta [rd]: It shows the angular position of the motor, expressed in radians. This field becomes an editing field if manual control is selected.

Under these numerical fields a display that indicates the remaining time in minutes for operating with the plant if we are working at remote mode appears. This time will decrease during the course of the practice, in order that the student knows at any time the connection time to the plant that is available. However, in case of working at simulation mode this value will appear as 0 (see figure 3).

V. CONCLUSIONS The authors presented a novel connection between Easy

Java Simulations and C++ in order to develop the remote laboratory. In this approach has been used for developing a virtual and remote a laboratory for the Ball and Beam process. The approach presented has the advantage of using Easy Java Simulations for the model simulation and C++ for the low level control of the real process. EJS greatly simplifies the creation of the graphical part of a simulation and a simplified structure for the scientific description of the phenomenon under study; it is free software and allows interactive simulations. Moreover, it allows programming sockets which makes easy to implement remote labs with different programming tools at the server side for accessing the physical process (LabView®, Matlab®, C++). C++ allows a more efficient code and easy access to a huge variety of physical process.

Future work includes a complete "Systems Engineering and Control Web-based Laboratory" that will include different components (organized as guiding steps for a student and in an increasing order of complexity):

• Theoretical laboratory works where design techniques are explained (based on virtual laboratories)

• Process simulation frameworks to test the developed control abilities of the user (also based on virtual laboratories), and

• Remote industrial process control where tests on real systems can be observed (based on remote laboratories).

Some experiences have been achieved with students and some surveys have been picked up from the students in order to improve the lab.

ACKNOWLEDGMENT

The authors wish to acknowledge the support provided by the Network E-Automática funded by Spanish Ministry of Education under the project DPI2006-27217-E for partial funding of this work.

REFERENCES [1] Poindexter S.E., B.S. Heck, (1999) “Using the Web in your

Courses: What can you do? What should you do? IEEE Control Sytems Magazine, Vol. 19.

[2] Bersin, J. (2003) “What Works in Blended Learning”. American Society for Training & Development (ASTD).

[3] Valiathan, P. (2002) “Blended Learning Models”. American Society for Training & Development (ASTD).

[4] Smith, J. M. (2001) “Blended Learning” Executive Update Magazine. Greater Washington Society of Association Executives.

[5] Troha, F. J. (2002) “Bulletproof Instructional Design: A Model for Blended Learning”. USDLA Journal. A Refereed Journal of the United States Distance Learning Association. ISSN 1537-5080 Vol. 16, No.5.

[6] Huba, M., M. Simunek (2007) “Modular Approach to Teaching PID Control”. Trans. on Industrial Electronics, Vol.54, No. 6, pp. 3112-3121.

[7] Overstreet J. W., Tzes A. (1999). "An Internet-Based Real-Time Control Engineering Laboratory", IEEE Control Sytems Magazine, Vol. 19, pp. 19-34.

[8] Kapila, V., Tzes, A. (2003) Web-enabled mechatronics process control laboratory of the Mechanical, Aerospace, and Manufacturing Engineering Department at the Polytechnic University, Brooklyn, NY. http://mechatronics.poly.edu/MPCRL/.

[9] Shor, M., Bhandari, A. (1998) “Access to an instructional control laboratory experiment through the World Wide Web”. Proceedings of the American Control Conference, Philadelphia, PA, pp. 1319-1325.

[10] Gomes, L., Bogosyan, S. (2007) “SS on on e-Learning and Remote Laboratories within Engineering Education - First part” Trans. on Industrial Electronics, vol. 54, no. 6, pp. 3054-3056.

[11] ISA Training Institute (2003). ISA Distance Learning. http://www.isa.org.

[12] Siemens Energy & Automation (2003). Customer Training Courses. http://www.sea.siemens.com/training.

[13] Badersten, L. Avasjö, A. (1997) “Ericsson Company Sweden and Lund University” 13th EUCEN European Conference.

[14] SAE International (2003). “Online Manufacturing Courses from the Manufacturing Training Network (MTN)”. The Engineering Society For Advancing Mobility in Land, Sea, Air and Space.

[15] López, J. (1999) “Teleworking in a multinational environment” Proceedings of the Sixth International Conference on Intelligence in Services and Networks. IS&N’99 (Barcelona).

[16] Crossan, G., Burton, P. F. (1993) “Teleworking stereotypes: a case study”. Journal of Information Science. Vol. 19, No. 5, pp. 349-362.

[17] Norman, S. (1993) “Will telework for us? Library Association Record. Vol. 95 No.2 pp. 90-91.

[18] Katsura S., Ohnishi K., Ohishi K. (2007) “Transmission of Force Sensation by Environment Quarrier Based on Multilateral Control”. IEEE Transactions on Industrial Electronics, Vol. 54 (2), pp. 898 – 906.

Page 6: Virtual and remote laboratory of the ball and beam system

[19] Cushing, M. (2000). “Process Control across the Internet”. Chemical Engineering, May, 80-82.

[20] Rösch, O. J., K. Schilling, H. Roth. (2002). “Haptic interfaces for the remote control of mobile robots”. Control Engineering Practice, vol. 10, pp. 1309-1313.

[21] Luo, R. C., Chen, T. M. (2000). “Development of a multi-behaviour based mobile robot for remote supervisory control through the Internet”. IEEE Transactions on Mechatronics, Vol. 5(4), pp. 376-385.

[22] Marin, R.; Sanz, P.J.; Nebot, P.; Wirz, R. (2005). “A multimodal interface to control a robot arm via the web: a case study on remote programming”. IEEE Transactions on Industrial Electronics, Vol52 (6), pp. 1506-1520.

[23] Birk, A., Kenn, H.. (2002). “RoboGuard, a tele-operated mobile security robot”. Control Engineering Practice, vol. 10, pp. 1259-1264.

[24] Safaric, R.; Debevc, M.; Parkin, R.M.; Uran, S. (2001). “Telerobotics experiments via Internet”. IEEE Transactions on Industrial Electronics, Vol. 48(2), pp:424 – 431.

[25] Sala A., Vallés M, Díez J. L. (2006) “Remote TCP/IP-based process control with time-varying sampling period”. Proc. IEEE International Conference on Control Applications - CCA'06, Munich (Germany). pp, 2081-2086. I.S.B.N.: 0-7803-9796-7.

[26] Valera, A., Vallés, M., Díez, J. L., Albertos, P. (2005) “Dynamic Virtual and Remote Control Laboratory Development”. IEEE Control Systems Magazine, Vol. 25(1), pp. 35-39.

[27] Valera, A., Vallés, M., Díez, J.L. (2005) “Simulación y Control de Procesos Físicos de Forma Remota” Revista Iberoamericana de Automática e Informática Industrial, Vol. 2(2), pp. 20-29.

[28] Pires, V. F., Martins, L. S., Amaral, T. G., Marçal, R., Rodrigues, R., and Crisóstomo, M. M. (2008) “Distance-Learning Power-System Protection Based on Testing Protective Relays” IEEE Transactions on Industrial Electronics, Vol. 55, No. 6, pp. 2433-2438.

[29] The MathWorks Inc. (2006) “Matlab Builder for.NET 2.2.1 Product Overview “. http://www.mathworks.com/products/netbuilder

[30] The MathWorks Inc. (2007) “Matlab Builder for JavaTM 2.0 Product Overview “. http://www.mathworks.com/products/javabuilder.

[31] Sanchez, J., Dormido S., Pastor R., et al. (2004). “A Java/Matlab-based environment for remote control system laboratories: illustrated with an inverted pendulum” IEEE Transactions on Education, Vol. 47 (3), pp. 321-329.