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
- Magnetic stirrer
- IKA Magnetic Stirrer model C-MAG HS 7
- IKA RCT 5 digital
- Thermoshaker
- IKA MATRIX Orbital Delta plus
- Chiller
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
Release history Release notifications | RSS feed
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)