---
title: "Driven Scan Class - One Shot"
---
# Driven Scan Class - One Shot
>
The Driven scan class can be configured as a One-shot scan class. This will not run at a rate, but instead it will be triggered by a change in the driving Tag's value. One-shot polling executes once when the condition becomes true, then waits for that condition to become false then true again. This makes it follow a 'rising edge' or 'falling edge' pattern.
Let's make a Driven One-shot scan class that only updates once when a Memory Tag goes to true. We are using a Memory Tag so a user can change the value when they want to poll the PLC. This is actually a good example of how an operator can poll the PLC for new values whenever they want to, using a refresh button on the screen.
## To Create a Memory Tag
1. In the **Tag Browser**, right click on the Tags folder, then go to **New Tag** > **Memory Tag** to create a memory Tag.
The Tag Editor will open.
2. In the **Tag Editor**, enter the following:
- Tag Name: **One Shot Trigger**
- Value: **false**
- Data Type: **Boolean**
![" "]()
3. Click **OK** to add the One Shot Trigger Tag to the Tag Browser.
## To Make a Driven One-shot Scan Class
Once you have your driving Tag created, add a Driven - One shot scan class that lets a user poll Tags manually.
1. In the **Tag Browser**, click on the **Timer** icon (![" "]()) to open the Scan Class Editor.
2. Create a new scan class by clicking on the **green +** icon on the lower-left of the window.
3. Enter the name of the scan class. For example, you can name it **Driven One Shot**, and set the **Mode** to **Driven**.
This scan class executes based on the condition you set on the **Driving Tag**.
Ignore the slow and fast rate since they are not used.
4. Click on the **Tag** icon next to the **Driving Tag** box, and choose the Tag you want to set the condition on, and click **OK**. This examples uses the **One Shot Trigger** Tag that was just created.
5. Set the **Operator** property to = and the **Value** property to **1**.
6. Check the **One-shot Execution** property.
Click OK.
![" "]()
7. Next, select all the other Tags that you want to run in this scan class (i.e., **Level**, **Pressure**, and **Temperature**).
Right click on the selected Tags, and the **Tag Editor** will open. To change the scan class, choose **Driven One Shot** from the dropdown, and click **OK**.
![" "]()
![" "]()
8. In the **Tag Browser**, check the One Shot Trigger Tag to set the value to **true**, and you will see the values update once, and then stop.
Uncheck the One Shot Trigger Tag, to set the value to **false**, and check it again to set it to **true**, and you will see the values update again.
![" "]()
9. Drag a **Momentary Button** component onto a window, then drag your **One Shot Trigger** Tag onto the button. Now your operators can request new values and the button automatically resets the Tag.