Batch Rm111 en p

download Batch Rm111 en p

If you can't read please download the document

Transcript of Batch Rm111 en p

INTEGRATED PRODUCTION & PERFORMANCE SUITE

Production Management

Batch

TECHNICAL REFERENCE GUIDEVOLUME 120 PUBLICATION BATCH-RM111A-EN-E

Supersedes Publication BATCH-RM110A-EN-P

Contact Rockwell Copyright Notice

Customer Support Telephone 1.440.646.3434 Online Support http://www.rockwellautomation.com/support/ 2010 Rockwell Automation, Inc. All rights reserved. Printed in USA. This document and any accompanying Rockwell Software products are copyrighted by Rockwell Automation, Inc. Any reproduction and/or distribution without prior written consent from Rockwell Automation, Inc. is strictly prohibited. Please refer to the license agreement for details. Allen-Bradley, ControlLogix, eProcedure, FactoryTalk, Rockwell Automation, Rockwell Software, RSBizWare, RSBizWare BatchHistorian, RSBizWare Historian, RSBizWare MaterialTrack, and RSLinx are trademarks of Rockwell Automation, Inc. Any Rockwell Automation software or hardware not mentioned here is also a trademark, registered or otherwise, of Rockwell Automation, Inc.

Trademark Notices

Other Trademarks

ActiveX, Microsoft, Microsoft Access, SQL Server, Visual Basic, Visual C++, Visual SourceSafe, Windows, Windows Server-, Windows XP, and Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Adobe, Acrobat, and Reader are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. All other trademarks are the property of their respective holders and are hereby acknowledged. This product is warranted in accordance with the product license. The products performance may be affected by system configuration, the application being performed, operator control, maintenance, and other related factors. Rockwell Automation is not responsible for these intervening factors. The instructions in this document do not cover all the details or variations in the equipment, procedure, or process described, nor do they provide directions for meeting every possible contingency during installation, operation, or maintenance. This products implementation may vary among users. This document is current as of the time of release of the product; however, the accompanying software may have changed since the release. Rockwell Automation, Inc. reserves the right to change any information contained in this document or the software at anytime without prior notice. It is your responsibility to obtain the most current information available from Rockwell when installing or using this product.

Warranty

Document Modified: April 30, 2010 4:35 pm

Contents

Server API Communication Language Reference Chapter 1 FactoryTalk Batch Server API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Moving from DDE to COM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Using the COM Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Properties, Methods, and Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 BatchServer Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 BatchRemote Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Available Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Available Executes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Chapter 2 Item Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 BadTagCount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BatchList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BatchListCt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BatchOverrides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BLBatchID_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BLCMDMask_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BLCreateID_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BLDesc_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BLFailure_x. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BLMode_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BLRecipe_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BLStartTime_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BLState_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BLType_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COMClientCount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CPRVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreateIDBatchStepDataList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreateIDBatchStepDataList2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreateIDEventData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreateIDEventDataFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CreateIDScale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataServersList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DataServerStatistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 14 16 17 18 19 20 21 22 23 24 25 26 27 28 28 29 33 38 39 40 41 44

iii

FactoryTalk Batch Technical Reference Vol. 1

I te m Re f e r en ce ( co n t i n u ed )

DDEClientCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 DecimalSeparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 EnumSetEnumSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 EquipmentModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 EquipmentModelDate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 ErrorMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 EventDataFiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 ExpressionID_UnitID_Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 ExpressionIDParamExprValues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 ExpressionIDReportExprValues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 HyperlinkLabels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 IncompleteSignaturesCt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 InfoMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 ItemCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 JournalDir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 ListSeparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Locale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 MatSvrStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 OPCClientCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 PhaseDataList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 PhaseErrs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 PhaseErrsCt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 PhaseIDBatchID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 PhaseIDFailure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 PhaseIDInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 PhaseIDMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 PhaseIDOwnerFlag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 PhaseIDParms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 PhaseIDParms2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 PhaseIDPause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 PhaseIDPausing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 PhaseIDPhaseData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 PhaseIDRequests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 PhaseIDSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 PhaseIDState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 PhaseIDStepIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 PhaseIDUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 PhasesList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 PhasesList2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 PhasesList3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 ProcedureIDData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 ProcedureIDData2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 ProcedureIDData3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 ProcedureIDDevLimits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 ProcedureIDStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 ProcedureIDStatus2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

iv

Contents

I te m Re f e r en ce ( co n t i n u ed )

ProcedureIDUnitRequirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProcessCellBitMaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProcessCellIDUnits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProcessCellsList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProcessCellsList2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RecipeDir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RecipeList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResourceIDEqData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResourceIDHyperlinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResourceIDInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResourceIDOwned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResourceIDOwners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResourceIDRequested . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResourceIDRequesters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResourceIDStrings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ResourcesList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RunMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RunWithoutMatSvr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SignatureIDSig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Signatures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . StartTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . StepsList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . StringLabels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TagVerStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TagVerStatusOrd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ThousandsSeparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TimerSteps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TimerIDTimerData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TimerIDTimerStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TotalTagCount. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UEArea_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UEBatchID_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UEDefault_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UEDesc_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UEEU_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UEEvent_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UEEventID_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UEHigh_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UELow_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UEPhase_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UEProcCell_x. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UERecipe_x. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UERespType_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UETime_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UEUnit_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

105 106 107 108 109 110 110 113 124 124 125 126 127 128 128 129 130 130 131 136 137 137 138 139 139 140 140 141 142 143 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163

v

FactoryTalk Batch Technical Reference Vol. 1

I te m Re f e r en ce ( co n t i n u ed )

UEValue_x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnAcknowledgedEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnacknowledgedEventsCt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnitBitMaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnitIDBatchID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnitIDPhaseBitmaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnitIDPhases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnitIDPhases2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnitIDUnitTagData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnitReqIDBindingPreferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnitReqIDBindingRequirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . UnitsList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VerifiedTagCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WarningMessage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

164 165 167 168 168 169 170 171 172 177 178 179 179 180 181

Chapter 3 Execute Reference. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Ack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Acquire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddEvent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddEvent_CI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddEvent_Instruction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AddEvent_Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Archiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AutoBatchID_Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AutoRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BindPhase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CancelSignature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ControlStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ForceTransistion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetContainerData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetFeedTypeAndMaterials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetLegalEqModules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetLegalUnits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetPossibleLegalUnits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Info2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . InfoTrimmed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MatSvrControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mtrl_Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 186 187 188 189 190 191 192 193 194 196 197 199 200 201 202 203 204 205 207 208 210 211 213 215 217 222 223 224

vi

Contents

Ex e cu te Re f e r en ce ( co n t i n u e d)

Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ParamExpClear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ParamExpOverride . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parms2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phase. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phase2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phase3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ReactivateStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RecipeList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetAllLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetAllLot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SetParm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SignoffSignature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tag_Verify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . User_Verify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VerificationInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GetItem Method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Execute Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CallTimeout Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ConnectTimeout Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Node Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TimeoutPeriod Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Command Prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

225 226 227 228 229 230 231 232 234 235 236 237 237 239 240 241 242 244 245 245 247 248 249 250 251 252 252

