PLC LADDER SIMULATOR
  • Free Edition
  • Pro Edition
  • VIDEO TUTORIALS
  • Contact
  • MORE APPS
  • app-ads
In industry the PLC is the most important automation device because of its role as the brain in running industrial processes.  This brain uses a syntax to be able perform tasks in an orderly, sequential manner.
 
The native language of the PLC is called “ladder logic”.  Ladder logic is graphical, in that it can be laid out in a form that resembles a ladder with rails and rungs.  Ladder logic diagrams were developed originally from relay-circuit diagrams that were used for electronic circuitry prior to the advent of PLCs.
 
PLC Ladder Simulator is a simulator for the Android operating system with input and output objects that simulate the I/O ports of a real PLC.  You can used PLC Ladder Simulator to create ladder-logic diagrams using components from the standard set used in these diagrams.


Picture
Picture
Imagen
Get it on Google Play
IMPORTANT:  No refunds for the PRO EDITION will be made beyond 72 hours after its purchase if the problem is compatibility in Arduino mode.  The rationale for this is that you can use the free version of PLC Ladder Simulator to test and see if the Arduino is compatible with your version of PLC Ladder Simulator prior to purchasing the PRO version.

​DIFERENCES BETWEEN THE FREE AND THE PRO VERSION

The Pro version features compared with the Free version are:
  • Arduino Mega board available in Arduino mode.
  • Arduino Nano board available in Arduino mode.
  • Arduino Due board available in Arduino mode.
  • Arduino Pro Mini available in Arduino mode.
  • MH-ET LIVE ESP32 DevKit board in Arduino mode.
  • NodeMCU V3 LUA ESP8266 board in Arduino mode.
  • Export .PLC file for the PC PLC Loader tool (only for the Arduino UNO, Nano and Mega).
  • ROL ladder function.
  • ROR ladder function.
  • SCL ladder function.
  • No restriction for counters.
  • No restriction for timers.
  • ​No Ads.
  • 10 save slots for keep more designs with slot name customization.

PLC LADDER SIMULATOR HAS FOUR PARTS

The Variable Manager

Picture
The Variable Managers allows you to create and describe variables to be used in your ladder-logic diagram.

There are six types of variables:
  • Input: This variable type represents a physical input to a PLC like a push button or a switch.
  • Output: This variable type represents a physical output from the PLC, such as a relay coil or an indicator light.
  • Virtual: This variable type is used as an internal variable in the ladder-logic diagram.  That is, it is not plugged in directly to an input or output channel of the PLC.
  • INT: This variable type represents a 16-bit signed decimal number (-32768 to 32767).
  • DINT: This variable type represents a 32-bit signed decimal number (-2147483648 to 2147483647).
  • REAL: This variable represents a 32-bit floating-point number.

The Ladder Editor

The Ladder Editor is used to create your ladder-logic diagrams.  There are tools to add, edit, and delete objects.  The component library has 47 objects, such as a rung, a sub-rung, a normally open contact, a normally closed contact, a counter, a timer, etc.
 
Every rung will have a coil as its output.  When a rung is added, the coil is added automatically.  You choose the output variable that will be associated with that coil.
 
To add a contact, you must first have added a rung or a sub-rung upon which to add that contact.  After indicating that you want to add a contact, you touch the rung or sub-rung to which you want to add it.
Picture

PLC I/O Interface

The PLC I/O Interface appears when the ladder-logic diagram is simulated on your Android device.  The ladder-logic diagram appears on the upper part of the screen, the PLC I/O Interface below it.  It has in its upper part indicator lights that represent the PLCs output coils.  They turn yellow when the associated coil is high.  Below them is the row of PLC inputs.  You interact with your PLC simulation by pressing the switches or buttons that form the inputs.

If there are more inputs or outputs than can be displayed on the screen, you can slide them back and forth with your finger to see them. ​
Picture
It is also possible to have analog inputs, that is variables with values other than just high and low.  Values for these can be set by touching them and then sliding the slider bar that appears. ​
Picture

I/O Manager

The I/O Manager allows you to change the type of component associated with each input or output pin.

