Portenta Machine Control Modbus TCP

Has anyone tried here how to communicate Arduino Portenta Machine Control to Ignition using modbus TCP

1 Like

We also have an Arduino PMC and would like to see if you’ve made any headway on this. I haven’t gotten to mess around with it much yet but would love to use it for smaller projects.

Sounds like you two are blazing a trail for the rest of us. Please share what you've tried and the results you are getting (in detail). Modbus TCP is a pretty simple protocol--I'm sure we can figure it out.


I managed to make the Arduino PMC work on Ignition. Here is how I made it work:

  1. I used OpenPLC as my IDE, instead of the native Arduino PLC IDE.

  2. Start creating your program

  3. Click the Upload program to Arduino board on the OpenPLC

  4. Select the proper Board type, COM Port, tick the Enable Modbus TCP and select Ethernet as Interface, assign your IP address, Subnet and Gateway.

  5. Click the Upload, at first time upload, you'll noticed that it will take some time usually around 15-20minutes to finish, as it will also upload the ethernet sketch onto your board.

  6. Once done, go to your Ignition Gateway and create a new device connection using Modbus TCP as a device type.

  1. Address configuration, you may refer to OpenPLC website about the modbus addressing but here is how I used the addressing:
  • IX for Inputs

  • QX for Coil Outputs

  • QW for analog signals

  • For memory bits, use the next available bit after the last physical bit address. For example, in the Arduino PMC, there is only 8 physical output bit address(QX1 to QX8) then QX9 to QX16 will now be allocated for Memory RW bits.

I hope my instruction make sense and can provide you a lot of help on your project :slight_smile:

1 Like