Command Masks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Command Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 Arbitration Masks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 PCD Programmers Technical Reference Chapter 1 Introduction to PCD Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Document Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Chapter 2 Introduction to Batch and PCD Phase Logic . . . . . . . . . . . . . . . . . . . . . 269 Batch Manufacturing System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 FactoryTalk Batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Phases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 Basic Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 HMI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273vii

FactoryTalk Batch Technical Reference Vol. 1

Chapter 3 The FactoryTalk Batch PCD Interface . . . . . . . . . . . . . . . . . . . . . . . . 275 Design Philosophy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 FactoryTalk Batch Requirements of the Phase (PLI and Phase Logic). . . . . . 276 Function of the PLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Function of the Phase Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Chapter 4 State Transition Logic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 State Transition Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Phase States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Communication Protocol States . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 Chapter 5 Introducing Tags and Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Phase Logic API Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Batch Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Chapter 6 PLI Communications Protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Obey the State Transition Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Support the Command Handshake Protocol . . . . . . . . . . . . . . . . . . . . . . 289 Command Handshake Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 The Command Tags High Byte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Summary of the Command Handshake Protocol . . . . . . . . . . . . . . . . . 294 Follow the Phase Logic Request Protocol . . . . . . . . . . . . . . . . . . . . . . . . 295 Phase Logic Request Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Aborting Phase Logic Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Support for Semi-Auto Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Semi-Auto Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Support for the NEW_PARAMETERS command . . . . . . . . . . . . . . . . . . . . 305 NEW_PARAMETERS Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 Support for the Program/External Attribute. . . . . . . . . . . . . . . . . . . . . . 307 Program/External Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 Support for the Failure Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 Support for the Watchdog Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Standard Watchdog Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 Enhanced Watchdog Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 Watchdog Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

viii

Contents

Chapter 7 Requesting Data from the FactoryTalk Batch Server . . . . . . . . . . . . . . 317 Downloading Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 Phase Parameter Tags Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 Types of Download Parameter Requests . . . . . . . . . . . . . . . . . . . . . 320 All Phase Parameter Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 Range of Phase Parameter Values. . . . . . . . . . . . . . . . . . . . . . . . . . 320 Range of Phase Parameter Values - Indirect . . . . . . . . . . . . . . . . . . . 321 Single Phase Parameter Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 Single Phase Parameter Value - Indirect . . . . . . . . . . . . . . . . . . . . . 322 Single Phase Parameter Value - Specify Location. . . . . . . . . . . . . . . . 322 Single Phase Parameter Value - Indirect/Specify Location. . . . . . . . . . 322 Subset of Parameter Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 Subset of Parameter Values Download on Start . . . . . . . . . . . . . . . . 323 Subset of Parameter Values Download on TOC . . . . . . . . . . . . . . . . 324 Downloading Report Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Types of Download Report Limits Requests . . . . . . . . . . . . . . . . . . . 324 All Report Limits Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Download Single Report Parameter Limits Configuration. . . . . . . . . . . 325 Upload Report Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 Report Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 Electronic Batch Record Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Types of Upload Report Requests . . . . . . . . . . . . . . . . . . . . . . . . . . 327 All Report Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Range of Report Parameter Values . . . . . . . . . . . . . . . . . . . . . . . . . 327 Range of Report Values - Indirect . . . . . . . . . . . . . . . . . . . . . . . . . 328 Single Report Parameter Value . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 Single Report Value - Indirect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329 Single Report Parameter Value - Specify Location . . . . . . . . . . . . . . . 329 Single Report Parameter Value - Indirect/Specify Location . . . . . . . . 329 Subset of Report Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 Subset of Report Parameter Values - Upload on Terminal State . . . . . . 330 Subset of Report Values - Upload on TOC. . . . . . . . . . . . . . . . . . . . . 331

ix

FactoryTalk Batch Technical Reference Vol. 1

Sending Messages to the Operator and Clearing Messages . . . . . . . . . . . . . 331 Send Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 Sending a Message - Indirect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Clear Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Acquire Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Types of Acquire Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 Acquiring a Single Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Acquiring a Single Resource - Indirect . . . . . . . . . . . . . . . . . . . . . . . 333 Acquiring Multiple Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 Release Resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Types of Release Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Releasing a Single Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 Releasing a Single Resource - Indirect . . . . . . . . . . . . . . . . . . . . . . . 334 Release Multiple Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Releasing all Currently Acquired Resources . . . . . . . . . . . . . . . . . . . . 335 Send Messages to Other Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 Completion of Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Processing Send and Receive Messages . . . . . . . . . . . . . . . . . . . . . . . 336 Types of Messages to Other Phases . . . . . . . . . . . . . . . . . . . . . . . . . 336 Sending a Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 Sending a Message - Indirect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Send a Message and Wait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Send a Message and Wait - Indirect . . . . . . . . . . . . . . . . . . . . . . . . . 338 Send a Message and Wait for One Receiver . . . . . . . . . . . . . . . . . . . . 338 Send a Message and Wait for One Receiver - Indirect . . . . . . . . . . . . . 339 Cancel Messages to Other Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 Types of Cancel Message Requests. . . . . . . . . . . . . . . . . . . . . . . . . . 339 Canceling a Single Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Canceling a Message - Indirect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Canceling All Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Receive Message from Linked Phases . . . . . . . . . . . . . . . . . . . . . . . . . . 340 Receiving a Message from a Linked Phase . . . . . . . . . . . . . . . . . . . . . 341 Receiving a Message from a Linked Phases - Indirect. . . . . . . . . . . . . . 341

x

Contents

Abort Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Download Batch Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 Generating an Electronic Signature Request . . . . . . . . . . . . . . . . . . . . . 343 General Signature Request - Indirect . . . . . . . . . . . . . . . . . . . . . . . 343 Downloading Material-Based Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 Chapter 8 Requesting Data from the Material Server . . . . . . . . . . . . . . . . . . . . . 345 Standard Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Material Standard Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Lot Standard Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 Container Standard Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Custom Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Material Custom Attribute Fields . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Lot Custom Attribute Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Container Custom Attribute Fields . . . . . . . . . . . . . . . . . . . . . . . . . 350 Writing a Material Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 Uploading Data Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Material Server Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 Using the Enhanced Phase Logic Requests . . . . . . . . . . . . . . . . . . . . 353 Requests for Data from the Recipe Execution Environment . . . . . . . . . . . 354 Download Data from Container Currently in Use 7801 Request. . . . . . 355 Download Data from Material in Container Currently in Use 7802 Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 Download Data from Lot in Container Currently in Use 7803 Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358 Upload Container Data into Container Currently in Use 7811 Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 Upload Material Data into Material in Container Currently in Use 7812 Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 Upload Lot Data into Lot in Container Currently in Use 7813 Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 Download the Current Bindings Container Selection Priority 7821 Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 Upload a Container Selection Priority for the Current Binding 7822 Request. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 Download Sufficient Material Data 7831 Request . . . . . . . . . . . . . . . 365

xi

FactoryTalk Batch Technical Reference Vol. 1