NOTATIONS

Notations refers to how switches, contacts, relay coils, etc. in the ladder-logic diagram relate to variables used internally in the PLC to execute its logic.  There are two variable syntaxes used in PLC Ladder Simulator:

PLC Notation 1

When this is chosen, PLC Ladder Simulator automatically adds 8 input variable, 8 output variables, and 24 virtual variables.  The tags (variable names) follow the variable naming standards of a commercial PLC manufacturer.
This is the type of notation that the variables will take.

Input variable:                   I0.1

Output variable:               O0.1

Virtual variable:                M0.1

PLC Notation 2

When this option is selected, PLC Ladder Simulator automatically adds again 8 input variables, 8 output variables, and 24 virtual variables.  The tags follow a different naming format, that of another commercial PLC manufacturer.
This is the type of notation that the variables will take.

Input variable:                   I:0/1

Output variable:               O:0/1

Virtual variable:                B3:0/1
In both naming conventions the user may change the tags (names) of the variables and add more variables as desired.

OBJECTS OF THE LADDER EDITOR

The Ladder Editor has 47 components that may be used to construct ladder-logic diagrams.

Rung

A rung is a horizontal current path that links the input rail to the output rail of a ladder-logic diagram.  Since all rungs must have at least one coil on their right side, a new rung is installed in the ladder-logic diagram comes automatically with a coil installed on it.
Picture

Sub-rung

A sub-rung is an alternative input path for a rung.  It is placed in parallel with an existing rung on the left, input side of the rung.  Contacts are then installed on it.
Picture

Contacts

A contact represents an electrical switch component.  A contact acts as an input on a rung.  It is associated with an input variable tag.
 
A normally open (NO) contact does not allow the flow of electricity in its non-activated state.  Current can pass through an NO contact only when it is activated or closed.
 
A normally closed (NC) contact allows current to pass when it is inactive.  When it is activated, it is opened, and this stops the flow of current.  Thus its operation is exactly opposite to that of an NO contact.
Picture

Coil

A coil represents an output, usually either a relay coil for starting a machine or an indicator light to show that it is on.  It is located on the right side of a rung.  A coil is associated with an output variable or a virtual variable. 
 
Whether the coil is on or not depends on whether current reaches it through the contacts, the inputs, on the left side of the rung or sub-rung.  Coils associated with output variables,, when activated in a simulation, will show this activation by illuminating in the PCL I/O Interface, described above.
 
The user can choose three different types of coils:
  • Output Coil: This is a normal coil, activated when supplied with current, deactivated when no current reaches it.
  • Latch Coil: This coil turns on when current reaches it, but it is latched.  When the current is cut off, it remains activated.
  • Unlatch Coil: This coil turns off when activated.  This is normally used to unlatch a latch coil.


Picture

The Counter

The counter counts things, namely the number of times the NO switch, associated with the Accumulator (Accum) variable, is closed.  It starts at 0 and counts up to a preset value, Preset.  When Accum reaches Preset, the output coil, DN for “done”, is set high.  There is a second input to the Counter, the Reset.  When Reset is set high, Accum is set back to 0 and DN is turned off.  There is also a second output from the counter (CU for “counter up”) that goes high whenever Accum is incremented.  It can be connected to an indicator to show the operator the incrementing of Accum as things are counted.
 
One installs the counter into an existing rung.  When a counter is installed, two DINT variables are created, one for Preset and one for the Accum.
Picture

The Timer

The timer marks time.  It is similar to the counter in that there is an Accum variable to count the seconds that have passed and a Preset variable, which is a preset span of time to be reached before some other process can begin.  The timer can be configured to work in three different ways.

  • Timer-On-Delay (TON) – The timer clock starts counting seconds in Accum when the NO input is set high.  When Accum reaches Preset, DN is set high.  When the NO input goes low, Accum is set back to 0.  This will happen regardless of whether Accum has reached Preset or whether counting is still under way.
  • Timer-Off-Relay (TOF) – This timer works just like the TON timer except that it starts when the input goes low.  When the input goes high, Accum is set back to 0.  Thus a TOF with a NC input works just like a TON with a NO input.
  • Retentive-Timer-On (RTO) – The RTO timer works like the TON timer except that if, during the counting, the NO input is set low, Accum retains its last value.  If the NO input is set again high, the timer starts timing again from the point that it left off.  To reset this timer, there is a second Reset input.  When it is set high, Accum is set back to 0.

