Last active
March 8, 2024 17:34
-
-
Save mrupperman/2ab8b4e81b1c37c0497b75cf764b672f to your computer and use it in GitHub Desktop.
Niagara AX Sample Code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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