OpenPLC-with-LDmicro/C2/Simulation-and-Compilation/English

From Script | Spoken-Tutorial
Jump to: navigation, search
Visual Cue
Narration
Slide 1:

Welcome Slide

Welcome to the spoken tutorial on Simulation and Compilation in LDmicro.
Slide 2:

Learning Objectives

  • Simulate a ladder diagram
  • Compile a ladder diagram in LDmicro
In this tutorial, we will learn how to
  • Simulate a ladder diagram and
  • Compile a ladder diagram in LDmicro
Slide 3:

System Requirements

  • Ubuntu Linux 18.04 operating system
  • LDmicro
To record this tutorial I am using:
  • Ubuntu Linux 18.04 operating system
  • LDmicro
Slide 4: Pre-requisites
  • How to create a ladder diagram in LDmicro
  • If not, please refer to the relevant tutorials in this series from Home | spoken-tutorial.org
To follow this tutorial, you should know
  • How to create a ladder diagram in LDmicro.
  • If not, please refer to the relevant tutorials in this series on this website.
First we will know about LDmicro simulator.
Slide 5:

LDmicro - Simulator

  • LDmicro has an in-built simulator
  • It helps us to verify ladder diagram before experimenting on the actual hardware.
  • It reduces the hardware damage due to improper code
  • LDmicro has an in-built simulator.
  • It helps us to verify ladder diagram before experimenting on the actual hardware.
  • It reduces the hardware damage due to improper code.
narration Now, we’ll see how to simulate a ladder diagram.

We will use the ladder diagram file, sample.ld which we created earlier.

Slide 6: Code Files - sample.ld
  • The file sample.ld used in this tutorial is available in the Code files link of this tutorial page.
  • Please download and use them while practising
The file sample.ld is available in the Code files link of this tutorial.


Please download and use them while practising.

Open LDmicro Let us open LDmicro.
Click ‘File -> Open’

Select the file

Click OK button

In the menu bar, click on File and then Open.

Select the file sample.ld from the location where you have saved.

Click on “Simulate -> Simulation Mode” In the menu bar, click on Simulate then on Simulation Mode.
Highlight first rung In the Simulation Mode, the whole ladder diagram changes to gray.

The cursor also disappears.

We can’t place an instruction in the Simulation Mode.

Highlight second rung

Highlight first rung

The instructions that are energized appear in bright red color.

The instructions that are not energized appear in gray color.

Highlight second rung Here, the LED2 is energized as it is directly connected to the positive rail.
Highlight ‘switch’ The LED1 is not energized.

This is because there is a switch in between the positive rail and LED1.

For LED1 to be energized, switch should be ON.

i.e, It should be given value 1.

Double click on ‘switch’ in I/O list and highlight the I/O list


Double click on ‘switch’ in the editor window and highlight the I/O list

We can change the state of the inputs in two ways.

1. Double-click on the list that appears at the bottom of the screen.

We can see that the state changes to 1.

2. Otherwise, double-click on appropriate instruction in the ladder diagram.

Highlight state of the ‘switch’ in I/O list Note that LED1 isn’t energized even after changing the state of the switch.
This is because the change will not be reflected until the PLC cycles.
For the changes to be reflected, choose either one of the below options.
  1. Simulate -> Start Real Time Simulation or
  2. Single cycle option.

If you choose ‘Single Cycle’ option, the PLC cycles only for one time.

Click ‘Simulate -> Single cycle’


Highlight first rung

Select ‘Single Cycle’.

Now we can observe that the first rung is energized.

That is, LED1 is glowing.

Double click on the ‘switch’ in the I/O list

Highlight first rung

Now again change the state of the ‘switch’ from 1 to 0.

We can see that the LED1 is still glowing even after the switch is off.

It means that input changes are not reflected.

Therefore, we need to choose ‘Single Cycle’ every time we change the input state.

Use the ‘Single Cycle’ option when you want to debug the program step by step.

But, this is not the case with Real-Time Simulation.
Choose ‘Simulation -> Real-Time Simulation’ In the menu bar, select ‘Simulate -> Start Real-Time Simulation’.
Double-click on the ‘switch’ in the I/O list Change the state of the ‘switch’ from 0 to 1.

We can observe that the state of LED1 changes to 1 immediately.

Thus, the outputs gets auto-updated according to the input changes.

Click ‘Simulate -> Halt Simulation’ We can halt simulation by clicking on ‘Simulate -> Halt Simulation’.
Click ‘Simulate -> Simulation mode’ Then click on ‘Simulate’ and on ‘Simulation mode’ one more time.

This will turn off the simulation mode.

narration Next, we’ll see the effects of cycle time on ladder diagram.
Slide 7: Cycle time

It includes

  1. reading the input states
  2. executing the program
  3. updating the outputs
The cycle time of a PLC is the time taken from
  1. reading the input states,
  2. executing the program and
  3. updating the outputs.
Now we’ll see the effect of cycle time in LDmicro.
Switch back to LDmicro.
Click on Settings

Click on MCU parameters

In the menu bar, click on ‘Settings’.

Then click on MCU parameters.

Highlight cycle time

Change the cycle time to 5s

Click OK button

