Tools

What is RENodeJSLab?

RENodeJSLab is a software tool that has been especially designed to develop a web-page server for remote control experiments using Node.js to develop the web server of the laboratory, Easy Java Script Simulation (EJsS) to parametrize and observe the behaviour of different controllers implemented as TwinCAT Programable Logic Controllers (PLCs), LabView Visual Interfaces or C/Java/python coded applications. In other words, it is a set of software libraries and programs sets up a laboratory Node.js-based web server and that lets the students interact with a remote web-based laboratory, navigate through different webpages, and remotely access, by means of friendly-user HTML5+JavaScript web-pages developed in EJsS, to the parametrization/observable variables of the TwinCAT PLCs/LabView VI or control applications implemented by the professors.

The combined use of all these tools, well-known in the industry and/or education lets RENodeJSLab exploit the best of both worlds: Node.js capabilities provide efficient support to data-intensive interactions with the laboratory webpages from different types devices and web-browsers, the TwinCAT system by Beckhoff or LabView allow the development of different types of real time controllers while the C/Java/python coded applications provide an open source approach to the development of low cost controllers, and the authoring and graphicals elements of the EJsS speed up the development of the students graphic user inferface/webpage of the controllers. Besides, our Node.js server also restricts the access to the lab to the students, provides information about the experiences, stores the experimental data in different files, etc.

The elements of this approach, which is explained in detail here, are presented in the following picture, where the web-serve and their web-pages is represented Finally is worth noting that this software, that is being succesfully used in the remote control laboratory of the subjects of Control Systems and Digital Control at the Universidad Complutense of Madrid, is a natural extension of EJS+TwinCAT, as it substitute its EJS obsolete applets with modern EJsS HTML5 webpages and supports the development of a bigger range of controller backends.

RENodeJSLab General Schema

 

What is EJS+TwinCAT?

EJS+TwinCAT is a software tool that has been especially designed to develop real-time remote control experiments using Easy Java Simulation (EJS) applets to parametrize and observe the behaviour of different controllers implemented as TwinCAT Programable Logic Controllers (PLCs). In other words, it is a set of software libraries and programs that lets the students remotely access, by means of friendly-user applets developed in EJS, to the parametrization/observable variables of the TwinCAT PLCs implemented by the professors.

The combined use of these two well-known tools in the industry and education lets EJS+TwinCAT exploit the best of both worlds: the TwinCAT system by Beckhoff with its different types of real time controllers and the authoring and graphich user inferface elements of the EJS applets. Besides, by the inclusion of an intermediate application that acts as a experiments server, our tool permits the access to the PLCs from any computer running the EJS applet and ensures that only one student can gain access to the PLC.

The elements of this approach, which is explained in detail here, are presented in the following picture, where the EJS applets are running in the left students PCs placed anywhere, the intermediate application runs in the practice server, and the PLCs developed by the professors run in the TwinCAT industrial PCs. Finally is worth noting that this software has been succesfully used in the remote control laboratory of the subjects of Control Systems and Digital Control at the Universidad Complutense of Madrid.

EJS+TwinCAT General Schema

 

What is the USBLab?

The USBLab is an interfase highly reconfigurable board that supports the connexion of different types of hardware (including a big variety of sensors and actuators) to the USB port of a PC with Windows and the communication of the PC and the hardware using different programming languages such as C, Matlab and Simulink. In other words, it is a hardware and software tool that permits any PC running Windows with a USB port control or monitorize the behaviour of a big variety of hardware elements.

The USBLab hardware is developed around the PIC16F877, a microcontroller by Microchip, which supports the configuration of its pins as digital inputs/outputs, analog outputs, PWM outputs, serial RS-232 and I2C ports, and the control of all these signals by means of a program developed in C or ensambler. Moreover, Microchip also provides the PC drivers and the microcontroller C program that permits the exchange of information between the PC and the micro through the USB. Our set of template projects for the board extends the functionality of the code provided by Microchip to facilitate the control of the USBLab through a USB, radio, serial, bluetooth or I2C connexion. Our C, Matlab and Simulink software librarites for Windows permit the communication of a PC with several USBLabs under all the connexion possibilities. Moreover, in order to extend the hardware possibilities of the USBLab, we have developed a set of extension boards that permit, for instance, that its input/output analog signals have the correct range for an analog circuit application or to control a USBLab remotely.

The following pictures show some of the USBLab elements used in the laboratory of Control System, Digital Control and Robotics at the Universidad Complutense of Madrid. In the first, the USBLab is connected to a PC with Windows that controls the analog circuit from Simulink by means of the USBLab connected to the PC through the USB and to the analog circuit through the analog extension board. In the second, the PC is connected through the USB to a USBLab acting as a server that redirects the PC orders to a client USBLab that is connected to a robot. With this setup, the PC is able to control the robot remotely.

USBLab General Schema 1

USBLab General Schema 2