Skip to main content

Python driver for Koyo Ethernet ClickPLCs.

Project description


Python ≥3.5 driver and command-line tool for Koyo Ethernet ClickPLCs.


pip install clickplc


Command Line

$ clickplc the-plc-ip-address

This will print all the X, Y, DS, and DF registers to stdout as JSON. You can pipe this as needed. However, you'll likely want the python functionality below.


This uses Python ≥3.5's async/await syntax to asynchronously communicate with a ClickPLC. For example:

import asyncio
from clickplc import ClickPLC

async def get():
    async with ClickPLC('the-plc-ip-address') as plc:
        print(await plc.get('df1-df500'))

The entire API is get and set, and takes a range of inputs:

>>> await plc.get('df1')
>>> await plc.get('df1-df20')
{'df1': 0.0, 'df2': 0.0, ..., 'df20': 0.0}
>>> await plc.get('y101-y316')
{'y101': False, 'y102': False, ..., 'y316': False}

>>> await plc.set('df1', 0.0)  # Sets DF1 to 0.0
>>> await plc.set('df1', [0.0, 0.0, 0.0])  # Sets DF1-DF3 to 0.0.
>>> await plc.set('y101', True)  # Sets Y101 to true

Currently, only X, Y, DS, and DF are supported. I personally haven't needed to use the other categories, but they are straightforward to add if needed.

Project details

Download files

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

Files for clickplc, version 0.2.5
Filename, size File type Python version Upload date Hashes
Filename, size clickplc-0.2.5-py2.py3-none-any.whl (14.5 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size clickplc-0.2.5.tar.gz (6.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page