Requests for Data from the Material Database . . . . . . . . . . . . . . . . . . . . 366 Download One Attribute of a Material - 80NN Request Series . . . . . . . . 367 Downloading Lot Attributes 81NN Request Series . . . . . . . . . . . . . . . 368 Downloading Container Attributes 83NN Request Series. . . . . . . . . . . 370 Downloading Container Priority Assignments 84NN Request Series . . . . 371 Uploading Material Attributes 85NN Request Series . . . . . . . . . . . . . . 372 Uploading Lot Attributes 86NN Request Series . . . . . . . . . . . . . . . . . 374 Uploading Container Attributes 88NN Request Series . . . . . . . . . . . . 375 Uploading Container Priority Assignments 89NN Request Series. . . . . . 377 Chapter 9 Modularizing the Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 About Process Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Equipment Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Control Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Define Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Define Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 Modularization Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Portability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Flexibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Independence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 Expansion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Isolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Physical Process Constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 Identifying the Phases in the Selected Process . . . . . . . . . . . . . . . . . . . . 382 P & ID Drawing - Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 Chapter 10 Programming Phase Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 Allocating Phase Memory Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 Steps to Allocate Phase Memory Tags. . . . . . . . . . . . . . . . . . . . . . . . 386 Phase Memory Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 Parallel vs. Sequential Programming for Phase Logic. . . . . . . . . . . . . . 387

xii

Contents

Semi-Auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 Pause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 Treat Modules as Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 Modules of Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 Obey the State Transition Diagram . . . . . . . . . . . . . . . . . . . . . . . . . 391 Project-Specific Phase Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 Phase Logic Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Running Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 Holding Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395 Aborting Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Stopping Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 Restarting Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 Chapter 11 Phase Logic Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 Communications Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 Required Phase Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 Communication from the FactoryTalk Batch Server . . . . . . . . . . . . . . . . 401 Communication from the Phase Logic . . . . . . . . . . . . . . . . . . . . . . . . . 402 Watchdog Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404 PLI Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 Phase Logic Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 PLI Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 Programming the PLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410 PLI Response to Watchdog Event . . . . . . . . . . . . . . . . . . . . . . . . . . 410 Processing Non-State Commands and Events for a Phase. . . . . . . . . . . 410 PLI Response to a CLEAR_FAILURE Command . . . . . . . . . . . . . . . . . . 411 PLI Response To a REQ_COMPLETE Command . . . . . . . . . . . . . . . . . . 411 PLI Response To a REQ_ABORTACK Command . . . . . . . . . . . . . . . . . . 411 PLI Response To a REQ_ABORTFAIL Command . . . . . . . . . . . . . . . . . . 411 PLI Response To a REQ_RESET Command . . . . . . . . . . . . . . . . . . . . . 412 PLI Response To a REQ_FAILED Command . . . . . . . . . . . . . . . . . . . . 412 PLI Response To a SEMI_AUTO Command . . . . . . . . . . . . . . . . . . . . . 412 PLI Response To a RESUME Command . . . . . . . . . . . . . . . . . . . . . . . 412

xiii

FactoryTalk Batch Technical Reference Vol. 1

PLI Response To a NEW_PARAMETERS Command . . . . . . . . . . . . . . . . 413 PLI Phase State Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 SFC Graphical Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 SFC Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 System Files Reference Chapter 1 Understanding Batch File Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Document Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Batch File Types - Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 Chapter 2 Working with Area Model Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Structure Detail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 Area Model File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 Field Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 Chapter 3 Working with RDB Recipe Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 Header Table Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 Recparam Table Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479 Step Table Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Transition Table Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Link Table Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Formula Table Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 Transfer Table Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 Unitreq Table Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 Materialrequirements Table Configuration . . . . . . . . . . . . . . . . . . . . . . . 486 Reportlimits Table Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 Bindpreferencespecifiers Table Configuration . . . . . . . . . . . . . . . . . . . . 488 Bindrequirementspecifiers Table Configuration . . . . . . . . . . . . . . . . . . . 489 LNF: Language Neutral Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489 Chapter 4 Working with Electronic Batch Records . . . . . . . . . . . . . . . . . . . . . . . . 493 Electronic Batch Record Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 Electronic Batch Record Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 End of Batch Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504

xiv

Contents

Electronic Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 Event Journal Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505 Enabling Event Journal Signatures . . . . . . . . . . . . . . . . . . . . . . . . . 505 Using Event Journal Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . 506 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

xv

FactoryTalk Batch Technical Reference Vol. 1

xvi

INTEGRATED PRODUCTION & PERFORMANCE SUITE

Server API Communication Language Reference Production Management

Batch

SERVER API COMMUNICATION LANGUAGE REFERENCE

CHAPTER 1

FactoryTalk Batch Server APIThis guide was developed to provide quick and easy access to information regarding the interface between the FactoryTalk Batch Server and the FactoryTalk Batch View the Server Application Programming Interface (API). It is intended to be used as a reference guide by those who want to develop custom interfaces.

OverviewThe Server Application Programming Interface (API) is the interface between the FactoryTalk Batch Server and the FactoryTalk Batch View or a custom user interface application. The Server API allows you to collect batch control system information and command the Server to take some action. The two basic components of the Server API are:

Items

An Item is a named data structure that can be accessed through COM using the GetItem method.

Executes

An Execute is a command to the FactoryTalk Batch Server to perform some action. The following diagram depicts the relationships between the various components of a FactoryTalk Batch System. The Component Object Model (COM) or Distributed Component Object Model (DCOM) protocol is used between the View and the Server. You can use the COM or DCOM protocol between the FactoryTalk Batch Server and a custom user interface.FactoryTalk Batch View COM / DCOM Protocol Custom User Interface COM / DCOM ProtocolServer API covered in this guide: Server API Communications Language Reference

Server API

Personal Computer (PC)

FactoryTalk Batch Server

ProcessConnected Device (PCD)

Phase

Phase API covered in: PCD Programmer's Technical Reference

The interface between the FactoryTalk Batch Server and the Phase is documented in the PCD Programmers Technical Reference.

1

FactoryTalk Batch Server API Technical Reference

Moving from DDE to COMIf you have existing applications that use DDE to interact with the FactoryTalk Batch Server, and you are upgrading these applications to work with FactoryTalk Batch 10.X or higher, you must modify your parsing program. Data returned from the Server via the COM interface is parsed differently than the data returned via the DDE interface. When using the DDE interface, the Server places a space between delimiters. When using the COM interface, the Server does not put a space between two consecutive delimiters. For example, issuing a request for the DataServersList item could return the following strings:

DDE Interface OPC_SIM \t STANDARD \t LOCAL \t \t OPC \t {3203642A-F66D-11d1-AD6C-00A024386728} \t PHASES \t WATCHDOG \t \t \t \t \crlf COM Interface OPC_SIM \t STANDARD \t LOCAL \t \t OPC \t {3203642A-F66D-11d1-AD6C-00A024386728} \t PHASES \t WATCHDOG \ t \t \t \t \crlf

You must address the new way in which the data is returned from the Server within your parsing logic. If your application was written in Visual Basic, you could address the new parsing requirement by using the Split method. You could pass the return string to the Split method creating an array with the number of elements equaling the number of fields in the string.

Using the COM ProtocolThe COM interface allows programmers and system integrators to build applications that can command the FactoryTalk Batch Server and read information from the Server. The COM interface is built upon the set of data items and execute commands in the Server API. The COM interface allows Visual Basic and C/C++ programmers to use COM or DCOM as the inter-process communications protocol. Additionally, this interface allows a synchronous programming model. It is expected that the typical FactoryTalk Batch Server and BatchRemote objects user will be a Visual Basic programmer either writing a custom Visual Basic program or using a scripting language embedded within a third-party application.

