How to create Equipment State Class using scripting in Ignition


How to create equipment state class inside the "Equipment States" using scripting in sepasoft.

Above image is of Equipment Manager OEE State Class

Following example from Sepasoft user manual.
https://docs.sepasoft.com/articles/#!user-manual/mes-equipment-state/a/MESEquipmentState-eqstateObjectCreation

stateCls = system.mes.loadMESObject('YourStateClass','EquipmentStateClass')
#insert the name of your State Class here
name = 'YourStateName'
code = 12 #this is the state code provided by your PLC
state = system.mes.createMESObject('EquipmentState')
stateCls.addChild(state)
state.setPropertyValue('Name', name)
state.setPropertyValue('EquipmentStateCode', code)
state.setPropertyValue('EquipmentStateType', 'Unplanned Downtime')
#valid values for EquipmentStateType: "Running", "Idle", "Blocked", "Starved", "Planned Downtime", "Unplanned Downtime", "Disabled"
state.setPropertyValue('EquipmentStateOverride', 'Optional')
state.setPropertyValue('EquipmentStateOverrideScope', 'Detected Equipment State')
stateObjList = system.mes.object.list.createList()
stateObjList.add(stateCls)
stateObjList.add(state)
system.mes.saveMESObjects(stateObjList)
1 Like

Was this successful for you guys?

state.setPropertyValue('Name', name), is unable to set the name of the state because of which I can't even save it as an MES object.

Would appreciate any help as I have to add a lot of states and doing it using the UI is a pain.

Thanks.

Yes. I implemented the exact code to import multiple states from a csv file.
Can you share error description?