Skip to main content

Unofficial Python package to control IKA products; we are not affiliated with IKA.

Project description

ika

Unofficial Python package to control IKA products; we are not affiliated with IKA.

Package not compatible with Mac OS

Products supported

Basics

Make sure you have installed the necessary driver for your computer:

To control a magnetic stirrer with the ika package, you need to identify the comport the device is when connected to your computer.

Example usage

Magnetic stirrer

import time
from ika.magnetic_stirrer import MagneticStirrer

port = 'COM5'
plate = MagneticStirrer(device_port=port)
plate.start_stirring()
plate.target_stir_rate = 100
time.sleep(10)
plate.target_stir_rate = 200
plate.stop_stirring()

plate.target_temperature = 20
plate.start_heating()
plate.target_temperature = 19
time.sleep(5)
plate.stop_heating()

plate.disconnect()

Thermoshaker

import time
import logging

from ika.thermoshaker import Thermoshaker

logger = logging.getLogger(__name__)
format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
logging.basicConfig(format=format, level=logging.DEBUG)


if __name__ == '__main__':
    port = 'COM8'  # todo set to the correct port
    dummy = True  # todo set to true if testing without connecting to an actual thermoshaker

    kwargs = {
        'port': port,
        'dummy': dummy,
    }
    ts = Thermoshaker.create(**kwargs)

    ts.watchdog_safety_temperature = 15.5
    ts.start_watchdog_mode_1(30)
    ts.start_watchdog_mode_2(30)
    ts.switch_to_normal_operation_mode()

    actual_temperature = ts.temperature
    set_temperature = ts.set_temperature
    actual_speed = ts.speed
    set_speed = ts.set_speed
    logger.info(f'actual temperature: {actual_temperature}, '
                f'set temperature: {set_temperature}, '
                f'actual speed: {actual_speed}, '
                f'set speed: {set_speed}')

    logger.info('change the set temperature to 30 and speed to 500')
    ts.set_temperature = 30
    ts.set_speed = 500
    set_temperature = ts.set_temperature
    set_speed = ts.set_speed
    logger.info(f'set temperature: {set_temperature}, '
                f'set speed: {set_speed}')

    logger.info('start tempering and shaking')
    ts.start_tempering()
    ts.start_shaking()

    time.sleep(5)

    actual_temperature = ts.temperature
    actual_speed = ts.speed
    logger.info(f'actual temperature: {actual_temperature}, '
                f'actual speed: {actual_speed}')

    logger.info('change the set temperature to 25 and speed 0')
    ts.set_temperature = 25
    ts.set_speed = 0
    set_temperature = ts.set_temperature
    set_speed = ts.set_speed
    logger.info(f'set temperature: {set_temperature}, '
                f'set speed: {set_speed}')
    actual_temperature = ts.temperature
    actual_speed = ts.speed
    logger.info(f'actual temperature: {actual_temperature}, '
                f'actual speed: {actual_speed}')

    logger.info('stop tempering and shaking')
    ts.stop_tempering()
    ts.stop_shaking()

Chiller

import time
import logging

from ika.chiller import Chiller

logger = logging.getLogger(__name__)
format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
logging.basicConfig(format=format, level=logging.DEBUG)


if __name__ == '__main__':
    port = 'COM14'  # todo set to the correct port

    c = Chiller(port=port)

    c.watchdog_safety_temperature = 10
    # c.start_watchdog_mode_1(20)
    # c.start_watchdog_mode_2(30)

    actual_temperature = c.temperature
    setting_temperature = c.setting_temperature
    logger.info(f'actual temperature: {actual_temperature}, '
                f'setting temperature: {setting_temperature}')

    logger.info('change the setting temperature to 8.5')
    c.setting_temperature = 8.5
    setting_temperature = c.setting_temperature
    logger.info(f'setting temperature: {setting_temperature}')

    logger.info('start tempering')
    c.start_tempering()

    time.sleep(5)

    actual_temperature = c.temperature
    logger.info(f'actual temperature: {actual_temperature}')

    logger.info('change the set temperature to 8')
    c.setting_temperature = 8.0
    setting_temperature = c.setting_temperature
    logger.info(f'setting temperature: {setting_temperature}')
    actual_temperature = c.temperature
    logger.info(f'actual temperature: {actual_temperature}')

    logger.info('stop tempering')
    c.stop_tempering()

    print('done')

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

ika-1.14.0-py3-none-any.whl (47.0 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