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.4.tar.gz (24.7 kB view details)

Uploaded Source

Built Distribution

freelanceapi-0.2.4-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file freelanceapi-0.2.4.tar.gz.

File metadata

  • Download URL: freelanceapi-0.2.4.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.6 Linux/6.2.0-1014-azure

File hashes

Hashes for freelanceapi-0.2.4.tar.gz
Algorithm Hash digest
SHA256 f9b7f759e065e631a449ad3105dcde1a18eb350b1139a5645bbd6c735326f754
MD5 0dbf1b9d7c9f70fb0f886ce24892b3ef
BLAKE2b-256 2978f3c8592eeb31407a0659739cd6e08060d3160e0be172614ed3823ead6f85

See more details on using hashes here.

File details

Details for the file freelanceapi-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: freelanceapi-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 31.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.6 Linux/6.2.0-1014-azure

File hashes

Hashes for freelanceapi-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 bf0a2c5892e0ffebefa80cf0075587772c727b8780c39316f9214c55faaedd80
MD5 5dcfb16e62740cf5dcdb40a1ea167dc5
BLAKE2b-256 86fbe001cd9df7fab1d2dc8f3c60e5b55732dac530a1aa5a6d0148d910a90c7b

See more details on using hashes here.

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