fdt use cases (beyond device configuration). motivation for this presentation fdt is more than…......
TRANSCRIPT
FDT Use Cases(beyond device configuration)
Motivation for this presentation
FDT is more than…
... a Frame Application that …
… has a Tree View on left hand side that shows hierachical ordered network topology
… opens DTM user interfaces for offline or online parameterization
… uploads and downloads device parameters
Scenarios
Data exchange between Frame Applications Reporting / Documentation Audit Trail Alternative Communication Paths Bus Master Configuration Control System Configuration Bus Master without Gateway capabilities Process Monitoring Network Management Update and Replacement
Scenario Data exchange between different
Frame Applicationse.g. Data exchange between a stand-alone Service Tool and a Control System
FDT Definition Definition of standard topology data
exchange format Frame Application generates or reads XML files according
FDTTopologyImportExportSchema FDTTopologyImportExportSchema defines
Exchange of topology information
Exchange of DTM/BTM and device/block type information
Exchange of DTM/BTM instance data (Stream or PropertyBag)
Vendor A: Frame Application
Topology I mport
Export XML
Vendor B: Frame Application
Data exchange between Frame Applications
Data exchange between Frame Applications Example XML
GatewayDTM
DeviceDTM
DeviceDTM
Gateway DTM
CommunicationDTM
Vendor A: System Engineering Tool
Data exchange between Frame ApplicationsExample: System Engineering Tool Service Tool
Vendor B: Service Tool
1. Load data from database
4. Import data from XML file
Data Sharing XML File
3. Check-out single device data set or sub-network from database and export to XML file
6. Export data to XML file
7. Synchronize single device data set or sub-network with data in XML file and check-in to database
Both Frame Applications use same DTM type and load it with shared device data
2. Parameterization via device specific DTM
5. Maintenance via device specific DTM
Vendor C: Pocket Tool
Data exchange between Frame ApplicationsExample: System Engineering Tool PDA
1. Load data from database
4. Import data from XML file
Data Sharing XML File
3. Check-out single device data set or sub-network from database and export to XML file
6. Export data to XML file
7. Synchronize single device data set or sub-network with data in XML file and check-in to database
Vendor A: System Engineering Tool
Frame Applications use different, but compatible DTM types and load it with shared device data
2. Parameterization via device specific DTM
5. Maintenance via device specific DTM
Scenarios
Data exchange between Frame Applications Reporting / Documentation Audit Trail Alternative Communication Paths Bus Master Configuration Control System Configuration Bus Master without Gateway capabilities Process Monitoring Network Management Update and Replacement
Reporting & Documentation
Scenario Generation of device configuration &
parameterization reports Print out of reports
FDT Definition DTM interface (IDtmDocumentation) called to request report information
for specific data (e.g. device configuration, offline or online configuration etc.)
Definition of documentation data format
- DTMDocumenationSchema.xml Data transformation to HTML reports
Reporting & DocumentationExample: Print of Device Settings (Frame Application Style)
DTM
IDtmDocumentation:GetDocumentation()
Transformation to HTML XSLT
Frame Application specific
Tranformation File
Reporting & DocumentationExample: Print of Device Settings (DTM Style)
DTM
IDtmDocumentation:GetDocumentation()
Transformation to HTML XSLT
DTM specific Tranformation File
Scenarios
Data exchange between Frame Applications Reporting / Documentation Audit Trail Alternative Communication Paths Bus Master Configuration Control System Configuration Bus Master without Gateway capabilities Process Monitoring Network Management Update and Replacement
Audit Trail
Scenario Record data changes (what has been changed by who)
Example: - Device parameter XYZ changed from 0815 to 4711 by user Operator
- Function Device Reset executed by user Operater at
10.30pm - 2004-02-04- …
Change history documentation
FDT Definition Frame Application interface IDtmAuditTrailEvents
that is called by DTM whenever
- Device Parameter is changed
- Device Status changes
- Device related operation is executed
Audit TrailExample: Change History Recording
2005-11-12 8:00:00
Parameter XY has change from 20.0 to 30 milliampere User 2
2005-11-12 10:10:00
Parameter XY has change from 30.0 to 40 milliampere User 2
2005-11-12 9:10:00
Parameter XY has change from 30.0 to 40 milliampere User 2
Time / Date Time / Date
2005-10-1010:45
Parameter XY has change from 10.0 to 20 milliampere
User
User 1
Change History Table
Device ID
DTM Binary Data Last Modified
Device XY
0xAF1255FFDE4323E2...2005-11-10
10:12:56Device
XY0xAF1255FFDEFFFFEE...
2005-11-11 10:12:56
´Device Data Table
Device XY
0xAF1255FFFFFFFFFFF...2005-11-12
12:12:56
Frame Application
User
Change Some Parameters
Save
Get DTM Data
IDtmAuditTrailEvents:OnAuditTrailEvent()
Scenarios
Data exchange between Frame Applications Reporting / Documentation Audit Trail Alternative Communication Paths Bus Master Configuration Control System Configuration Bus Master without Gateway capabilities Process Monitoring Network Management Update and Replacement
Alternative Communication Paths
Scenario Device has multiple physical
communication interfaces- field bus network (e.g. Profibus, FF, Modbus etc.)
- vendor specific service interface (e.g. RS 232, IrDA, Bluetooth etc)
User wants to select path to use
FDT Definition Device DTM supports multiple protocols
- DTM Information XML contains multiple „required“ protocols
Device DTM is assigned to muliple Communication or Gateway DTMs
Alternative Communication Paths
DTM 4
DTM 3
DTM 1
SetCommunication (null)
SetCommunication (DTM 1)
SetCommunication (DTM 3)ReleaseCommunication ()SetCommunication(DTM 2)
DTM 2
Scenarios
Data exchange between Frame Applications Reporting / Documentation Audit Trail Alternative Communication Paths Bus Master Configuration Control System Configuration Bus Master without Gateway capabilities Process Monitoring Network Management Update and Replacement
Bus Master Configuration
Scenario Configuration of communication master Setup of cyclic communication
FDT Definition Master Configuration Data in DTM
Parameter for a slave device
XML according DTMParameterSchema)
e.g. for Profibus: BusMasterConfigurationPart + GSD information
Bus Master ConfigurationExample: Profibus Master Configuration
Slave DTM 1
GSD + BusMasterConfigPart
Slave DTM 2
GSD + BusMasterConfigPart
Slave DTM 3
GSD + BusMasterConfigPart
PLC DTM
DTM representing PLC
Bus Master (Module) DTM
Read GSD and BusMasterConfigurationPart from Parameter XML
IDtmParameter:GetParameter()
DTM representing Bus Master Module plugged into PLC
Configure Bus Master and setup cyclic communication
Functionality is typically realized by a PLC specific Bus Master Configuration Tool.
Scenarios
Data exchange between Frame Applications Reporting / Documentation Audit Trail Alternative Communication Paths Bus Master Configuration Control System Configuration Bus Master without Gateway capabilities Process Monitoring Network Management Update and Replacement
Control System Configuration
Scenario Devices connected to a field bus must be made
known to the control system Device input and output signals must be create
and integrated into functional control system planning
- e.g. mapping of device input / output to PLC variables
FDT Definition DTM (Process) Channels
- IFdtChannel interface
- Channel Parameter XMLs according protocol specific FDT Annex Schema
Control System ConfigurationRole of Process Channels
PLC DTM
Bus Master (Module) DTM
Device DTM
Process Ch 3
Process Ch 2
Process Ch 1
Process Var 1
Process Var 2
Process Var 3
Cyclic data
exchange
Process Channels describe variables exchanged between the device and the PLC
IFdtChannel:GetParameters()
IFdtChannel:GetParameters()
Process Channel Parameter typically contain following process variable information: - Name, Tag, ID - Data type - Singnal type (input / output) - Information type (Semantic ID) - Address information (e.g. position / length) - Flag indicating that it is in use by control system (protectedByChannelAssignment)
Control System ConfigurationProcess Channel Variable Mapping
PLC DTM
Bus Master (Module) DTM
Device DTM
Process Ch 3
Process Ch 2
Process Ch 1
Process Channel information is mapped to PLC Module variables
Symbolic names are applied to variables
Symbolic variable names are used for Control System programming
Functionalitiy is typically realized by a Control System specific Programming Suite.
PLC DTM
Program is downloaded to PLC
Control System ConfigurationPLC Program Download
Bus Master module maps process values into PLC variables in memory. The PLC variables are used in program running in the PLC to control the system.
Process Var 1
Process Var 2
Process Var 3
Cyclic data exchange
PLC program
Scenarios
Data exchange between Frame Applications Reporting / Documentation Audit Trail Alternative Communication Paths Bus Master Configuration Control System Configuration Bus Master without Gateway capabilities Process Monitoring Network Management Update and Replacement
Bus Master without Gateway capabilities
Scenario Bus Master in a PLC doesn’t
have Gateway capabilities Device DTMs can’t connect to
its device through PLC
FDT Definition Nothing special!
Device DTM
Master DTM
Device DTM needs acyclic services (e.g. Profibus DPV1) for configuration & parameterization
Master DTM only supports services to access cyclic data (e.g. Profibus DPVO)
Bus Master without Gateway capabilities Example: PLC with Profibus Master Module
Device DTM
Master DTMCommunication DTM
Configure Bus Master and setup cyclic communication
Read GSD + BusMasterConfigurationPart
Acyclic services are used for configuration & parameterization
Cyclic services are used for observation
Cyclic data exchange
Parallel Profibus Class 2 Master
Scenarios
Data exchange between Frame Applications Reporting / Documentation Audit Trail Alternative Communication Paths Bus Master Configuration Control System Configuration Bus Master without Gateway capabilities Process Monitoring Network Management Update and Replacement
Process Monitoring
Scenarios Process Visualization Condition Monitoring
- Device status
Gathering of asset management related information- Health / predictive maintenance information- Operation counters- etc.
FDT Definition DTM (Process) Channels
- IFdtChannel interfaceChannel Parameter - XMLs according protocol specific FDT Annex Schema
Single Device Data Access- IDtmSingleDeviceDataAccess interface- Data XML according DTM Item Schema (protocol independent)- Semantic IDs
Comm DTM
Device DTM
Process Ch 6
Process Ch 5
Process Ch 4
Process Channels describe variables that are exchanged via parallel (acyclic) communication path
Process Var 4
Process Var 5
Process Var 6
Process MonitoringRole of Process Channels
IFdtChannel:GetParameters()
Process Channel Parameter contain information how to request process variables directly from the device, e.g. via Profibus DPV1
Process Channel Parameter can also contain information about alarms and ranges
Process variable address information from Process Channel Parameter
Comm DTM
Process MonitoringProcess Value Reading
Process Var 4
IFdtCommunication: TransactionRequest()
Process variable value read from the device. Returned byte stream must be converted to data type described in Process Channel Parameter
Process Monitoring Frame Application uses Communication or Gateway DTM communication interface to directly connect to devices and read process variables.
Process MonitoringProcess Value Reading via OPC Server (1/2)
Process Var 4
Process Var 5
Process Var 6
OPC Server
Device DTM
Process Ch 6
Process Ch 5
Process Ch 4
Frame Application reads Process Channel Parameters and feeds OPC Server with information
IFdtChannel:GetParameters()
OPC Server Configuration interface
Comm DTM
If OPC Server acts as a FDT Frame Application it even can use the Communication or Gateway DTMs, so it becomes independent from used hardware.
Process Monitoring Application uses protocol independent OPC interface to read process variables
Information is protocol dependent XML Schemas defined by FDT Protocol Annex Frame Application must be prepared for every protocol
Mechnismus doesn’t work for new introduced or vendor specific protocols!
Solution: Single Device Data Access interface Provides protocol independent way to access
process variables
Process MonitoringDrawback of Process Channel
Device DTM
Process Ch 6
Process Ch 5
Process Ch 4
Process Var 4
Process Var 5
Process Var 6
GetItemList() and DTM Process Channels may contain redundant information. Both describing the process variables.
IDtmSingleDeviceData::GetItemLisl
Process MonitoringRole of Single Device Data Access interface
Comm DTM
IDtmSingleDeviceDataAccess:Read()
Process MonitoringProcess Value Reading via OPC Server (2/2)
Process Var 4
Process Var 5
Process Var 6
OPC Server
OPC Server starts Device DTM and uses Single Device Data Access interface if protocol is unknown or no Process Channel is provided for the process variable.
Comm DTM
Device DTM
All Device DTMs must be started / shut-downed Start / shutdown of DTM is time consuming DTMs take much memory
Lower performance than Process Channel mechanism
Process MonitoringDrawback of Single Device Data Access Interface
Scenarios
Data exchange between Frame Applications Reporting / Documentation Audit Trail Alternative Communication Paths Bus Master Configuration Control System Configuration Bus Master without Gateway capabilities Process Monitoring Network Management Update and Replacement
Network Management
Scenarios Automatic creation of network topology Verification if manual engineered network topology maps to field bus
network Address Management
FDT Definition DTM information about supported hardware
- XML according FDT<protocol>DeviceTypeIdentSchema
- IDtmInformation2 interface to request information
Scan of field bus and information about connected devices- XML according FDT<protocol>ScanIdentSchema
- IFdtChannelScan:ScanRequest to perform scanning
Address setting mechanism- IFdtChannelSubTopology2 to trigger address setting
Store protocol information
Network ManagementDTM / Device Catalog
1
Name Version
SomeDeviceDTM 1.00.00
DTM TableFDT
Version
1.2.1
Vendor
M&M
ProgID
MMDtm.ExampleDevice
ID
3
1
´2
DTM Device Type TableID
1
1
1
DTMID Name Version Vendor
DeviceVendor 1Device Type 1 1.00.00
Device Vendor 1Device Type 2 1.00.00
Device Vendor 1Device Type 3 1.00.00
Supported Protocols
Required Protocols
1, 2
1, 2
3, 2
Windows-Registry
FDT-Category
FDT_DTM
MMDTM.ExampleDevices
XYDTM.XYZDevices
…
Scan Windows-Registry for installed DTMs
DTM
Start all found DTMs and request DTM and hardware information (IDtmInformation / IDtmInformation2)
1
´2
ID
1
1
DeviceType ID
Hardware Info Table
1234
2345-1
Manufacturer ID
1
1.1
Device ID
*
*
HardwareVersion
1.0-5.5
1.0-5.5
SoftwareVersion
XY=2; Z=1
XY=2; Z=2
Vendor Specific
3
4
2
2
1234
2345-1
2
2.2
*
*
1.0-5.5
1.0-5.5
XY=2; Z=3
XY=2; Z=4
5
6
3
3
2345-1
0815
3.3
4711
*
*
1.0-5.5
1.0-2.0; 3
XY=2; Z=5
XY=2; Z=6
1
2
Protocol
1
2
2
3
Store information regarding DTM
Store information regarding DTM Device Types Drivers representing the devices in the software
Store information regarding hardware (pyhsical devices) which are supported by the DTM Device Types. 1
2
ID
3
1234-23456-2345
7890-6543-11111
Identifier
1234-23456-2346
Profibus DPV1
Vendor Specific
Name
HART
Protocol Table
……
Network ManagementScan Field Bus and Create Network Topology (1/2)
CommDTM
Scan field bus
IFdtChannelScan::ScanRequest(protocolId);
Manufacturer ID = 1234Device ID = 1Hardware Vers = 2.3.1.2Software Vers = 3.12.4
Manufacturer ID = 1234Device ID = 2Hardware Vers = 2.4.1.2Software Vers = 3.00.4
1
Name Version
SomeDeviceDTM 1.00.00
DTM TableFDT
Version
1.2.1
Vendor
M&M
ProgID
MMDtm.ExampleDevice
ID
3
1
´2
DTM Device Type Table
ID
1
1
1
DTMID Name Version Vendor
DeviceVendor 1Device Type 1 1.00.00
Device Vendor 1Device Type 2 1.00.00
Device Vendor 1Device Type 3 1.00.00
Supported Protocols
Required Protocols
1, 2
1, 2
3, 2
1
´2
ID
1
1
DeviceType ID
Hardware Info Table
1234
2345-1
Manufacturer ID
1
1.1
Device ID
*
*
HardwareVersion
1.0-5.5
1.0-5.5
SoftwareVersion
XY=2; Z=1
XY=2; Z=2
Vendor Specific
3
4
2
2
1234
2345-1
2
2.2
*
*
1.0-5.5
1.0-5.5
XY=2; Z=3
XY=2; Z=4
5
6
3
3
2345-1
0815
3.3
4711
*
*
1.0-5.5
1.0-2.0; 3
XY=2; Z=5
XY=2; Z=6
1
2
Protocol
1
2
2
3
IDtmScanEvents::OnScanResponse()
XML according FDTScanIdentSchema
Bus Address 1Manufacturer ID = 1234Device ID = 1Hardware Vers = 2.3.1.2Software Vers = 3.12.4
Bus Address 3Manufacturer ID = 1234Device ID = 2Hardware Vers = 2.4.1.2Software Vers = 3.00.4
Search for corresponding entry in Hardware Info Table
Bus Address = 1
Bus Address = 3
Network ManagementScan Field Bus and Create Network Topology (2/2)
CommDTM
IDtmScanEvents::OnScanResponse()
XML according FDTScanIdentSchema
Bus Address 1Manufacturer ID = 1234Device ID = 1Hardware Vers = 2.3.1.2Software Vers = 3.12.4
Bus Address 3Manufacturer ID = 1234Device ID = 2Hardware Vers = 2.4.1.2Software Vers = 3.00.4
Device DTM
Device DTM
IFdtChannelSubTopology2: SetChildrenAddresses()
Trigger bus address setting at Communication DTM for the newly added Device DTMs
Set bus addresses in DTM Parameter XML
Bus Address = 1
Bus Adress = 3
Manufacturer ID = 1234Device ID = 1Hardware Vers = 2.3.1.2Software Vers = 3.12.4
Manufacturer ID = 1234Device ID = 2Hardware Vers = 2.4.1.2Software Vers = 3.00.4
Network ManagementBus Address Management in User Interface
CommDTM
Bus Address = 1
Bus Address = 3
Device DTM
Device DTM
IFdtChannelSubTopology2:SetBusAddresses(withGUI)
Trigger bus addresssetting to change addressin Comm DTM ActiveX control
Open ActiveX control
Set bus addresses in DTM Parameter XML
Manufacturer ID = 1234Device ID = 1Hardware Vers = 2.3.1.2Software Vers = 3.12.4
Manufacturer ID = 1234Device ID = 2Hardware Vers = 2.4.1.2Software Vers = 3.00.4
Scenarios
Data exchange between Frame Applications Reporting / Documentation Audit Trail Alternative Communication Paths Bus Master Configuration Control System Configuration Bus Master without Gateway capabilities Process Monitoring Network Management Update and Replacement
Update & Replacement
Scenarios Device is replaced by another instance of
the same type Device is replaced by another device of the same classification, but from
another manufacturer
FDT Definition Dataset Format IDs DTM Parameter access
- DTM Parameter XML (IDtmParameter interface)
- DTM Item XML (IDtmSingleInstanceDataAccess interface)
- Semantic IDs
Device is replaced by another instance of the same type New instance has new firmware version that is not supported by the
installed DTM DTM must be upgraded New DTM uses different data set format, but can load old data set format
Update & ReplacementScenario: Update (1/4)
Update & ReplacementScenario: Update (2/4)
Old DTM
Device ID
DTM Binary DataUsed Dataset
Format
Device 3 0xAF1255FFFFFFFFFFF... 123-456
SupportedDataset Formats
123-456
´Device Data Table
Vendor specific identifier that specifies format of DTM data set.
2. DTM stores binary data in Frame Application database + binary data format information (used and supported)
1. Save
Update & ReplacementScenario: Update (3/4)
1
Name Version
SomeDeviceDTM 1.00.00
DTM TableFDT
Version
1.2.1
Vendor
M&M
ProgID
MMDtm.ExampleDevice
ID
3
1
´2
DTM Device Type Table
ID
1
1
1
DTMID Name Version Vendor
DeviceVendor 1Device Type 1 1.00.00
Device Vendor 1Device Type 2 1.00.00
Device Vendor 1Device Type 3 1.00.00
Supported Protocols
Required Protocols
1, 2
1, 2
3, 2
1
´2
ID
1
1
DeviceType ID
Hardware Info Table
1234
2345-1
Manufacturer ID
1
1.1
Device ID
*
*
HardwareVersion
1.0-5.5
1.0-5.5
SoftwareVersion
XY=2; Z=1
XY=2; Z=2
Vendor Specific
3
4
2
2
1234
2345-1
2
2.2
*
*
1.0-5.5
1.0-5.5
XY=2; Z=3
XY=2; Z=4
5
6
3
3
2345-1
0815
3.3
4711
*
*
1.0-5.5
1.0-2.0; 3
XY=2; Z=5
XY=2; Z=6
1
2
Protocol
1
2
2
3
Scan Windows-Registry for installed DTMs
DTM
5. Update DTM / Device Catalog and store information about new installed DTM (IDtmInformation / IDtmInformation2)
1
2
ID
3
1234-23456-2345
7890-6543-11111
Identifier
1234-23456-2346
Profibus DPV1
Vendor Specific
Name
HART
Protocol Table
Windows-Registry
FDT-Category
FDT_DTM
MMDTM.ExampleDevices
XYDTM.XYZDevices
………
Store dataset formats that are supported
Device Type ID
SupportedDataset Format
1 123-456
Dataset Format Table
1 123-4567
1 123-45678
3. Replace old device with new device
4. Install new DTM and register in Windows-Registry
1
Name Version
SomeDeviceDTM 1.00.00
DTM TableFDT
Version
1.2.1
Vendor
M&M
ProgID
MMDtm.ExampleDevice
ID
3
1
´2
DTM Device Type Table
ID
1
1
1
DTMID Name Version Vendor
DeviceVendor 1Device Type 1 1.00.00
Device Vendor 1Device Type 2 1.00.00
Device Vendor 1Device Type 3 1.00.00
Supported Protocols
Required Protocols
1, 2
1, 2
3, 2
Update & ReplacementScenario: Update (4/4)
Device ID
DTM Binary DataUsed Dataset
Format
Device 3 0xAF1255FFFFFFFFFFF... 123-456
SupportedDataset Formats
123-456
´Device Data Table
Device Type ID
SupportedDataset Format
1 123-456
Dataset Format Table
1 123-4567
1 123-45678
Frame Application uses dataset format stored together with DTM binary data to search for DTM supporting this format
New installed DTM
7. New installed DTM loads „old“ dataset and converts it to new format
Device is replaced by another device of the same classification, but from another manufacturer DTM must be replaced by another DTM Data set is incompatible Data exchange between two totally different DTM provided by different
vendors
Update & ReplacementScenario: Replacement (1/2)
Old DTM
Update & ReplacementScenario: Replacement (2/2)
DTM for device that must be replaced DTM for new device
New DTM
IDtmParameter:GetParameter() OR
IDtmSingleInstanceDataAcess:Read()
IDtmParameter:SetParameter() OR
IDtmSingleInstanceDataAcess:Write()
Frame Application reads parameter values from „old“ DTM and sets it in „new“ DTM. The mapping between parameters in the DTMs is done by Semantic IDs.
Only common defined parameters, e.g. defined by a profile or by a field bus specification, are exchanged.
Discussion / Questions
M&M Software
Thank you for your attention
M&M Software GmbH reserves all rights for its documents and printed information. These documents and information material may be used internally for the designated purpose. But this material, either completely or in parts, may not be passed on to third parties, especially to competitors of the M&M Software GmbH, and it may not be duplicated.
These documents and information material contain confidential information and you are therefore requested to keep it strictly confidential. You are also requested to commit your staff that is using these documents and information, to the confidentiality obligation. Thank you.