Within Tridium Niagara, Niagara 4 Program Service is a powerful batch editing tool that allows you to quickly find, filter and modify station objects. Used correctly, it can save hours of engineering time. Used incorrectly, it can break your station — so always back up first.
Always Back Up First
There is no undo in Program Service. Changes are permanent and can break a station.
Before making any changes:
- Use Backup Station or Station Copy.
- Always have a way to return to your previous working state.
1. Open Program Service
Go to Program Service and double-click.
For the examples covered here, we will primarily use the Batch Editor.
Other options include:
- Robot Editor
- Program Recompile
- Program Module
These are not covered in this bulletin.
2. Build a BQL Search
Click Find Objects to open the BQL Query Builder.
Scope
Use Config as the default scope, or select a specific:
- Driver
- Folder
- Device
Object Type
You can search for:
- Components
- Folders
- Control Points
- Alarm Classes
- Program Modules
- Schedules
- Custom Types
Match Criteria
Use BQL to define what you are looking for, for example by:
- Display Name
- Slot
- Type
3. Run the Search and Review the Results
Search results appear in the list. Review them carefully before applying any actions.
Make sure that:
- Only the objects you want are in the list.
- Any unwanted objects are removed.
Every action you take will apply to all objects in the list.
4. Batch Actions: Make Changes in Seconds
Program Service allows you to perform a range of batch actions.
Rename Objects
Rename multiple objects at once.
Add Slot
Add extensions, such as:
- History
- Alarm
- Audit
to many objects.
Add Tags
Apply Niagara Tags for:
- Hierarchies
- Niagara Analytics
Edit Slot
Edit existing slot configuration values.
Rename Slot
Rename slot names in multiple objects.
Remove Slot
Remove slots, such as a History Extension, from many objects.
Slot Flags
Change slot flags such as:
- Read Only
- Hidden
Powerful, fast and permanent. Always review your results before applying actions.
5. Example: Add a History Extension
To add a History Extension to multiple numeric points:
- Run a search for the required numeric points.
- Remove any objects you do not want.
- Click Add Slot.
- From the History module, choose Numeric Interval History Extension.
- Configure the extension:
- Enable History
- History Name, for example: ProgramService_%parent%_%name%
- Record Count, for example: 500
- Logging Interval, for example: 15 Minutes
- Click OK. The extension is added to all objects in the list.
History records are automatically created in the station History Container.
6. Example: Edit an Existing History
To edit an existing History configuration:
- Search for History Config using the Custom Type: history:HistoryConfig.
- Ensure only the correct objects are listed.
- Click Edit Slot.
- Select Record Count and change it from 500 to 1000.
- Click OK.
The change is applied to every object in the list.
7. Example: Remove a Slot
To remove a slot from multiple objects:
- Search for the objects.
- Remove any objects you want to keep.
- Click Remove Slot.
- Select the slot to remove, for example a History Extension.
- Click OK.
The slot is removed from all objects in the list.
This can be used to quickly remove unwanted extensions from hundreds of points.
Key Takeaway
Program Service can save huge amounts of time, but it must be used carefully.
Remember:
- Program Service applies changes to every object in your results list.
- There is no undo — changes are permanent.
- Always take a full station backup before making changes.
- Learn BQL to unlock the full power of custom searches.
Best Practices
- Always back up the station before starting.
- Start with simple searches and understand the results.
- Double-check your results before applying any action.
- Use Clear All between tasks to avoid mistakes.
- Test on a copy of the station if you are unsure.
- Document your changes and keep backups.
Extra Resources
Learn more about BQL and advanced queries in our separate training videos.
Download the Tech Bulletin PDF and example BQL queries from:
Remember
Program Service is extremely powerful. Used carefully, it will dramatically reduce engineering time. Used carelessly, it can break your station. Back up first.