Properties, Methods, and EventsAn object is a combination of code that can be treated as a unit, such as a control, form, or application. Each object is defined by a class, and the FactoryTalk Batch library provides

2

1 FactoryTalk Batch Server API

two object classes, BatchControl.BatchServer and BatchRemote.RemoteSupport. Properties, methods, and events applying to objects are defined as follows:Property A property is a named attribute of an object. Properties define object characteristics such as size, color, and screen location, or they can define the state of an object, such as enabled or disabled. A method is a procedure that acts upon an object. An event is an action recognized by an object, such as clicking the mouse or pressing a key, for which you can write code to respond. Events can occur as the result of a user action or program code, or can be triggered by the control. There are no events in this particular interface.

Method Event

BatchServer ObjectThe BatchServer object provides the mechanism used to interact with the FactoryTalk Batch Server by sending execute commands and retrieving data items. The BatchServer object represents the same interface the Batch ActiveX Controls Library uses for interacting with the FactoryTalk Batch Server. Thus, all information that is exposed from the Server application is exposed through this interface. Within a Visual Basic script, a user must dimension a BatchServer object in order to use the objects methods and property. Note that this does not start a new instance of the Server, but instead represents a new connection to an existing Server. Therefore, the Server must be running before the user can dimension a new BatchServer object. The BatchServer object is a simple object in that it exposes only two methods and a single property. These methods are GetItem and Execute. These map directly to the items and executes documented within this manual. Any item referenced in this manual can be retrieved through the GetItem method on the BatchServer object. Also, any execute referenced in this manual can be sent via the Execute method on the BatchServer object. (See Object Reference for more information.)

BatchRemote ObjectThe BatchRemote object is similar to the BatchServer object by providing a mechanism used to interact with the FactoryTalk Batch Server. However, the BatchRemote object provides additional features, allowing easier access to the Server from a remote computer. These additional features include the ability to automatically locate the Server computer and time out a connection. Automatically locating a Server from a remote client means that you will not need to specify the Servers computer name. This is especially useful as it allows client applications to be developed in a more generic manner. The Server name is written to the Windows registry during a client installation and can be accessed by the BatchRemote object. The timing out of a connection allows client applications to specify timeout periods for a call (GetItem or Execute) or for a connection. DCOM may take a significant amount of time to return an error code on a failed network. The BatchRemote object can minimize the time and effort required to implement error handling within the client. The timing out

3

FactoryTalk Batch Server API Technical Reference

of a connection also provides a means to keep a client from hanging while in a connect or call for an extended period. Within a Visual Basic script, you must dimension a BatchRemote object in order to use the objects methods and properties. Like the BatchServer object, the BatchRemote object exposes only two methods: GetItem and Execute. These map directly to the Items and Executes that are documented within this manual. Any Item referenced in this manual can be retrieved through the GetItem method on the BatchRemote object. Any Execute referenced in this manual can be sent via the Execute method on the BatchRemote object. In order to use the BatchRemote object, you must add the Batch Server Remote 1.0 Type Library to your Visual Basic project.The BatchServer object is included in the FactoryTalk Batch Server application, the Batchsvr.exe file. The BatchRemote object is included in the Batchrem.dll file. Both files are located in the \Bin subdirectory where FactoryTalk Batch installs. A type library, Batchsvr.tlb, installs with the Server and can be loaded as a reference in Visual Basic. For more information on how to reference an ActiveX object in a Visual Basic project, see the Microsoft Visual Basic Programmer's Guide. Additionally, a header file, Batchsvr.h, is installed with the Server and can be used for C or C++ programming.

Available ItemsThe following is a list of all supported Items in the FactoryTalk Batch Server API:ITEM BadTagCount (See page 14) BatchList (See page 14) BatchListCt (See page 16) DESCRIPTION An integer indicating the number of tags on which verification failed. A listing of all created batches. Batch List Count.

BatchOverrides (See page 17) Returns the number of Parameter Expression Overrides currently in effect for each batch on the batch list. BLBatchID_x (See page 18) Batch ID.

BLCMDMask_x (See page 19) Batchs Command Mask. BLCreateID_x (See page 20) BLDesc_x (See page 21) BLFailure_x (See page 22) BLMode_x (See page 23) BLRecipe_x (See page 24) Batchs Create ID. Batchs Description. Batchs Highest Priority Failure Message. Batchs Mode. Batchs Recipe.

BLStartTime_x (See page 25) Batchs Start Time. BLState_x (See page 26) BLType_x (See page 27) COMClientCount (See page 28) Batchs State. Batchs Type. Number of COM clients connected to the FactoryTalk Batch Server.

4

1 FactoryTalk Batch Server API

ITEM CPRVersion (See page 28) CreateIDBatchStepDataList (See page 29) CreateIDBatchStepDataList2 (See page 33) CreateIDEventData (See page 38) CreateIDEventDataFile (See page 39) CreateIDScale (See page 40)

DESCRIPTION Returns data describing the CPR version of the FactoryTalk Batch Server. A list of all steps in a recipe. A list of all steps in a recipe (allows displaying of override status of a parameter). The most recent data for a batch. The name of a batch data file. The scale factor of the batch.

DataServersList (See page 41) Information about all of the data servers defined for the equipment database. DataServerStatistics (See page 44) DDEClientCount (See page 45) DecimalSeparator (See page 45) Domains (See page 46) EnumSetEnumSet (See page 46) EquipmentModel (See page 47) EquipmentModelDate (See page 47) ErrorMessage (See page 47) EventDataFiles (See page 48) A detailed description of each configured data server conversation and the status of each conversation. Number of DDE clients connected to the Batch Server. The decimal symbol used by the FactoryTalk Batch Server. List of the Domain names available for authenticating users attempting Signoffs on Signature Requests. The list of enumerations within a specified enumeration set. Path and file name of the equipment model in use. Date of the equipment model in use. Most recent severe message in the servers log file. The list of event data fields in the system.

ExpressionIDParamExprValue Returns the current expression values for each term in the s (See page 50) expression. ExpressionIDReportExprValue Returns the current expression values for each term in a report s (See page 51) expression. ExpressionID_UnitID_Values Returns the current expression value and all of its leaf node (See page 49) values for a given expression/Unit association. HyperlinkLabels (See page 52) A tab-delimited list of hyperlink labels for each equipment type. IncompleteSignaturesCt (See page 53) InfoMessage (See page 53) A count of all incomplete signature requests, excluding those generated by private interfaces. Most recent information message in the servers log file.

5

FactoryTalk Batch Server API Technical Reference

ITEM ItemCount (See page 54) JournalDir (See page 54) ListSeparator (See page 54) Locale (See page 55) MatSvrStatus (See page 55) OPCClientCount (See page 56) PhaseDataList (See page 56) PhaseErrs (See page 58) PhaseErrsCt (See page 59)

DESCRIPTION Number of items created by the FactoryTalk Batch Server which are exposed through DDE and COM. A path to the journals directory. The list separator used by the FactoryTalk Batch Server, as read from the Control Panel/Regional Options. The locale identifier (language ID and code page) used by the FactoryTalk Batch Server, as read from the Control Panel. Returns a list of all phases in the system. The number of OPC clients connected to the FactoryTalk Batch Server. Information about all of the phases in the system. A list of all phases currently in failure or have an error A count of the phase errors or failure.

