UniSet  1.7.0
Интерфейс на python

В проект входит два простых интерфейса для python:

Простой python-интерфейс для работы с uniset

В данном интерфейсе реализован только самые просты функции getValue и setValue.

См. также:
UConnector

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys

from uniset import *

if __name__ == "__main__":
    
    lst = Params_inst()

    for i in range(0, len(sys.argv)):
        if i >= Params.max:
            break;
    
        lst.add( sys.argv[i] )

    p = []
    print "lst: class: " + str(p.__class__.__name__)

    try:    
        uc1 = UConnector( lst, "test.xml" )
        
#       print "(0)UIType: %s" % uc1.getUIType()

        print "(1)getShortName: id=%d name=%s" % (1, uc1.getShortName(1))

#       print "     getName: id=%d name=%s" % (1, uc1.getName(101))
#       print " getTextName: id=%d name=%s" % (1, uc1.getTextName(101))
#       print "\n"
#       print "getShortName: id=%d name=%s" % (2, uc1.getShortName(109))
#       print "     getName: id=%d name=%s" % (2, uc1.getName(109))
#       print " getTextName: id=%d name=%s" % (2, uc1.getTextName(109))

        try:
            print "(1)setValue: %d=%d" % (3,22)
            uc1.setValue(3,22,DefaultID)
        except UException, e:
            print "(1)setValue exception: " + str(e.getError())

        try:
            print "(1)getValue: %d=%d" % ( 3, uc1.getValue(3,DefaultID) )
        except UException, e:
            print "(1)getValue exception: " + str(e.getError())

    except UException, e:
        print "(testUI): catch exception: " + str(e.getError())

Простой python-интерфейс для работы с modbus

В данном интерфейсе реализованы функции Modbus master на основе использования libuniset. Он имеет ряд простых функций getWord(), getByte(), getBit(), а так же универсальная функция UModbus::mbread() позволяющая более тонко определять параметры запроса.

Для записи одного регистра (!) реализована UModbus::mbwrite()

См. также:
UModbus

Пример использования:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys

from uniset import *

if __name__ == "__main__":

    try:
        mb = UModbus()
        
        print "UIType: %s" % mb.getUIType()
        
        mb.connect("localhost",2048)
        try:
            print "Test READ functions..."
            for f in range(1,5):
                print "func=%d reg=%d" % (f,22)
                val = mb.mbread(0x01,22,f,"unsigned",-1)
#               val = mb.mbread(0x01,22)
                print "val=%d"%val
            
            print "getWord: %d" % mb.getWord(0x01,22)
            print "getByte: %d" % mb.getByte(0x01,22)
            print "getBit: %d" % mb.getBit(0x01,22,3)
#            print ""
#            print "Test WRITE functions..."
#            for f in range(1,6):
#                print "func=%d reg=%d" % (f,22)
#                val = mb.getValue(f,0x01,22,"unsigned",-1)
        except UException, e:
            print "exception: " + str(e.getError())

    except UException, e:
         print "(testUModbus): catch exception: " + str(e.getError())