Picture

​THE OTHER 34 FUNCTIONS 

There’s plenty of information on the Internet for the functionality of these functions.  You can check these two links (link1, link2) for detailed information on the operation of these functions.
​
  • EQU 
  • NEQ 
  • LES
  • LEQ 
  • GRT 
  • GEQ
  • LIM 
  • MEQ 
  • MOV
  • BSL
  • BSR
  • ROL
  • ROR
  • AND
  • OR
  • NOT
  • XOR
  • ADD 
  • SUB 
  • MUL 
  • DIV 
  • ABS 
  • SQR 
  • XYP 
  • ASN
  • ACS 
  • ATN 
  • COS 
  • LN  (natural log)
  • LOG (base-10 log)
  • SIN 
  • TAN 
  • SCP
  • SCL     

​
IMPORTAN TIPS:
  • MOV, SCP, and SCL are the only functions that can read and write analog pins.
  • The BSL, BSR, ROR, and ROL functions can make a direct bit shift on the digital output pins.  To use them you must select the least significant bit of the output pin in the “Variable (Output – INT - DINT)” section and in the length the number of bits where aims to the most significant bit.

HOW TO USE THE APP

MORE VIDEO TUTORIALS

HOW TO USE THE ANALOG INPUT PIN

Follow these steps to read analog data from an analog input pin and move it to a variable in your ladder program:
  1. Create a new project.
  2. Select a PLC notation.
  3. Open the I/O Manager from the main menu.
  4. Click the edit button (pencil).
  5. Select the input to edit.  (With a new project you will have only one input to choose.)
  6. Select “Analog” as the input type.
  7. Set the Resolution.
  8. Select the input range.
  9. Close the I/O Manager.
  10. Open the Ladder Editor from the main menu.
  11. Add the function MOV from “Logic Operation/Move”
  12. Select the place to locate it.  This will create a new rung with an NC switch and the MOV function in it.
  13. Add an INT variable with any name you like.  (We suggest “From AI” to demonstrate MOV.)
  14. In the “Destination” section of the MOV function select the INT variable created in point 13.
  15. In the “Source A” section of the MOV select the analog input pin (variable).
  16. Select OK.

The analog data of this analog input (AI) will be stored in the INT variable created in 13.

HOW TO USE THE ANALOG OUTPUT PIN

Follow these steps to write analog data to an analog output pin:
  1. Create a new project.
  2. Select a PLC notation.
  3. Open the I/O Manager from the main menu.
  4. Click the edit button (pencil).
  5. Select the output to edit.
  6. Select “Analog” as the output type.
  7. Set the Resolution.
  8. Select the input range.
  9. Close the I/O Manager.
  10. Open the Ladder Editor from the main menu.
  11. Add the function MOV from “Logic Operation/Move”
  12. Select the place to locate it.
  13. Add an INT variable named “From AI”.
  14. In the “Source A” section of the MOV select the variable with the data to write onto the analog output pin.
  15. Select OK.
 
IMPORTANT:  The MOV, SCP, and SCL functions are the only ones that can write onto an analog output pin.
​

HOW TO USE A SERVO MOTOR (Arduino mode)

In order to use a servo motor you must:
  1. Create a new project.
  2. Select a PLC notation.
  3. Open the I/O Manager from the main menu.
  4. Tap the edit button (pencil).
  5. Select the output to edit.
  6. Select “Servo motor” in the input type.
  7. Close the I/O Manager.
  8. Open the Ladder Editor from the main menu.
  9. Add the function MOV from “Logic Operation/Move”
  10. Touch the place to set it.
  11. In the “Destination” section of the MOV function select the servo motor pin.
  12. In the “Source A” section of the MOV set or select the variable with the data to write into the servo motor pin.
  13. Select OK.
 