PhaseIDBatchID (See page 59) The batch information where the batch phase belongs. PhaseIDFailure (See page 60) The phase failure for the specified phase. PhaseIDInfo (See page 60) PhaseIDMessage (See page 61) PhaseIDOwnerFlag (See page 61) PhaseIDParms (See page 62) The name of the specified phase. The last phase message logged into the event journal for the specified phase. The current owner of the specified phase. All parameters for the specified phase.

PhaseIDParms2 (See page 63) All parameters for the specified phase including parameter limits and report limits. PhaseIDPause (See page 64) The pause attribute for the specified phase.

PhaseIDPausing (See page 64) The pausing attribute for the specified phase. PhaseIDPhaseData (See page 65) PhaseIDRequests (See page 66) PhaseIDSS (See page 67) PhaseIDState (See page 67) PhaseIDStepIndex (See page 68) PhaseIDUnit (See page 68) PhasesList (See page 69) PhasesList2 (See page 70) Current status information for the specified phase. The request value for the specified phase. The single-step flag for the specified phase. The state of the specified phase. Returns the current step index for the specified phase. The current unit for the specified phase. A list of all phases, corresponding equipment IDs, and valid units. A list of all equipment phases, corresponding equipment IDs, recipe phases, the phase type and valid units.

6

1 FactoryTalk Batch Server API

ITEM PhasesList3 (See page 71) ProcedureIDData (See page 72) ProcedureIDData2 (See page 78) ProcedureIDData3 (See page 85) ProcedureIDDevLimits (See page 92) ProcedureIDStatus (See page 94) ProcedureIDStatus2 (See page 99)

DESCRIPTION A list of all equipment phases, corresponding equipment IDs, recipe phases, phase types, bitmap files, and valid units. Graphical data for an SFC. Graphical data for an SFC, including transition names and comment information. Graphical data for an SFC, including transition names and comment information; supports parameter and report expressions. Recipe report parameters for a procedure. Status data for an SFC. Status data for an SFC (supports displaying the status of report and parameter expression).

ProcedureIDUnitRequirements The set of Unit Requirements configured within the specified (See page 105) recipe structure. ProcessCellBitMaps (See page 106) ProcessCellIDUnits (See page 107) ProcessCellsList (See page 108) ProcessCellsList2 (See page 109) RecipeDir (See page 110) RecipeList (See page 110) ResourceIDEqData (See page 113) ResourceIDHyperlinks (See page 124) ResourceIDInfo (See page 124) ResourceIDOwned (See page 125) ResourceIDOwners (See page 126) ResourceIDRequested (See page 127) The bitmap index for all process cells within the system. Information about all units in a process cell. A list of process cells in the current area. A list of process cells in the current area, including the process cell class name. The path to the recipe directory. Recipe information for all recipes released to production. The tag status information for all tags associated with the equipment module and state machine information to indicating the current status of the equipment module. A tab-delimited list of hyperlinks configured in the area model for the equipment element identified by the resource ID. The resource name denoted by the resource ID. A list of all resources and corresponding IDs currently owned by the operator. A list of all resource owners and the corresponding owner IDs. A list of all resources requested by the operator.

7

FactoryTalk Batch Server API Technical Reference

ITEM ResourceIDRequesters (See page 128) ResourceIDStrings (See page 128) ResourcesList (See page 129) ResourcesListX (See page 248) RunMode (See page 130) RunWithoutMatSvr (See page 130)

DESCRIPTION A list of all resource requesters and the corresponding Owner IDs. A list of the cross invocation strings associated with the resource specified by the ResourceID. A list of all resources and corresponding Equipment IDs. (XML) A list of all resources and corresponding Equipment IDs. Indicator of whether the server is running in demo or production mode. The time stamp when the server was started.

SignatureIDSig (See page 131) These items expose the detailed information for individual Signature requests, excluding those generated by private interfaces. Signatures (See page 136) StartTime (See page 137) StepsList (See page 137) StringLabels (See page 138) TagVerStatus (See page 139) TagVerStatusOrd (See page 139) ThousandsSeparator (See page 140) Time (See page 140) Time2 (See page 141) TimerSteps (See page 142) TimerIDTimerData (See page 143) TimerIDTimerStatus (See page 147) A list of all outstanding signature requests, excluding those generated by private interfaces. The time stamp of when the Batch Server was started. A list of all dynamic owners (control recipes) and owner IDs. The labels used for the generic strings. An internationalized string indicating the current state of the tag verification process. An integer indicating the current state of the tag verification process. The thousands separator used by the FactoryTalk Batch Server as read from the Control Panel. The current time from the FactoryTalk Batch Server and the conversation status of the data servers. The current time from the FactoryTalk Batch Server and the most severe conversation status of all defined data servers. Retrieves retrieves selected information about all of the Timer steps currently on the batch list. Retrieves information about the selected static information about a Tmer step on the batch list. Retrieves dynamic information about a specific Timer step.

TotalTagCount (See page 148) An integer value indicating the total number of tags configured in the equipment database. UEArea_x (See page 149) Unacknowledged Prompt Area.

UEBatchID_x (See page 150) Unacknowledged Prompt Batch ID.

8

1 FactoryTalk Batch Server API

ITEM UEDefault_x (See page 151) UEDesc_x (See page 152) UEEU_x (See page 153) UEEvent_x (See page 154)

DESCRIPTION The Default value for the xth Unacknowledged Event in the Unacknowledged Event List. Unacknowledged Prompt Description. Unacknowledged Prompt Engineering Units. Unacknowledged Prompt Event Type.

UEEventID_x (See page 155) Unacknowledged Prompt Event ID. UEHigh_x (See page 156) UELow_x (See page 157) UEPhase_x (See page 158) Unacknowledged Prompt High. Unacknowledged Prompt Low. Unacknowledged Prompt Phase.

UEProcCell_x (See page 159) Unacknowledged Prompt Process Cell. UERecipe_x (See page 160) UERespType_x (See page 161) UETime_x (See page 162) UEUnit_x (See page 163) UEValue_x (See page 164) UnAcknowledgedEvents (See page 165) UnacknowledgedEventsCt (See page 167) UnitBitMaps (See page 168) Unacknowledged Prompt Recipe. Unacknowledged Prompt Response Type. Unacknowledged Prompt Time. Unacknowledged Prompt Unit. Unacknowledged Prompt Value. A list of Unacknowledged Prompts. Unacknowledged Prompt Count. The bitmap index for all units.

UnitIDBatchID (See page 168) The operator entered batch ID for the batch which is running in the specified unit. UnitIDPhaseBitmaps (See page 169) UnitIDPhases (See page 170) A list of filenames for the bitmaps within the unit. All the phases within the specified unit.

UnitIDPhases2 (See page 171) A list of all the phases within the specified unit, including whether or not there is an associated control strategy. UnitIDUnitTagData (See page 172) The unit name, unit class, and tag status information for the specified unit.

