Skip to content

Instantly share code, notes, and snippets.

@mrupperman
Last active March 8, 2024 17:34
Show Gist options
  • Save mrupperman/2ab8b4e81b1c37c0497b75cf764b672f to your computer and use it in GitHub Desktop.
Save mrupperman/2ab8b4e81b1c37c0497b75cf764b672f to your computer and use it in GitHub Desktop.
Niagara AX Sample Code
Create a new component
Delete a component
public void xcmRemove(String paramString)
{
Slot[] arrayOfSlot = BOrd.make("station:|slot:/EnergyReporting/EnergyLogic").resolve().getComponent().getSlotsArray();
for (int i = 0; i < arrayOfSlot.length; i++) {
if (arrayOfSlot[i].getName().toString().equals(paramString))
{
BComponent localBComponent = (BComponent)BOrd.make("station:|slot:/EnergyReporting/EnergyLogic/" + paramString).getParent().resolve().get();
localBComponent.remove(paramString);
break;
}
}
setCurrentTotalXcmCount(new BStatusNumeric(xcmCount()));
}
Component Subscription
public class NewXcmAdded
extends Subscriber
{
public void event(BComponentEvent paramBComponentEvent)
{
BComponent localBComponent = paramBComponentEvent.getSourceComponent();
String[] arrayOfString = TextUtil.split(paramBComponentEvent.toString(), ' ');
String str = arrayOfString[4];
switch (paramBComponentEvent.getId())
{
case 1:
if (str.equals("Station"))
{
BNewXcmWatcher.this.setEnergyModuleAddedForNewestXcm(new BStatusBoolean(false));
BNewXcmWatcher.this.addXcm(paramBComponentEvent.getSlotName(), BAbsTime.now());
BNewXcmWatcher.this.xcmAdd = true;
if (BNewXcmWatcher.this.xcmAdd)
{
BNewXcmWatcher.this.addEnergyModule(paramBComponentEvent.getSlotName());
BNewXcmWatcher.this.setEnergyModuleAddedForNewestXcm(new BStatusBoolean(true));
System.out.println(BAbsTime.now() + " New " + str + ' ' + paramBComponentEvent.getSlotName() + " added to the Supervisor.");
}
}
break;
case 2:
if (str.equals("Station"))
{
BNewXcmWatcher.this.xcmRemove(paramBComponentEvent.getSlotName());
System.out.println(BAbsTime.now() + " " + str + ' ' + paramBComponentEvent.getSlotName() + " removed from the Supervisor.");
}
break;
}
}
public NewXcmAdded() {}
}
Create a new slot
public boolean addEnergyModule(String paramString)
{
int i = 0;
BFolder localBFolder1 = new BFolder();BFolder localBFolder2 = new BFolder();BEnergyAnalyzer localBEnergyAnalyzer = new BEnergyAnalyzer();
Slot[] arrayOfSlot = BOrd.make("station:|slot:/").resolve().getComponent().getSlotsArray();
for (int j = 0; j < arrayOfSlot.length; j++)
{
if (arrayOfSlot[j].getName().toString().equals("EnergyReporting")) {
i = 1;
}
if (i != 0) {
break;
}
}
if (i == 0)
{
localBComponent1 = (BComponent)BOrd.make("station:|slot:/").resolve().get();
localBComponent1.add("EnergyReporting", localBFolder1);
BComponent localBComponent2 = (BComponent)BOrd.make("station:|slot:/EnergyReporting").resolve().get();
localBComponent2.add("EnergyLogic", localBFolder2);
}
BComponent localBComponent1 = (BComponent)BOrd.make("station:|slot:/EnergyReporting/EnergyLogic").resolve().get();
localBComponent1.add(paramString, localBEnergyAnalyzer);
localBEnergyAnalyzer.setXcmName();
localBEnergyAnalyzer.added(BEnergyAnalyzer.StoreName, null);
return true;
}
Read a slot property
Write to a slot property
Override a Point
Make an ORD
Parse a BQL BI Table
Export to CSV
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment