This information is provided “as-is” without any explicit or implied warranties as to its accuracy, safety, and applicability to any specific purpose. The author should not bear any responsibility for any use given by third parties to this information, and to the devices herein described. The user of this information and the devices herein described shall assume all risks and full responsibility for all aspects of their assembly and use.
Anybody building this controller must observe all standard laboratory/workshop safety practices, such as wearing adequate personal protective equipment, and must be conscious of all electrical hazards present. The equipment described here can pose risks of electric shocks, arcs, and fires if it is not properly assembled and operated. Electrical connections (especially those involving voltages higher than 50V) should always be done by persons qualified to do so, and knowledgeable about safe practices, such as proper grounding, proper isolation of potential shock sources, the use of fuses or circuit breakers to protect against short circuits and over-currents, etc.
The following components are needed to setup a WAGO-based solenoid valve controller. Some vendors shown on the table are specific to Northern California, and the prices are from those vendors. You will have to find vendors and specific prices for your area.
The best solenoid valves to use with this controller are the Festo ones, listed in the Solenoid Valves page. The valve wires are connected directly to the digital output modules, without the need for connectors.
WARNING: Do not connect 12V solenoids to this controller!
A WAGO web page containing all the datasheets and manuals of the System 750 devices is here, and the following are links to the manuals of the specific devices used here:
To assemble all the modules together, follow this sequence (see this animation and section 5 of the Controller manual):
Instructions on the electrical connections for the different WAGO components can be found on their respective manuals. Power must be supplied to both the Fieldbus Controller and to the first digital output module.
IMPORTANT: The digital output modules deliver 24V DC, so make sure to connect only 24V solenoids to these modules. Additionally, the digital output modules already have freewheeling diodes, so the solenoid valves do not have to include diodes. See the Solenoid Valves page for a list of solenoid vendors and models.
Before a computer can communicate with the Fieldbus Controller, a valid IP address must be assigned to it. The easiest way to do this is using the BootP Server available for download from WAGO here. Follow this sequence, or watch this tutorial video:
Unless you want to use BootP to set the IP address every time you turn the Controller on, the BootP port should be disabled after setting the IP address for the first time:
It is important that the Connection Watchdog be disabled on the Controller. If the watchdog is active, it will disconnect from the computer after a short period of inactivity. Follow these steps to disable it:
IMPORTANT: To have the Controller recognize the digital output modules, and click on the "I/O Config" link on the left side of the main Web-based configuration page. Then click the button that says "create ea-config.xml". After than, the table on the I/O Config page should display the right number of digital output modules.
This is a simple Matlab function that performs basic valve control using the WAGO device: wagoNModbus.m
This code takes advantage of nested functions and the persistence of function workspaces when using handles to nested functions, as described by this example. This way of programming approximates the object oriented paradigm without using classes.
NOTE 1: This function uses the free NModbus Library. Download the latest version of the compiled NModbus package (not the source), and extract all the files to a folder called NModbus inside the same folder where you put the wagoNModbus.m file.
NOTE 2: The NModbus library is built using the .NET framework, which is only supported by Matlab R2009a and later releases. The wagoNModbus function will NOT work if you have a Matlab release earlier than R2009a.
This is a simple script for testing the wago function: wago_object_test.m
Please check this page every once in a while to see if there are updates to this code. Sometimes we find and fix bugs, or add extra functionality.
The software/code you can download on this web site is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
By using this information and/or downloading the software/code, you agree to cite/acknowledge Rafael Gómez-Sjöberg, Microfluidics Lab, Lawrence Berkeley National Laboratory, Berkeley, CA 94720, in all publications that describe any work that used or was made possible by the information on this web-site.