List of Common TransSECS Scripting Methods
This is a quick reference to the methods in the SECS/GEM (TransSECS) API to do common operations on the tool or host instances and their ids (SVIDs,DVIDs,ECIDs,CEIDs, and ALIDs). More extensive examples can be found using the wiki search (search for the method name for more examples). Short examples below are highlighted in a “code” box.
Common Declarations
Be sure to declare the classes used from the API so you can reference these by name in the code. Here are some examples of classes you may want to use:
var DataSource = Java.type('com.ergotech.vib.servers.DataSource'); var LongValueObject = Java.type('com.ergotech.vib.valueobjects.LongValueObject'); var TransSecsController = Java.type('com.ergotech.transsecs.secs.TransSecsController'); var SOFTREV = Java.type('com.ergotech.secs.SOFTREV');
SOFTREV
SOFTREV is a class in the SECS/GEM package which has a maxLength parameter you can set to allow 20 character SOFTREV and MDLN values
SOFTREV.maxLength=20; //allows 20 chars for both MDLN and SoftRev values (otherwise maximum is 6)
TransSECSController
TransSECSController is used to get the single running tool or host instance:
TransSecsController.getSingleController()
tool = TransSecsController.getSingleController();
with the tool instance you can do these operations:
status = tool.getWrapper(1).toString(); //get the connection status of the tool for display gemHandler = tool.getGemHandler(); //get the gemHandler to access ids and data sources
There are also some methods you can use on the tool instance:
tool.setDeviceId(2); //immediately change the device id to 2 tool.setPort(5000); //immediately change the HSMS port to 5000
GemHandler
With the gemHandler you can access the id servers in the tool to set or get values
eventServer = gemHandler.getServerForName("CEID.STARTED"); //get the server for an event id (CEID) by name vidServer = gemHandler.getServerForName("VID.ProcessState"); //get the the server for a vid by name //example to trigger an event eventServer.setIntValue(1); //trigger the CEID.STARTED event //directly set values to vids using the gemHandler gemHandler.setValue("OnlineOfflineState",new LongValueObject(1));//Go ONLINE gemHandler.setValue("LocalRemoteState",new LongValueObject(1)); //Go REMOTE, now the tool should respond to host messages //access vid values controlState = gemHandler.getServerForName("VID.ControlState").getIntValue();