IMPORTANT: The MOV, SCP and SCL functions are the only ones that can write into servo motor pins.

ARDUINO MODE (V1.3)

Picture
PLC Ladder Simulator PRO features an unique option available in the world and it's the possibility of program an Arduino board with a ladder design using an Android phone. So actually what it does is that transforms an Arduino into a PLC (Programmable Logic Controller).

The Arduino mode it's compatible with the Arduino UNO (atmega328), MEGA (atmega2560), NANO (atmega328), DUE, Pro Mini, M5Stack ESP32, MH-ET LIVE ESP32 DevKit and NodeMCU V3 LUA ESP8266. In order to program the board with the PLC Ladder Simulator Pro the Arduino must be already programed with a firmware, this firmware is an Arduino sketch an can be downloaded from this website. The firmware allows the communication between the board and the android, it also executes a ladder interpreter program that runs the ladder design stored in the EEPROM memory of the board.
​
As was mentioned above the ladder design is stored in the EEPROM memory of the Arduino board. It's good to know for the users that according whit the datasheets of the atmega328p and the atmega2560, the memory EEPROM have a total of 100,000 Write/Erase cycles compared with the 10,000 cycles of the FLASH memory. The Flash memory is where the normal Arduino sketch is stored.
​
The operation of this mode is the same as the normal mode, before programming the Arduino board there must be a ladder design.
IMPORTANT:  No refunds for the PRO EDITION will be made beyond 72 hours after its purchase if the problem is compatibility in Arduino mode.  The rationale for this is that you can use the free version of PLC Ladder Simulator to test and see if the Arduino is compatible with your version of PLC Ladder Simulator prior to purchasing the PRO version.

Required Arduino libraries

The following steps are not required for the Arduino UNO, NANO and PRO Mini. For the other boards are mandatory.
​
  1. Open the Arduino IDE.
  2. Open the Manage Libraries from Sketch > Include Library menu.
  3. Search and install the library “DueFlashStorage” by Sebasitan Nilsson.
  4. Search and install the library “Time” by Michael Margolis.
  5. Search and install the library “DS1307RTC” by Michael Margolis.
  6. Search and install the library “Ethernet2” by Various.
  7. Search and install the library “M5Stack” by M5Stack.
Picture

BOARDS COMPATIBLE WITH PLC LADDER SIMULATOR

Arduino UNO

The characteristics of this board using the PLC Ladder Simulator app are:​
  • 8 inputs
  • 8 outputs
  • 32 virtual variables
  • 16 INT variables
  • 16 DINT variables (not available with the HMI firmware)
  • 8 REAL variables (not available with the HMI firmware)
  • 4 counters
  • 4 timers
  • Not compatible with the ASN, ACS, ATN, LN, LOG, ROL, ROR and SCP functions.
  • This firmware (Arduino sketch) it's not compatible with the ArduinoDroid app (Arduino IDE for Android) .
firmware_uno_v1.3.zip
File Size: 13 kb
File Type: zip
Download File

firmware_uno_v1.2.ino
File Size: 131 kb
File Type: ino
Download File

Picture
Arduino UNO pinout diagram.
Picture
Arduino UNO in Bluetooth connection.

Arduino Mega

The characteristics of this board using the PLC Ladder Simulator app are:​
  • 16 inputs
  • 16 outputs
  • 55 virtual variables
  • 32 INT variables
  • 55 DINT variables
  • 32 REAL variables
  • 16 counters
  • 16 timers
  • Compatible with all the functions.
firmware_mega_v1.4.zip
File Size: 20 kb
File Type: zip
Download File

firmware_mega_bluetooth_v1.4.zip
File Size: 20 kb
File Type: zip
Download File

firmware_mega_ethernet_v1.3.zip
File Size: 21 kb
File Type: zip
Download File

firmware_mega_v1.2.ino
File Size: 172 kb
File Type: ino
Download File

firmware_mega_ether_v1.2.ino
File Size: 173 kb
File Type: ino
Download File

