The MAQ®20 Python API uses an object-oriented approach for communicating with MAQ20 systems, which provides an intuitive interface where the low-level Modbus commands are hidden from normal use. Users can focus on solving the measurement problems at hand, instead of re-inventing how to communicate with modules.

Before using the MAQ20 Python API, you may find it helpful to be acquainted with basic Python programming and understand the concept of objects.

MAQ20 data acquisition system
MAQ20 Python API GUI Example
  • Communication: to MAQ20 systems from a host PC.
  • Address offsetting: When a module is registered in a system, addresses are offset by 2000 * R, where R is the Registration Number. The API uses relative addressing for the modules, this means that when using low-level Modbus commands, 0 to 1999 are valid addresses.
  • Counts to Engineering units: the API reads information it needs to know at initialization to do this conversion.
  • Rounding: when dealing with small quantities such as millivolts it can get tedious to look at a bunch of trailing decimals. The API does meaningful rounding to any module up to 3 significant units of Eng. units per count.

Python API Download

Part Number Free Download Version File Size User Manual Description
MAQ20-960 Sign-in for free download 1.1 1.4MB MAQ20 API Python

Software and User Manual Downloads

Use the MAQ20 Software and User Manuals download center to access all MAQ20 Software.
  • Purchase Software License
  • Download Free Trials
  • Download No-Charge Software
Download Center

Frequently Asked Questions


I've noticed periodic positive and negative spikes in recorded temperature from my MAQ20-JTC module. How can I reduce these occurances?
The input to the MAQ20-JTC module is very sensitive. Movement of attached thermocouple wires can cause spikes in recorded data along with inherent noise present in different environments. Setting "Input Select" to the "Average" setting in ReDAQ Shape, or by direct Modbus commands can greatly reduce the variation in recorded channel data.

Signal Averaging can be set on a per-channel basis by configuring the Average Weight parameter. Average Weight is calculated as 2^x where x = 0 to 15 and the default value is x =0 . The running Average is calculated as follows: Average = Average + ((Sampled Value - Average) / Average Weight)

Some of your MAQ20 modules have a burst scan mode, can I run this mode continuously to improve system throughput?
Burst scan mode is intended to be used for debugging and signal profiling purposes. It can not run continuously. Burst scan mode can capture samples to memory in magnitudes of microseconds, but it does not have the ability to read this data back from memory at this same rate.

I'm unable to connect to my MAQ20 through an Ethernet connection. Is there a problem with my MAQ20-COM module?
To date there have been no occurrences of a MAQ20-COMx module being unable to be connected through an Ethernet connection as a result of an issue with the module's internal hardware/firmware. Connectivity issues can occur as a result of one, or a combination of the following factors: incorrect MAQ20-COMx settings, incorrect local network settings, incorrect host computer settings, network security settings, or IP address conflicts.

When shipped from factory, MAQ20-COMx modules come with the following default connectivity settings pre-loaded in memory:

IP Address: 192.168.128.100
Subnet Mask: 255.255.255.0
Gateway: 127.0.0.1
TCP Port: 502

Assuming the above-listed default settings are not changed, reserve a static IP address of 192.168.128.100 through your local network configuration. Assigning this IP address statically will ensure that no other devices on the network will be able to claim the IP address that is intended to be used by the MAQ20-COMx module.

If not using the default IP address, the statically reserved IP address on the local network MUST start with 192.168.xxx.xxx and MUST match the non-default IP address that was saved to MAQ20-COMx module memory located at start address 50. If you need to check the IP address saved at this register address you can connect to the MAQ20-COMx through a USB connection and use ReDAQ Shape to read the register address' contents. This functionality in ReDAQ Shape can be found by clicking the "Read / Write Modbus Registers" sub-tab located after clicking the main "Analyze" tab. No license for ReDAQ Shape is required to use this functionality. Please refer to the note at the bottom of this FAQ for the host computer requirements that MUST be met to allow for connectivity.

Alternatively, the MAQ20-COMx module can be set up for Ethernet connection using Dynamic Host Configuration Protocol (DHCP). To enable this functionality an IP address of 0.0.0.0 needs to be saved to the MAQ20-COMx's internal IP address register (Start address 50). You can write to this register through direct Modbus commands using the "Write Modbus Registers" feature located under the "Read / Write Modbus Registers" sub-tab in ReDAQ Shape. Changes to this address space will take effect upon power cycling the MAQ20 system. Once in DHCP mode, your local network will automatically assign an available IP address for the MAQ20-COMx module. You will need to access you local network configuration to determine what IP address was ultimately assigned to the MAQ20-COMx module. Once known, you can connect using the assigned IP address.

NOTE: In all motioned configurations the host computer that will be used to connect to the MAQ20-COMx module through the Ethernet connection MUST have an IP address of the form 192.168.xxx.xx (I.e. any IP address starting with 192.168. that does not match the one saved at start address 50 of the MAQ20-COMx module). The host computer MUST also have a Subnet Mask of 255.255.255.0.
Was this content helpful?    Yes / No

Don't see an answer to your question?

If you have a question that is not answered here, please submit your question using our Online Technical Support Assistance.