Skip to main content

Client application for interfacing with the PMPS database and the deployed PLC files.

Project description

pmpsdb_client

Overview

This is a gui and cli application for managing the deployment and inspection of PMPS database files on production PLCs at LCLS. It provides tools to make deployment and verification of deployment seamless and easy.

Usage

Once installed, this application can be invoked via pmpsdb. For example, here is the current output of pmpsdb --help:

usage: pmpsdb [-h] [--version] [--verbose] [--export-dir EXPORT_DIR] {gui,list-files,upload-to,download-from,compare,reload} ...

PMPS database deployment helpers

positional arguments:
  {gui,list-files,upload-to,download-from,compare,reload}
    gui                 Open the pmpsdb gui.
    list-files          Show all files uploaded to a PLC.
    upload-to           Upload a database export file to a PLC.
    download-from       Download a database file previously exported to a PLC.
    compare             Compare files beteween the local exports and the PLC.
    reload              Force the PLC to re-read the database export while running.

optional arguments:
  -h, --help            show this help message and exit
  --version             Show version information and exit
  --verbose, -v         Show tracebacks and debug statements
  --export-dir EXPORT_DIR, -e EXPORT_DIR
                        The directory that contains database file exports.

From a git clone, you can invoke the same script without needing to install the package. This is done from the root directory here by calling python -m pmpsdb --help, for example.

This application will not work unless you have access to the LCLS controls networks. It is designed to run on an endstation's operator consoles.

The most common usage will be to open the gui from an operator console as simply pmpsdb gui.

Installation

This package can be installed using recent versions of pip that support the pyproject.toml format.

To install, you can choose one of the following:

  • pip install pmpsdb_client to install from pypi
  • clone this repo, check out the desired tag, and run the following from the root directory: pip install .
  • install directly from github via: pip install 'pmpsdb_client @ git+https://github.com/pcdshub/pmpsdb_client@v1.1.2' for example, to install version v1.1.2.

PLC Configuration

The PLC must have the following configuration:

  • ftp enabled, with either the default logins or anonymous uploads enabled
  • firewall TCP ports 20-21 allowed

These are both editable in the CX Configuration Tool. Enabling the ftp server will require a PLC restart, updating the firewall will not.

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

pmpsdb_client-1.3.0.tar.gz (35.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pmpsdb_client-1.3.0-py3-none-any.whl (39.1 kB view details)

Uploaded Python 3

File details

Details for the file pmpsdb_client-1.3.0.tar.gz.

File metadata

  • Download URL: pmpsdb_client-1.3.0.tar.gz
  • Upload date:
  • Size: 35.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for pmpsdb_client-1.3.0.tar.gz
Algorithm Hash digest
SHA256 c28f9eed34641ae08dad965d167fd53b355a5d6e986efc265cfea0ce4fc7ad9b
MD5 fd5dffb554e8ffd3716d5fd5c843bbe9
BLAKE2b-256 64f5689b14d24fe8491c5190e7dd6941239fe7116ac30b8fa36c12f30adcf95e

See more details on using hashes here.

File details

Details for the file pmpsdb_client-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: pmpsdb_client-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 39.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for pmpsdb_client-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 75bb387c74a46859cc4a0bfcdf5fee2b43fb31f7a04d2b7ae07095191829a416
MD5 a88c9f2796cde5e593d65a84c8052f41
BLAKE2b-256 98cebb8d2d002bc8c1e3a5319ef837563a9ccb3e9316158e4d666ac0b11f6925

See more details on using hashes here.

Supported by

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