ResourceIDEqData
The
ResourceIDEqData
item returns the tag status information for tags associated with the equipment phase, and state machine information to indicate the current status of the equipment phase. A setting in the batchsvr.ini
file controls whether data collection disables, enables without deviation limits, or enables with deviation limits supported in the format of the returned ResourceIDEqData
. The setting EqDataItemFormat
is found in the CLIENT_MGR_DDE section of the batchsvr.ini
file.This table shows the input and output formats for this item.
batchsvr.ini | Section: CLIENT_MGR_DDE | ||
where: | |||
Setting Name | Value | Meaning | |
EqDataItemFormat | 0 (zero) | Data collection for ResourceIDEqData is disabled. The item is not supported. | |
EqDataItemFormat | 1 | Data collection for ResourceIDEqData is enabled. Deviation Limits are not supported.
(Default: EqDataItemFormat=1) | |
EqDataItemFormat | 2 | Data collection for ResourceIDEqData is enabled. Deviation Limits are supported. | |
EqDataItemFormat | Setting does not exist in the ini | Data collection for ResourceIDEqData is disabled. The item is not supported. | |
EqDataItemFormat | Any other value | Data collection for ResourceIDEqData is disabled. The item is not supported. | |
Input Format | Request: ResourceIDEqData | ||
ResourceID | is | ASCII - String, the | |
Output Format | The ResourceIDEqData item returns in this format: | ||
< EqData> | is | <EqModName> \crlf <PhaseName> \crlf <StateTag> \crlf <CmdTag> \crlf <FailTag> \crlf <OwnTag> \crlf <ReqTag> \crlf <PauseTag> \crlf <PausedTag> \crlf <SnglStepTag> \crlf <StepIdxTag> \crlf <UnitTag> \crlf <ParmList> \crlf <ParmLimitList> \crlf <RptList> \crlf <RptLimitList> \crlf <ReqList> \crlf <ConnFsm> \crlf <CmdFsm> \crlf <ReqFsm> \crlf | |
where: | |||
Field Name | Format | Description | |
<EqModName> | ASCII - String | The name of the equipment phase. | |
<PhaseName> | ASCII - String | The name of the recipe phase the equipment phase can execute. | |
where: | |||
<StateTag> | is | <TagInfo> | |
<CmdTag> | is | <TagInfo> | |
<FailTag> | is | <TagInfo> | |
<OwnTag> | is | <TagInfo> | |
<ReqTag> | is | <TagInfo> | |
<PauseTag> | is | <TagInfo> | |
<PausedTag> | is | <TagInfo> | |
< SnglStepTag> | is | <TagInfo> | |
<StepIdxTag> | is | <TagInfo> | |
<UnitTag> | is | <TagInfo> | |
<ParmList> | is | <NullList> | <PTagList> | |
<PTagList> | is | <TagInfo> | <TagInfo> \t <PTagList> | |
<ParmLimitList> | is | <NullList> | <LimitTagList> | |
<LimitTagList> | is | <MethodTag> \t <NormPolTag><MethodTag> \t <NormPolTag> \t <LoLtTag> \t <HiLtTag> \t <HLPolTag> \t <LoLoLtTag> \t <HiHiLtTag> \t <HHLLPolTag> \t <LoLoLoLtTag> \t <HiHiHiLtTag> \t <HHHLLLPolTag> \ | |
<RptList> | is | <NullList> | <RptTagList> | |
<RptTagList> | is | <TagInfo> | <TagInfo> \t <RptTagList> | |
RptLimitList> | is | <NullList> | <LimitTagList> | |
<LimitTagList> | is | <MethodTag> \t <NormPolTag> \t <LoLtTag> \t <HiLtTag> \t <HLPolTag> \t <LoLoLtTag> \t <HiHiLtTag> \t <HHLLPolTag> \t <LoLoLoLtTag> \t <HiHiHiLtTag> \t <HHHLLLPolTag> \t | |
<ReqList> | is | <NullList> | <ReqTagList> | |
<ReqTagList> | is | <TagInfo> | <TagInfo> \t <ReqTagList> | |
where: | |||
<MethodTag> | is | <TagInfo> | |
<NormPolTag | is | <TagInfo> | |
<LoLtTag> | is | <TagInfo> | |
<HiLtTag> | is | <TagInfo> | |
<HLPolTag> | is | <TagInfo> | |
<LoLoLtTag> | is | <TagInfo> | |
<HiHiLtTag> | is | <TagInfo> | |
<HHLLPolTag> | is | <TagInfo> | |
<LoLoLoLtTag> | is | <TagInfo> | |
<HiHiHiLtTag> | is | <TagInfo> | |
<HHHLLLPolTag> | is | <TagInfo> | |
where: | |||
<TagInfo> | is | <TagName> \t <DataServerName> \t <ConfigString1> \t ConfigString2> \t <ConfigString3> \t <ConfigString4> \t <Protocol> \t <ConfiguredDataType> \t <OPCAdviseItemDataType> \t <OPCReadItemDataType> \t <OPCWriteItemDataType> \t <AdviseStatus> \t <LatestAdviseValue> \t <LatestAdviseValueQuality> \t <LatestAdviseValueTimestamp> \t <ReadStatus> \t <LatestReadValue> \t <LatestReadValueQuality> \t <LatestReadValueTimestamp> \t <WriteStatus> \t <LastValueWritten> \t <LastWriteResult> \t <LastWriteTimestamp> | |
where: | |||
Field Name | Format | Description | |
<TagName> | ASCII - String | Protocol-specific configuration string: OPC - Name of the tag. CIP - An English string indicating the equipment phase attribute exposed in this <TagInfo> structure. FTD - Name of the tag. | |
<DataServerName> | ASCII - String | Protocol-specific configuration string: OPC - Data server name the tag uses. CIP - Name of data server associated with equipment phase. FTD - Data server name the tag uses. | |
<ConfigString1> | ASCII - String | Protocol-specific configuration string: OPC - Read Item Access Path CIP - Unused (<sp>) FTD - Read Item Access Path | |
<ConfigString2> | ASCII - String | Protocol-specific configuration string: OPC - Read Item Name CIP - Unused (<sp>) FTD - Read Item Name | |
<ConfigString3> | ASCII - String | Protocol-specific configuration string: OPC - Write Item Access Path CIP - Unused (<sp>) FTD - Write Item Access Path | |
<ConfigString4> | ASCII - String | Protocol-specific configuration string: OPC - Write Item Name CIP - Unused (<sp>) FTD - Write Item Name | |
<Protocol> | ASCII - String | String indicating communication protocol used for the tag or equipment phase attribute. Possible legal values are: OPC, CIP or FTD. | |
<ConfiguredData
Type> | ASCII - Integer | Protocol-specific data type configured for tag in equipment database. OPC – Ordinal indicating data type configured for tag in area model. 1 = FLOAT 2 = INTEGER 3 = STRING 4 = ENUMERATION CIP – Same as OPC FTD – Same as OPC | |
<OPCAdviseItem
DataType> | ASCII - Integer | Protocol-specific string. OPC – Ordinal indicating OLE variant type returned by the data server for advises. These ordinals are defined by Windows. Some common values are: 2 = Two byte integer 3 = Four byte integer 4 = Four byte real 5 = Eight byte real 8 = String 11 = Boolean 17 = Unsigned char (1 byte unsigned integer) CIP – Unused (<sp>) FTD – Same as OPC | |
<OPCReadItem
DataType> | ASCII - Integer | Protocol-specific string. OPC – Ordinal indicating OLE variant type returned by the data server for reads. These ordinals are defined by Windows. Some common values are: 2 = Two byte integer 3 = Four byte integer 4 = Four byte real 5 = Eight byte real 8 = String 11 = Boolean 17 = Unsigned char (1 byte unsigned integer) CIP – Unused (<sp>) FTD – Same as OPC | |
<OPCWriteItem
DataType> | ASCII - Integer | Protocol-specific string. OPC – Ordinal indicating OLE variant type returned by the data server for writes. These ordinals are defined by Windows. Some common values are: 2 = Two byte integer 3 = Four byte integer 4 = Four byte real 5 = Eight byte real 8 = String 11 = Boolean 17 = Unsigned char (1 byte unsigned integer) CIP – Unused (<sp>) FTD – Same as OPC | |
<AdviseStatus> | ASCII - Integer | Ordinal indicating current status of any advise operation associated with the tag.
0 = NOT ADVISED
1 = ADVISED – Advise established and initial value received
2 = PENDING – Pending asynchronous establishment
3 = ENDING – Asynchronously ending advise
4 = FAILED
5 = ESTABLISHED – Advised, but no initial value received
9 = UNDEFINED/ERROR | |
<LatestAdvise
Value> | ASCII - String | The latest data value received by the tag as the result of an update from an advise or active item. The value of the tag is converted to a string representation. If a data update is not received via an advise mechanism, then this field is empty. | |
<LatestAdviseValueQuality> | ASCII - Integer | The quality of the latest advise value update. Protocol-specific value: OPC: Quality value per OPC specification CIP: 0 = GOOD Non-Zero = BAD FTD: Same as OPC If an advise data update is never received, then this field is empty. | |
<LatestAdviseValueTimestamp> | ASCII - String | The timestamp associated with the most recent advise value. This is not an OPC timestamp. This timestamp is recorded by the FactoryTalk Batch Server at the time it received the data update. The time is represented by a string in the format: "%m/%d/%Y %H:%M:%S" If a data update is never received, then this field is empty. | |
<ReadStatus> | ASCII - Integer | Ordinal indicating current status of any read operation associated with the tag. 0 = NOT PENDING 1 = FAILED 2 = PENDING 9 = UNDEFINED/ERROR | |
<LatestReadValue> | ASCII - String | The latest data value received by the tag as the result of a completed read operation. The value of the tag is converted to a string representation. If a read operation is never successfully completed, then this field is empty. | |
<LatestReadValue
Quality> | ASCII - Integer | Protocol-specific value. The quality of the latest read value update: OPC: Quality value per OPC specification CIP: 0 = GOOD Non-Zero = BAD FTD: Same as OPC If an advise data update is not received, then this field is empty. | |
<LatestReadValue
TimeStamp> | ASCII - String | The timestamp associated with the most recently read value. This is not an OPC timestamp. This timestamp is recorded by the FactoryTalk Batch Server at the time it receives the read data. The time is represented by a string in the format: "%m/%d/%Y %H:%M:%S" If data is not successfully read, then this field is empty. | |
<WriteStatus> | ASCII - Integer | Ordinal indicating current status of any write operation associated with the tag. 0 = NOT PENDING 1 = FAILED 2 = PENDING 9 = UNDEFINED/ERROR | |
<LastValueWritten> | ASCII - String | The last value that the FactoryTalk Batch Server wrote to the equipment phase attribute. The value is depicted as a string. If the equipment phase attribute is never written to, then this field is empty. | |
<LastWriteResult> | ASCII - Integer | An ordinal that indicates the success or failure of the last attempted write. If the tag is associated with an OPC or FTD data server, then the complete set of OPC errors may be received; refer to the OPC standard for a list of the possible return values. Additional vendor-specific error codes may be returned. It is not possible to know the values of these ordinals in advance. If the tag is never written to, this field is empty. | |
<LastWriteTime
stamp> | ASCII - Integer | The time at which the FactoryTalk Batch Server last received the results of a write attempt from the data server. The time is represented by a string in the format: "%m/%d/%Y %H:%M:%S". If data is never successfully read, then this field is empty. | |
where: | |||
<ConnFsm> | is | <ConnMachState> \t <ParentStepName> \t <PendAdvs> | |
<PendAdvs> | is | <NullList> | <PendList> | |
<PendList> | is | <PendTagName> | <PendTagName> \t <PendList> | |
where: | |||
Field Name | Format | Description | |
<ConnMachState> | ASCII - Integer | The current state of the connection state machine associated with the equipment phase. The possible states are:
0 = DORMANT
1 = PEND_SUBSCRIBE
2 = PEND_UNIT_ID
3 = CONNECTED
4 = RECONNECTING
5 = EXTERNAL_CONTROL | |
<ParentStepName> | ASCII - String | The batch step name connected to the equipment phase. If a batch step is not currently connected, then this field is empty. | |
<PendTagName> | ASCII - String | The tag name on which the connection state machine awaits an initial value before advancement to the next state is allowed. | |
where: | |||
<CmdFsm> | is | <CmdMachState> \t <CurrCmd> \t <CurrCmdID> \t <CmdQ> $END \t <CmdEvents> | |
<CmdQ> | is | <NullList> | <CmdList> | |
<CmdList> | is | <QueuedCmd> | <QueuedCmd> \t <CmdList> | |
Field Name | Format | Description | |
<CmdMachState> | ASCII - Integer | The current state of the Command state machine associated with the equipment phase. The possible states are: 0 = DORMANT
1 = INITIALIZING
3 = PEND_COMMAND_ACK
4 = PEND_WRITE_COMPLETE | |
<CurrCmd> | ASCII - Integer | If a Command is being processed, this field contains the current Command. Otherwise, this field is empty. | |
<CurrCmdID> | ASCII - Integer | If a Command is being processed, this field contains the ID of the current Command. Otherwise, this field is empty. | |
<QueuedCmd> | ASCII - Integer | A Command value in the Command queue waiting to be processed when the current Command completes. | |
where: | |||
<CmdEvts> | is | <NullList> | <CmdEvtList> | |
<CmdEvtList> | is | <CmdEvent> | <CmdEvent> \t <CmdEvtList> | |
<CmdEvent> | is | <CmdInit> | <CmdSent> | <CmdAck> | <CmdNAck> | <CmdTime> | CmdQued> | <CmdCommErr> | <CmdNotYetProcessed> | <CmdProtocolViolate> | <CmdExternal> | <CmdQueueFlushed> | <CmdWriteFailed> | <CmdWriteSucceeded> | |
<CmdInit> | is | 101 \t <EvtTstmp> \t <SpareParm> \t <InitialCmdID> | |
<CmdSent> | is | 102 \t <EvtTstmp> \t <Cmd> \t <CmdID> | |
<CmdAck> | is | 103 \t <EvtTstmp> \t <Cmd> \t <CmdID> | |
<CmdNAck> | is | 104 \t <EvtTstmp> \t <Cmd> \t <CmdID> | |
<CmdTime> | is | 105 \t <EvtTstmp> \t <Cmd> \t <CmdID> | |
<CmdQued> | is | 106 \t <EvtTstmp> \t <Cmd> \t <SpareParm> | |
<CmdNotYetProcessed> | is | 108 \t <EvtTstmp> \t <Cmd> \t <CmdID> | |
<CmdProtocolViolate> | is | 109 \t <EvtTstmp> \t <Cmd> \t <CmdID> | |
<CmdExternal> | is | 110 \t <EvtTstmp> \t <SpareParm> \t <SpareParm> | |
<CmdQueueFlushed> | is | 111 \t <EvtTstmp> \t <SpareParm> \t <SpareParm> | |
<CmdWriteFailed> | is | 112 \t <EvtTstmp> \t <SpareParm> \t <SpareParm> | |
<CmdWriteSucceeded> | is | 113 \t <EvtTstmp> \t <SpareParm> \t <SpareParm> | |
Field Name | Format | Description | |
<EvtTstmp> | ASCII - String | The time at which the FactoryTalk Batch Server recorded the event. The time is represented as an eight byte float value. This is the "DATE" time as defined by OLE and encapsulated by the COleDateTime class. | |
<SpareParm> | ASCII - String | An unused event parameter field. It populates with the value zero (0) by default. | |
<InitialCmdID> | ASCII - Integer | The Command ID used for the first Command issued after the Command state machine is initialized by reading the Command tag’s current value. Normally, a value of 1 is used, unless the current value of the tag’s high byte is 1 , in which case Commands are started with an ID of 2 . | |
<Cmd> | ASCII - Integer | The Command value associated with the recorded event. | |
<CmdID> | ASCII - Integer | The Command ID value associated with the recorded event. | |
where: | |||
<ReqFSM> | is | <RqstMachState> \t <CurrRqst> \t <CurrRqstParm1> \t <CurrRqstParm2> \t <CurrRqstParm3> \t <ReqEvents> | |
where: | |||
Field Name | Format | Description | |
<RqstMachState> | ASCII - Integer | The current state of the request state machine associated with the equipment phase. The possible states are:
0 = DORMANT
1 = PEND_GET_DATA
2 = PERFORMING_REQ
3 = PEND_PUT_DATA
4 = PEND_VERIFY_DATA
5 = PEND_COMPLETE | |
<CurrRqst> | ASCII - Integer | If a request is being processed, this is the value of the current request, otherwise this field is blank. | |
<CurrRqstParm1> | ASCII - Integer | If a request is being processed that requires request parameters, then this is the value of the first request parameter. Otherwise, this field is blank. | |
<CurrRqstParm2> | ASCII - Integer | If a request is being processed that requires two or more request parameters, then this is the value of the second request parameter. Otherwise, this field is blank. | |
<CurrRqstParm3> | ASCII - Integer | If a request is processed that requires three or more request parameters, then this is the value of the third request parameter. Otherwise, this field is blank. | |
where <ReqEvents> is: | |||
<ReqEvents> | is | <NullList> | <ReqEvtList> | |
<ReqEvtList> | is | <ReqEvent> | <ReqEvent> \t <ReqEvtList> | |
<ReqEvent> | is | <ReqReq> | <ReqRSet> | <ReqAbrtAck> | <ReqAbrtFail> | <ReqGetParm> | <ReqProcsng> | <ReqCmpltd> | <ReqPutData> | <ReqVerData> | |
<ReqReq> | is | 203 \t <EvtTstmp> \t <RqstValue> \t <SpareParm> | |
<ReqRSet> | is | 204 \t <EvtTstmp> \t <SpareParm> \t <SpareParm> | |
<ReqAbrtAck> | is | 205 \t <EvtTstmp> \t <SpareParm> \t <SpareParm> | |
<ReqAbrtFail> | is | 206 \t <EvtTstmp> \t <SpareParm> \t <SpareParm> | |
<ReqGetParm> | is | 207 \t <EvtTstmp> \t <RqstValue> \t <SpareParm> | |
<ReqProcsng> | is | 208 \t <EvtTstmp> \t <RqstValue> \t <SpareParm> | |
<ReqCmpltd> | is | 209 \t <EvtTstmp> \t <RqstValue> \t <SpareParm> | |
<ReqPutData> | is | 210 \t <EvtTstmp> \t <RqstValue> \t <SpareParm> | |
<ReqVerData> | is | 211 \t <EvtTstmp> \t <RqstValue> \t <SpareParm> | |
Items 212 through 315 are proprietary. | |||
where: | |||
Field Name | Format | Description | |
<EvtTstmp> | ASCII - String | The time at which the FactoryTalk Batch Server recorded the event. The time is represented as an eight-byte float value. This is the "DATE" time as defined by OLE and encapsulated by the COleDateTime class. | |
<SpareParm> | ASCII - String | An unused event parameter field. It is by default populated with the value zero. | |
<RqstValue> | ASCII - Integer | The value of the equipment phase request associated with the recorded event. |
This table shows an example of the return on this request.
Example: | A request on object.GetItem(68EqData) could return:NP_ADDDAIRY_M1 \crlf MBR_ADD \crlf NP_ADDDAIRY_M1_ST \t OPC_SIM \t PHASES \t NP_ADDDAIRY_M1_ST \t \t \t OPC \t 2 \t 3 \t \t 3 \t 1 \t 100 \t 192 \t 02/24/2022 16:20:57 \t 0 \t \t 0 \t \t 0 \t \t 0 \t \crlf NP_ADDDAIRY_M1_OC \t OPC_SIM \t PHASES \t NP_ADDDAIRY_M1_OC \t PHASES \t NP_ADDDAIRY_M1_OC \t OPC \t 2 \t 3 \t \t 3 \t 1 \t 2816 \t 192 \t 02/24/2022 16:14:48 \t 0 \t \t 0 \t \t 0 \t \t 0 \t \crlf NP_ADDDAIRY_M1_F \t OPC_SIM \t PHASES \t NP_ADDDAIRY_M1_F \t \t \t OPC \t 2 \t 3 \t \t 3 \t 1 \t 0 \t 192 \t 02/24/2022 16:14:49 \t 0 \t \t 0 \t \t 0 \t \t 0 \t \crlf NP_ADDDAIRY_M1_W \t OPC_SIM \t PHASES \t NP_ADDDAIRY_M1_W \t \t \t OPC \t 2 \t 3 \t \t 3 \t 1 \t 0 \t 192 \t 02/24/2022 16:20:57 \t 0 \t \t 0 \t \t 0 \t \t 0 \t \crlf NP_ADDDAIRY_M1_RQ \t OPC_SIM \t PHASES \t NP_ADDDAIRY_M1_RQ \t \t \t OPC \t 2 \t 3 \t \t 3 \t 1 \t 0 \t 192 \t 02/24/2022 16:21:18 \t 0 \t \t 0 \t \t 0 \t \t 0 \t \crlf NP_ADDDAIRY_M1_P \t OPC_SIM \t PHASES \t NP_ADDDAIRY_M1_P \t \t \t OPC \t 2 \t 3 \t \t 3 \t 1 \t 0 \t 192 \t 02/24/2022 16:20:57 \t 0 \t \t 0 \t \t 0 \t \t 0 \t \crlf NP_ADDDAIRY_M1_PD \t OPC_SIM \t PHASES \t NP_ADDDAIRY_M1_PD \t \t \t OPC \t 2 \t 3 \t \t 3 \t 1 \t 0 \t 192 \t 02/24/2022 16:20:57 \t 0 \t \t 0 \t \t 0 \t \t 0 \t \crlf NP_ADDDAIRY_M1_SS \t OPC_SIM \t PHASES \t NP_ADDDAIRY_M1_SS \t \t \t OPC \t 2 \t 3 \t \t 3 \t 0 \t \t 0 \t \t 0 \t \t 0 \t \t 0 \t \t 0 \t \crlf NP_ADDDAIRY_M1_SI \t OPC_SIM \t PHASES \t NP_ADDDAIRY_M1_SI \t \t \t OPC \t 2 \t 3 \t \t 3 \t 1 \t 0 \t 192 \t 02/24/2022 16:20:57 \t 0 \t \t 0 \t \t 0 \t \t 0 \t \crlf \t NP_ADDDAIRY_M1P02 \t PHASES \t NP_ADDDAIRY_M1P02 \t OPC \t 1 \t 5 \t \t 5 \t 0 \t \t 0 \t \t 0 \t \t 0 \t \t 0 \t \t 0 \t \crlf ... \crlf 0 \t \t \crlf 1 \t 0 \t 0 \t $END \t 101 \t 02/24/2022 16:14:56 \t 0 \t 1 \crlf 0 \t 0 \t 0 \t 0 \t 0 \t |
Provide Feedback