UnitReqIDBindingPreferences The set of Binding Requirements configured on the specified Unit (See page 177) Requirement. UnitReqIDBindingRequireme The set of Binding Requirements configured on the specified Unit nts (See page 178) Requirement. UnitsList (See page 179) A list of all units, corresponding equipment IDs, and unit classes.

9

FactoryTalk Batch Server API Technical Reference

ITEM VerifiedTagCount (See page 179) Version (See page 180) WarningMessage (See page 181)

DESCRIPTION An integer indicating the total number of tags verified, including both tags that verified successfully and those that failed verification. Server software version. Most recent warning message in the FactoryTalk Batch Servers log file.

10

1 FactoryTalk Batch Server API

Available ExecutesThe following is a list of all supported executes in the Batch Server API:EXECUTE Ack (See page 185) Acquire (See page 186) AddEvent (See page 187) AddEvent_CI (See page 188) AddEvent_Instruction (See page 189) AddEvent_Phase (See page 190) Archiver (See page 191) AutoBatchID_Info (See page 192) AutoRemove (See page 193) Batch (See page 194) Bind (See page 196) BindPhase (See page 197) CancelSignature (See page 199) Command (See page 200) ControlStrategy (See page 201) Enum (See page 202) Expression (See page 203) ForceTransistion (See page 204) GetContainerData (See page 205) GetFeedTypeAndMaterials (See page 207) GetLegalEqModules (See page 208) DESCRIPTION Acknowledge a prompt. Acquire a resource for the operator. Adds an event to all active event journals based on the BatchID. Adds a single event to the event journal based on the CreateID. Allows an external application to append an event associated with an eProcedure control step in an electronic batch record. Allows an external application to append an event in FactoryTalk Batch. Starts the Archiver application. Returns the BatchID from a call to BatchIDCreation. Tells the server to automatically remove a batch. Create a new batch (control recipe). Binds a unit to a step within a control recipe. Rebinds a step from its current equipment module to a new equipment module and optionally a new container. Cancels a signature request on an incomplete signature, excludes those that are generated by private interfaces. Send a command to a batch or procedure. Returns a list of control strategies configured for the specified phase. Obtains the enumeration sets defined in the FactoryTalk Batch Equipment Editor. Obtains the transition data from the server. Allows you to force a transition to fire when the only thing preventing it from firing is a TRUE evaluation of its transition expression. Obtains a list of container and lot data specifying what equipment module may be bound to for manually binding a material-enabled phase step. Obtains a list of feed types and materials that are supported by the equipment module. Obtains a list of equipment module - container - lot entries to be considered for manually binding or rebinding a phase step.

GetLegalUnits (See page 210) Obtains a list of units to which the step may be bound.

11

FactoryTalk Batch Server API Technical Reference

EXECUTE GetPossibleLegalUnits (See page 211) Info (See page 213) Info2 (See page 215) InfoTrimmed (See page 217)

DESCRIPTION Retrieves the possible binding options for a non-statically bound unit procedure or operation. Obtains information about a recipe. Obtains information about a recipe. Retrieves the information necessary for the formatting of a Batch execute that would be used to instantiate a batch.

MatSvrControl (See page 222) Reestablish communication with the Material Server. Messages (See page 223) Mtrl_Info (See page 224) Order (See page 225) ParamExpClear (See page 226) ParamExpOverride (See page 227) Parms (See page 228) Parms2 (See page 229) Phase (See page 230) Phase2 (See page 231) Phase3 (See page 232) Obtains a list of the messages associated with a particular phase. Returns the information necessary to allow a selection of material for a Material Server phase written as material class-based. Reorders the requesters list for a resource. Allows removal of an override of a specified expression that was created by a prior ParamExpOverride execute. Allows you to override the result of a parameter expression evaluation with a specified value. Obtains the parameters for a procedure. Obtains the parameters for a procedure with the addition of the parameter limits. Command a phase to a desired state. Commands a phase associated with a control strategy to a desired state. Commands a phase that may be material-enabled or control strategy and material-enabled.

ReactivateStep (See page 234) Commands the Batch server to journal a Step_Reactivation Request event. RecipeList (See page 235) Release (See page 236) Remove (See page 237) SetAllLabel (See page 237) SetAllLot (See page 239) SetParm (See page 240) SignoffSignature (See page 241) Step (See page 242) Tag_Verify (See page 244) User_Verify (See page 245) Obtains information about the recipes from the FactoryTalk Batch Recipe Editor. Release the resource from the operator. Remove a batch from the batch list. Sets the same Label on all material phase steps within a recipe. Sets the Lot Controller ID on a material phase step. Set the parameter values in a control recipe. Signs a signature request on an incomplete signature, excludes those generated by private interfaces. Change the active step in a procedure. Initiates or aborts the tag verification process. Determines if the password provided for a user is correct.

12

CHAPTER 2

Item ReferenceAn item is a named data structure that can be accessed using any data access technology supported by the FactoryTalk Batch Server like the custom COM interface GetItem method or through OPC. The following describes the formatting methods used for each of the Items:Item Description Description Describes the item. Input Format Describes the COM/DCOM method that can be used to obtain this item (REQUEST). Use this format: object.GetItem itemName. For Example: object.GetItem(BatchList). Output Format Describes the data that is returned and the format in which it is displayed. All data is returned in CFTEXT format, representing either strings or integers. A list of the key characters and what they symbolize follows: TEXT is is is Denotes a variable which will be defined. Denotes a variable which will be expanded. Any text that is not enclosed in the < > characters is a keyword and appears as the literal string. Denotes an empty string, Cstring.Empty ( ), unless otherwise specified. Denotes a Tab character (ASCII - 9) which is used as a field delimiter. A space before and after the \t is included for readability, do not include the spaces when formatting the command line. Used to denote an OR situation. Only one segment of the statement will be used. For example, A | B | C \t D \crlf would indicate: A or B or C \t D \crlf. Denotes a Carriage Return (ASCII - 13) and a Line Feed (ASCII - 10) character which are used as a record delimiter. Denotes a space character (ASCII 32). (Refer to Command Masks.) (Refer to Arbitration Masks.)

\t

is is

|

is

\crlf

is

blank

is is is

Example: Defines an example for the REQUEST statement: Input statement Output statement Some data returned with a request are localized. States and modes, as well as most information in the event journal are localized, based upon the language selected in the Control Panel. Time and date formats are based upon the systems International settings.13

FactoryTalk Batch Server API Technical Reference

B AD T AG C OU NTDescription An integer indicating the number of tags on which verification failed. Input Format Request: BadTagCount Output Format The BadTagCount is returned in the following format: Field Name Format Description

ASCII - Integer The total number of tags that failed the verification.

Example: A request on object.GetItem(BadTagCount) could return: 2

B A TCH L ISTDescription This item returns a list of all batches in the system. Input Format Request: BatchList Output Format The BatchList item is returned in the following format: is is is | \crlf | \crlf \t \t \t \t \t \t \t \t \t \t \t \t \t Description Operator-entered batch identification number. Procedure identifier from the FactoryTalk Batch Recipe Editor. Procedure description from the FactoryTalk Batch Recipe Editor. Starting time for the batch, formatted according to Control Panel. May be a single space character. Time elapsed since batch started. If batch hasnt yet, started zero length string will be returned: 0:00:00. Current state of the batch. (Localized) Current mode of the recipe. (Localized) Describes failure message.