Picture
Arduino Mega pinout diagram.
Picture
Arduino MEGA in USB connection.
Picture
Arduino MEGA in Bluetooth connection.
Picture
Arduino UNO in LAN connection.

Arduino Nano

The characteristics of this board using the PLC Ladder Simulator app are:​
  • 8 inputs
  • 8 outputs
  • 32 virtual variables
  • 16 INT variables
  • 16 DINT variables (not available with the HMI firmware)
  • 8 REAL variables (not available with the HMI firmware)
  • 4 counters
  • 4 timers
  • Not compatible with the ASN, ACS, ATN, LN, LOG, BSR, ROL, ROR and SCP functions.
  • ​This firmware (Arduino sketch) it's not compatible with the ArduinoDroid app (Arduino IDE for Android) .
firmware_nano_v1.3.zip
File Size: 13 kb
File Type: zip
Download File

firmware_nano_v1.2.ino
File Size: 126 kb
File Type: ino
Download File

Picture
Picture
Arduino Nano in Bluetooth connection.

Arduino Pro Mini

The characteristics of this board using the PLC Ladder Simulator app are:​
  • 8 inputs
  • 8 outputs
  • 32 virtual variables
  • 16 INT variables
  • 16 DINT variables (not available with the HMI firmware)
  • 8 REAL variables (not available with the HMI firmware)
  • 4 counters
  • 4 timers
  • Not compatible with the ASN, ACS, ATN, LN, LOG, BSR, ROL, ROR and SCP functions.
  • ​This firmware (Arduino sketch) it's not compatible with the ArduinoDroid app (Arduino IDE for Android) .
firmware_pro_mini_bluetooth_v1.0.zip
File Size: 13 kb
File Type: zip
Download File

Picture
Picture
Arduino Pro Mini in Bluetooth connection.

Arduino Due

The characteristics of this board using the PLC Ladder Simulator app are:​
  • 16 inputs
  • 16 outputs + 2 DAC 
  • 55 virtual variables
  • 55 INT variables
  • 55 DINT variables
  • 55 REAL variables
  • 24 counters
  • 24 timers
  • Compatible with all the functions.

The Arduino Due it’s not installed by default in the Arduino IDE, here you can find a guide on how to install it in the Arduino IDE. 

Warning: Unlike most Arduino boards, the Arduino Due board runs at 3.3V. The maximum voltage that the I/O pins can tolerate is 3.3V. Applying voltages higher than 3.3V to any I/O pin could damage the board.
firmware_due_bluetooth_v1.0.zip
File Size: 20 kb
File Type: zip
Download File

firmware_due_ethernet_v1.0.zip
File Size: 22 kb
File Type: zip
Download File

Picture
Picture
Arduino Due in Bluetooth connection.
Picture
Arduino Due in LAN connection.

M5Stack ESP32

The characteristics of this board using the PLC Ladder Simulator app are:​
  • 3 inputs
  • 4 outputs
  • 55 virtual variables
  • 32 INT variables
  • 55 DINT variables
  • 32 REAL variables
  • 16 counters
  • 16 timers
  • Compatible with all the functions.

In order to use this board with the PLC firmware, the Arduino IDE must be configured to work with it, here you can find a guide on how to install the Arduino core for the ESP32. 

Button A: enables HMI mode.
Button C: changes screen display brightness.

Warning: This board runs at 3.3V. The maximum voltage that the I/O pins can tolerate is 3.3V. Applying voltages higher than 3.3V to any I/O pin could damage the board.
firmware_m5stack_v1.0.zip
File Size: 24 kb
File Type: zip
Download File

Picture

MH-ET LIVE ESP32 DevKit

The characteristics of this board using the PLC Ladder Simulator app are:​
  • 8 inputs
  • 8 outputs
  • 55 virtual variables
  • 32 INT variables
  • 55 DINT variables
  • 32 REAL variables
  • 16 counters
  • 16 timers
  • Compatible with all the functions.

​In order to use this board with the PLC firmware, the Arduino IDE must be configured to work with it, here you can find a guide on how to install the Arduino core for the ESP32. 

