OpenPLC-with-LDmicro/C3/CTD-Counter/English
Visual Cue | Narration |
Slide 1: | Welcome to the spoken tutorial on CTD Counter. |
Slide 2:
Learning Objectives
|
In this tutorial we’ll learn about working of Count down counter. |
Slide 3:
System Requirements
|
To record this tutorial I am using:
|
Slide 4: Pre-requisites
|
|
Slide 5: Prerequisites - Hardware setup
hardware-prerequisite.jpg |
Connect SMPS and USBasp to the Mainboard as shown in the picture.
Keep these connections throughout this tutorial. |
We will create an up-down counter to understand the working of CTD. | |
Open the LDmicro from the launcher bar | Let us open LDmicro. |
Click on Instructions -> Insert Contact >> Place the cursor to the right of Xnew >> Click on Instructions -> Insert Coil | Insert a Contact and a Coil as shown. |
Double-click on Xnew >> Type ‘up’ in the name box >> Click the OK button | Rename the Contact as ‘up’. |
Place the cursor below Xup >> Click on Instructions -> Insert Contact | Now insert a Contact parallel to Xup.
Rename the new Contact as ‘down’. |
Place the cursor to the right of Xup >> Click Instructions -> Counters -> Insert CTU | To the right of Xup insert a CTU as shown here. |
Double-click the Cnew >> Type count in the name column >> Click the OK button | Double click on CTU.
Rename the CTU as ‘count’. The condition value is by default 0. Don’t change it. |
Place the cursor to the right of Xdown >> Click Instructions -> Counters -> Insert CTD | To the right of Xdown insert a CTD as shown here. |
Double-click the Cnew >> Type count in the name column >> Click the OK button | Double click on CTD.
Just like CTU it has two columns, ‘Name’ and ‘True if >=’. Rename the CTD as ‘count’. The condition value is by default 0. Don’t change it. |
Double-click on Ynew >> Select Internal Relay >> Type relay in the name box >> Click the OK button | Now configure the Coil as Internal Relay and rename it as ‘relay’. |
This is because here we don't need any physical output from CTU and CTD. | |
Click Edit -> Insert Rung below | Now place a rung below as shown here. |
Place the cursor in the new rung >> Click on Instructions -> Comparison operators -> Insert GEQ | In the new rung insert a greater than or equal to Compare instruction. |
Double-click on greater than or equal to Compare instruction >> Type Ccount in the ‘Closed’ if: column >> Type 3 in the >= column | Double-click on the Compare instruction.
Compare Ccount variable with 3. That is in the Closed if column enter Ccount. In the >= (greater than or equals to) column enter 3. Click on the OK button. |
Place the cursor to the right of Compare instruction >> Click on Instructions -> Insert Coil | Now to the right of it, insert a Coil. |
Double click on Ynew >> Type LED in the name column | Rename it as ‘LED’. |
We will now check the working of this logic. | |
Click Simulate -> Simulation mode >>
Click Simulate -> Real-time simulation |
Let us turn on the simulation mode.
For that, click Simulate and then on Simulation mode. Next, start real-time simulation as shown. |
Highlight the states of all the instructions in the IO list | We can observe initially that the state of every instruction is 0 except for Rrelay. |
Double click on Xup | Double click on Xup to change its state to 1. |
Highlight the state of Ccount | We can observe the state of the Ccount changes to 1. |
Highlight the state of Ccount | Keep changing the state of Xup by double clicking on it until Ccount value reaches 3. |
Highlight the state of YLED | We can observe the state of YLED changes to 1. |
Just like in the CTU example. | |
Double click on Xdown | Now change the state of Xdown to 1. |
Highlight the state of Ccount | We can observe the Ccount value changes to 2.
That is decreased by 1. |
Highlight the state of YLED | Also, the state of YLED goes back to 0.
The state of YLED will be 1 only when Ccount value is >= (greater than or equals to) 3. |
Double click on Xdown | Change the state of Xdown back to 0. |
Highlight the state of Ccount | The value of Ccount is still 2. |
Highlight the state of Ccount | The CTD decreases the count value by 1 only with the rising edge of its input. |
Thus the working of CTU and CTD is similar.
The only difference is CTD decrements the counter value. | |
We can also reset the CTD using RESET instruction. | |
Click Simulate -> Halt Simulation >> Click Simulate -> Simulation Mode | Now, turn off the simulation mode.
For that, click Simulate and then on Halt Simulation. Then click Simulate and Simulation Mode. |
Now let us compile the logic.
The detailed steps on how to compile and save the logic are explained in the earlier tutorials. | |
Click on Settings >> Click on Microcontroller >> Select AVR ATmega16 40-PDIP
Click on Settings >> Click on MCU parameters >> Change Crystal frequency to 16 |
Click on Settings and select the microcontroller AVR ATmega16 40-PDIP.
Adjust its parameters as shown here. |
Double-click on Xswitch in I/O list >> Select PC0 >> Click OK button
Double-click on YLED in I/O list >> Select PA0 >> Click OK button |
Assign pin PC0 to Xup and PC1 to Xdown.
Assign pin PA0 to YLED. |
Click on Compile >> Click on Compile >> Go to Desktop/LDmicro folder >> Rename it as ‘ctd.hex’ >> Click on Save.
Click OK button |
Compile the logic as ctd.hex. |
Click on File >> Click on Save >> Go to Desktop/LDmicro folder >> Rename it as ‘ctd.ld’ >> Click on Save | Then save the ladder diagram as ctd.ld. |
We will now see the working of this logic on hardware. | |
Connect Mainboard to PC using USBasp
laptop-usbasp.jpg |
Connect the Mainboard to your laptop using USBasp.
Turn on the power supply. |
Open terminal >> Type cd Desktop/LDmicro >> Press ENTER >> type ‘avrdude -c usbasp -p m16 -U flash:w:ctd.hex’ >> Press ENTER | Open the Terminal by pressing CTRL+ALT+T keys simultaneously.
Go to the folder where you have saved the hex file. Type the command as shown to upload the hex file to the Mainboard. |
Turn off the power supply >> Remove the USBasp connection from the laptop. | Turn off the power supply.
Remove the USBasp connection from the laptop. This will prevent any hardware damage. |
ctd.png | Let us see the connection details now. |
ctd.png >> point as per the narration | Connect GND pin of the red LED of Traffic Light module to GND of the Mainboard.
Then connect the +5V pin of the red LED to PA0 pin of the Mainboard. |
ctd.png >> point as per the narration | Connect GND and 5V of switchboard to GND and 5V of the Mainboard respectively.
Connect NO1 to PC0 of the Mainboard. Then connect NO2 to PC1 of the Mainboard. Make the connections as shown in the picture. |
Turn on the power supply | After making all the connections properly, turn on the power supply. |
Point to red LED | Initially the red LED will not glow. |
Press NO1 three times to make it glow | It will glow only when NO1 is pressed for at least three times.
So, press the switch NO1 for 3 times. |
Now the count value is 3. | |
Press the switch NO2 >> LED turns off
Turn off the power supply |
Press the switch NO2.
The count value becomes 2 and the LED will turn off. Thus CTD decreases the count value by 1 after every switch press. Turn off the power supply. |
Slide : Where can an up-down counter be used?
|
Where can an up-down counter be used?
The up-down counter can be used when we need to count the finished products. CTU will increment the count value when a product is finished. CTD will decrement the count of products that fail the quality test. |
This brings us to the end of this tutorial.
Let us summarize. | |
Slide 5: Summary
|
In this tutorial we learnt about working of Count down counter. |
Slide 6:
About Spoken Tutorial project |
The video at the following link summarises the Spoken Tutorial project.
Please download and watch it |
Slide 7:
Spoken Tutorial workshops |
The Spoken Tutorial Project team:
For more details, please write to us |
Slide 8:
Forum for specific questions: |
Please post your timed queries in this Forum |
Slide 19:
Forum for specific questions: |
Do you have any general / technical questions on OpenPLC?
Please visit the FOSSEE forum and post your question. |
Slide 10:
Acknowledgement |
Spoken Tutorial Project is funded by MHRD, Government of India. |
Slide 11:
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. |