where is: Field Name Format ASCII - String ASCII - String ASCII - String ASCII - String ASCII - String ASCII - String ASCII - String ASCII - String

ASCII - Integer The unique batch ID assigned by the FactoryTalk Batch Server. ASCII - Integer Command Masks - (Refer to Command Masks)

14

2 Item Reference

Field Name

Format

Description

ASCII - Integer The type of control: 1 = Recipe 2 = Manual Phase control Variable Variable Variable is is is is Process Cell(s) in which batch is running. Unit(s) in which batch is running. List of active phases in the recipe at this time.

where: Field Name where: Field Name where: Field Name

where is: | $PRCL \t $END $PRCL \t \t $END | \t Description Procedure cells name

Format ASCII - String is is is is

where is: | $UNIT \t $END $UNIT \t \t $END | \t Description Units Name

Format ASCII - String is is is is

where is: | $PHASE \t $END $PHASE \t \t $END | \t Description Phases Name

Format ASCII - String

15

FactoryTalk Batch Server API Technical Reference

Example: A request on the object.GetItem(Batchlist) could return: BATCH_98 \t CLS_FRENCHVANILLA \t FRENCH VANILLA PREMIUM - CLASS BASED \t \t 0:00:00 \t READY \t O_AUTO \t \t 15 \t 18976 \t 1 \t $PRCL \t SOUTH_PARLOR \t $END \t $UNIT \t SP_MIXER1 \t SP_FREEZER1 \t $END \t $PHASE \t $END \crlf BATCH_99 \t CLS_FRENCHVANILLA \t FRENCH VANILLA PREMIUM - CLASS BASED \t \t 0:00:00 \t READY \t O_AUTO \t \t 16 \t 18976 \t 1 \t $PRCL \t SOUTH_PARLOR \t $END \t $UNIT \t SP_MIXER1 \t SP_FREEZER1 \t $END \t $PHASE \t $END \crlf BATCH_100 \t MCLS_FRENCHVANILLA \t FRENCH VANILLA PREMIUM - CLASS BASED/MATERIAL BASED \t \t 0:00:00 \t READY \t O_AUTO \t \t 17 \t 18976 \t 1 \t $PRCL \t NORTH_PARLOR \t $END \t $UNIT \t NP_MIXER2 \t NP_FREEZER2 \t $END \t $PHASE \t $END \crlf

B A TCH L IST C TDescription This item returns the number of batches in the batch list. Input Format Request: BatchListCt Output Format The BatchListCt is returned in the following format: Field Name Format Description The number of batches currently in the batch list.

Integer

Example: A request on object.GetItem(BatchListCt) would return the following, assuming there are three batches on the batch list: 3

16

2 Item Reference

B A TCH O VERRIDESDescription This item returns the number of Parameter Expression Overrides currently in effect for each batch on the batch list. Input Format Request: BatchOverrides Output Format The BatchOverrides information is returned in the following format: Field Name Format is is is | | \t \crlf

Description

ASCII String Integer, INTERNAL identifier assigned by the FactoryTalk Batch Server to a batch when it is created. This can be obtained from the BatchList item. ASCII - String Number of overrides in effect for the batch with this CreateID

Example A request on object.GetItem(BatchOverrides) could return the following: 14 \t 3 \crlf 15 \t 0 \crlf 16 \t 5 \crlf

17

FactoryTalk Batch Server API Technical Reference

BLB A TC H ID _ XDescription This item returns the batch ID for the xth batch in the batch list. Input Format Request: BLBatchID_ is ASCII Integer An array index. When a batch is added to the batch list it is also added to an array. If the batch list is not sorted, then x is the row number of the batch appearing in the batch list.

The BLBatchID_x item requires the Batchsvr.ini file to contain the following setting in the [CLIENT MGR DDE] section: MaxBatchTableLength = n where n is the maximum number of batches accessible to this Item (the maximum number of entries in the array). If the number of batches in the batch list is larger than n, then this item will only access the first n batches in a nonsorted batch list. When a batch with an index of less than n is removed from the batch list, all subsequent batches will have their index decreased by one. The default value of MaxBatchTableLength is 0 (zero). Output Format The BLBatchID_x item is returned in the following format: Field Name Format Description

ASCII String The batch ID assigned by the operator during batch creation to the batch appearing on the xth row of the batch list.

Example: The following table is an example of a typical Batch List containing three batches with batch IDs BATCH_98, BATCH_99, and BATCH_100: Batch ID BATCH_98 BATCH_99 BATCH_100 Recipe Vanilla Chocolate Premium French Vanilla Desc Start Time State RUNNING RUNNING RUNNING Mode O_Auto S_Auto O_Auto

Ice Cream 1 8/24/2004 1:22:02 pm Ice Cream 2 8/24/2004 1:24:12 pm Ice Cream 3 8/24/2004 1:32:30 pm

A request on object.GetItem(BLBatchID_3) would return the batch ID of the batch in the batch lists third row: BATCH_100

18

2 Item Reference

BLCMDM ASK _ XDescription This item returns the Command Mask field for the xth batch in the batch list. The command mask is a binary value (passed as an integer) whose bits represent the current set of valid commands this batch can receive. Input Format Request: BLCMDMask_ is ASCII Integer An array index. When a batch is added to the batch list it is also added to an array. If the batch list is not sorted, then x is the row number of the batch appearing in the batch list.

The BLCMDMask_x item requires the Batchsvr.ini file to contain the following setting in the [CLIENT MGR DDE] section: MaxBatchTableLength = n where n is the maximum number of batches accessible to this Item (the maximum number of entries in the array). If the number of batches in the batch list is larger than n, then this item will only access the first n batches in a nonsorted batch list. When a batch with an index of less than n is removed from the batch list, all subsequent batches will have their index decreased by one. The default value of MaxBatchTableLength is 0 (zero). Output Format The BLCMDMask_x is returned in the following format: Field Name Format ASCII Integer Description The current set of valid commands that may be sent to the batch appearing on xth row of the batch list. (Refer to Command Masks).

Example: The following table is an example of a typical batch list containing three batches with batch IDs BATCH_98, BATCH_99, and BATCH_100: Batch ID BATCH_98 BATCH_99 BATCH_100 Recipe Vanilla Chocolate Premium French Vanilla Desc Ice Cream 1 Ice Cream 2 Ice Cream 3 Start Time State Mode

8/24/2004 1:22:02 pm RUNNING O_Auto 8/24/2004 1:24:12 pm RUNNING S_Auto 8/24/2004 1:32:30 pm RUNNING O_Auto

A request on object.GetItem(BLCMDMask_3) would return the Command Mask of the batch in the batch lists third row: 2087

19

FactoryTalk Batch Server API Technical Reference

BLC REA TE I D _ XDescription This item returns the CreateID for the xth batch in the batch list. Input Format Request: BLCreateID_ is ASCII Integer An array index. When a batch is added to the batch list it is also added to an array. If the batch list is not sorted, then x is the row number of the batch appearing in the batch list.