Warning: This board runs at 3.3V. The maximum voltage that the I/O pins can tolerate is 3.3V. Applying voltages higher than 3.3V to any I/O pin could damage the board.
firmware_mh_et_live_esp32_v1.0.zip
File Size: 22 kb
File Type: zip
Download File

Picture

NodeMCU V3 LUA ESP8266

The characteristics of this board using the PLC Ladder Simulator app are:​
  • 4 inputs + 1 ADC (0 - 1.0V)
  • 2 outputs
  • 55 virtual variables
  • 32 INT variables
  • 55 DINT variables
  • 32 REAL variables
  • 16 counters
  • 16 timers
  • Compatible with all the functions.

​In order to use this board with the PLC firmware, the Arduino IDE must be configured to work with it, here you can find a guide on how to install the Arduino core for the ESP32. 

Warning: This board runs at 3.3V. The maximum voltage that the I/O pins can tolerate is 3.3V. Applying voltages higher than 3.3V to any I/O pin could damage the board.
firmware_nodemcu_esp8266_v1.0.zip
File Size: 23 kb
File Type: zip
Download File

Picture

Important points when using a Bluetooth module

  • The compatible Bluetooth modules for the moment are the HC-05 and the HC-06, but feel free to test with other modules.
  • The Bluetooth module must be configured to work at a baud rate of 9600.
  • Connect the RX pin of the BT module to the TX0 pin (TX1 in the NANO) of the Arduino, and the TX pin of the BT module to the RX0 pin of the Arduino.
  • Unplug the RX and TX pins of the Bluetooth module before uploading a firmware.

Important points when using an Ethernet module

  • Remember to change the ip, gateway and subnet of the "firmware_mega_ethernet_v1.3.ino" file with the data of your LAN before uploading it to the Arduino board.
  • The port number for the LAN connection is 23.

​RTC (Real Time Clock)

The RTC is a clock that keeps track of the current time, this allows to execute certain actions in the PLC when some variables match a certain date or time. The compatible RTC modules are the DS1307, DS1337 and DS3231.

​The DS1307 module only works with 5 volts. The DS1337 and DS3231 can work with 3.3 or 5 volts. It's recommended to use the DS3231 due it can work with all the compatible boards and it have more accuracy in comparison to the other modules.

​The RTC feature can be activated by setting the “enabledRTC” variable to true in the firmware sketch before it’s uploaded into the board.


​The RTC feature is enabled by default for the M5Stack ESP32, MH-ET LIVE ESP32 DevKit and NodeMCU V3 LUA ESP8266. This boards have a built-in RTC that is updated every time the board is power-up, but they required to be connected to the internet to do so. For the other boards the RTC is updated with the current time when the ladder design is uploaded from the Android device.

The RTC can be updated to the current time manually by using the app, this option is available in Arduino mode, just connect the board to the Android device and then press the “Update RTC” option from the menu.
​
Set your time zone GMT in the “clockGMT” variable before the firmware is uploaded to the Arduino board, a list of zones and GMT is available in the firmware.
Picture
Enable RTC module in firmware sketch.
Picture
Manual RTC update.

​Set WiFi on board

The M5Stack ESP32, MH-ET LIVE ESP32 DevKit and NodeMCU V3 LUA ESP8266, come with integrated WiFi support, no extra modules are required to enabled the WiFi feature.
​
To set and enabled the WiFi feature the network name and the password must be entered in the “ssid” and “password” variables.
Picture
Set WiFi in firmware sketch.

​To determine the IP address assigned to the board, connect the board to the PC, open the Arduino IDE, select the serial port of the board, open the “Serial monitor”, set it at 115200 bauds and reset the board. The assigned IP address will be displayed.

​In the M5Stack ESP32 the assigned IP address will be displayed in the display screen when the board it’s booting.
Picture

How to use and upload the PLC design over USB

