Shifts | Use Script to find and print shifts configured for an Equipment
Find and Print Shifts for Equipment via Script
To use a script to find the Shift that has been configured for Equipment, follow the steps below:

Use this function/code
|
eqObj= system.mes.loadMESObjectByEquipmentPath('<Enterprise>\\<Site>\\<Area>\\<Line>') eqObj.getIgnitionSchedule()
|

- If you wanted to get all your Equipment shifts assignments, use this code:
Get Shifts For Equipment
|
def visitChildren(root, list): validEquipment = ['Line','LineCell','LineCellGroup','Location']
for child in root.getChildCollection().values(): mesObject = child.getMESObject() if mesObject.getMESObjectTypeName() in validEquipment: print mesObject.getEquipmentPath(),mesObject.getIgnitionSchedule() visitChildren(mesObject, list) return filter = system.mes.object.filter.createFilter() filter.setMESObjectTypeName('Enterprise') filter.setEnableStateName('Enabled') root = system.mes.searchMESObjects(filter).get(0).getMESObject()
visitChildren(root, None) |

- If you wanted for example to find the Shift Available for a given Date/Time Window for a given Equipment, another option would be:
|
begin = system.date.now() anotherBegin = system.date.addDays(begin, 4) end = system.date.addDays(begin, 5)
print begin print anotherBegin print end analysis = system.mes.analysis.createMESAnalysisSettings('analysis') analysis.setDataPoints("Line Schedule Available,Scheduled Shift") analysis.setFilterExpression("Equipment Path = 'Enterprise\El Dorado Hills\Packaging Area\Packaging Line 1'") analysis.setGroupBy("Scheduled Shift") analysis.setSettingValues("Include Future=True")
results = system.mes.analysis.executeAnalysis(anotherBegin, end, analysis) if results.hasMessage(): count = results.getMessageCount() message_list = [str(results.getMessage(index)) for index in range(count)]
dataset = results.getDataset() sep = ",\t" print sep.join(dataset.getColumnNames()) for row in range(dataset.getRowCount()): print sep.join(map(str, dataset.getRow(row)))
|