Print

ACE-GTW-4G How to update the ACE PLC program via MQTT

 

Save the vProject.vCompiled file from vBuilder

Rename, add a password and Zip the vProject.vCompiled

  • Rename the file to aceprogram.vCompiled
  • Zip the file and add a password with the 7-Zip software
    • we get the file aceprogram.zip

Copy the aceprogram.zip on a WebServer

  • You need a http web server to copy the aceprogram.zip file to
    • Here, we use WinSCP as FTP Client for copy the file to the web server
  • After copying it, check if you can download it via any browser (Firefox, Chrome,…)

Add the MQTT topic to enable the ACE program update to be triggered remotely

  • The MQTT Topic to Subscribe
    • Example: update/4ggateway/ace-update
    • can be any topic of your choice
  • Predefined name of the function
    • ACE_PLC_Update
    • Imposed, must be exactly this one

Trigger the ACE program remote update from any MQTT Client

  • The test Broker in our example: broker.emqx.io
  • Topic used in our example: update/4ggateway/ace-update
  • The Payload in our example: https://www.support.aceautomation.eu/demo 'mypassword'
    • Directory where is the aceprogram.zip file: https://www.support.aceautomation.eu/demo
      • The directory only! Not the link to the file!
    • The zip password used in our example: mypassword

Here, we use the MQTT-Explorer software as MQTT Client for send the comand to update the ACE program:

 

ACE PLC Program update successful!

  • ACE_PLC_Update
  • Check URL to file(s)
  • Download aceprogram.zip file from server
  • Unzip aceprogram.zip file with password
  • Archive: /tmp/aceprogram.zip
  • inflating: /tmp/aceprogram.vCompiled
  • aceprogram.vCompiled seems OK:Found .vio in file
  • Paused Modbus/MQTT tasks
  • Upload progam.vCompiled in ACE PLC
  • Transfer file ……Successful
  • Upload progam.vCompiled done
  • Modbus/MQTT restart