Important: In the new version of the firmware it’s not required to reset the board once is connected to the Android device, the feature of 8 seconds of the blinking led L (pin 13 ) was removed, the board can be programmed any time after it’s connected to the Android device.
The process of making a design in this mode is:
  1. Write the PLC Arduino firmware into the Arduino board using the Arduino IDE. (The firmware can be downloaded below)
  2. Open the PLC Ladder Simulator app.
  3. Touch the menu button and press the New Project option.
  4. In the window New Project select Arduino mode.
  5. Select the Arduino board for the project. 
  6. Open the Ladder editor from the menu.
  7. Use the rungs and objects to create the ladder design by adding it with the plus icon. 
  8. Close the Ladder editor from the menu button.
  9. Touch the play icon to simulate design for testing.
  10. Save the design by touching the menu and selecting the Save design option.
  11. Select one slot to save. 
  12. Close the app by selecting the Exit option from the menu. 
  13. Plug the Arduino board to the cell phone using an OTG USB cable.
  14. Open the PLC Ladder Simulator Pro.
  15. Load the Arduino design by selecting the Load Design from the menu.
  16. Press the USB icon and wait 2 seconds. 
  17. Press the burn icon (write to Arduino).
  18. If there's an error while writing the design to the Arduino or the design is not saved well in the board, unplug the Arduino from the Android device and close the PLC Ladder Simulator Pro app, repeat the process from the step 16.
  19. Be happy and enjoy.
'> Picture
Step 4.
Picture
Step 6.
Picture
Step 11.
Picture
Step 13.
Picture
Step 17.
Picture
Step 5.
Picture
Step 7.
Picture
Step 12.
Picture
Step 16.

How to upload the PLC design over Bluetooth

Important: In the new version of the firmware it’s not required to reset the board once is connected to the Android device, the feature of 8 seconds of the blinking led L (pin 13 ) was removed, the board can be programmed any time after it’s connected to the Android device.

How to upload the PLC design over LAN

CAN’T BURNT THE DESIGN INTO THE ARDUINO?

Check this possible solutions:
​
  • Close the app, turn off your Android device and turn it on again (hard shutdown).
  • Install and use the last version of the Arduino IDE from https://www.arduino.cc/ (V 1.8.4 or later)
  • Upload the last Arduino sketch (firmware) of PLC Ladder Simulator available in this site into the Arduino board.
  • It’s very important to open the app with the pop-up message that appears once Arduino board is connected to the Android device, if the pop-up message is canceled and the app is open manually, this will not recognize the Arduino board.
  • Enable the USB Debugging setting in the Android device, sometimes this fix the issue.
  • Don’t use an Arduino clone with the CH340 USB chip, will not work.
  • Xiaomi phones will not detect the Arduino board over USB. Use Bluetooth or LAN alternative connection.
  • Use the PLC Loader for PC.

THE ANDROID DEVICE DOES NOT RECOGNIZE THE ARDUINO BOARD?

If the Arduino board does not turn on and doesn't pop up a message to open the app when is connected to the Android device with the OTG USB cable, the following steps could fix it:
​
  1. Power up the Arduino board with an external power supply.
  2. Connect the Android device to a PC.
  3. Wait 20 seconds.
  4. Disconnect the Android device from the PC.
  5. Plug the Arduino board to the Android device with the USB OTG cable.
  6. Android should recognize the Arduino board by displaying a pop-up message once is plugged.
  7. If nothing happened when the Arduino board is plugged to the Android device, turn the off the Android device with a hard shutdown and try again from the point 2.

HMI Controller for Arduino app

Picture
​The HMI Controller for Arduino is an application for the Android OS that allows you to connect your Arduino board with your Android device in an easy way, it can be connected over Bluetooth or LAN (Local Area Network).

Make your own customizable HMI in the app without the need of a computer, you can select from eight different objects (widgets): button, switch, led, display 7-segments, numeric display, bar indicator, slider and graph.
 
PLC Ladder Simulator it's compatible with the HMI Controller for Arduino app when using it in the Arduino mode, this is the best complement for your PLC Arduino projects.

