Skip to main content

FreelanceAPI is a module for reading & evaluating export files from the Freelance control system.

Project description

FreecomAPI

Python 3.10+ PyPI version GitHub license

With the Freelance API an export file from the ABB Freelance control system can be evaluated.

Freelance Reader

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

FreelanceReader

from freelanceapi import FreelanceReader

with FreelanceReader("/User/test.csv") as file:
    print(file)

output >> freelanceapi.FreelanceExportData.FreelanceCsvData object at 0x10e13eac0

Freelance Exports

The Freelance Export class supports the functions.

complete_file

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,)......)

extract_sections

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

Freelance Export UML

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:

row_identifier

It provides:

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

:warning: Developer Info

All keys that contain a NI (NoIdear) cannot be assigned to a function.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

freelanceapi-0.2.1.tar.gz (25.4 kB view hashes)

Uploaded Source

Built Distribution

freelanceapi-0.2.1-py3-none-any.whl (31.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page