Skip to content

Python PID Tuner with an additional PID Simulator and CSV Logger

License

Notifications You must be signed in to change notification settings

Destination2Unknown/pytunelogix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pytunelogix

Python PID Tuner for ControlLogix

PyPI PyPI - Downloads PyPI - Python Version GitHub repo size PyPI - License

Windows Exe (no install required) -> https://github.com/Destination2Unknown/pytunelogix/releases

To install use:

pip install pytunelogix

PID tuning in 4 Steps:

A-> Record PRC using Logger
B-> Tune using PID Tuner
C-> Refine tune using PID Simulator
D-> Test tune with FOPDT Simulator for Logix PLC

To use, create a launch file:

examplelaunch.pyw #use pyw for no console

PID Logger

image

To launch, use:

from pytunelogix.pidlogger import clxlogger

clxlogger.main()
    

Stage 1 - PID Tuner based on a CSV file of a Process Reaction Curve (PRC)

Notes and Limitations:

  • Assumes CV and PV data stored at 100ms intervals.

  • Assumes there is a single step in CV.

  • Ambient is calculated as an average of the PV prior to the step change.

  • Doesn't work correctly with a ramp in CV or with multiple CV steps.

N.B.
The PID tuning values are calculated for a PV with a standard range span of 100 in engineering units (e.g. 0-100 deg C or 50-150 deg F).
If the range of the PV has a different span the PID tuning values may need to be rescaled:

  Example 1: PV range of 200-400 deg C -> PID Gains x2

  Example 2: PV range of 75-100 deg C -> PID Gains x0.25

To launch, use:

from pytunelogix.stage1 import csvtuner

csvtuner.main()

Direct Acting:

U_Tune

Reverse Acting:

U_TuneR


Stage 2 - Open loop tune

A.mp4

Premium Feature - https://github.com/sponsors/Destination2Unknown


Stage 3 - Closed loop tune

cl.mp4

Premium Feature - https://github.com/sponsors/Destination2Unknown


Stage 4 - Adaptive tuner

ad.mp4

Premium Feature - https://github.com/sponsors/Destination2Unknown


PID Simulator

Direct Acting:

pidDirect_DEP

Reverse Acting:

pidReverse_DEP

To launch, use:

from pytunelogix.simulate import simulator

simulator.main()
    

ControlLogix FOPDT Process Simulator (PID Simulator)

Simulates a Process:

UCLX_Sim

Direct Acting:

C

Reverse Acting:

C_R

To launch, use:

from pytunelogix.clxpidsim import clxsim

clxsim.main()
    

Windows Standalone Exe:

Pytunelogix