For more information on how to use HMI Controller for Arduino go to the main page of the app.
To enable the HMI feature in the Arduino UNO, NANO and PRO Mini, the board should be uploaded with a PLC firmware with HMI enabled.  Here you can find some videos on how to use the HMI app with the Arduino mode.
​
  • Arduino UNO with Bluetooth connection -> firmware_uno_hmi_v1.1.ino
  • Arduino NANO with Bluetooth connection -> firmware_nano_hmi_v1.1.ino
  • Arduino PRO Mini with Bluetooth connection -> firmware_pro_mini_hmi_v1.0.ino
firmware_uno_hmi_v1.1.zip
File Size: 14 kb
File Type: zip
Download File

firmware_pro_mini_hmi_v1.0.zip
File Size: 14 kb
File Type: zip
Download File

firmware_nano_hmi_v1.1.zip
File Size: 14 kb
File Type: zip
Download File

To enable the HMI feature for the Arduino DUE, Arduino MEGA, the NodeMCU V3 ESP8266 and the MH-ET LIVE ESP32, you should set to “true” the “enableHMImode” variable in the firmware sketch before it’s uploaded into the board. When the HMI mode is enabled the user only has 15 seconds to load a new ladder design to the board once the board is turn it on. After the 15 seconds the board can connect to the HMI app.

For the M5Stack ESP32 the HMI mode is enabled by pressing for a few seconds the A button. When is active the “HMI” word in red will be shown.
​
Important: The port number for the LAN connection is 23.
Picture
"enableHMImode" variable in the firmware sketch.
The relation between the HMI widgets and the PLC variables are this:
  • Button: Output, virtual(bool)
  • Switch: Output, virtual(bool)
  • Slider: INT, DINT, REAL.
  • Led: Input, Output, Virtual(bool)
  • Display 7 segments: INT, DINT, REAL.
  • Numeric Display: INT, DINT, REAL.
  • Bar Indicator: INT, DINT, REAL.
  • Graph: INT, DINT, REAL.
 
The variables of type DINT and REAL are not available in the Arduino UNO, NANO and PRO Mini for the HMI mode.
 
When using the HMI app in "PLC Ladder App Mode" the users doesn’t need to use any of the HMI app commands in order to manage the communication, the PLC firmware in the Arduino is in charge of the synchronization and management of the communication.

PLC Loader (v1.0)

​The PLC Loader is a tool that allows to upload the ladder design to the Arduino board using a PC, this software is useful for users that have issues trying to upload the ladder design into the Arduino board directly from the Android device.

​After the .PLC file is exported, the file is saved inside the "Arduino mode" folder located in the "PLC Data" folder of the Android device.

This feature is compatible only with Arduino UNO, NANO and MEGA.

Note 1: PLC Loader is compatible only with Windows.
Note 2: Compatible only with JRE (Java Runtime Environment) version 8u144.
plcloader_v1.0_x64.zip
File Size: 125 kb
File Type: zip
Download File

plcloader_v1.0_x86.zip
File Size: 120 kb
File Type: zip
Download File

Picture

Firmwares

firmware_uno_v1.3.zip
File Size: 13 kb
File Type: zip
Download File

firmware_nano_v1.3.zip
File Size: 13 kb
File Type: zip
Download File

firmware_mega_v1.3.zip
File Size: 19 kb
File Type: zip
Download File

firmware_mega_bluetooth_v1.3.zip
File Size: 20 kb
File Type: zip
Download File

firmware_mega_ethernet_v1.3.zip
File Size: 21 kb
File Type: zip
Download File

firmware_pro_mini_bluetooth_v1.0.zip
File Size: 13 kb
File Type: zip
Download File

firmware_due_bluetooth_v1.0.zip
File Size: 20 kb
File Type: zip
Download File

firmware_due_ethernet_v1.0.zip
File Size: 22 kb
File Type: zip
Download File

firmware_nodemcu_esp8266_v1.0.zip
File Size: 23 kb
File Type: zip
Download File

firmware_mh_et_live_esp32_v1.0.zip
File Size: 22 kb
File Type: zip
Download File

firmware_m5stack_v1.0.zip
File Size: 24 kb
File Type: zip
Download File


Picture
© 2017 Sergio Daniel Castañeda N . All rights reserved. 
Powered by Create your own unique website with customizable templates.