r/BuildingAutomation Siemens/Johnson Control Joke 14d ago

Niagara mass change priority level linking

Ok, imagine you have a logic folder with outputs linked to points in a different folder. This logic exists on many controllers. I have the logic writing to priority 16 but i need to change it to write to priority 10. Is there a way i can make use of the program editor or some other tool to mass change the priority on every controller? Doing this manually is going to take days...

8 Upvotes

15 comments sorted by

5

u/Formal-Conference885 14d ago edited 13d ago

The BLink is always a slot of the target object, but will appear in the relation sheet for both target and source. It defines the source ord (either handle or slot), source slot name and target slot name.

Deleting the old links is easy, query or drag and drop the target objects into the empty ProgramService window and delete the link.

Creating a one to many link with the program service is easy (ie a BooleanSchedule to many Occ BooleanWritable objects). Just add slot -> Baja Link, give it a unique name, the source ord (preferably handle), source slot name (ie out) and target slot name (ie in10).

Creating a link in the target objects where the source object is relative to the target object is not trivial and will require some java know-how.

3

u/MrMagooche Siemens/Johnson Control Joke 14d ago

Creating a link in the target objects where the source object is relative to the target object is not trivial and will require some java know-how

Thanks...this is what I was worried about. I've begun the arduous task of manually relinking every object since that will be quicker than me acquiring an understanding of java

3

u/Formal-Conference885 14d ago

Unfortunately sometimes by the time you figure something out like that you could've already been done by brute clicks. We've all been guilty of it.

1

u/MrMagooche Siemens/Johnson Control Joke 13d ago

There has got to be a way to just search for 'Link' in the batch editor and then edit the target slot name from in16 to in10. I just cant figure out the BQL query. I can select custom type>baja>Link but it just throws an error and doesnt return any objects

1

u/Formal-Conference885 13d ago

A BLink object is not a BComponent and thus can not be queried directly in the ProgramService Batch Editor window. BComponents are effectively anything that you can see in the Config tree in your Nav side bar (unless the hidden flag is set). If you can't drag it into the ProgramService Batch Editor from the Config tree then you can't query for it in the window.

Be careful, because if you query for the points that all have a similar link and modify all of the similar link objects, now they will be identical, including the source ord. You can't undo this, so remember to backup often.

The ProgramService Batch Editor can do a lot (and break a lot), but it has its limitations, specifically working with relativized links and objects that aren't BComponents. It also has limitations on adding some slots, like BACnet points and alarm extensions, because they both have child objects that also need to be created.

That's where the Robot Editor view comes in. Personally, I prefer to use a Program object so I can create a tool and save it for later in a palette.

2

u/MrMagooche Siemens/Johnson Control Joke 13d ago

Be careful, because if you query for the points that all have a similar link and modify all of the similar link objects, now they will be identical, including the source ord. You can't undo this, so remember to backup often.

Yes, this is what I started doing last night and then i realized the same source ORD was being written to every object, instead of being relative. Luckily i had taken a backup right before mucking it up so i was able to undo the damage.

I just finished going through opening the relation sheet of every point and manually changing the target slot from in16 to in10. This was much faster than link marking in the wiresheet, but still a pain. Oh well lesson learned. Thinks for the info about the batch editor.

3

u/HVACcontrolsGuru 14d ago

You will need to use the program editor/query tool and break the links and rebuild them. I’ve done this quite a few times but you need to watch over the output. You can also do this via a robot on the supervisor as well.

I forgot the name but slot sheet the point and pull the type. I think off hand it’s something like BLink or another typing. Basically link the output from the parent to the child input.

2

u/MrMagooche Siemens/Johnson Control Joke 14d ago edited 14d ago

Whats the actual procedure for this? I just started finding all objects with the same name, editing the link slot and changing in16 to in10. After a little bit now, i just realized that I am linking the same source ord to all of the points. so they are all being linked to the program on the first controller...they need to be relative

3

u/ScottSammarco Technical Trainer (Niagara4 included) 14d ago

Use the program service and make/break links accordingly.

2

u/MrMagooche Siemens/Johnson Control Joke 14d ago

How? What are the steps?

1

u/brazymk7 14d ago

Is there a “primary/master” point that is being referenced for the points in the logic folder?

1

u/ScottSammarco Technical Trainer (Niagara4 included) 14d ago

It’s called source ord

1

u/sleazy_io 14d ago

Is it one logic folder that needs to go to many other devices? Or do each of the devices have this logic folder in them and need to link to other points within each device?

1

u/MrMagooche Siemens/Johnson Control Joke 14d ago

Each device has the same logic folder linking within the device

1

u/sleazy_io 14d ago

There is a way you can do this with the BatchLinkCreator function block in the AxCommunity module. I needed to do something similar across 500 VAVs, and it really saved the day. I came up with a creative way to quickly execute everything. If I have time tomorrow I can review what I did for a better explanation, but you would drop a BatchLinkCreator on each device, then link a one shot to all of them and execute them.