The BLCreateID_x item requires the Batchsvr.ini file to contain the following setting in the [CLIENT MGR DDE] section: MaxBatchTableLength = n where n is the maximum number of batches accessible to this Item (the maximum number of entries in the array). If the number of batches in the batch list is larger than n, then this item will only access the first n batches in a nonsorted batch list. When a batch with an index of less than n is removed from the batch list, all subsequent batches will have their index decreased by one. The default value of MaxBatchTableLength is 0 (zero). Output Format The BLCreateID_x is returned in the following format: Field Name Format ASCII Integer Description The unique identifier assigned by the FactoryTalk Batch Server to the batch appearing on the xth row of the batch list.

Example: The following table is an example of a typical batch list containing three batches with batch IDs BATCH_98, BATCH_99, and BATCH_100: Create ID 15 16 17 Batch ID BATCH_98 BATCH_99 BATCH_100 Recipe Vanilla Chocolate Premium French Vanilla Desc Start Time State Mode

Ice Cream 8/24/2004 1 1:22:02 pm Ice Cream 8/24/2004 2 1:24:12 pm Ice Cream 8/24/2004 3 1:32:30 pm

RUNNIN O_Aut G o RUNNIN S_Aut G o RUNNIN O_Aut G o

A request on object.GetItem(BLCreateID_3) would return the CreateID of the batch in the batch lists third row: 17

20

2 Item Reference

BLD E S C _ XDescription This item returns the Description field for the xth batch in the batch list. Input Format Request: BLDesc_ is ASCII Integer An array index. When a batch is added to the batch list it is also added to an array. If the batch list is not sorted, then x is the row number of the batch appearing in the batch list.

The BLDesc_x item requires the Batchsvr.ini file to contain the following setting in the [CLIENT MGR DDE] section: MaxBatchTableLength = n where n is the maximum number of batches accessible to this Item (the maximum number of entries in the array). If the number of batches in the batch list is larger than n, then this item will only access the first n batches in a nonsorted batch list. When a batch with an index of less than n is removed from the batch list, all subsequent batches will have their index decreased by one. The default value of MaxBatchTableLength is 0 (zero). Output Format The BLDesc_x item is returned in the following format: Field Name Format Description

ASCII String The description of the batch appearing on xth row of the batch list. The description is taken from the recipes header data.

Example: The following table is an example of a typical batch list containing three batches with batch IDs BATCH_98, BATCH_99, and BATCH_100: Batch ID BATCH_98 BATCH_99 BATCH_100 Recipe Vanilla Chocolate Premium French Vanilla Desc Ice Cream 1 Ice Cream 2 Ice Cream 3 Start Time State Mode

8/24/2004 1:22:02 pm RUNNING O_Auto 8/24/2004 1:24:12 pm RUNNING S_Auto 8/24/2004 1:32:30 pm RUNNING O_Auto

A request on object.GetItem(BLDESC_3) would return the description of the batch in the batch lists third row: Ice Cream 3

21

FactoryTalk Batch Server API Technical Reference

BLF AI LURE _ XDescription This item returns the batchs Failure field for the xth batch in the batch list. This field contains the highest priority failure message for the steps running within the recipe. Input Format Request: BLFailure_ is ASCII Integer An array index. When a batch is added to the batch list it is also added to an array. If the batch list is not sorted, then x is the row number of the batch appearing in the batch list.

Output Format The BLFailure_x is returned in the following format: Field Name Format Description

ASCII String The failure message for the batch appearing on xth row of the batch list.

Example: The following table is an example of a typical batch list containing three batches with batch IDs BATCH_98, BATCH_99, and BATCH_100: Batch ID BATCH_98 BATCH_99 BATCH_100 Recipe Vanilla Chocolate Premium French Vanilla Desc Ice Cream 1 Ice Cream 2 Ice Cream 3 Start Time 8/24/2004 1:22:02 pm 8/24/2004 1:24:12 pm 8/24/2004 1:32:30 pm State RUNNING RUNNING RUNNING PHASE UNDER EXTERNAL CONTROL DETECTED Failure

A request on object.GetItem(BLFailure_3) would return the failure field of the batch in the batch lists third row: PHASE UNDER EXTERNAL CONTROL DETECTED

22

2 Item Reference

BLM O D E _ XDescription This item returns the Mode field for the xth batch in the batch list. Input Format Request: BLMode_ is ASCII Integer An array index. When a batch is added to the batch list it is also added to an array. If the batch list is not sorted, then x is the row number of the batch appearing in the batch list.

The BLMode_x item requires the Batchsvr.ini file to contain the following setting in the [CLIENT MGR DDE] section: MaxBatchTableLength = n where n is the maximum number of batches accessible to this Item (the maximum number of entries in the array). If the number of batches in the batch list is larger than n, then this item will only access the first n batches in a nonsorted batch list. When a batch with an index of less than n is removed from the batch, list all subsequent batches will have their index decreased by one. The default value of MaxBatchTableLength is 0 (zero). Output Format The BLMode_x item is returned in the following format: Field Name Format Description

ASCII String The current mode of the batch appearing on xth row of the batch list. (Refer to Valid States and Modes for a list of valid modes.)

Example: The following table is an example of a typical batch list containing three batches with batch IDs BATCH_98, BATCH_99, and BATCH_100: Batch ID BATCH_98 BATCH_99 BATCH_100 Recipe Vanilla Chocolate Premium French Vanilla Desc Start Time State Mode

Ice Cream 1 8/24/2004 1:22:02 pm Ice Cream 2 8/24/2004 1:24:12 pm Ice Cream 3 8/24/2004 1:32:30 pm

RUNNING O_Auto RUNNING S_Auto RUNNING O_Auto

A request on object.GetItem(BLMode_3) would return the mode of the batch in the batch lists third row: O_AUTO

23

FactoryTalk Batch Server API Technical Reference

BLR EC I P E _ XDescription This item returns the Recipe field for the xth batch in the batch list. Input Format Request: BLRecipe_ is ASCII Integer An array index. When a batch is added to the batch list it is also added to an array. If the batch list is not sorted, then x is the row number of the batch appearing in the batch list.

The BLRecipe_x item requires the Batchsvr.ini file to contain the following setting in the [CLIENT MGR DDE] section: MaxBatchTableLength = n where n is the maximum number of batches accessible to this Item (the maximum number of entries in the array). If the number of batches in the batch list is larger than n, then this item will only access the first n batches in a non-sorted batch list. When a batch with an index of less than n is removed from the batch list, all subsequent batches will have their index decreased by one. The default value of MaxBatchTableLength is 0 (zero). Output Format The BLRecipe_x item is returned in the following format: Field Name Format Description

ASCII String The name of the batch appearing on xth row of the batch list.

Example: The following table is an example of a typical batch list containing three batches with batch IDs BATCH_98, BATCH_99, and BATCH_100: Batch ID BATCH_98 BATCH_99 BATCH_100 Recipe Vanilla Chocolate Desc Start Time State Mode

Ice Cream 1 8/24/2004 1:22:02 pm Ice Cream 2 8/24/2004 1:24:12 pm

RUNNING O_Auto RUNNING S_Auto RUNNING O_Auto

Premium Ice Cream 3 8/24/2004 1:32:30 French Vanilla pm

A request on object.GetItem(BLRecipe_3) would return the recipe name of the batch in the b