This collection contains the list of REST commands for the Batch Rest API.
The Batch REST API only supports https.
Basic Authentication is required. The username and password will be authenticated on the Batch REST Service computer to be a valid Windows user account. The username is also required to belong to the Windows Group specified in the batch_config_rest_service.json file. This group name can be changed in the config file and you must create the Windows group and add your users to the Windows Group. This extra level of checking can be turned off in the batch_config_rest_service.json file. Note that you must restart the Batch REST API service for the config file changes to take effect.
The Basic Authentication username is sent to the Batch Server for various batch commands (batch commands, step commands, phase commands, binding, setting parameter values, acknowledging prompts, etc), and this is what is logged by the Batch Server into the batch event journal file. We recommend that you use a different Basic Authentication Credential for each user so that the batch event journal file will have a proper record of who the user was performing each batch command.
The root URL for all REST calls is https://localhost:4867/BatchRestAPI/
The URL is case-sensitive.
You can use the URL https://localhost:4867/BatchRestAPI/about to test your server connection. It returns the product name and version. It is useful for performing a connection test to the Batch REST API without making a call to VBIS and the Batch Server.
The BatchRestAPI will make API calls to the GE Proficy Batch VBIS.exe application. If an API call fails due to an error from the Batch System, VBIS returns an error code and the information is returned in the response. Additional details will be logged in the batch_rest_service.log The VBIS.log on the Batch Server computer will also contain more detailed error messages. Note that for some VBIS API calls (PUT calls), VBIS will send the request to the Batch Server and return success without knowing if the Batch Server was successful with the request. For these cases, we return the success status and the detail message "The command was sent to the batch server".
get /areamodelheader
get /connections
get /controlmodules
get /dataservers
get /enumerationsets
get /manifolds
get /phases
get /processcells
get /tags
get /units
post /addbatch
post /addbatchevent
get /batchstate
get /batches
put /bindbatch
get /parameters
delete /batches
get /reportparameters
put /batches
(Run Batch Command)put /setunittag
get /unittags
put /ackbreakpointprompt
get /breakpointprompts
get /breakpoints
put /clearbreakpoint
put /setbreakpoint
put /ackstepbindingprompt
get /activerecipesteplistitems
put /steprebind
get /recipeelements
get /recipelinks
get /recipesteplistitems
get /recipesteptransitions
get /recipesteps
get /recipetransitionexpression
put /steps
(Run Step Command)put /setrecipeparametervalue
post /addrecipe
get /globalformulationheader
get /productformulationheader
get /recipeheader
put /rebuildrecipedir
put /resetcontrol
put /updatemasterrecipe
get /verifyrecipe
get /alarms
[ {
"ArbitrationSet" : "1",
"BatchID" : " ",
"FailMsg" : "CONFIG ERROR - Ordinal not defined in PHASE_FAILURES enumeration set - unable to locate failure description: 1",
"Mode" : " ",
"Owner" : " ",
"PhaseID" : "12",
"PhaseMsg" : "0",
"PhaseName" : "ADD_INGS1",
"PhaseState" : "IDLE",
"UnitID" : "0",
"UnitName" : "MIX1",
"ValidUnitList" : "MIX1"
}, {
"ArbitrationSet" : "1",
"BatchID" : " ",
"FailMsg" : "CONFIG ERROR - Ordinal not defined in PHASE_FAILURES enumeration set - unable to locate failure description: 1",
"Mode" : " ",
"Owner" : " ",
"PhaseID" : "12",
"PhaseMsg" : "0",
"PhaseName" : "ADD_INGS1",
"PhaseState" : "IDLE",
"UnitID" : "0",
"UnitName" : "MIX1",
"ValidUnitList" : "MIX1"
} ]
application/json
get /areamodelheader
{
"AreaAuditPerformedByComment" : "Added Control Module",
"AreaAuditPerformedByName" : "Batchexecutive",
"AreaAuditPerformedByTime" : "2020-07-21 11:50:00",
"AreaAuditPerformedByUserID" : "Batchexecutive",
"AreaAuditVerifiedByComment" : "",
"AreaAuditVerifiedByName" : "",
"AreaAuditVerifiedByTime" : "",
"AreaAuditVerifiedByUserID" : "",
"AreaAuditVersion" : "21",
"Name" : "AREA1",
"Revision" : "AREA1"
}
application/json
get /connections
[ {
"Destination" : "HDR_BASE",
"DestinationType" : 1,
"EquipmentID" : 34,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION1",
"NeededEquipment" : [ ],
"Source" : "WATER",
"SourceType" : 0
}, {
"Destination" : "HDR_BASE",
"DestinationType" : 1,
"EquipmentID" : 34,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION1",
"NeededEquipment" : [ ],
"Source" : "WATER",
"SourceType" : 0
} ]
application/json
get /controlmodules
[ {
"ClassName" : "RESOURCE_CLS1",
"EquipmentID" : 56,
"MaxOwners" : 1,
"Name" : "RESOURCE1",
"NeededEquipment" : [ ]
}, {
"ClassName" : "RESOURCE_CLS1",
"EquipmentID" : 56,
"MaxOwners" : 1,
"Name" : "RESOURCE1",
"NeededEquipment" : [ ]
} ]
application/json
get /dataservers
[ {
"Application" : "",
"BadValue" : "",
"DefaultServerFlag" : true,
"Name" : "SPS",
"Topic" : "",
"Type" : 3,
"Watchdog" : ""
}, {
"Application" : "",
"BadValue" : "",
"DefaultServerFlag" : true,
"Name" : "SPS",
"Topic" : "",
"Type" : 3,
"Watchdog" : ""
} ]
application/json
get /enumerationsets
[ {
"Enumerations" : [ {
"Name" : "WINTERGREEN",
"Ordinal" : 0
}, {
"Name" : "SPEARMINT",
"Ordinal" : 1
}, {
"Name" : "PEPPERMINT",
"Ordinal" : 2
}, {
"Name" : "BUBBLEGUM",
"Ordinal" : 3
} ],
"Name" : "FLAVORS"
}, {
"Enumerations" : [ {
"Name" : "WINTERGREEN",
"Ordinal" : 0
}, {
"Name" : "SPEARMINT",
"Ordinal" : 1
}, {
"Name" : "PEPPERMINT",
"Ordinal" : 2
}, {
"Name" : "BUBBLEGUM",
"Ordinal" : 3
} ],
"Name" : "FLAVORS"
} ]
application/json
get /manifolds
[ {
"EquipmentID" : 32,
"IconFilename" : "",
"MaxOwners" : 1,
"Name" : "HDR_FLAVOR",
"NeededEquipment" : [ ]
}, {
"EquipmentID" : 32,
"IconFilename" : "",
"MaxOwners" : 1,
"Name" : "HDR_FLAVOR",
"NeededEquipment" : [ ]
} ]
application/json
get /phases
[ {
"ClassName" : "COOL",
"CommandTagName" : "COOL1_VC",
"EquipmentID" : 15,
"FailureTagName" : "COOL1_F",
"MaxOwners" : 1,
"Name" : "COOL1",
"NeededEquipment" : [ ],
"OwnerTagName" : "COOL1_W",
"ParameterTags" : [ {
"ClassName" : "PARMTR01",
"DataType" : 1,
"ItemName" : "COOL1P01",
"Name" : "NODE.COOL1P01.F_CV",
"TagType" : 3
} ],
"Parameters" : [ {
"EngineeringUnits" : "ENG. UNITS",
"Enumerations" : [ ],
"HighLimit" : "ENG. UNITS",
"ID" : 1,
"LowLimit" : "ENG. UNITS",
"Name" : "TEMP_TO_COOL",
"Scalable" : false,
"Type" : 1,
"Value" : "ENG. UNITS"
} ],
"PauseTagName" : "COOL1_P",
"PausedTagName" : "COOL1_PD",
"PhaseReports" : [ {
"EngineeringUnits" : "ENG. UNITS",
"ID" : 1,
"Name" : "COOL_TEMP",
"Type" : 1
} ],
"ReportTags" : [ {
"ClassName" : "REPORT01",
"DataType" : 1,
"ItemName" : "COOL1R01",
"Name" : "NODE.COOL1R01.F_CV",
"TagType" : 3
} ],
"RequestTagName" : "COOL1_RQ",
"RequestTags" : [ ],
"SingleStepTagName" : "COOL1_SS",
"StatusTagName" : "COOL1_ST",
"StepIndexTagName" : "COOL1_SI",
"UnitIDTagName" : "COOL1_UN",
"Units" : [ "MIX1" ]
}, {
"ClassName" : "COOL",
"CommandTagName" : "COOL1_VC",
"EquipmentID" : 15,
"FailureTagName" : "COOL1_F",
"MaxOwners" : 1,
"Name" : "COOL1",
"NeededEquipment" : [ ],
"OwnerTagName" : "COOL1_W",
"ParameterTags" : [ {
"ClassName" : "PARMTR01",
"DataType" : 1,
"ItemName" : "COOL1P01",
"Name" : "NODE.COOL1P01.F_CV",
"TagType" : 3
} ],
"Parameters" : [ {
"EngineeringUnits" : "ENG. UNITS",
"Enumerations" : [ ],
"HighLimit" : "ENG. UNITS",
"ID" : 1,
"LowLimit" : "ENG. UNITS",
"Name" : "TEMP_TO_COOL",
"Scalable" : false,
"Type" : 1,
"Value" : "ENG. UNITS"
} ],
"PauseTagName" : "COOL1_P",
"PausedTagName" : "COOL1_PD",
"PhaseReports" : [ {
"EngineeringUnits" : "ENG. UNITS",
"ID" : 1,
"Name" : "COOL_TEMP",
"Type" : 1
} ],
"ReportTags" : [ {
"ClassName" : "REPORT01",
"DataType" : 1,
"ItemName" : "COOL1R01",
"Name" : "NODE.COOL1R01.F_CV",
"TagType" : 3
} ],
"RequestTagName" : "COOL1_RQ",
"RequestTags" : [ ],
"SingleStepTagName" : "COOL1_SS",
"StatusTagName" : "COOL1_ST",
"StepIndexTagName" : "COOL1_SI",
"UnitIDTagName" : "COOL1_UN",
"Units" : [ "MIX1" ]
} ]
application/json
get /processcells
[ {
"Connections" : [ {
"Destination" : "HDR_BASE",
"DestinationType" : 1,
"EquipmentID" : 34,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION1",
"NeededEquipment" : [ ],
"Source" : "WATER",
"SourceType" : 0
}, {
"Destination" : "HDR_BASE",
"DestinationType" : 1,
"EquipmentID" : 36,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION3",
"NeededEquipment" : [ ],
"Source" : "FLUORIDE",
"SourceType" : 0
}, {
"Destination" : "HDR_BASE",
"DestinationType" : 1,
"EquipmentID" : 38,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION5",
"NeededEquipment" : [ ],
"Source" : "GUM",
"SourceType" : 0
}, {
"Destination" : "HDR_BASE",
"DestinationType" : 1,
"EquipmentID" : 35,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION2",
"NeededEquipment" : [ ],
"Source" : "BAKINGSODA",
"SourceType" : 0
}, {
"Destination" : "HDR_BASE",
"DestinationType" : 1,
"EquipmentID" : 37,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION4",
"NeededEquipment" : [ ],
"Source" : "PH_ADDITIVE",
"SourceType" : 0
}, {
"Destination" : "HDR_FLAVOR",
"DestinationType" : 1,
"EquipmentID" : 44,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION11",
"NeededEquipment" : [ ],
"Source" : "FLAVORING",
"SourceType" : 0
}, {
"Destination" : "HDR_FLAVOR",
"DestinationType" : 1,
"EquipmentID" : 42,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION9",
"NeededEquipment" : [ ],
"Source" : "WHITENER",
"SourceType" : 0
}, {
"Destination" : "HDR_REACT",
"DestinationType" : 1,
"EquipmentID" : 45,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION10",
"NeededEquipment" : [ ],
"Source" : "MIX1",
"SourceType" : 0
}, {
"Destination" : "REACTPLAIN",
"DestinationType" : 0,
"EquipmentID" : 49,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION15",
"NeededEquipment" : [ ],
"Source" : "MIX1",
"SourceType" : 0
}, {
"Destination" : "HDR_REACT",
"DestinationType" : 1,
"EquipmentID" : 46,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION12",
"NeededEquipment" : [ ],
"Source" : "MIX2",
"SourceType" : 0
}, {
"Destination" : "HDR_REACT",
"DestinationType" : 1,
"EquipmentID" : 47,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION13",
"NeededEquipment" : [ ],
"Source" : "MIX3",
"SourceType" : 0
}, {
"Destination" : "MIX3",
"DestinationType" : 0,
"EquipmentID" : 51,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION17",
"NeededEquipment" : [ ],
"Source" : "HDR_FLAVOR",
"SourceType" : 1
}, {
"Destination" : "MIX2",
"DestinationType" : 0,
"EquipmentID" : 41,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION8",
"NeededEquipment" : [ ],
"Source" : "HDR_FLAVOR",
"SourceType" : 1
}, {
"Destination" : "MIX1",
"DestinationType" : 0,
"EquipmentID" : 39,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION6",
"NeededEquipment" : [ ],
"Source" : "HDR_BASE",
"SourceType" : 1
}, {
"Destination" : "MIX2",
"DestinationType" : 0,
"EquipmentID" : 40,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION7",
"NeededEquipment" : [ ],
"Source" : "HDR_BASE",
"SourceType" : 1
}, {
"Destination" : "MIX3",
"DestinationType" : 0,
"EquipmentID" : 50,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION16",
"NeededEquipment" : [ ],
"Source" : "HDR_BASE",
"SourceType" : 1
}, {
"Destination" : "REACTFLAVOR",
"DestinationType" : 0,
"EquipmentID" : 48,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION14",
"NeededEquipment" : [ ],
"Source" : "HDR_REACT",
"SourceType" : 1
} ],
"EquipmentID" : 1,
"HMIPicture" : "",
"Manifolds" : [ {
"EquipmentID" : 32,
"IconFilename" : "",
"MaxOwners" : 1,
"Name" : "HDR_FLAVOR",
"NeededEquipment" : [ ]
}, {
"EquipmentID" : 33,
"IconFilename" : "",
"MaxOwners" : 1,
"Name" : "HDR_BASE",
"NeededEquipment" : [ ]
}, {
"EquipmentID" : 43,
"IconFilename" : "",
"MaxOwners" : 1,
"Name" : "HDR_REACT",
"NeededEquipment" : [ ]
} ],
"MaxOwners" : 1,
"Name" : "TOOTHPASTE",
"Units" : [ {
"Capacity" : 0,
"ClassName" : "WATER",
"DefaultPriority" : 0,
"EquipmentID" : 5,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "WATER",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 0,
"ClassName" : "FLUORIDE",
"DefaultPriority" : 0,
"EquipmentID" : 6,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "FLUORIDE",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 0,
"ClassName" : "GUM",
"DefaultPriority" : 0,
"EquipmentID" : 10,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "GUM",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 0,
"ClassName" : "BAKINGSODA",
"DefaultPriority" : 0,
"EquipmentID" : 8,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "BAKINGSODA",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 0,
"ClassName" : "PH_ADDITIVE",
"DefaultPriority" : 0,
"EquipmentID" : 7,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "PH_ADDITIVE",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 0,
"ClassName" : "FLAVORING",
"DefaultPriority" : 0,
"EquipmentID" : 9,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "FLAVORING",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 0,
"ClassName" : "WHITENER",
"DefaultPriority" : 0,
"EquipmentID" : 30,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "WHITENER",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 1000,
"ClassName" : "MIX1",
"DefaultPriority" : 0,
"EquipmentID" : 2,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "MIX1",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ {
"ClassName" : "LEVEL",
"DataType" : 2,
"ItemName" : "LEVEL1",
"Name" : "LEVEL1",
"TagType" : 3
} ],
"UOM" : "LITERS"
}, {
"Capacity" : 2000,
"ClassName" : "MIX2",
"DefaultPriority" : 0,
"EquipmentID" : 3,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "MIX2",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ {
"ClassName" : "LEVEL",
"DataType" : 2,
"ItemName" : "LEVEL2",
"Name" : "LEVEL2",
"TagType" : 3
} ],
"UOM" : "LITERS"
}, {
"Capacity" : 500,
"ClassName" : "MIX3",
"DefaultPriority" : 0,
"EquipmentID" : 11,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "MIX3",
"NeededEquipment" : [ "TOOTHPASTE", "REACTFLAVOR", "COOL3", "CONNECTION13", "HDR_REACT" ],
"ReadyFlag" : true,
"Tags" : [ {
"ClassName" : "LEVEL",
"DataType" : 2,
"ItemName" : "LEVEL3",
"Name" : "LEVEL3",
"TagType" : 3
} ],
"UOM" : "LITERS"
}, {
"Capacity" : 1000,
"ClassName" : "REACTPLAIN",
"DefaultPriority" : 1,
"EquipmentID" : 29,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "REACTPLAIN",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "LITERS"
}, {
"Capacity" : 2000,
"ClassName" : "REACTFLAVOR",
"DefaultPriority" : 2,
"EquipmentID" : 4,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "REACTFLAVOR",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "LITERS"
} ]
}, {
"Connections" : [ {
"Destination" : "HDR_BASE",
"DestinationType" : 1,
"EquipmentID" : 34,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION1",
"NeededEquipment" : [ ],
"Source" : "WATER",
"SourceType" : 0
}, {
"Destination" : "HDR_BASE",
"DestinationType" : 1,
"EquipmentID" : 36,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION3",
"NeededEquipment" : [ ],
"Source" : "FLUORIDE",
"SourceType" : 0
}, {
"Destination" : "HDR_BASE",
"DestinationType" : 1,
"EquipmentID" : 38,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION5",
"NeededEquipment" : [ ],
"Source" : "GUM",
"SourceType" : 0
}, {
"Destination" : "HDR_BASE",
"DestinationType" : 1,
"EquipmentID" : 35,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION2",
"NeededEquipment" : [ ],
"Source" : "BAKINGSODA",
"SourceType" : 0
}, {
"Destination" : "HDR_BASE",
"DestinationType" : 1,
"EquipmentID" : 37,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION4",
"NeededEquipment" : [ ],
"Source" : "PH_ADDITIVE",
"SourceType" : 0
}, {
"Destination" : "HDR_FLAVOR",
"DestinationType" : 1,
"EquipmentID" : 44,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION11",
"NeededEquipment" : [ ],
"Source" : "FLAVORING",
"SourceType" : 0
}, {
"Destination" : "HDR_FLAVOR",
"DestinationType" : 1,
"EquipmentID" : 42,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION9",
"NeededEquipment" : [ ],
"Source" : "WHITENER",
"SourceType" : 0
}, {
"Destination" : "HDR_REACT",
"DestinationType" : 1,
"EquipmentID" : 45,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION10",
"NeededEquipment" : [ ],
"Source" : "MIX1",
"SourceType" : 0
}, {
"Destination" : "REACTPLAIN",
"DestinationType" : 0,
"EquipmentID" : 49,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION15",
"NeededEquipment" : [ ],
"Source" : "MIX1",
"SourceType" : 0
}, {
"Destination" : "HDR_REACT",
"DestinationType" : 1,
"EquipmentID" : 46,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION12",
"NeededEquipment" : [ ],
"Source" : "MIX2",
"SourceType" : 0
}, {
"Destination" : "HDR_REACT",
"DestinationType" : 1,
"EquipmentID" : 47,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION13",
"NeededEquipment" : [ ],
"Source" : "MIX3",
"SourceType" : 0
}, {
"Destination" : "MIX3",
"DestinationType" : 0,
"EquipmentID" : 51,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION17",
"NeededEquipment" : [ ],
"Source" : "HDR_FLAVOR",
"SourceType" : 1
}, {
"Destination" : "MIX2",
"DestinationType" : 0,
"EquipmentID" : 41,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION8",
"NeededEquipment" : [ ],
"Source" : "HDR_FLAVOR",
"SourceType" : 1
}, {
"Destination" : "MIX1",
"DestinationType" : 0,
"EquipmentID" : 39,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION6",
"NeededEquipment" : [ ],
"Source" : "HDR_BASE",
"SourceType" : 1
}, {
"Destination" : "MIX2",
"DestinationType" : 0,
"EquipmentID" : 40,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION7",
"NeededEquipment" : [ ],
"Source" : "HDR_BASE",
"SourceType" : 1
}, {
"Destination" : "MIX3",
"DestinationType" : 0,
"EquipmentID" : 50,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION16",
"NeededEquipment" : [ ],
"Source" : "HDR_BASE",
"SourceType" : 1
}, {
"Destination" : "REACTFLAVOR",
"DestinationType" : 0,
"EquipmentID" : 48,
"Label" : "",
"MaxOwners" : 1,
"Name" : "CONNECTION14",
"NeededEquipment" : [ ],
"Source" : "HDR_REACT",
"SourceType" : 1
} ],
"EquipmentID" : 1,
"HMIPicture" : "",
"Manifolds" : [ {
"EquipmentID" : 32,
"IconFilename" : "",
"MaxOwners" : 1,
"Name" : "HDR_FLAVOR",
"NeededEquipment" : [ ]
}, {
"EquipmentID" : 33,
"IconFilename" : "",
"MaxOwners" : 1,
"Name" : "HDR_BASE",
"NeededEquipment" : [ ]
}, {
"EquipmentID" : 43,
"IconFilename" : "",
"MaxOwners" : 1,
"Name" : "HDR_REACT",
"NeededEquipment" : [ ]
} ],
"MaxOwners" : 1,
"Name" : "TOOTHPASTE",
"Units" : [ {
"Capacity" : 0,
"ClassName" : "WATER",
"DefaultPriority" : 0,
"EquipmentID" : 5,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "WATER",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 0,
"ClassName" : "FLUORIDE",
"DefaultPriority" : 0,
"EquipmentID" : 6,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "FLUORIDE",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 0,
"ClassName" : "GUM",
"DefaultPriority" : 0,
"EquipmentID" : 10,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "GUM",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 0,
"ClassName" : "BAKINGSODA",
"DefaultPriority" : 0,
"EquipmentID" : 8,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "BAKINGSODA",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 0,
"ClassName" : "PH_ADDITIVE",
"DefaultPriority" : 0,
"EquipmentID" : 7,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "PH_ADDITIVE",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 0,
"ClassName" : "FLAVORING",
"DefaultPriority" : 0,
"EquipmentID" : 9,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "FLAVORING",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 0,
"ClassName" : "WHITENER",
"DefaultPriority" : 0,
"EquipmentID" : 30,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "WHITENER",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "NONE"
}, {
"Capacity" : 1000,
"ClassName" : "MIX1",
"DefaultPriority" : 0,
"EquipmentID" : 2,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "MIX1",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ {
"ClassName" : "LEVEL",
"DataType" : 2,
"ItemName" : "LEVEL1",
"Name" : "LEVEL1",
"TagType" : 3
} ],
"UOM" : "LITERS"
}, {
"Capacity" : 2000,
"ClassName" : "MIX2",
"DefaultPriority" : 0,
"EquipmentID" : 3,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "MIX2",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ {
"ClassName" : "LEVEL",
"DataType" : 2,
"ItemName" : "LEVEL2",
"Name" : "LEVEL2",
"TagType" : 3
} ],
"UOM" : "LITERS"
}, {
"Capacity" : 500,
"ClassName" : "MIX3",
"DefaultPriority" : 0,
"EquipmentID" : 11,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "MIX3",
"NeededEquipment" : [ "TOOTHPASTE", "REACTFLAVOR", "COOL3", "CONNECTION13", "HDR_REACT" ],
"ReadyFlag" : true,
"Tags" : [ {
"ClassName" : "LEVEL",
"DataType" : 2,
"ItemName" : "LEVEL3",
"Name" : "LEVEL3",
"TagType" : 3
} ],
"UOM" : "LITERS"
}, {
"Capacity" : 1000,
"ClassName" : "REACTPLAIN",
"DefaultPriority" : 1,
"EquipmentID" : 29,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "REACTPLAIN",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "LITERS"
}, {
"Capacity" : 2000,
"ClassName" : "REACTFLAVOR",
"DefaultPriority" : 2,
"EquipmentID" : 4,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "REACTFLAVOR",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ ],
"UOM" : "LITERS"
} ]
} ]
application/json
get /tags
[ {
"ClassName" : "COMMAND",
"DataType" : 2,
"ItemName" : "ADD_INGS1_VC",
"Name" : "ADD_INGS1_VC",
"TagType" : 3
}, {
"ClassName" : "COMMAND",
"DataType" : 2,
"ItemName" : "ADD_INGS1_VC",
"Name" : "ADD_INGS1_VC",
"TagType" : 3
} ]
application/json
get /units
[ {
"Capacity" : 1000,
"ClassName" : "MIX1",
"DefaultPriority" : 0,
"EquipmentID" : 2,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "MIX1",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ {
"ClassName" : "LEVEL",
"DataType" : 2,
"ItemName" : "LEVEL1",
"Name" : "LEVEL1",
"TagType" : 3
} ],
"UOM" : "LITERS"
}, {
"Capacity" : 1000,
"ClassName" : "MIX1",
"DefaultPriority" : 0,
"EquipmentID" : 2,
"HMIPicture" : "",
"MaxOwners" : 1,
"Name" : "MIX1",
"NeededEquipment" : [ ],
"ReadyFlag" : true,
"Tags" : [ {
"ClassName" : "LEVEL",
"DataType" : 2,
"ItemName" : "LEVEL1",
"Name" : "LEVEL1",
"TagType" : 3
} ],
"UOM" : "LITERS"
} ]
application/json
post /addbatch
Create a new batch.
The unitbindings is optional and is used in place of the default unit bindings. Specify the unit bindings as tab-delimited string pairs: unit class/unit instance. For example, BASE:1\tMIX1\tADDITIVE:1\tMIX2\tFINAL:1\tREACTFLAVOR.
NOTE: You must specify all unit bindings in this tab-delimited string.
The parametervalues is optional and is used in place of the default parameter values. Specify the parameter bindings as tab-delimited string pairs: parameter name/value. For example, BAKINGSODA_AMT\t50\tFLAVOR\tSPEARMINT\tFLAVOR_AMT\t22\tFLUORIDE_AMT\t11\tGUM_AMT\t27\tPH_AMT\t55\tWATER_AMT\t78\tWHITENER_AMT\t12
NOTE: You must specify all parameter bindings in this tab-delimited string.
NOTE: The \t is used for the tab character, not %09 since this is passed in the JSON Body.
The call will return the batch serial number generated by the Batch Execution Server.
application/json
{
"recipeid" : "MAKE_TOOTHPASTE",
"recipeversion" : 1,
"batchid" : "batch07122020",
"batchscale" : 1,
"unitbindings" : "BASE:1\tMIX1\tADDITIVE:1\tMIX2\tFINAL:1\tREACTFLAVOR",
"parametervalues" : "BAKINGSODA_AMT\t50\tFLAVOR\tSPEARMINT\tFLAVOR_AMT\t22\tFLUORIDE_AMT\t11\tGUM_AMT\t27\tPH_AMT\t55\tWATER_AMT\t78\tWHITENER_AMT\t12"
}
{
"batchserialnumber" : 122,
"detail" : "Batch Added"
}
application/json
post /addbatchevent
application/json
{
"batchid" : "batch07122020",
"value" : "100",
"description" : "TEST adding event",
"engineeringunit" : "EU",
"phasename" : "PHASENAME",
"unitname" : "UNITNAME",
"processcell" : "PROCESSCELL"
}
{
"detail" : "Batch Add Event Was Executed."
}
application/json
get /batchstate
{
"BatchState" : "READY",
"BatchStateValue" : 130
}
application/json
get /batches
[ {
"BatchBound" : "1",
"BatchDescription" : "TOOTHPASTE WITH BAKING SODA BASE",
"BatchID" : "BATCH07122020",
"BatchMode" : "O-AUTO",
"BatchSerialNumber" : "122",
"BatchState" : "READY",
"CommandMask" : "18944",
"DefaultBind" : "1",
"ElapsedTime" : "00:00:00",
"Failures" : " ",
"OperatorBindParameters" : "1",
"OperatorBindUnits" : "1",
"OperatorInteraction" : "1",
"ParametersRequired" : "0",
"ParametersSupplied" : "0",
"PhaseList" : "",
"ProcessCellList" : "TOOTHPASTE,PROCESS_CELL1",
"RecipeAuditVersion" : "17",
"RecipeName" : "MAKE_TOOTHPASTE",
"RecipeVersion" : "1.0",
"Scale" : "1",
"StartTime" : " ",
"Type" : "1",
"UnitList" : "MIX1,MIX2,REACTFLAVOR",
"UnitsRequired" : "0",
"UnitsSupplied" : "0"
}, {
"BatchBound" : "1",
"BatchDescription" : "TOOTHPASTE WITH BAKING SODA BASE",
"BatchID" : "BATCH07122020",
"BatchMode" : "O-AUTO",
"BatchSerialNumber" : "122",
"BatchState" : "READY",
"CommandMask" : "18944",
"DefaultBind" : "1",
"ElapsedTime" : "00:00:00",
"Failures" : " ",
"OperatorBindParameters" : "1",
"OperatorBindUnits" : "1",
"OperatorInteraction" : "1",
"ParametersRequired" : "0",
"ParametersSupplied" : "0",
"PhaseList" : "",
"ProcessCellList" : "TOOTHPASTE,PROCESS_CELL1",
"RecipeAuditVersion" : "17",
"RecipeName" : "MAKE_TOOTHPASTE",
"RecipeVersion" : "1.0",
"Scale" : "1",
"StartTime" : " ",
"Type" : "1",
"UnitList" : "MIX1,MIX2,REACTFLAVOR",
"UnitsRequired" : "0",
"UnitsSupplied" : "0"
} ]
application/json
put /bindbatch
Binds units and parameters to the specified batch. The batch must be in the Ready state (130).
Specify the parameter bindings as tab-delimited string pairs for all parameters. If you want to use default values then this value can be empty.
Specify the unit bindings as tab-delimited string pairs for all units. If you want to use default values then this value can be empty.
Note that \t must be used for the tab character, not %09 since this is passed in the JSON Body.
For example with unit bindings: BASE:1\tMIX1\tADDITIVE:1\tMIX2\tFINAL:1\tREACTFLAVOR
application/json
{
"batchserialnumber" : 154,
"unitbindings" : "BASE:1\tMIX1\tADDITIVE:1\tMIX2\tFINAL:1\tREACTFLAVOR",
"parametervalues" : "BAKINGSODA_AMT\t50\tFLAVOR\tSPEARMINT\tFLAVOR_AMT\t22\tFLUORIDE_AMT\t11\tGUM_AMT\t27\tPH_AMT\t55\tWATER_AMT\t78\tWHITENER_AMT\t12"
}
{
"detail" : "Bind Command sent to the Batch Server."
}
application/json
get /parameters
Gets the list of parameters for the specified procedure.
procedureid is the tab delimited procedure path starting with the batch serial number and followed by the optional recipe unit procedure, optional recipe operation, optional recipe phase. Examples: 123 123\tBASE:1 123\tBASE:1\tMAKE_BASE:1 123\tBASE:1\tMAKE_BASE:1\tADD_INGS:1
%09 can be used in place of \t to represent the tab character. Example: 168%09BASE:1%09MAKE_BASE:1
[ {
"EngineeringUnits" : "ENG. UNITS",
"Enumerations" : [ ],
"HighLimit" : "100.000000",
"ID" : 0,
"LowLimit" : "0.000000",
"Name" : "TEMP_TO_COOL",
"Scalable" : false,
"Type" : 1,
"Value" : "0.000000"
}, {
"EngineeringUnits" : "ENG. UNITS",
"Enumerations" : [ ],
"HighLimit" : "100.000000",
"ID" : 0,
"LowLimit" : "0.000000",
"Name" : "TEMP_TO_COOL",
"Scalable" : false,
"Type" : 1,
"Value" : "0.000000"
} ]
application/json
delete /batches
{
"detail" : "Batch Command Executed."
}
application/json
get /reportparameters
Gets the list of report parameters for the specified procedureid.
procedureid is the tab delimited procedure path starting with the batch serial number and followed by the optional recipe unit procedure, optional recipe operation, optional recipe phase. Examples: 123 123\tBASE:1 123\tBASE:1\tMAKE_BASE:1 123\tBASE:1\tMAKE_BASE:1\tADD_INGS:1 123\tBASE:1\tMAKE_BASE:1\tADD_INGS:1\tCOOL:1
%09 can be used in place of \t to represent the tab character. Example: 168%09BASE:1%09MAKE_BASE:1%09ADD_INGS:1%09COOL:1
[ {
"EngineeringUnits" : "ENG. UNITS",
"Enumerations" : [ ],
"HighLimit" : "ENG. UNITS",
"ID" : 0,
"LowLimit" : "ENG. UNITS",
"Name" : "COOL_TEMP",
"Scalable" : false,
"Type" : 0,
"Value" : " "
}, {
"EngineeringUnits" : "ENG. UNITS",
"Enumerations" : [ ],
"HighLimit" : "ENG. UNITS",
"ID" : 0,
"LowLimit" : "ENG. UNITS",
"Name" : "COOL_TEMP",
"Scalable" : false,
"Type" : 0,
"Value" : " "
} ]
application/json
put /batches
Send a batch command to the batch server. The batchcommand can be: start, stop, hold, restart, abort, clearfailures, manual, auto.
Note that the "remove" batch command is handled in the REST DELETE command.
Note that the batch must be in the proper state in order for the batchcommand to succeed.
application/json
{
"batchserialnumber" : 139,
"batchcommand" : "restart"
}
{
"detail" : "Batch Command Executed."
}
application/json
put /setunittag
Sets the value of the specified unit tag class name.
Note that the unit tag class name is used to specify the unit tag.
application/json
{
"unitname" : "MIX1",
"unittagclassname" : "LEVEL",
"value" : "20"
}
{
"detail" : "Set Unit Tag command sent to the Batch Server."
}
application/json
get /unittags
Gets the list of unit tags for the given procedureid.
procedureid is the tab delimited procedure path starting with the batch serial number and followed by the optional recipe unit procedure, optional recipe operation, optional recipe phase. Examples: 123 123\tBASE:1 123\tBASE:1\tMAKE_BASE:1 123\tBASE:1\tMAKE_BASE:1\tADD_INGS:1
%09 can be used in place of \t to represent the tab character. Example: 168%09BASE:1%09MAKE_BASE:1
[ {
"Class" : "LEVEL",
"Name" : "LEVEL1",
"Type" : 2,
"Value" : "20"
}, {
"Class" : "LEVEL",
"Name" : "LEVEL1",
"Type" : 2,
"Value" : "20"
} ]
application/json
put /ackbindingprompt
application/json
{
"eventid" : 1,
"promptvalue" : "MIX1"
}
{
"detail" : "Acknowedge Binding Prompt Executed"
}
application/json
get /bindingprompts
[ {
"Area" : "AREA1",
"BatchID" : "BATCH07122020B",
"BatchSerialNumber" : "123",
"BindingUnits" : [ "MIX1" ],
"DefaultUnit" : "MIX1",
"Description" : "Unit Binding: Active Binding Prompt Sent",
"EngineeringUnits" : " ",
"Event" : "Active Binding",
"EventID" : "1",
"Phase" : "",
"ProcessCell" : " ",
"Recipe" : "123:MAKE_TOOTHPASTE\\BASE:1-1",
"StepName" : "BASE:1",
"Time" : "7/12/2020 22:28:52",
"Unit" : " ",
"UnitClass" : "MIXER",
"Value" : "MIXER"
}, {
"Area" : "AREA1",
"BatchID" : "BATCH07122020B",
"BatchSerialNumber" : "123",
"BindingUnits" : [ "MIX1" ],
"DefaultUnit" : "MIX1",
"Description" : "Unit Binding: Active Binding Prompt Sent",
"EngineeringUnits" : " ",
"Event" : "Active Binding",
"EventID" : "1",
"Phase" : "",
"ProcessCell" : " ",
"Recipe" : "123:MAKE_TOOTHPASTE\\BASE:1-1",
"StepName" : "BASE:1",
"Time" : "7/12/2020 22:28:52",
"Unit" : " ",
"UnitClass" : "MIXER",
"Value" : "MIXER"
} ]
application/json
put /ackbreakpointprompt
application/json
{
"breakpointpromptid" : 1
}
{
"detail" : "Acknowledge Breakpoint Prompt Executed."
}
application/json
get /breakpointprompts
[ {
"BatchID" : "BATCH07122020",
"BatchSerialNumber" : "122",
"BreakpointID" : "1",
"Expression" : "FINAL:1.STATE = COMPLETE ",
"ID" : "1",
"Recipe" : "122:MAKE_TOOTHPASTE",
"TransitionID" : "45"
}, {
"BatchID" : "BATCH07122020",
"BatchSerialNumber" : "122",
"BreakpointID" : "1",
"Expression" : "FINAL:1.STATE = COMPLETE ",
"ID" : "1",
"Recipe" : "122:MAKE_TOOTHPASTE",
"TransitionID" : "45"
} ]
application/json
get /breakpoints
[ {
"BatchID" : "BATCH07122020",
"BatchSerialNumber" : "122",
"Expression" : "FINAL:1.STATE = COMPLETE ",
"ID" : "1",
"Recipe" : "122:MAKE_TOOTHPASTE",
"TransitionID" : "45"
}, {
"BatchID" : "BATCH07122020",
"BatchSerialNumber" : "122",
"Expression" : "FINAL:1.STATE = COMPLETE ",
"ID" : "1",
"Recipe" : "122:MAKE_TOOTHPASTE",
"TransitionID" : "45"
} ]
application/json
put /clearbreakpoint
application/json
{
"detail" : "Clear Breakpoint Command was sent to the Batch Server."
}
application/json
put /setbreakpoint
application/json
{
"batchserialnumber" : 122,
"transitionid" : 45
}
{
"detail" : "Set Breakpoint Command was sent to the Batch Server."
}
application/json
post /addsecurityevent
Add a security event record to the batch event file specified by the batchid.
Signaturetype can be:
60 This is for performed. The 3 performedby and 3 verifiedby parameters are NOT required.
61 This is for performedby. The 3 performedby parameters are required.
62 This is for performedby/verifiedby. The 3 performedby and 3 verifiedby parameters are required.
Note that this method can be used by the BatchRestAPI programmer to record an E-Signature event to the batch event journal file. The programmer would typically call the Authenticate User BatchRestAPI method, perform a batch command, and then call this BatchRestAPI method to log the event.
application/json
{
"signaturetype" : 62,
"command" : "Start Batch",
"computername" : "MyComputer",
"batchserialnumber" : 128,
"batchid" : "BATCH_ID_BIND2",
"performedbyname" : "operator1",
"performedbygroup" : "operators",
"performedbytimestamp" : "2020-07-12 18:00:00",
"verifiedbyname" : "supervisor1",
"verifiedbygroup" : "supervisors",
"verifiedbytimestamp" : "2020-07-12 18:02:00"
}
post /authenticateuser
Authenticate that the username and password are valid, and that the username is a member of the securitygroup. The password must be base64 encoded.
The authentication is performed on the Batch Server computer and the username must be a Windows user on the Batch Server computer and a member of the specified Windows User Group on the Batch Server computer.
This method can be used by the BatchRestAPI programmer to implement e-signature type authentication prior to the progammer calling any batch/step/phase/prompts commands that they want to secure with authentication and with e-signatures. If the call is successful, then the programmer can proceed and call the batch/step/phase/prompt command REST API (for example: Start Batch) to be executed, and then call the Add Security Event REST API method to record the e-signature data record to the batch event journal file.
application/json
{
"username" : "batchuser",
"password" : "QmF0Y2gxMjM0==",
"securitygroup" : "operators"
}
{
"FullName" : "BatchUser",
"ResolvedPrincipal" : "AB082RQ2E\\BatchUser",
"detail" : "User is successfully authenticated."
}
application/json
put /ackewiprompt
application/json
{
"eventid" : 2,
"promptvalue" : "SUCCESS"
}
{
"detail" : "EWI Prompt acknowledgement was sent to the Batch Server."
}
application/json
post /addewievent
Add an EWI Event to the batch journal. This method lets you record the same EWI events to the batch journal file as is done by the EWI ActiveX Control. The processcell, unitname, and phasename are optional.
Please see the batch event journal file for examples of the XML values that are recorded when a user performs and completes different types of work instructions using the EWI ActiveX Control.
the ewieventype can be one of the following constants: EWI_INSTRUCTION = 10, EWI_DATAENTRY = 11, EWI_SIGNING = 12, EWI_DEVIATION = 13, EWI_COMMENTS = 14, EWI_IMMUTABLE = 15, EWI_EIB = 16, EIB_SIGNING = 17, EIB_DEVIATION = 18, EIB_COMMENTS = 19, LOGICSTEP_DEVIATION = 20, LOGICSTEP_COMMENTS = 21, LOGICSTEP_EXPRESSION = 22
The event subtype can be one of the following constants: EWI_EDITBOX = 30, EWI_CHECKBOX = 31, EWI_RADIOBUTTON = 32, EWI_DATETIME = 33, EWI_DONE = 34, EWI_DONEBY = 35, EWI_CHECKBY = 36, EIB_HEADER = 37, EIB_ACQUIRE = 38, EIB_RELEASE = 39, EWI_EMPTY = 40, EWI_SKIP = 41, EWI_REEXECUTE = 42, EWI_REEXECUTE_CANCEL = 43, LOGICSTEP_SKIP = 44
application/json
{
"batchid" : "batch0727",
"ewieventtype" : 11,
"ewieventsubtype" : 31,
"value" : "<EWIDATAENTRY><EIBID>PACKAGE_SIMPLE.XML.1:1</EIBID><EIBVERSION>1</EIBVERSION><PHASEPROCID>PACK:1</PHASEPROCID><EWISTEPID>2</EWISTEPID><STEPOCCURRENCE>1</STEPOCCURRENCE><EWICHECKBOX><LABEL>Check Here</LABEL><BOOL_VALUE>FALSE</BOOL_VALUE></EWICHECKBOX></EWIDATAENTRY>",
"phasename" : "Phase2",
"unitname" : "Unit2",
"processcell" : "ProcessCell2"
}
{
"detail" : "Add EWI Event was sent to the batch server."
}
application/json
get /ewiprompts
[ {
"AreaModel" : "AREA1",
"BatchID" : "BATCH_ID4",
"BatchSerialNumber" : "152",
"EventID" : "3",
"FileName" : "PACKAGE_SIMPLE.XML",
"FileVersion" : "1",
"Phase" : "PACK1",
"ProcessCell" : "PACKAGE_PROCESS",
"Recipe" : "152:PACKAGE_SIMPLE\\PACK:1-1",
"Time" : "7/23/2020 15:01:18",
"Unit" : "MIX1"
}, {
"AreaModel" : "AREA1",
"BatchID" : "BATCH_ID4",
"BatchSerialNumber" : "152",
"EventID" : "3",
"FileName" : "PACKAGE_SIMPLE.XML",
"FileVersion" : "1",
"Phase" : "PACK1",
"ProcessCell" : "PACKAGE_PROCESS",
"Recipe" : "152:PACKAGE_SIMPLE\\PACK:1-1",
"Time" : "7/23/2020 15:01:18",
"Unit" : "MIX1"
} ]
application/json
get /about
{
"Name" : "BatchRestAPI version 1.0"
}
application/json
put /ackoperatorprompt
application/json
{
"eventid" : 1,
"promptvalue" : "100"
}
{
"detail" : "Acknowedge Operator Prompt Executed"
}
application/json
get /operatorprompts
[ {
"Area" : "AREA1",
"BatchID" : "BATCH07122020",
"Default" : "0",
"EU" : "RPM",
"EquipmentDescription" : "SPEED",
"EventID" : "1",
"EventType" : "Prompt",
"High" : "100",
"Low" : "0",
"Phase" : "AGITATE4",
"ProcCell" : "TOOTHPASTE",
"Recipe" : "122:MAKE_TOOTHPASTE\\FINAL:1\\MAKE_FNL:1\\AGITATE:1-1",
"RespType" : "1",
"Time" : "7/12/2020 22:08:14",
"Unit" : "REACTFLAVOR",
"Value" : "0"
}, {
"Area" : "AREA1",
"BatchID" : "BATCH07122020",
"Default" : "0",
"EU" : "RPM",
"EquipmentDescription" : "SPEED",
"EventID" : "1",
"EventType" : "Prompt",
"High" : "100",
"Low" : "0",
"Phase" : "AGITATE4",
"ProcCell" : "TOOTHPASTE",
"Recipe" : "122:MAKE_TOOTHPASTE\\FINAL:1\\MAKE_FNL:1\\AGITATE:1-1",
"RespType" : "1",
"Time" : "7/12/2020 22:08:14",
"Unit" : "REACTFLAVOR",
"Value" : "0"
} ]
application/json
put /acquirephase
application/json
{
"detail" : "Acquire phase was sent to the batch server."
}
application/json
put /phasecommand
Sends a phase command to the batch server for the specified phaseid. Phase command can be: start, hold, restart, abort, stop, reset, pause, resume, clearfailures, singlestep.
Note that the singlestep command toggles the current value of singlestep.
It will fail to send the command to the batch server if the phaseid does not exist or if the phase is not in the correct state. You need to acquire the phase prior to sending a phase command.
application/json
{
"phaseid" : 12,
"unitname" : "MIX1",
"batchid" : "BATCH_ID1",
"phasecommand" : "START"
}
{
"detail" : "The phase command was sent to the batch server."
}
application/json
get /phases2
[ {
"ArbMask" : "1",
"BatchID" : " ",
"ClassName" : "COOL",
"CmdMask" : "0",
"CommandTagName" : "COOL1_VC",
"CurrentUnit" : "MIX1",
"EquipmentID" : 15,
"Failure" : "",
"FailureTagName" : "COOL1_F",
"MaxOwners" : 1,
"Mode" : " ",
"Msg" : "",
"Name" : "COOL1",
"NeededEquipment" : [ ],
"Owner" : " ",
"OwnerTagName" : "COOL1_W",
"ParameterTags" : [ {
"ClassName" : "PARMTR01",
"DataType" : 1,
"ItemName" : "COOL1P01",
"Name" : "NODE.COOL1P01.F_CV",
"TagType" : 3
} ],
"Parameters" : [ {
"EngineeringUnits" : "ENG. UNITS",
"Enumerations" : [ ],
"HighLimit" : "ENG. UNITS",
"ID" : 1,
"LowLimit" : "ENG. UNITS",
"Name" : "TEMP_TO_COOL",
"Scalable" : false,
"Type" : 1,
"Value" : "ENG. UNITS"
} ],
"Pause" : "",
"PauseTagName" : "COOL1_P",
"PausedTagName" : "COOL1_PD",
"PhaseReports" : [ {
"EngineeringUnits" : "ENG. UNITS",
"ID" : 1,
"Name" : "COOL_TEMP",
"Type" : 1
} ],
"ReportTags" : [ {
"ClassName" : "REPORT01",
"DataType" : 1,
"ItemName" : "COOL1R01",
"Name" : "NODE.COOL1R01.F_CV",
"TagType" : 3
} ],
"RequestTagName" : "COOL1_RQ",
"RequestTags" : [ ],
"SingleStepTagName" : "COOL1_SS",
"State" : "IDLE",
"StatusTagName" : "COOL1_ST",
"Step" : 0,
"StepIndexTagName" : "COOL1_SI",
"UnitID" : 0,
"UnitIDTagName" : "COOL1_UN",
"Units" : [ "MIX1" ],
"ValidUnits" : [ ]
}, {
"ArbMask" : "1",
"BatchID" : " ",
"ClassName" : "COOL",
"CmdMask" : "0",
"CommandTagName" : "COOL1_VC",
"CurrentUnit" : "MIX1",
"EquipmentID" : 15,
"Failure" : "",
"FailureTagName" : "COOL1_F",
"MaxOwners" : 1,
"Mode" : " ",
"Msg" : "",
"Name" : "COOL1",
"NeededEquipment" : [ ],
"Owner" : " ",
"OwnerTagName" : "COOL1_W",
"ParameterTags" : [ {
"ClassName" : "PARMTR01",
"DataType" : 1,
"ItemName" : "COOL1P01",
"Name" : "NODE.COOL1P01.F_CV",
"TagType" : 3
} ],
"Parameters" : [ {
"EngineeringUnits" : "ENG. UNITS",
"Enumerations" : [ ],
"HighLimit" : "ENG. UNITS",
"ID" : 1,
"LowLimit" : "ENG. UNITS",
"Name" : "TEMP_TO_COOL",
"Scalable" : false,
"Type" : 1,
"Value" : "ENG. UNITS"
} ],
"Pause" : "",
"PauseTagName" : "COOL1_P",
"PausedTagName" : "COOL1_PD",
"PhaseReports" : [ {
"EngineeringUnits" : "ENG. UNITS",
"ID" : 1,
"Name" : "COOL_TEMP",
"Type" : 1
} ],
"ReportTags" : [ {
"ClassName" : "REPORT01",
"DataType" : 1,
"ItemName" : "COOL1R01",
"Name" : "NODE.COOL1R01.F_CV",
"TagType" : 3
} ],
"RequestTagName" : "COOL1_RQ",
"RequestTags" : [ ],
"SingleStepTagName" : "COOL1_SS",
"State" : "IDLE",
"StatusTagName" : "COOL1_ST",
"Step" : 0,
"StepIndexTagName" : "COOL1_SI",
"UnitID" : 0,
"UnitIDTagName" : "COOL1_UN",
"Units" : [ "MIX1" ],
"ValidUnits" : [ ]
} ]
application/json
put /releasephase
application/json
{
"detail" : "Release phase was sent to the batch server."
}
application/json
get /recipeparameters
[ {
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"HighLimit" : "100",
"ID" : 0,
"LowLimit" : "0",
"Name" : "BAKINGSODA_AMT",
"Scalable" : true,
"Type" : 1,
"Value" : "50"
}, {
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"HighLimit" : "100",
"ID" : 0,
"LowLimit" : "0",
"Name" : "BAKINGSODA_AMT",
"Scalable" : true,
"Type" : 1,
"Value" : "50"
} ]
application/json
get /recipeunits
[ {
"DefaultUnitName" : "MIX1",
"StepName" : "BASE:1",
"UnitList" : [ "MIX1", "MIX2", "MIX3" ]
}, {
"DefaultUnitName" : "MIX1",
"StepName" : "BASE:1",
"UnitList" : [ "MIX1", "MIX2", "MIX3" ]
} ]
application/json
get /recipes
[ {
"Author" : "PROCESS ENGINEER",
"ProductID" : "21039438",
"RecipeAuditVersion" : "18",
"RecipeDescription" : "TPST",
"RecipeFilename" : "FINAL.UPC",
"RecipeID" : "FINAL",
"RecipeProductName" : "TPST",
"RecipeReleased" : "0",
"RecipeStorageType" : "FILE",
"RecipeType" : "UNIT PROCEDURE",
"RecipeVersion" : "1.0",
"TimeStamp" : "15:33:55 THURSDAY, JULY 2, 2020"
}, {
"Author" : "PROCESS ENGINEER",
"ProductID" : "21039438",
"RecipeAuditVersion" : "18",
"RecipeDescription" : "TPST",
"RecipeFilename" : "FINAL.UPC",
"RecipeID" : "FINAL",
"RecipeProductName" : "TPST",
"RecipeReleased" : "0",
"RecipeStorageType" : "FILE",
"RecipeType" : "UNIT PROCEDURE",
"RecipeVersion" : "1.0",
"TimeStamp" : "15:33:55 THURSDAY, JULY 2, 2020"
} ]
application/json
put /ackstepbindingprompt
application/json
{
"batchserialnumber" : 123,
"stepname" : "FINAL:1",
"eventid" : 2,
"unit" : "REACTFLAVOR"
}
{
"detail" : "Step Acknowledge binding was sent to the Batch Server."
}
application/json
get /activerecipesteplistitems
Gets a filtered collection of Recipe Step List Items. The collection is filtered by the state of the recipe step as indicated by the parameter activeStepMask.
The activeStepMask value for the desired active state(s) in the recipe step collection:
1 – Running or Restarting
2 – Held or Holding
4 – Stopped or Stopping
8 – Aborted or Aborting
The values may be masked in a binary fashion to retrieve a collection containing more than one state.
3 – Held/Holding or Running/Restarting
5 – Stopped/Stopping or Running/Restarting
6 – Stopped/Stopping or Held/Holding
7 – Stopped/Stopping or Held/Holding or Running/Restarting
9 – Aborted/Aborting or Running/Restarting
10 – Aborted/Aborting or Held/Holding
11 – Aborted/Aborting or Held/Holding or Running/Restarting
12 – Aborted/Aborting or Stopped/Stopping
13 – Aborted/Aborting or Stopped/Stopping or Running/Restarting
14 – Aborted/Aborting or Stopped/Stopping or Held/Holding
15 – Aborted/Aborting or Stopped/Stopping or Held/Holding or Running/Restarting
[ {
"CommandMask" : 0,
"ElementID" : 48,
"Failure" : " ",
"FullStepIdentification" : "",
"KeyParameterName" : " ",
"KeyParameterValueEU" : " ",
"Message" : " ",
"Mode" : "P-AUTO",
"Owner" : "BATCH",
"OwnerID" : -27,
"OwnerName" : "153:MAKE_TOOTHPASTE\\BASE:1\\MAKE_BASE:1",
"RequestRegister" : 1000,
"S88Type" : 4,
"ScheduledUnitName" : " ",
"State" : "RUNNING",
"StepIndex" : 0,
"StepName" : "ADD_INGS:1",
"UnitName" : "MIX1"
}, {
"CommandMask" : 0,
"ElementID" : 48,
"Failure" : " ",
"FullStepIdentification" : "",
"KeyParameterName" : " ",
"KeyParameterValueEU" : " ",
"Message" : " ",
"Mode" : "P-AUTO",
"Owner" : "BATCH",
"OwnerID" : -27,
"OwnerName" : "153:MAKE_TOOTHPASTE\\BASE:1\\MAKE_BASE:1",
"RequestRegister" : 1000,
"S88Type" : 4,
"ScheduledUnitName" : " ",
"State" : "RUNNING",
"StepIndex" : 0,
"StepName" : "ADD_INGS:1",
"UnitName" : "MIX1"
} ]
application/json
put /steprebind
application/json
{
"batchserialnumber" : 124,
"stepname" : "BASE:1",
"unit" : "MIX1"
}
{
"detail" : "Step rebinding was sent to the Batch Server."
}
application/json
get /recipeelements
Get the recipe elements for the specified procedure id.
procedureid is the tab delimited procedure path starting with the batch serial number and followed by the optional recipe unit procedure, optional recipe operation. Examples: 123 123\tBASE:1 123\tBASE:1\tMAKE_BASE:1
%09 can be used in place of \t to represent the tab character. Example: 168%09BASE:1%09MAKE_BASE:1
{
"Abstract" : "FF",
"Author" : "PROCESS ENGINEER",
"Description" : "TOOTHPASTE WITH BAKING SODA BASE",
"Font" : {
"ClipPrecision" : 2,
"Escapement" : 0,
"FontName" : "COURIER NEW",
"Height" : -110,
"Italic" : 0,
"Orientation" : 0,
"OutPrecision" : 3,
"PitchAndFamily" : 49,
"Quality" : 1,
"StrikeOut" : 0,
"Underline" : 0,
"Weight" : 400
},
"Identifier" : "MAKE_TOOTHPASTE",
"ProductCode" : "1002568790",
"RecipeLinks" : [ {
"AnchorID" : 19,
"EndingNodes" : [ 21 ],
"StartingNodes" : [ 19 ],
"Type" : "Link"
}, {
"AnchorID" : 21,
"EndingNodes" : [ 23, 33 ],
"StartingNodes" : [ 21 ],
"Type" : "AndDivergence"
}, {
"AnchorID" : 23,
"EndingNodes" : [ 27 ],
"StartingNodes" : [ 23 ],
"Type" : "EquipmentLink"
}, {
"AnchorID" : 33,
"EndingNodes" : [ 27 ],
"StartingNodes" : [ 33 ],
"Type" : "EquipmentLink"
}, {
"AnchorID" : 25,
"EndingNodes" : [ 25 ],
"StartingNodes" : [ 23, 33 ],
"Type" : "AndConvergence"
}, {
"AnchorID" : 25,
"EndingNodes" : [ 27 ],
"StartingNodes" : [ 25 ],
"Type" : "Link"
}, {
"AnchorID" : 27,
"EndingNodes" : [ 29 ],
"StartingNodes" : [ 27 ],
"Type" : "Link"
}, {
"AnchorID" : 29,
"EndingNodes" : [ 31 ],
"StartingNodes" : [ 29 ],
"Type" : "Link"
} ],
"RecipeStepInitial" : {
"Fail" : "",
"ID" : 19,
"State" : "",
"Xpos" : 2550,
"Ypos" : 150
},
"RecipeStepParent" : {
"ActUnit" : "",
"BindType" : 156451404,
"CmdMask" : 1296129860,
"Control" : "UNKNOWN_STATE",
"ID" : 18,
"Index" : 154143024,
"KeyParamValue" : "",
"Mode" : "UNKNOWN_STATE",
"Name" : "",
"RecipeParameters" : [ {
"Default" : "50",
"EngineeringUnits" : "GAL",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "FLUORIDE_AMT",
"ResponseType" : 1,
"Scope" : 1,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "GUM_AMT",
"ResponseType" : 1,
"Scope" : 1,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "BAKINGSODA_AMT",
"ResponseType" : 1,
"Scope" : 1,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "PH_AMT",
"ResponseType" : 1,
"Scope" : 1,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "GAL",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "WATER_AMT",
"ResponseType" : 1,
"Scope" : 1,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "GAL",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "FLAVOR_AMT",
"ResponseType" : 1,
"Scope" : 1,
"Value" : "50"
}, {
"Default" : "WINTERGREEN",
"EngineeringUnits" : "FLAVORS",
"Enumerations" : [ {
"Name" : "WINTERGREEN",
"Ordinal" : 0
}, {
"Name" : "SPEARMINT",
"Ordinal" : 1
}, {
"Name" : "PEPPERMINT",
"Ordinal" : 2
}, {
"Name" : "BUBBLEGUM",
"Ordinal" : 3
} ],
"High" : " ",
"Low" : " ",
"Name" : "FLAVOR",
"ResponseType" : 5,
"Scope" : 1,
"Value" : "WINTERGREEN"
}, {
"Default" : "50",
"EngineeringUnits" : "GAL",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "WHITENER_AMT",
"ResponseType" : 1,
"Scope" : 1,
"Value" : "0.12"
} ],
"RecipePath" : "MAKE_TOO.BPC",
"RecipeReports" : [ ],
"State" : "",
"UnitClass" : "",
"UnitName" : "",
"X2Pos" : 805908528,
"XPos" : 30853576,
"Y2Pos" : 154154249,
"YPos" : 26673344
},
"RecipeStepTerminal" : {
"ID" : 31,
"State" : "",
"Xpos" : 2550,
"Ypos" : 3900
},
"RecipeStepTransitions" : [ {
"Acquiring" : false,
"Condition" : "TRUE",
"Fail" : "",
"ID" : 21,
"State" : "IDLE",
"XPos" : 2700,
"YPos" : 750
}, {
"Acquiring" : false,
"Condition" : "ADDITIVE:1.STATE = COMPLETE AND BASE:1.STATE = COMPLETE ",
"Fail" : "",
"ID" : 25,
"State" : "IDLE",
"XPos" : 2700,
"YPos" : 2100
}, {
"Acquiring" : false,
"Condition" : "FINAL:1.STATE = COMPLETE ",
"Fail" : "",
"ID" : 29,
"State" : "IDLE",
"XPos" : 2700,
"YPos" : 3300
} ],
"RecipeSteps" : [ {
"ActUnit" : " ",
"BindType" : 1,
"CmdMask" : 0,
"Control" : " ",
"ID" : 23,
"Index" : 0,
"KeyParamValue" : "",
"Mode" : " ",
"Name" : "BASE:1",
"RecipeParameters" : [ {
"Default" : "50",
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "GUM_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "0.27"
}, {
"Default" : "50",
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "PH_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "0.55"
}, {
"Default" : "50",
"EngineeringUnits" : "GAL",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "WATER_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "0.78"
}, {
"Default" : "50",
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "BKSD_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "0.5"
}, {
"Default" : "50",
"EngineeringUnits" : "GAL",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "FLRD_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "0.11"
} ],
"RecipePath" : "BASE.UPC",
"RecipeReports" : [ ],
"State" : "",
"UnitClass" : "MIXER",
"UnitName" : "MIX1",
"X2Pos" : 1784,
"XPos" : 1200,
"Y2Pos" : 1629,
"YPos" : 150
}, {
"ActUnit" : " ",
"BindType" : 1,
"CmdMask" : 0,
"Control" : " ",
"ID" : 33,
"Index" : 0,
"KeyParamValue" : "",
"Mode" : " ",
"Name" : "ADDITIVE:1",
"RecipeParameters" : [ {
"Default" : "50",
"EngineeringUnits" : " ",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "FLAVOR_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "0.22"
}, {
"Default" : "WINTERGREEN",
"EngineeringUnits" : "FLAVORS",
"Enumerations" : [ {
"Name" : "WINTERGREEN",
"Ordinal" : 0
}, {
"Name" : "SPEARMINT",
"Ordinal" : 1
}, {
"Name" : "PEPPERMINT",
"Ordinal" : 2
}, {
"Name" : "BUBBLEGUM",
"Ordinal" : 3
} ],
"High" : " ",
"Low" : " ",
"Name" : "FLAVOR",
"ResponseType" : 5,
"Scope" : 3,
"Value" : "SPEARMINT"
}, {
"Default" : "50",
"EngineeringUnits" : " ",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "WHITENER_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "0.12"
} ],
"RecipePath" : "ADDITIVE.UPC",
"RecipeReports" : [ ],
"State" : "",
"UnitClass" : "MIXER",
"UnitName" : "MIX2",
"X2Pos" : 5772,
"XPos" : 1200,
"Y2Pos" : 1656,
"YPos" : 4050
}, {
"ActUnit" : " ",
"BindType" : 1,
"CmdMask" : 0,
"Control" : " ",
"ID" : 27,
"Index" : 0,
"KeyParamValue" : "",
"Mode" : " ",
"Name" : "FINAL:1",
"RecipeParameters" : [ ],
"RecipePath" : "FINAL.UPC",
"RecipeReports" : [ ],
"State" : "",
"UnitClass" : "REACTOR",
"UnitName" : "REACTFLAVOR",
"X2Pos" : 3617,
"XPos" : 2550,
"Y2Pos" : 2978,
"YPos" : 1950
} ],
"Unit" : "900000\t900000",
"VersionDate" : "13:02:52 WEDNESDAY, JULY 29, 2020",
"VersionNum" : "1.0 "
}
application/json
get /recipelinks
Get the recipe links for the specified procedure id.
procedureid is the tab delimited procedure path starting with the batch serial number and followed by the optional recipe unit procedure, optional recipe operation. Examples: 123 123\tBASE:1 123\tBASE:1\tMAKE_BASE:1
%09 can be used in place of \t to represent the tab character. Example: 168%09BASE:1%09MAKE_BASE:1
[ {
"AnchorID" : 19,
"EndingNodes" : [ 21 ],
"StartingNodes" : [ 19 ],
"Type" : "Link"
}, {
"AnchorID" : 21,
"EndingNodes" : [ 23, 33 ],
"StartingNodes" : [ 21 ],
"Type" : "AndDivergence"
} ]
application/json
get /recipesteplistitems
[ {
"CommandMask" : 18944,
"ElementID" : 34,
"Failure" : " ",
"FullStepIdentification" : "",
"KeyParameterName" : " ",
"KeyParameterValueEU" : " ",
"Message" : " ",
"Mode" : "O-AUTO",
"Owner" : "BATCH",
"OwnerID" : 0,
"OwnerName" : " ",
"RequestRegister" : 0,
"S88Type" : 1,
"ScheduledUnitName" : " ",
"State" : "READY",
"StepIndex" : 0,
"StepName" : "BATCH07122020",
"UnitName" : " "
}, {
"CommandMask" : 18944,
"ElementID" : 34,
"Failure" : " ",
"FullStepIdentification" : "",
"KeyParameterName" : " ",
"KeyParameterValueEU" : " ",
"Message" : " ",
"Mode" : "O-AUTO",
"Owner" : "BATCH",
"OwnerID" : 0,
"OwnerName" : " ",
"RequestRegister" : 0,
"S88Type" : 1,
"ScheduledUnitName" : " ",
"State" : "READY",
"StepIndex" : 0,
"StepName" : "BATCH07122020",
"UnitName" : " "
} ]
application/json
get /recipesteptransitions
Get the recipe step transitions for the specified procedure id.
procedureid is the tab delimited procedure path starting with the batch serial number and followed by the optional recipe unit procedure, optional recipe operation. Examples: 123 123\tBASE:1 123\tBASE:1\tMAKE_BASE:1
%09 can be used in place of \t to represent the tab character. Example: 168%09BASE:1%09MAKE_BASE:1
[ {
"Acquiring" : false,
"Condition" : "TRUE",
"Fail" : "",
"ID" : 21,
"State" : "",
"XPos" : 2700,
"YPos" : 750
}, {
"Acquiring" : false,
"Condition" : "TRUE",
"Fail" : "",
"ID" : 21,
"State" : "",
"XPos" : 2700,
"YPos" : 750
} ]
application/json
get /recipesteps
Get the recipesteps for the specified procedure id.
procedureid is the tab delimited procedure path starting with the batch serial number and followed by the optional recipe unit procedure, optional recipe operation. Examples: 123 123\tBASE:1 123\tBASE:1\tMAKE_BASE:1
%09 can be used in place of \t to represent the tab character. Example: 168%09BASE:1%09MAKE_BASE:1
[ {
"ActUnit" : " ",
"BindType" : 1,
"CmdMask" : 134217736,
"Control" : "UNKNOWN_STATE",
"ID" : 23,
"Index" : 604582449,
"KeyParamValue" : "",
"Mode" : "UNKNOWN_STATE",
"Name" : "BASE:1",
"RecipeParameters" : [ {
"Default" : "50",
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "GUM_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "PH_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "GAL",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "WATER_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "BKSD_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "GAL",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "FLRD_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "50"
} ],
"RecipePath" : "BASE.UPC",
"RecipeReports" : [ ],
"State" : "",
"UnitClass" : "MIXER",
"UnitName" : "MIX1",
"X2Pos" : 1784,
"XPos" : 1200,
"Y2Pos" : 1629,
"YPos" : 150
}, {
"ActUnit" : " ",
"BindType" : 1,
"CmdMask" : 134217736,
"Control" : "UNKNOWN_STATE",
"ID" : 23,
"Index" : 604582449,
"KeyParamValue" : "",
"Mode" : "UNKNOWN_STATE",
"Name" : "BASE:1",
"RecipeParameters" : [ {
"Default" : "50",
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "GUM_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "PH_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "GAL",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "WATER_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "LBS",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "BKSD_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "50"
}, {
"Default" : "50",
"EngineeringUnits" : "GAL",
"Enumerations" : [ ],
"High" : "100",
"Low" : "0",
"Name" : "FLRD_AMT",
"ResponseType" : 1,
"Scope" : 3,
"Value" : "50"
} ],
"RecipePath" : "BASE.UPC",
"RecipeReports" : [ ],
"State" : "",
"UnitClass" : "MIXER",
"UnitName" : "MIX1",
"X2Pos" : 1784,
"XPos" : 1200,
"Y2Pos" : 1629,
"YPos" : 150
} ]
application/json
get /recipetransitionexpression
Get the recipe transition expression for the specified procedure id and transition id.
procedureid is the tab delimited procedure path starting with the batch serial number and followed by the optional recipe unit procedure, optional recipe operation. Examples: 123 123\tBASE:1 123\tBASE:1\tMAKE_BASE:1
%09 can be used in place of \t to represent the tab character. Example: 168%09BASE:1%09MAKE_BASE:1
[ {
"Color" : 255,
"Left" : "ADDITIVE:1.STATE",
"LeftValue" : "RUNNING",
"Oper" : "= ",
"Right" : "COMPLETE",
"RightValue" : "COMPLETE"
}, {
"Color" : 255,
"Left" : "ADDITIVE:1.STATE",
"LeftValue" : "RUNNING",
"Oper" : "= ",
"Right" : "COMPLETE",
"RightValue" : "COMPLETE"
} ]
application/json
put /steps
run the step command for the specified procedure id. The Step command can be: startstep, holdstep, restartstep, abortstep, stopstep, manualstep, autostep, clearfailures.
procedureid is the tab delimited procedure path starting with the batch serial number and followed by the optional recipe unit procedure, optional recipe operation. Examples: 123 123\tBASE:1 123\tBASE:1\tMAKE_BASE:1
Note that \t must be used for the tab character, not %09 since this is passed in the JSON Body.
application/json
{
"stepcommand" : "startstep",
"procedureid" : "122"
}
{
"detail" : "Step Command was sent to the Batch Server."
}
application/json
put /setrecipeparametervalue
Set a parameter value at the specified recipe step. The step parameter can be at the procedureid level or in the optionally provided stepname level.
procedureid is the tab delimited procedure path starting with the batch serial number and followed by the optional recipe unit procedure, optional recipe operation. Examples: 123 123\tBASE:1 123\tBASE:1\tMAKE_BASE:1
Note that \t must be used for the tab character, not %09 since this is passed in the JSON Body.
application/json
{
"procedureid" : "165\tFINAL:1\tMAKE_FNL:1",
"stepname" : "AGITATE:1",
"parametername" : "TIME",
"parametervalue" : "55"
}
{
"detail" : "Recipe parameter value was sent to the Batch Server."
}
application/json
post /addrecipe
Reads the recipe header information from the database for the given recipe ID and recipe version and adds it to the end of the recipe.dir file. This is useful for creating recipes outside of the Recipe Editor (for example, to copy an existing recipe and change the recipe ID or parameters within the recipe database).
Note that the specified recipe must be stored in the relational database, meaning the recipe file type must be set to SQL in the Batch Execution WorkSpace project.
application/json
{
"recipeid" : "make_toothpaste2",
"recipeversion" : 1
}
{
"detail" : "Add Recipe was successful."
}
application/json
get /globalformulationheader
Get the global formulation header for the specified recipe. Recipe version should always be 1.
Note that the specified recipe must be stored in the relational database, meaning the recipe file type must be set to SQL in the Batch Execution WorkSpace project.
Note that VBIS will return the message "VBIS Failed to Find Recipe Specified" even in the case of a bad SQL connection.
{
"FormulationAuthor" : "Joe",
"FormulationBatchSize" : "0.0",
"FormulationDescription" : "",
"FormulationName" : "GLOBAL_PARAMETERS",
"FormulationProductCode" : "",
"FormulationStatus" : 0,
"FormulationType" : 1,
"FormulationValid" : true,
"FormulationVersion" : 1,
"FormulationVersionDateLocal" : "22:50:28 Sunday, July 26, 2020",
"FormulationVersionDateUTC" : "2:50:28 Monday, July 27, 2020",
"MasterRecipeAuditVersion" : 0,
"RecipeID" : "MAKE_TOOTHPASTE",
"RecipeVersion" : "1"
}
application/json
get /productformulationheader
Get the product formulation header for the specified formulation name.
Note that the The specified formulation must be stored in the relational database, meaning the formulation file type must be set to SQL in the Batch Execution WorkSpace project.
Note that VBIS will return the message "VBIS Failed to Find Recipe Specified" even in the case of a bad SQL connection.
{
"FormulationAuthor" : "Joe",
"FormulationBatchSize" : "0.0",
"FormulationDescription" : "My first formula for toothpaste",
"FormulationName" : "FORMULA1",
"FormulationProductCode" : "12345",
"FormulationStatus" : 1,
"FormulationType" : 0,
"FormulationValid" : true,
"FormulationVersion" : 2,
"FormulationVersionDateLocal" : "22:55:14 Sunday, July 26, 2020",
"FormulationVersionDateUTC" : "2:55:14 Monday, July 27, 2020",
"MasterRecipeAuditVersion" : 29,
"RecipeID" : "MAKE_TOOTHPASTE",
"RecipeVersion" : "1"
}
application/json
get /recipeheader
Get the recipe header information for the specified recipe. Recipe version should always be 1.
Note that the specified recipe must be stored in the relational database, meaning the recipe file type must be set to SQL in the Batch Execution WorkSpace project.
Note that VBIS will return the message "VBIS Failed to Find Recipe Specified" even in the case of a bad SQL connection.
{
"Abstract" : "ff",
"ApprovedBy" : "KShay",
"AreaModelFilename" : "C:\\PROGRAM FILES (X86)\\PROFICY\\PROFICY BATCH EXECUTION\\PROJECTS\\DEMO\\RECIPES\\DEMO.CFG",
"AreaModelValidatedAgainst" : "11:28:53 Friday, July 24, 2020",
"Author" : "Process Engineer",
"BatchRunLength" : "1",
"BatchSizeDefault" : "1000.",
"BatchSizeMaximum" : "2000.",
"BatchSizeMinimum" : "200.",
"BatchSizeUnits" : "LITERS",
"DefaultUnit" : "",
"Description" : "Toothpaste with baking soda base",
"Equipment" : 0,
"Graphics" : true,
"HeaderVersionNumber" : 0,
"Name" : "",
"OperatorChangeBindCreate" : true,
"OperatorChangeBindExecute" : true,
"ProductCode" : "1002568790",
"ProductName" : "Bakingsoda Toothpaste",
"RecipeAuditPerformedByComment" : "",
"RecipeAuditPerformedByName" : "",
"RecipeAuditPerformedByTime" : "",
"RecipeAuditPerformedByUserID" : "",
"RecipeAuditVerifiedByComment" : "",
"RecipeAuditVerifiedByName" : "",
"RecipeAuditVerifiedByTime" : "",
"RecipeAuditVerifiedByUserID" : "",
"RecipeAuditVersion" : "32",
"RecipeID" : "MAKE_TOOTHPASTE",
"RecipeType" : 0,
"ReleasedToProduction" : true,
"ScaleCapacity" : 1,
"StorageType" : 1,
"UnitBindMethod" : 1,
"UnitCapacity" : 0,
"UnitOfMeasure" : "NONE",
"ValidationTime" : "11:52:56 Tuesday, July 28, 2020",
"VersionDate" : "15:52:57 Tuesday, July 28, 2020",
"VersionNumber" : "1.0 "
}
application/json
put /rebuildrecipedir
Reads the recipe header information from the SQL database for all recipes and rewrites the recipe.dir file. This is useful if the recipe.dir file gets corrupted or lost.
The recipes must be stored in the relational database, meaning the recipe file type must be set to SQL in the Batch Execution WorkSpace project.
{
"detail" : "Rebuild recipe.dir file was successful."
}
application/json
put /resetcontrol
Resets the control recipe and step parameter values to the master recipe and step parameter values.
Note that the specified recipe must be stored in the relational database, meaning the recipe file type must be set to SQL in the Batch Execution WorkSpace project.
application/json
{
"recipeid" : "make_toothpaste",
"recipeversion" : 1
}
{
"detail" : "Reset Control was successful."
}
application/json
put /updatemasterrecipe
Updates the master recipe and step parameter values to the control recipe and step parameter values.
Note that the specified recipes must be stored in the relational database, meaning the recipe file type must be set to SQL in the Batch Execution WorkSpace project.
application/json
{
"recipeid" : "make_toothpaste",
"recipeversion" : 1
}
{
"detail" : "Update Master Recipe was successful."
}
application/json
get /verifyrecipe
Verify the specified recipe. The recipe version should always be 1.
Note that the specified recipe must be stored in the relational database, meaning the recipe file type must be set to SQL in the Batch Execution WorkSpace project.
Note that VBIS will return the message "VBIS Failed to Find Recipe Specified" even in the case of a bad SQL connection.
{
"detail" : "Verify Recipe was successful."
}
application/json
AcknowledgeBindingPromptRequest
- AcknowledgeBindingPromptRequestAcknowledgeBreakpointPromptRequest
- AcknowledgeBreakpointPromptRequestAcknowledgeEWIPromptRequest
- AcknowledgeEWIPromptRequestAcknowledgeOperatorPromptRequest
- AcknowledgeOperatorPromptRequestAcknowledgeStepBindingPromptRequest
- AcknowledgeStepBindingPromptRequestAcquirePhaseRequest
- AcquirePhaseRequestAddBatchEventRequest
- AddBatchEventRequestAddBatchRequest
- AddBatchRequestAddEWIEvent
- AddEWIEventAddEWIEventRequest
- AddEWIEventRequestAddRecipe
- AddRecipeAddRecipeRequest
- AddRecipeRequestAddSecurityEventRequest
- AddSecurityEventRequestAreamodelHeader
- AreamodelHeaderAuthenticateUserRequest
- AuthenticateUserRequestBatchState
- BatchStateBindBatchParameterValuesandUnitBindings
- BindBatchParameterValuesandUnitBindingsBindBatchParameterValuesandUnitBindingsRequest
- BindBatchParameterValuesandUnitBindingsRequestClearBreakpointRequest
- ClearBreakpointRequestConnection
- ConnectionControlModule
- ControlModuleDataServer
- DataServerDeleteBatch
- DeleteBatchEnumeration
- EnumerationEnumeration1
- Enumeration1EnumerationSet
- EnumerationSetFont
- FontGetGlobalFormulationHeader
- GetGlobalFormulationHeaderGetProductFormulationHeader
- GetProductFormulationHeaderGetRecipeHeader
- GetRecipeHeaderGetUnitTag
- GetUnitTagManifold
- ManifoldParameter
- ParameterParameterTag
- ParameterTagParametersexampleshowingparametersfromthephasestep.
- Parametersexampleshowingparametersfromthephasestep.Phase
- PhasePhaseCommands
- PhaseCommandsPhaseCommandsAndBatchCommands1
- PhaseCommandsAndBatchCommands1PhaseCommandsRequest
- PhaseCommandsRequestPhaseReport
- PhaseReportPhases2
- Phases2ProcessCellsWithoutPhase
- ProcessCellsWithoutPhaseRebindRequest
- RebindRequestRebuildrecipe.dir
- Rebuildrecipe.dirRecipeElements
- RecipeElementsRecipeLink
- RecipeLinkRecipeParameter1
- RecipeParameter1RecipeParameter2
- RecipeParameter2RecipeStep
- RecipeStepRecipeStep1
- RecipeStep1RecipeStepInitial
- RecipeStepInitialRecipeStepParent
- RecipeStepParentRecipeStepTerminal
- RecipeStepTerminalRecipeStepTransition
- RecipeStepTransitionRecipeStepTransition1
- RecipeStepTransition1ReleasePhase
- ReleasePhaseReleasePhaseRequest
- ReleasePhaseRequestReportParameter
- ReportParameterReportTag
- ReportTagResetControl
- ResetControlResetControlRequest
- ResetControlRequestRunBatchCommandRequest
- RunBatchCommandRequestRunStepCommandRequest
- RunStepCommandRequestSetBreakpointRequest
- SetBreakpointRequestSetRecipeParameterValueRequest
- SetRecipeParameterValueRequestSetUnitTag
- SetUnitTagSetUnitTagRequest
- SetUnitTagRequestTag
- TagTag2
- Tag2Unit
- UnitUnitsWithoutPhase
- UnitsWithoutPhaseUpdateMasterRecipe
- UpdateMasterRecipeUpdateMasterRecipeRequest
- UpdateMasterRecipeRequestVerifyRecipe
- VerifyRecipeabout
- aboutackbindingprompt
- ackbindingpromptackbreakpointprompt
- ackbreakpointpromptackewiprompt
- ackewipromptackoperatorprompt
- ackoperatorpromptackstepbindingprompt
- ackstepbindingpromptacquirephase
- acquirephaseactiverecipesteplistitem
- activerecipesteplistitemaddbatch
- addbatchaddbatchevent
- addbatcheventalarm
- alarmauthenticateuser
- authenticateuserbatch
- batchbatchcommandGood
- batchcommandGoodbindingprompt
- bindingpromptbreakpoint
- breakpointbreakpointprompt
- breakpointpromptclearbreakpoint
- clearbreakpointewiprompt
- ewipromptmanifold1
- manifold1operatorprompt
- operatorpromptrecipe
- reciperecipeparameter
- recipeparameterrecipesteplistitem
- recipesteplistitemrecipetransitionexpression
- recipetransitionexpressionrecipeunit
- recipeunitsetbreakpoint
- setbreakpointsetrecipeparametervalue
- setrecipeparametervaluestepcommands
- stepcommandssteprebind
- steprebindAcknowledgeBreakpointPromptRequest
- AcknowledgeBreakpointPromptRequest UpAcquirePhaseRequest
- AcquirePhaseRequest UpAddEWIEvent
- AddEWIEvent UpAddRecipe
- AddRecipe UpAreamodelHeader
- AreamodelHeader UpClearBreakpointRequest
- ClearBreakpointRequest UpControlModule
- ControlModule UpDeleteBatch
- DeleteBatch UpFont
- Font UpGetGlobalFormulationHeader
- GetGlobalFormulationHeader UpGetProductFormulationHeader
- GetProductFormulationHeader UpGetRecipeHeader
- GetRecipeHeader UpManifold
- Manifold UpParametersexampleshowingparametersfromthephasestep.
- Parametersexampleshowingparametersfromthephasestep. UpPhase
- Phase UpPhases2
- Phases2 UpProcessCellsWithoutPhase
- ProcessCellsWithoutPhase UpRecipeElements
- RecipeElements UpRecipeLink
- RecipeLink UpRecipeStep
- RecipeStep UpRecipeStep1
- RecipeStep1 UpRecipeStepParent
- RecipeStepParent UpReleasePhase
- ReleasePhase UpReleasePhaseRequest
- ReleasePhaseRequest UpResetControl
- ResetControl UpSetUnitTag
- SetUnitTag UpVerifyRecipe
- VerifyRecipe Upabout
- about Upackewiprompt
- ackewiprompt Upacquirephase
- acquirephase Upactiverecipesteplistitem
- activerecipesteplistitem Upbatch
- batch Upmanifold1
- manifold1 Uprecipesteplistitem
- recipesteplistitem Upstepcommands
- stepcommands Upsteprebind
- steprebind Up