Skip to main content

Logic Elements core utilities

Project description

LE core package

This is package of core python utils for LE containing:

  • Looger
  • Proprietary LeBin protocol
  • Proprietary Modbus RTU register map handling - VisualModbus
  • Test frame
  • Logic Elements devices

Install

Install or update version

pip install lecore
pip install --upgrade lecore

LE devices - Modbus RTU slave

The following Modbus RTU devices are supported:

RTD Emulator

4-channel RTD emulator, see https://logicelements.cz/en/products/rtd-emulator.

Example of usage:

import lecore.Devices.RtdEmul as RE

# Create RTD emulator object
rtd = RE.RtdEmul()

# Open communication at COM2 (default is COM1) with default COM parameters
rtd.open(comport='COM2')

# Read serial number
sn = rtd.read(RE.Reg.FACT_SERIAL_NUMBER)

# Write stock resistance and beta
rtd.write(RE.Reg.EMUL_NTC_STOCK_RES, 10000)
rtd.write(RE.Reg.EMUL_NTC_BETA, 3977)

# Write emulated temperature at output 1
rtd.write(RE.Reg.EMUL_TEMPERATURE_1, 30.5)

VMS-1502 RTD Meter

6-channel RTD meter, see https://logicelements.cz/en/products/rtd-meter.

Example of usage:

import lecore.Devices.VmsRtd as RTD

# Create RTD meter object
rtd = RTD.VmsRtd()

# Open communication at COM2 (default is COM1) with default COM parameters
rtd.open(comport='COM2')

# Read fixed-point temperature at input 1 (fix-point is multiplied by 100)
temp_fp = rtd.read(RTD.Reg.RTD_TEMPER_1) / 100

# Read floating-point temperature at input 1
temp_float = rtd.read(RTD.Reg.RTDE_TEMPER_FLOAT_1)

# Write RTD type to PT1000 for input 1
rtd.write(RTD.Reg.RTD_TYPE_1, 1)

Phase Detector

6-channel Power Grid Voltage Detector, see https://logicelements.cz/en/products/power-grid-voltage-detector.

Example of usage:

import lecore.Devices.PhaseDet as PE

# Create Phase Detector object
pe = PE.PhaseDet()

# Open communication at COM2 (default is COM1) with default COM parameters
pe.open(comport='COM2')

# Read Pulse count on phase input L1
count = pe.read(PE.Reg.PH_COUNTER_1)

# Clear counts on all phase inputs
pe.write(PE.Reg.PH_CLEAR_ALL, 1)

Third-party devices

FG-320

Function generator, see https://www.profess.cz/en/mms/products/accessories/service-instruments/fg320

Example of usage:

import lecore.Fg320 as FG

# Create FG-320 object
fg = FG.Fg320('COM6')

# Print FG-320 parameters (serial number, firmware version, etc.)
fg.identify()

# Generate analog signal with key phase mark 
fg.normal(function="SQ", frequency=10, amplitude=1, dc=0, angle=90, kp_high=11, kp_low=1)
fg.write()

# Generate current loop signal
fg.current_dc(dc=5)
fg.write()

# Generate speed signal
fg.speed(frequency=10)
fg.write()

Looger

Class Looger allows for sending debug data into Development Debug Server (DDS) a.k.a. Looger. Public instance run at https://looger.jablotron.cz

Create instance when default public endpoint is to be used

import lecore

# Create Looger object
looger = lecore.Looger()

# Set device properties
looger.set_device(0x111CC1234, 0, None)

# Send data collection and text message
data = {'data_1': 1, 'data_2': 2}
log = f"Message to log"
looger.send(data, log, 0)

# Send just log message
looger.send_log(log)

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

lecore-0.1.29.tar.gz (65.9 kB view hashes)

Uploaded Source

Built Distribution

lecore-0.1.29-py3-none-any.whl (83.7 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