With the Freelance API an export file from the ABB Freelance control system can be evaluated.
The FreelanceReader
is a context manager. Depending on the file extension it returns the correct object
:warning: Only certain file endings are evaluated
- PLC
- PLE
- CSV
from freelanceapi import FreelanceReader
with FreelanceReader("/User/test.csv") as file:
print(file)
output >> freelanceapi.FreelanceExportData.FreelanceCsvData object at 0x10e13eac0
The Freelance Export class supports the functions.
The data of the complete file is returned as a tuple.
from freelanceapi import FreelanceReader
with FreelanceReader("/User/test.csv") as file:
print(file.complete_file())
output >> (([Program-Generated File -- DO NOT MODIFY],),([DUMP_VERSION],2061,),([DUMP_FILETYPE],101,)......)
The desired range must be specified as a string. Then the selected range is output as a tuple. If a section occurs more than once in the file, it is expanded in the tuple.
from freelanceapi import FreelanceReader
with FreelanceReader("/User/test.csv") as file:
print(file.extract_sections("Project Comment"))
output >> (('[BEGIN_PROJECTCOMMENT];0;',),)
The following areas are available for selection:
- Project Comment
- Node
- HW2
- Area
- Header
- Resorce Association
- Hardware Manager
- Hardware
- OPC Connection
- Connections
- HD Text
- HD
- MSR
- OPC Adressing
- EAM Initialisation
- EAM
- Project Tree
classDiagram
class FreelanceExportData {
<<abstract>>
+file_data: tuple[str]
+complete_file()
+extract_sections(section)
}
class FreelanceReader {
<<context manager>>
}
FreelanceReader o-- FreelanceExportData : creates
FreelanceExportData <|-- FreelancePlcData
FreelanceExportData <|-- FreelancePleData
FreelanceExportData <|-- FreelanceCsvData
In this example, the complete range of field IO is output.
The following sections can be read out:
- ProjectComment:
- AreaDefinition:
- ProjectHeader:
- ResourceAssociation:
- HardWareManager:
- HW2:
- OPCConn:
- Conn:
- HDTextList:
- HD:
- MSR:
- OPCAdress:
- EAMInit:
- EAM:
- Node:
- Pbaum:
Meanings of the Dict Keys:
- ID: Identification
- RID: Row Identification
- LEN: Length of Dataset
- NA: Next element available
- MP: Measuring point
- MT: Module Type
- ST: Short Text
- LT: Long Text
- AD: Area Definition
- SB: Status Bit
- VN: Variable Name
- DT: Data Typ
- VT: Variable Text
- PI: Process image
- EX: Exported Variable
- VC: Variable(0) or Const (1)
- FB: FBS Name
- LB: Libary
- DTMN: DTM Number
- DTMC: DTM Config
- QC: Quantity counter
- FN: Function Name
- CN: Channel Name
- IO: Input or Output
- UB: Used Byte
- B: Bit
- BL: Byte Length
- C: Commend
- AC: Area Char
- LA: Length of Area Text
- AN: Area Name
- PO: Processing order
- VAR: Variable
All keys that contain a NI (NoIdear) cannot be assigned to a function.