Main Page

From pymate.io wiki
Jump to navigation Jump to search

About PymateIO

Pymate-powered-by-micropython.png

PymateIO is an affordable Industrial Controler (PLC) Powered with MicroPython.
PymateIO is ready for Industry, Reliable, Developer-Friendly and Easy to Install.

Micro Python is an optimized version of Python 3 dedicated to embedded systems like microcontollers.
Python scripts are stored on the device and running on z bare metal Python Virtual Machine (like computer does).

PymateIO EcoSystem

PymateIO is expandable by design starting with few board, new arrivals should come with time.


Key products

Pymate-core-angle-small.png PymateIO Core Core8ADI8DOSC
  • DIN rail mounting
  • Spring cage connector
  • 8-28V power supply
  • 8 digital inputs 12/24V tolerant
  • up 8 configurable analog inputs (10V max)
  • 8 digital outputs (PNP, 250mA, High Side control)
  • 1 user button, 2 user LEDs
  • Native Modbus via RS485
  • Dedicated status LEDs for each Inputs/Outputs
  • Expandable by design with LTE-M, WiFi, Ethernet, relays, analog I/Os, PT100, Zigbee, and more,..
  • Native USB support
  • MicroPython support with libraries
  • Developper friendly
  • Core8ADI8DOSC product tour

TODO:Link to shop

Pymate-16adi16do-angle-small.png PymateIO 16ADI16DO expansion
  • DIN rail mounting
  • Plug-and-play (ready to use)
  • Daisy chain by design (up to 120 boards)
  • Spring cage connector
  • 8-28V power supply
  • 16 digital inputs 12/24V tolerant
  • up 16 configurable analog inputs (10V max)
  • 16 digital outputs (PNP, 250mA, High Side control)
  • 1 user button, 2 user LEDs
  • 16ADI16DO expansion tour

TODO:Link to shop

Pymate-hmi-angle-small.png CommandHMI [COMING SOON]
  • 8-28V power supply
  • 16:9 TFT 4.3" (96x53mm)
  • 480 x 272px
  • Serial: RS232 + RS485
  • Protocols: Modbus, ASCII, ...
  • USB-A: Master modbus, data export (to USB key)
  • USB-C: programming port
  • Variant: 7.0", 10.2", 15.6", 4.3" Ethernet
  • Read more

TODO:Link to shop

Product Nomenclature

Letter Feature
DI Digital Input. It is prefixed with the number of input (ex : 8DI or 8ADI).

May be in combination with A.

A Analog Input. It is prefixed with the number of analog input (ex : 8A or 8ADI).

May be in combination with DI.

DO Digital Output. It is prefixed with the number of analog output.
S Serial (RS485, MODBUS RTU)
C CAN bus
P SPI bus
I I2C bus
U UART
T Modbus TCP

Products tour

Core board

Tlogo-core.jpg

Tour of the PymateIO Core board.

16ADI16DO board

Tlogo-16adi16do.jpg

Tour of the PymateIO 16 Analog-DataIn and 16 DataOut board.

 

Programming HowTo

MicroPython

Tlogo-about-MicroPython.jpg

What is MicroPython?

Thonny IDE

Tlogo-thonny.jpg

Prepare your MicroPython IDE environment.

Connect Pymate

Tlogo-connect.jpg

Connecting the board

REPL

Tlogo-repl.jpg

The MicroPython command line

Startup scripts

Tlogo-micropython-main.jpg

What are main.py and boot.py

 

Programming First-step

PymateIO

Tlogo-pymateio.jpg

Access Input and outputs with PymateIO

Input/Output

Tlogo-input-output.jpg

Wiring and using DI and DO

Analog

Tlogo-analog.jpg

Wiring and using Analog Input

User button

Tlogo-user-button.png

Managing user button in code

User LEDs

Tlogo-user-leds.png

Managing user LEDs with code

RealTime Clock

Tlogo-rtc.png

Geting an accurate date and time

Cycle timing

Tlogo-cycle-timing.png

Measuring mainloop execution time

16ADI16DO Tour

Tlogo-16adi16do.jpg

Tour of the PymateIO 16 Analog-DataIn and 16 DataOut board.

16ADI16DO Usage

Tlogo-16adi16do.jpg

Using the 16ADI16DO expansion with PymateIO

RS485 Basics

Tlogo-RS485.png

Accessing directly the RS485 bus to read/write sensors

Modbus

Tlogo-modbus.png

Using Modbus RTU over RS485. Use PymateIO as Modbus Master. Example with Wind Dir., Power Meter, Temp/Humidity/Lux meter.

 

Common use-cases

Remote Control

Tlogo-usecases.png

Click once to power it on. Click again to power it off.

Time Relay

Tlogo-usecases.png

Click to power/light-up for a given amount of time.

Delaying in code

Tlogo-usecases.png

Learn how to implement a no blocking delay within your loop. Using DS18B20 with OneWire protocol to demonstrate the behavior.

Hysteresis

Tlogo-usecases.png

Hysteresis management in running process. Discover the HeaterHis and CoolerHis controller class.

Value Mapping

Tlogo-under-construction.jpg

TRAVAUX EN COURS. Great Trick to save time and coding

PID Regulation

Tlogo-under-construction.jpg

TRAVAUX EN COURS. Running the software PID controller included within Pymate

LED Tuning

Tlogo-under-construction.jpg

TRAVAUX EN COURS. LED can do so much more than being on or off.
HeartBeat, Pulsing, ErrorCode and more can be so useful.

Interrupt Request

Tlogo-under-construction.jpg

TRAVAUX EN COURS. Being quickly warned of an event!

Watchdog

Tlogo-under-construction.jpg

TRAVAUX EN COURS. Re-inforce Cycle Time with WatchDog

Data Logging

Tlogo-under-construction.jpg

TRAVAUX EN COURS. Permanent storage of history, sensor data, etc


HMI Display

Tlogo-hmi-display.png

Setup the HMI display and create the Pymate script accordingly.

HMI Display

Tlogo-hmi-display.png

A second example with numeric input on the HMI display

 

Mini projects

Page-under-construction.pngPage(s) under construction.
  • Tank refill

Pymate Expansion programming

Board_ID

Tlogo-board-id.png

Identification of expansion board

CAN Scan

Tlogo-can-scan.png

Scanning the CAN bus for boards and check for CAN error.

Programming

Tlogo-under-construction.jpg

TRAVAUX EN COURS. How to control your 16ADI/16DO expansion. Input/Output/Analog/etc.

Change Board_ID

Tlogo-board-id.png

How to change the 16ADI16DO board identification on the CAN bus.

 

PymateIO Expansion Bus

Connector

Tlogo-pymate-expansion-connector.png

Pymate.IO Expansion connector in details

I2C Bus

Tlogo-pymate-i2c.png

Accessing I2C bus

SPI Bus

Tlogo-under-construction.jpg

TRAVAUX EN COURS. Identification of expansion board

CAN Bus

Tlogo-under-construction.jpg

TRAVAUX EN COURS. Accessing CAN

OneWire

Tlogo-one-wire.png

Using OneWire protocol on the Pymate Expansion (part of another turotial).

 

Advanced programming

Page-under-construction.pngPage(s) under construction.
  • About asyncio
  • Creating tasks
  • Scheduling tasks

References

Page-under-construction.pngPage(s) under construction.
  • PymateIO library
  • Helper libraries