By default, the cycle time is set to 10 milliseconds.

Change it to 5s i.e. 5000ms.

Then, click on the OK button in the top right of the window.

Click Simulate -> Simulation mode

Click Simulate -> Start Real-time simulation

Double click on Xswitch in the I/O list

Now start real time simulation as shown.

Change the state of the ‘switch’ to 1.

Point to YLED1 state. You can observe that the LED1 doesn’t change its state immediately.

Instead it takes upto 5s to get its state updated.

Click on Simulate -> Simulation mode Turn off the simulation mode as shown.
Next, we will see how to compile a ladder diagram.
Slide 8: Pre-compilation checklist
  • Microcontroller selection
  • MCU Parameters
  • I/O assignment
Before compiling, we need to check the following:
  • Selection of proper microcontroller
  • Setting microcontroller parameters
  • Assigning ports to I/O instructions
Switch to LDmicro interface.
Click on ‘Settings’ >> Click ‘Microcontroller’ First, we’ve to select the part number of the microcontroller.

In the menu bar, click on Settings -> Microcontroller

Highlight the list of microcontrollers

Select AVR ATmega16 40-PDIP

Here, you can observe the list of supported microcontrollers by LDmicro.

I’m using Atmel AVR ATmega16 40-PDIP.

So, I’ll select ‘AVR ATmega16 40-PDIP’.

If you are using a different microcontroller, select accordingly from the menu.

Because different microcontrollers have different hex files for the same program.

Click ‘Settings’ >> Click ‘MCU parameters’ Now click on Settings -> MCU Parameters.
Point to ‘PLC Configuration’ PLC Configuration’ pop-up window appears.
Here you can set different parameters.
Highlight ‘Cycle time’ Change the cycle time value to 10 milliseconds.

10 milliseconds is a good value for most of the applications.

Change Crystal frequency to 16 Next is Crystal Frequency:
  • We have attached a 16 MHz external crystal in the OpenPLC hardware.
  • So set crystal frequency to 16 if you are using the same hardware.
  • Always set proper values.
  • Otherwise it may cause communication and timers to behave inappropriately.
Highlight ‘Baud rate’ Next is UART Baud rate:

By default, it is in disable state.

It will be enabled only when you are using any of the serial instructions.

We will learn about this in detail when we use serial instructions.

Click the OK button After setting the microcontroller parameters properly, click on the OK button.
Point to the default names We should change the default names of the instructions before compiling the logic.

Please remember this whenever you compile the logic.

We have changed the default names for this ladder diagram in the earlier tutorial.

Now, we must assign I/O pin to each I/O instruction.

Because different I/O assignment generates different hex files.

On LDmicro interface:

Double-click on ‘switch’ in I/O list

Select ‘PA7’

Click OK button

To do so, double-click on ‘Xswitch’ in the I/O list.

A pop up window opens showing the unallocated pins.

Just select a pin accordingly.

I’ll select ‘PA7’, which is the 7th pin of Port A.

Then, click on the OK button.

Double-click on ‘LED1’ in I/O list

Select ‘PC0’

Click OK

Double-click on ‘LED2’ in I/O list

Select ‘PC1’

Click OK

Similarly, double-click on YLED1 and assign PC0 as shown.

Then double-click on YLED2 and assign PC1.

We have assigned I/O pin to each I/O instruction.
Now, let us compile.
Click ‘Compile’ >> Click ‘Compile’ In the menu bar, click on Compile then on Compile.
Double-click on Desktop

Rename it as ‘sample’

Save pop-up window opens.

I’ll save it in the folder LDmicro on Desktop with the same name ‘sample.hex’.

Click OK button We will get a pop-up window which shows ‘Compile Successful’.

Click on the OK button.

Highlight ‘Compile -> Compile As’ If you want to save it under other name choose ‘Compile -> Compile As’.
This brings us to the end of this tutorial.

Let us summarize.

Slide 9:

Summary

  • Simulate a ladder diagram
  • Compile a ladder diagram in LDmicro
In this tutorial, we learnt to
  • Simulate a ladder diagram and
  • Compile a ladder diagram in LDmicro
Slide 10:

Assignment:

  • Change the cycle time to 3s and 10s
  • Observe the changes while simulating
As an assignment,
  1. Change the cycle time to 3 secs and then to 10 secs
  2. Observe the changes in simulation time.
Slide 11:

About Spoken Tutorial project

The video at the following link summarises the Spoken Tutorial project.

Please download and watch it

Slide 12:

Spoken Tutorial workshops

The Spoken Tutorial Project Team conducts workshops and gives certificates.

For more details, please write to us.

Slide 13:

Forum questions

Please post your timed queries in this forum.
Slide 14:

Forum for specific questions:

Do you have any general / technical questions on OpenPLC?

Please visit the FOSSEE forum and post your question.

Slide 15:

Acknowledgement

Spoken Tutorial Project is funded by MHRD, Government of India.
Slide 16:

Thank you slide

This tutorial has been contributed by FOSSEE and Spoken Tutorial Project, IIT Bombay.

And this is Harsha Priyanka from FOSSEE team, signing off.

Thanks for watching.

Contributors and Content Editors

Nirmala Venkat, Priyanka.guntaka123