|
UniSet
1.7.0
|
В проект входит два простых интерфейса для python:
В данном интерфейсе реализован только самые просты функции getValue и setValue.
Пример использования:
#!/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())
В данном интерфейсе реализованы функции Modbus master на основе использования libuniset. Он имеет ряд простых функций getWord(), getByte(), getBit(), а так же универсальная функция UModbus::mbread() позволяющая более тонко определять параметры запроса.
Для записи одного регистра (!) реализована UModbus::mbwrite()
Пример использования:
#!/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())
1.7.6.1