Updated ipp.py to use new pycomm functions and Channel class instances

This commit is contained in:
Patrick McDonagh
2016-07-14 18:32:04 -05:00
parent 5b2b8571a7
commit 8bec0aafd4
2 changed files with 303 additions and 561 deletions

View File

@@ -6,28 +6,89 @@ import pickle
from device_base import deviceBase
import micro800 as u800
min_upload_time = 30
addr = '10.20.4.5'
channels = {}
class Channel():
def read(self):
valData = u800.readMicroTag(self.device_addr, self.tag)
if valData:
nowVal = valData[0]
if self.map_obj:
nowVal = self.map_obj[nowVal]
self.data_type = valData[1]
if self.data_type == "BOOL":
if self.last_value == "":
self.sendFn(self.name, nowVal, 0)
self.last_time_uploaded = time.time()
self.last_value = nowVal
elif (not (self.last_value == nowVal)) or ((time.time() - self.last_time_uploaded) > self.max_time_between_uploads):
self.sendFn(self.name, nowVal, 0)
self.last_time_uploaded = time.time()
self.last_value = nowVal
if (self.data_type == "REAL") or (self.data_type[-3:] == "INT"):
if self.last_value == "":
self.sendFn(self.name, nowVal, 0)
self.last_time_uploaded = time.time()
self.last_value = nowVal
elif (abs(self.last_value - nowVal) > self.change_threshold) or ((time.time() - self.last_time_uploaded) > self.max_time_between_uploads):
self.sendFn(self.name, nowVal, 0)
self.last_time_uploaded = time.time()
self.last_value = nowVal
return True
return False
def __init__(self, name, tag, max_time_between_uploads, sendFn, change_threshold=0.0, e300_param=False, writeable=False, map_obj=None):
global addr
self.name = name
self.tag = tag
self.data_type = ''
self.last_value = ''
self.last_time_uploaded = 0
self.change_threshold = change_threshold
self.max_time_between_uploads = int(max_time_between_uploads)
self.sendFn = sendFn
self.device_addr = addr
self.writeable = bool(writeable)
self.map_obj = map_obj
self.e300_param = e300_param
self.read()
def write(self, val, handshake=None, handshake_val=None):
if self.writeable:
h = handshake
hval = handshake_val
if h == None:
if u800.writeMicroTag(self.device_addr, self.tag, val, handshake=self.tag, handshake_val=val):
self.sendFn(self.name, val, time.time())
self.last_value = val
return True
else:
return False
else:
return u800.writeMicroTag(self.device_addr, self.tag, val, handshake=h, handshake_val=hval)
else:
print("NOT ALLOWED TO WRITE TO {}".format(self.name))
return False
class start(threading.Thread, deviceBase):
channels = {}
def writeTag_WriteE300(self, addr, tag, val):
c = u800.Driver()
if c.open(addr):
# try:
# typ = getTagType(addr, tag)
cv = c.read_tag(tag)
wt = c.write_tag(tag, val, cv[1])
write_E300 = c.write_tag("cfg_WRITE", 1, "BOOL")
print("wt= {}, write_E300 = {}".format(wt, write_E300))
return wt and write_E300
# except Exception:
# err = c.get_status()
# c.close()
# print err
# pass
try:
cv = c.read_tag(tag)
wt = c.write_tag(tag, val, cv[1])
write_E300 = c.write_tag("cfg_WRITE", 1, "BOOL")
print("wt= {}, write_E300 = {}".format(wt, write_E300))
return wt and write_E300
except Exception:
err = c.get_status()
c.close()
print err
return False
c.close()
def updateGPS(self):
@@ -36,14 +97,217 @@ class start(threading.Thread, deviceBase):
self.sendtodb("gps", gps, 0)
def setupChannels(self):
with open('drivers/ipp_channels.p', 'rb') as ch_f:
self.channels = pickle.load(ch_f)
print("Channel List\n================")
for x in self.channels.keys():
print x
print("================")
global channels
channels = {
'automode': Channel('automode', 'Auto_Mode', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'cfgcflasetting': Channel('cfgcflasetting', 'cfg_C_FLASetting', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgcleartripcountafter': Channel('cfgcleartripcountafter', 'cfg_ClearTripCountAfter', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'cfggfgroundfaultinhibittime': Channel('cfggfgroundfaultinhibittime', 'cfg_GF_GroundFaultInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfggfgroundfaulttripdelay': Channel('cfggfgroundfaulttripdelay', 'cfg_GF_GroundFaultTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfggfgroundfaulttriplevel': Channel('cfggfgroundfaulttriplevel', 'cfg_GF_GroundFaultTripLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfggfgroundfaultwarningdelay': Channel('cfggfgroundfaultwarningdelay', 'cfg_GF_GroundFaultWarningDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfggfgroundfaultwarninglevel': Channel('cfggfgroundfaultwarninglevel', 'cfg_GF_GroundFaultWarningLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgictprimary': Channel('cfgictprimary', 'cfg_I_CTPrimary', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgictsecondary': Channel('cfgictsecondary', 'cfg_I_CTSecondary', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgicurrentimbalanceinhibittim': Channel('cfgicurrentimbalanceinhibittim', 'cfg_I_CurrentImbalanceInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgicurrentimbalancetripdelay': Channel('cfgicurrentimbalancetripdelay', 'cfg_I_CurrentImbalanceTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgicurrentimbalancetriplevel': Channel('cfgicurrentimbalancetriplevel', 'cfg_I_CurrentImbalanceTripLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgicurrentimbalancewarninglev': Channel('cfgicurrentimbalancewarninglev', 'cfg_I_CurrentImbalanceWarningLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgijaminhibittime': Channel('cfgijaminhibittime', 'cfg_I_JamInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgijamtripdelay': Channel('cfgijamtripdelay', 'cfg_I_JamTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgijamtriplevel': Channel('cfgijamtriplevel', 'cfg_I_JamTripLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgijamwarninglevel': Channel('cfgijamwarninglevel', 'cfg_I_JamWarningLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgilinelossinhibittime': Channel('cfgilinelossinhibittime', 'cfg_I_LineLossInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgilinelosstripdelay': Channel('cfgilinelosstripdelay', 'cfg_I_LineLossTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgiovercurrentinhibittime': Channel('cfgiovercurrentinhibittime', 'cfg_I_OvercurrentInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgiovercurrenttripdelay': Channel('cfgiovercurrenttripdelay', 'cfg_I_OvercurrentTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgiovercurrenttriplevel': Channel('cfgiovercurrenttriplevel', 'cfg_I_OvercurrentTripLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgiovercurrentwarninglevel': Channel('cfgiovercurrentwarninglevel', 'cfg_I_OvercurrentWarningLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgistallenabledtime': Channel('cfgistallenabledtime', 'cfg_I_StallEnabledTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgistalltriplevel': Channel('cfgistalltriplevel', 'cfg_I_StallTripLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgiundercurrentinhibittime': Channel('cfgiundercurrentinhibittime', 'cfg_I_UndercurrentInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgiundercurrenttripdelay': Channel('cfgiundercurrenttripdelay', 'cfg_I_UndercurrentTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgiundercurrenttriplevel': Channel('cfgiundercurrenttriplevel', 'cfg_I_UndercurrentTripLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgiundercurrentwarninglevel': Channel('cfgiundercurrentwarninglevel', 'cfg_I_UndercurrentWarningLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgiunderloadinhibittime': Channel('cfgiunderloadinhibittime', 'cfg_I_UnderloadInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgiunderloadtripdelay': Channel('cfgiunderloadtripdelay', 'cfg_I_UnderloadTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgiunderloadtriplevel': Channel('cfgiunderloadtriplevel', 'cfg_I_UnderloadTripLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgiunderloadwarninglevel': Channel('cfgiunderloadwarninglevel', 'cfg_I_UnderloadWarningLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgoverloadtripcountlimit': Channel('cfgoverloadtripcountlimit', 'cfg_OverloadTripCountLimit', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'cfgplphaselossinhibittime': Channel('cfgplphaselossinhibittime', 'cfg_PL_PhaseLossInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgplphaselosstripdelay': Channel('cfgplphaselosstripdelay', 'cfg_PL_PhaseLossTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgread': Channel('cfgread', 'cfg_READ', 86400, self.sendtodbJSON, writeable=True, e300_param=False),
'cfgspecificgravity': Channel('cfgspecificgravity', 'cfg_SpecificGravity', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'cfgtcuolresetlevel': Channel('cfgtcuolresetlevel', 'cfg_TCU_OLResetLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgtcuolwarninglevel': Channel('cfgtcuolwarninglevel', 'cfg_TCU_OLWarningLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgtcutripclass': Channel('cfgtcutripclass', 'cfg_TCU_TripClass', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgtimermodeenabled': Channel('cfgtimermodeenabled', 'cfg_TimerModeEnabled', 86400, self.sendtodbJSON, writeable=True, e300_param=False),
'cfgtimerruntime': Channel('cfgtimerruntime', 'cfg_TimerRunTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'cfgtimerwaittime': Channel('cfgtimerwaittime', 'cfg_TimerWaitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'cfgtripcountlimit': Channel('cfgtripcountlimit', 'cfg_TripCountLimit', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'cfgvoverfrequencyinhibittime': Channel('cfgvoverfrequencyinhibittime', 'cfg_V_OverfrequencyInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvoverfrequencytripdelay': Channel('cfgvoverfrequencytripdelay', 'cfg_V_OverfrequencyTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvoverfrequencytriplevel': Channel('cfgvoverfrequencytriplevel', 'cfg_V_OverfrequencyTripLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvoverfrequencywarninglevel': Channel('cfgvoverfrequencywarninglevel', 'cfg_V_OverfrequencyWarningLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvovervoltageinhibittime': Channel('cfgvovervoltageinhibittime', 'cfg_V_OvervoltageInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvovervoltagetripdelay': Channel('cfgvovervoltagetripdelay', 'cfg_V_OvervoltageTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvovervoltagetriplevel': Channel('cfgvovervoltagetriplevel', 'cfg_V_OvervoltageTripLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvovervoltagewarninglevel': Channel('cfgvovervoltagewarninglevel', 'cfg_V_OvervoltageWarningLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvphaserotationinhibittime': Channel('cfgvphaserotationinhibittime', 'cfg_V_PhaseRotationInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvphaserotationtriptype': Channel('cfgvphaserotationtriptype', 'cfg_V_PhaseRotationTripType', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvptprimary': Channel('cfgvptprimary', 'cfg_V_PTPrimary', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvptsecondary': Channel('cfgvptsecondary', 'cfg_V_PTSecondary', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvunderfrequencyinhibittime': Channel('cfgvunderfrequencyinhibittime', 'cfg_V_UnderfrequencyInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvunderfrequencytripdelay': Channel('cfgvunderfrequencytripdelay', 'cfg_V_UnderfrequencyTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvunderfrequencytriplevel': Channel('cfgvunderfrequencytriplevel', 'cfg_V_UnderfrequencyTripLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvunderfrequencywarninglevel': Channel('cfgvunderfrequencywarninglevel', 'cfg_V_UnderfrequencyWarningLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvundervoltageinhibittime': Channel('cfgvundervoltageinhibittime', 'cfg_V_UndervoltageInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvundervoltagetripdelay': Channel('cfgvundervoltagetripdelay', 'cfg_V_UndervoltageTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvundervoltagetriplevel': Channel('cfgvundervoltagetriplevel', 'cfg_V_UndervoltageTripLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvundervoltagewarninglevel': Channel('cfgvundervoltagewarninglevel', 'cfg_V_UndervoltageWarningLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvvoltageimbalanceinhibittim': Channel('cfgvvoltageimbalanceinhibittim', 'cfg_V_VoltageImbalanceInhibitTime', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvvoltageimbalancetripdelay': Channel('cfgvvoltageimbalancetripdelay', 'cfg_V_VoltageImbalanceTripDelay', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvvoltageimbalancetriplevel': Channel('cfgvvoltageimbalancetriplevel', 'cfg_V_VoltageImbalanceTripLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvvoltageimbalancewarninglev': Channel('cfgvvoltageimbalancewarninglev', 'cfg_V_VoltageImbalanceWarningLevel', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgvvoltagemode': Channel('cfgvvoltagemode', 'cfg_V_VoltageMode', 86400, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=True),
'cfgwrite': Channel('cfgwrite', 'cfg_WRITE', 86400, self.sendtodbJSON, writeable=True, e300_param=False),
'contactorstatus': Channel('contactorstatus', 'Contactor_Status', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'dhdownholestatusint': Channel('dhdownholestatusint', 'DH_DownholeStatus_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'dhfluidlevel': Channel('dhfluidlevel', 'DH_Fluid_Level', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'dhintakepressure': Channel('dhintakepressure', 'DH_IntakePressure', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'dhintaketemperature': Channel('dhintaketemperature', 'DH_IntakeTemperature', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'dhmaxintakepressureforever': Channel('dhmaxintakepressureforever', 'DH_MaxIntakePressure_Forever', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'dhmaxintakepressurestartup': Channel('dhmaxintakepressurestartup', 'DH_MaxIntakePressure_Startup', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'dhmaxintaketemperatureforever': Channel('dhmaxintaketemperatureforever', 'DH_MaxIntakeTemperature_Forever', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'dhmaxintaketemperaturestartup': Channel('dhmaxintaketemperaturestartup', 'DH_MaxIntakeTemperature_Startup', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'dhnumchannels': Channel('dhnumchannels', 'DH_NumChannels', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'dhpsirating': Channel('dhpsirating', 'DH_PSIRating', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'dhtooltype': Channel('dhtooltype', 'DH_ToolType', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'dhtoolvoltage': Channel('dhtoolvoltage', 'DH_ToolVoltage', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'downholetoolenabled': Channel('downholetoolenabled', 'Downhole_Tool_Enabled', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'downtimetimeparameter': Channel('downtimetimeparameter', 'Downtime_Time_Parameter', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'downtimetimeparameterol': Channel('downtimetimeparameterol', 'Downtime_Time_Parameter_OL', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'e300averagecurrent': Channel('e300averagecurrent', 'E300_AverageCurrent', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300averagellvoltage': Channel('e300averagellvoltage', 'E300_AverageLLVoltage', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300averagelnvoltage': Channel('e300averagelnvoltage', 'E300_AverageLNVoltage', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300kwh': Channel('e300kwh', 'E300_kWh', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300kwhregen': Channel('e300kwhregen', 'E300_kWh_Regen', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l1apparentpower': Channel('e300l1apparentpower', 'E300_L1ApparentPower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l1current': Channel('e300l1current', 'E300_L1Current', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l1l2voltage': Channel('e300l1l2voltage', 'E300_L1L2Voltage', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l1nvoltage': Channel('e300l1nvoltage', 'E300_L1NVoltage', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l1reactivepower': Channel('e300l1reactivepower', 'E300_L1ReactivePower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l1realpower': Channel('e300l1realpower', 'E300_L1RealPower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l1truepowerfactor': Channel('e300l1truepowerfactor', 'E300_L1TruePowerFactor', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l2apparentpower': Channel('e300l2apparentpower', 'E300_L2ApparentPower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l2current': Channel('e300l2current', 'E300_L2Current', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l2l3voltage': Channel('e300l2l3voltage', 'E300_L2L3Voltage', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l2nvoltage': Channel('e300l2nvoltage', 'E300_L2NVoltage', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l2reactivepower': Channel('e300l2reactivepower', 'E300_L2ReactivePower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l2realpower': Channel('e300l2realpower', 'E300_L2RealPower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l2truepowerfactor': Channel('e300l2truepowerfactor', 'E300_L2TruePowerFactor', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l3apparentpower': Channel('e300l3apparentpower', 'E300_L3ApparentPower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l3current': Channel('e300l3current', 'E300_L3Current', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l3l1voltage': Channel('e300l3l1voltage', 'E300_L3L1Voltage', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l3nvoltage': Channel('e300l3nvoltage', 'E300_L3NVoltage', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l3reactivepower': Channel('e300l3reactivepower', 'E300_L3ReactivePower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l3realpower': Channel('e300l3realpower', 'E300_L3RealPower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300l3truepowerfactor': Channel('e300l3truepowerfactor', 'E300_L3TruePowerFactor', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300linefrequency': Channel('e300linefrequency', 'E300_LineFrequency', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300percentcurrentunbalance': Channel('e300percentcurrentunbalance', 'E300_PercentCurrentUnbalance', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300percentvoltageunbalance': Channel('e300percentvoltageunbalance', 'E300_PercentVoltageUnbalance', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300threephasetruepowerfactor': Channel('e300threephasetruepowerfactor', 'E300_ThreePhaseTruePowerFactor', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300totalapparentpower': Channel('e300totalapparentpower', 'E300_TotalApparentPower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300totalreactivepower': Channel('e300totalreactivepower', 'E300_TotalReactivePower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'e300totalrealpower': Channel('e300totalrealpower', 'E300_TotalRealPower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'handmode': Channel('handmode', 'Hand_Mode', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'overloadtrip': Channel('overloadtrip', 'OverloadTrip', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'pressurealarmdelay': Channel('pressurealarmdelay', 'Pressure_Alarm_Delay', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'pressurealarmstartupdelay': Channel('pressurealarmstartupdelay', 'Pressure_Alarm_Startup_Delay', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'pressureeumax': Channel('pressureeumax', 'Pressure_EU_Max', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'pressureeumin': Channel('pressureeumin', 'Pressure_EU_Min', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'pressurehi': Channel('pressurehi', 'Pressure_Hi', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'pressurehisp': Channel('pressurehisp', 'Pressure_Hi_SP', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'pressurein': Channel('pressurein', 'Pressure_In', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'pressurelo': Channel('pressurelo', 'Pressure_Lo', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'pressurelosp': Channel('pressurelosp', 'Pressure_Lo_SP', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'pressureok': Channel('pressureok', 'Pressure_OK', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'pressureshutdown': Channel('pressureshutdown', 'Pressure_Shutdown', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'pressureshutdownenabled': Channel('pressureshutdownenabled', 'Pressure_Shutdown_Enabled', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'pressurestartup': Channel('pressurestartup', 'Pressure_Startup', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'pressurestartupenabled': Channel('pressurestartupenabled', 'Pressure_Startup_Enabled', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'pressureswitchenabled': Channel('pressureswitchenabled', 'Pressure_Switch_Enabled', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'pressuretransducerenabled': Channel('pressuretransducerenabled', 'Pressure_Transducer_Enabled', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'rpmode': Channel('rpmode', 'RP_Mode', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'rppressure': Channel('rppressure', 'RP_Pressure', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'rptemperature': Channel('rptemperature', 'RP_Temperature', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'rptrip': Channel('rptrip', 'RP_Trip', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'rptubingpressure': Channel('rptubingpressure', 'RP_TubingPressure', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'runpermissive': Channel('runpermissive', 'Run_Permissive', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'spmode': Channel('spmode', 'SP_Mode', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'sppressure': Channel('sppressure', 'SP_Pressure', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'sptemperature': Channel('sptemperature', 'SP_Temperature', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'sptrip': Channel('sptrip', 'SP_Trip', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'spvoltage': Channel('spvoltage', 'SP_Voltage', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'startbutton': Channel('startbutton', 'Start_Button', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'startcommand': Channel('startcommand', 'Start_Command', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'startpermissive': Channel('startpermissive', 'Start_Permissive', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'stopcommand': Channel('stopcommand', 'Stop_Command', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tempshutdown': Channel('tempshutdown', 'Temp_Shutdown', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'tempshutdownenabled': Channel('tempshutdownenabled', 'Temp_Shutdown_Enabled', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tempstartup': Channel('tempstartup', 'Temp_Startup', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'tempstartupenabled': Channel('tempstartupenabled', 'Temp_Startup_Enabled', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'testmode': Channel('testmode', 'Test_Mode', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'tripenabledicurrentimbalance': Channel('tripenabledicurrentimbalance', 'TripEnabled_I_CurrentImbalance', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenabledigroundfault': Channel('tripenabledigroundfault', 'TripEnabled_I_GroundFault', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenabledijam': Channel('tripenabledijam', 'TripEnabled_I_Jam', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenabledilineloss': Channel('tripenabledilineloss', 'TripEnabled_I_LineLoss', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenablediovercurrent': Channel('tripenablediovercurrent', 'TripEnabled_I_Overcurrent', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenabledioverload': Channel('tripenabledioverload', 'TripEnabled_I_Overload', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenablediphaseloss': Channel('tripenablediphaseloss', 'TripEnabled_I_PhaseLoss', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenabledistall': Channel('tripenabledistall', 'TripEnabled_I_Stall', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenablediundercurrent': Channel('tripenablediundercurrent', 'TripEnabled_I_Undercurrent', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenablediunderload': Channel('tripenablediunderload', 'TripEnabled_I_Underload', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenablevoverfrequency': Channel('tripenablevoverfrequency', 'TripEnable_V_Overfrequency', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenablevovervoltage': Channel('tripenablevovervoltage', 'TripEnable_V_Overvoltage', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenablevphaserotation': Channel('tripenablevphaserotation', 'TripEnable_V_PhaseRotation', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenablevunderfrequency': Channel('tripenablevunderfrequency', 'TripEnable_V_Underfrequency', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenablevundervoltage': Channel('tripenablevundervoltage', 'TripEnable_V_Undervoltage', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripenablevvoltageunbalance': Channel('tripenablevvoltageunbalance', 'TripEnable_V_VoltageUnbalance', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripresetcmd': Channel('tripresetcmd', 'TripResetCmd', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'tripstatus': Channel('tripstatus', 'TripStatus', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'tripstatuscontrolint': Channel('tripstatuscontrolint', 'TripStatusControl_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'tripstatuscurrentint': Channel('tripstatuscurrentint', 'TripStatusCurrent_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'tripstatuspowerint': Channel('tripstatuspowerint', 'TripStatusPower_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'tripstatusvoltageint': Channel('tripstatusvoltageint', 'TripStatusVoltage_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'valoverloadtripcount': Channel('valoverloadtripcount', 'val_OverloadTripCount', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'valtripcount': Channel('valtripcount', 'val_TripCount', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
'voltageok': Channel('voltageok', 'VoltageOK', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
'warningenabledicurrentimbalanc': Channel('warningenabledicurrentimbalanc', 'WarningEnabled_I_CurrentImbalance', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenabledigroundfault': Channel('warningenabledigroundfault', 'WarningEnabled_I_GroundFault', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenabledijam': Channel('warningenabledijam', 'WarningEnabled_I_Jam', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenabledilineloss': Channel('warningenabledilineloss', 'WarningEnabled_I_LineLoss', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenablediovercurrent': Channel('warningenablediovercurrent', 'WarningEnabled_I_Overcurrent', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenabledioverload': Channel('warningenabledioverload', 'WarningEnabled_I_Overload', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenablediphaseloss': Channel('warningenablediphaseloss', 'WarningEnabled_I_PhaseLoss', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenabledistall': Channel('warningenabledistall', 'WarningEnabled_I_Stall', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenablediundercurrent': Channel('warningenablediundercurrent', 'WarningEnabled_I_Undercurrent', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenablediunderload': Channel('warningenablediunderload', 'WarningEnabled_I_Underload', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenablevoverfrequency': Channel('warningenablevoverfrequency', 'WarningEnable_V_Overfrequency', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenablevovervoltage': Channel('warningenablevovervoltage', 'WarningEnable_V_Overvoltage', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenablevphaserotation': Channel('warningenablevphaserotation', 'WarningEnable_V_PhaseRotation', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenablevunderfrequency': Channel('warningenablevunderfrequency', 'WarningEnable_V_Underfrequency', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenablevundervoltage': Channel('warningenablevundervoltage', 'WarningEnable_V_Undervoltage', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningenablevvoltageunbalance': Channel('warningenablevvoltageunbalance', 'WarningEnable_V_VoltageUnbalance', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningstatus': Channel('warningstatus', 'WarningStatus', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
'warningstatuscontrolint': Channel('warningstatuscontrolint', 'WarningStatusControl_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'warningstatuscurrentint': Channel('warningstatuscurrentint', 'WarningStatusCurrent_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'warningstatuspowerint': Channel('warningstatuspowerint', 'WarningStatusPower_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
'warningstatusvoltageint': Channel('warningstatusvoltageint', 'WarningStatusVoltage_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
}
def __init__(self, name=None, number=None, mac=None, Q=None, mcu=None, companyId=None, offset=None, mqtt=None, Nodes=None):
global addr
threading.Thread.__init__(self)
deviceBase.__init__(self, name=name, number=number, mac=mac, Q=Q, mcu=mcu, companyId=companyId, offset=offset, mqtt=mqtt, Nodes=Nodes)
@@ -62,39 +326,16 @@ class start(threading.Thread, deviceBase):
self.channels["status"]["last_value"] = ""
def run(self):
global channels
print("****************\n*************\nEXECUTING RUN\n********************\n****************")
self.runLoopStatus = ""
last_OK_state = 0
while True:
if len(self.channels) > 0:
if len(channels) > 0:
try:
for i in self.channels:
for i in channels:
channels[i].read()
runLoopStatus = i
# print("reading {0}".format(i))
valData = u800.readMicroTag(self.device_address, self.channels[i]['tag'])
# print(valData)
if valData:
nowVal = round(valData[0], 4)
ch = self.channels[i]
if ch['data_type'] == "BOOL":
if ch['last_value'] == "":
self.sendtodbJSON(i, nowVal, 0)
ch['last_time_uploaded'] = time.time()
ch['last_value'] = nowVal
elif (not (ch['last_value'] == nowVal)) or ((time.time() - ch['last_time_uploaded']) > ch['max_time_between_uploads']):
self.sendtodbJSON(i, nowVal, 0)
ch['last_time_uploaded'] = time.time()
ch['last_value'] = nowVal
if (ch['data_type'] == "REAL") or (ch['data_type'][-3:] == "INT"):
if ch['last_value'] == "":
self.sendtodbJSON(i, nowVal, 0)
ch['last_time_uploaded'] = time.time()
ch['last_value'] = nowVal
elif (abs(ch['last_value'] - nowVal) > ch['change_amount']) or ((time.time() - ch['last_time_uploaded']) > ch['max_time_between_uploads']):
self.sendtodbJSON(i, nowVal, 0)
ch['last_time_uploaded'] = time.time()
ch['last_value'] = nowVal
runLoopStatus = "Complete"
OK_state = 1
if not OK_state == last_OK_state:
@@ -110,517 +351,18 @@ class start(threading.Thread, deviceBase):
print "Error during {0} of run loop: {1}\nWill try again in {2} seconds...".format(runLoopStatus, e, sleep_timer)
time.sleep(sleep_timer)
else:
print("Apparently no self.channels... length shows {0}".format(len(self.channels)))
print self.channels
print("Apparently no channels... length shows {0}".format(len(channels)))
self.setupChannels()
time.sleep(30)
def write_vfdconfig(self):
print("Writing config to drive")
return u800.writeMicroTag(addr, 'VFD_Write', 1)
def vfdipp_sync(self, name, value):
def ipp_sync(self, name, value):
self.sendtodb("connected", "true", 0)
return True
def vfdipp_address(self, name, value):
self.device_address = value
return True
def vfdipp_gpsUpdate(self, name, value):
self.updateGPS()
return True
# ======== AUTOMATICALLY GENERATED TAG WRITE FUNCTIONS BELOW HERE ===========
def ipp_cfgcflasetting(self, name, value):
print('trying to set cfg_C_FLASetting to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_C_FLASetting', float(value))
def ipp_cfgcleartripcountafter(self, name, value):
print('trying to set cfg_ClearTripCountAfter to {}'.format(value))
return u800.writeMicroTag(addr, 'cfg_ClearTripCountAfter', int(value))
def ipp_cfgctripenablecontrol(self, name, value):
print('trying to set cfg_C_TripEnableControl to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_C_TripEnableControl', int(value))
def ipp_cfgcwarningenablecontrol(self, name, value):
print('trying to set cfg_C_WarningEnableControl to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_C_WarningEnableControl', int(value))
def ipp_cfggfgroundfaultinhibittime(self, name, value):
print('trying to set cfg_GF_GroundFaultInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_GF_GroundFaultInhibitTime', int(value))
def ipp_cfggfgroundfaulttripdelay(self, name, value):
print('trying to set cfg_GF_GroundFaultTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_GF_GroundFaultTripDelay', float(value))
def ipp_cfggfgroundfaulttriplevel(self, name, value):
print('trying to set cfg_GF_GroundFaultTripLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_GF_GroundFaultTripLevel', float(value))
def ipp_cfggfgroundfaultwarningdelay(self, name, value):
print('trying to set cfg_GF_GroundFaultWarningDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_GF_GroundFaultWarningDelay', float(value))
def ipp_cfggfgroundfaultwarninglevel(self, name, value):
print('trying to set cfg_GF_GroundFaultWarningLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_GF_GroundFaultWarningLevel', float(value))
def ipp_cfgictprimary(self, name, value):
print('trying to set cfg_I_CTPrimary to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_CTPrimary', int(value))
def ipp_cfgictsecondary(self, name, value):
print('trying to set cfg_I_CTSecondary to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_CTSecondary', int(value))
def ipp_cfgicurrentimbalanceinhibittim(self, name, value):
print('trying to set cfg_I_CurrentImbalanceInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_CurrentImbalanceInhibitTime', int(value))
def ipp_cfgicurrentimbalancetripdelay(self, name, value):
print('trying to set cfg_I_CurrentImbalanceTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_CurrentImbalanceTripDelay', int(value))
def ipp_cfgicurrentimbalancetriplevel(self, name, value):
print('trying to set cfg_I_CurrentImbalanceTripLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_CurrentImbalanceTripLevel', int(value))
def ipp_cfgicurrentimbalancewarninglev(self, name, value):
print('trying to set cfg_I_CurrentImbalanceWarningLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_CurrentImbalanceWarningLevel', int(value))
def ipp_cfgijaminhibittime(self, name, value):
print('trying to set cfg_I_JamInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_JamInhibitTime', int(value))
def ipp_cfgijamtripdelay(self, name, value):
print('trying to set cfg_I_JamTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_JamTripDelay', int(value))
def ipp_cfgijamwarninglevel(self, name, value):
print('trying to set cfg_I_JamWarningLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_JamWarningLevel', int(value))
def ipp_cfgilinelossinhibittime(self, name, value):
print('trying to set cfg_I_LineLossInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_LineLossInhibitTime', int(value))
def ipp_cfgilinelosstripdelay(self, name, value):
print('trying to set cfg_I_LineLossTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_LineLossTripDelay', float(value))
def ipp_cfgiovercurrentinhibittime(self, name, value):
print('trying to set cfg_I_OvercurrentInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_OvercurrentInhibitTime', int(value))
def ipp_cfgiovercurrenttripdelay(self, name, value):
print('trying to set cfg_I_OvercurrentTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_OvercurrentTripDelay', float(value))
def ipp_cfgiovercurrenttriplevel(self, name, value):
print('trying to set cfg_I_OvercurrentTripLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_OvercurrentTripLevel', int(value))
def ipp_cfgiovercurrentwarninglevel(self, name, value):
print('trying to set cfg_I_OvercurrentWarningLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_OvercurrentWarningLevel', int(value))
def ipp_cfgistallenabledtime(self, name, value):
print('trying to set cfg_I_StallEnabledTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_StallEnabledTime', int(value))
def ipp_cfgistalltriplevel(self, name, value):
print('trying to set cfg_I_StallTripLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_StallTripLevel', int(value))
def ipp_cfgiundercurrentinhibittime(self, name, value):
print('trying to set cfg_I_UndercurrentInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_UndercurrentInhibitTime', int(value))
def ipp_cfgiundercurrenttripdelay(self, name, value):
print('trying to set cfg_I_UndercurrentTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_UndercurrentTripDelay', float(value))
def ipp_cfgiundercurrenttriplevel(self, name, value):
print('trying to set cfg_I_UndercurrentTripLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_UndercurrentTripLevel', int(value))
def ipp_cfgiundercurrentwarninglevel(self, name, value):
print('trying to set cfg_I_UndercurrentWarningLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_UndercurrentWarningLevel', int(value))
def ipp_cfgiunderloadinhibittime(self, name, value):
print('trying to set cfg_I_UnderloadInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_UnderloadInhibitTime', int(value))
def ipp_cfgiunderloadtripdelay(self, name, value):
print('trying to set cfg_I_UnderloadTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_UnderloadTripDelay', float(value))
def ipp_cfgiunderloadtriplevel(self, name, value):
print('trying to set cfg_I_UnderloadTripLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_UnderloadTripLevel', int(value))
def ipp_cfgiunderloadwarninglevel(self, name, value):
print('trying to set cfg_I_UnderloadWarningLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_I_UnderloadWarningLevel', int(value))
def ipp_cfgoverloadtripcountlimit(self, name, value):
print('trying to set cfg_OverloadTripCountLimit to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_OverloadTripCountLimit', int(value))
def ipp_cfgplphaselossinhibittime(self, name, value):
print('trying to set cfg_PL_PhaseLossInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_PL_PhaseLossInhibitTime', int(value))
def ipp_cfgplphaselosstripdelay(self, name, value):
print('trying to set cfg_PL_PhaseLossTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_PL_PhaseLossTripDelay', float(value))
def ipp_cfgread(self, name, value):
print('trying to set cfg_READ to {}'.format(value))
return u800.writeMicroTag(addr, 'cfg_READ', int(value))
def ipp_cfgspecificgravity(self, name, value):
print('trying to set cfg_SpecificGravity to {}'.format(value))
return u800.writeMicroTag(addr, 'cfg_SpecificGravity', float(value))
def ipp_cfgtcutripclass(self, name, value):
print('trying to set cfg_TCU_TripClass to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_TCU_TripClass', int(value))
def ipp_cfgtimermodeenabled(self, name, value):
print('trying to set cfg_TimerModeEnabled to {}'.format(value))
return u800.writeMicroTag(addr, 'cfg_TimerModeEnabled', int(value))
def ipp_cfgtimerruntime(self, name, value):
print('trying to set cfg_TimerRunTime to {}'.format(value))
return u800.writeMicroTag(addr, 'cfg_TimerRunTime', int(value))
def ipp_cfgtimerwaittime(self, name, value):
print('trying to set cfg_TimerWaitTime to {}'.format(value))
return u800.writeMicroTag(addr, 'cfg_TimerWaitTime', int(value))
def ipp_cfgtripcountlimit(self, name, value):
print('trying to set cfg_TripCountLimit to {}'.format(value))
return u800.writeMicroTag(addr, 'cfg_TripCountLimit', int(value))
def ipp_cfgvoverfrequencyinhibittime(self, name, value):
print('trying to set cfg_V_OverfrequencyInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_OverfrequencyInhibitTime', int(value))
def ipp_cfgvoverfrequencytripdelay(self, name, value):
print('trying to set cfg_V_OverfrequencyTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_OverfrequencyTripDelay', float(value))
def ipp_cfgvoverfrequencytriplevel(self, name, value):
print('trying to set cfg_V_OverfrequencyTripLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_OverfrequencyTripLevel', int(value))
def ipp_cfgvoverfrequencywarninglevel(self, name, value):
print('trying to set cfg_V_OverfrequencyWarningLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_OverfrequencyWarningLevel', int(value))
def ipp_cfgvovervoltageinhibittime(self, name, value):
print('trying to set cfg_V_OvervoltageInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_OvervoltageInhibitTime', int(value))
def ipp_cfgvovervoltagetripdelay(self, name, value):
print('trying to set cfg_V_OvervoltageTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_OvervoltageTripDelay', float(value))
def ipp_cfgvovervoltagetriplevel(self, name, value):
print('trying to set cfg_V_OvervoltageTripLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_OvervoltageTripLevel', float(value))
def ipp_cfgvovervoltagewarninglevel(self, name, value):
print('trying to set cfg_V_OvervoltageWarningLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_OvervoltageWarningLevel', float(value))
def ipp_cfgvphaserotationinhibittime(self, name, value):
print('trying to set cfg_V_PhaseRotationInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_PhaseRotationInhibitTime', int(value))
def ipp_cfgvphaserotationtriptype(self, name, value):
print('trying to set cfg_V_PhaseRotationTripType to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_PhaseRotationTripType', int(value))
def ipp_cfgvptprimary(self, name, value):
print('trying to set cfg_V_PTPrimary to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_PTPrimary', int(value))
def ipp_cfgvptsecondary(self, name, value):
print('trying to set cfg_V_PTSecondary to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_PTSecondary', int(value))
def ipp_cfgvunderfrequencyinhibittime(self, name, value):
print('trying to set cfg_V_UnderfrequencyInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_UnderfrequencyInhibitTime', int(value))
def ipp_cfgvunderfrequencytripdelay(self, name, value):
print('trying to set cfg_V_UnderfrequencyTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_UnderfrequencyTripDelay', float(value))
def ipp_cfgvunderfrequencytriplevel(self, name, value):
print('trying to set cfg_V_UnderfrequencyTripLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_UnderfrequencyTripLevel', int(value))
def ipp_cfgvunderfrequencywarninglevel(self, name, value):
print('trying to set cfg_V_UnderfrequencyWarningLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_UnderfrequencyWarningLevel', int(value))
def ipp_cfgvundervoltageinhibittime(self, name, value):
print('trying to set cfg_V_UndervoltageInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_UndervoltageInhibitTime', int(value))
def ipp_cfgvundervoltagetripdelay(self, name, value):
print('trying to set cfg_V_UndervoltageTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_UndervoltageTripDelay', float(value))
def ipp_cfgvundervoltagetriplevel(self, name, value):
print('trying to set cfg_V_UndervoltageTripLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_UndervoltageTripLevel', float(value))
def ipp_cfgvundervoltagewarninglevel(self, name, value):
print('trying to set cfg_V_UndervoltageWarningLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_UndervoltageWarningLevel', float(value))
def ipp_cfgvvoltageimbalanceinhibittim(self, name, value):
print('trying to set cfg_V_VoltageImbalanceInhibitTime to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_VoltageImbalanceInhibitTime', int(value))
def ipp_cfgvvoltageimbalancetripdelay(self, name, value):
print('trying to set cfg_V_VoltageImbalanceTripDelay to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_VoltageImbalanceTripDelay', float(value))
def ipp_cfgvvoltageimbalancetriplevel(self, name, value):
print('trying to set cfg_V_VoltageImbalanceTripLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_VoltageImbalanceTripLevel', int(value))
def ipp_cfgvvoltageimbalancewarninglev(self, name, value):
print('trying to set cfg_V_VoltageImbalanceWarningLevel to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_VoltageImbalanceWarningLevel', int(value))
def ipp_cfgvvoltagemode(self, name, value):
print('trying to set cfg_V_VoltageMode to {}'.format(value))
return self.writeTag_WriteE300(addr, 'cfg_V_VoltageMode', int(value))
def ipp_cfgwrite(self, name, value):
print('trying to set cfg_WRITE to {}'.format(value))
return u800.writeMicroTag(addr, 'cfg_WRITE', int(value))
def ipp_downtimetimeparameter(self, name, value):
print('trying to set Downtime_Time_Parameter to {}'.format(value))
return u800.writeMicroTag(addr, 'Downtime_Time_Parameter', int(value))
def ipp_downtimetimeparameterol(self, name, value):
print('trying to set Downtime_Time_Parameter_OL to {}'.format(value))
return u800.writeMicroTag(addr, 'Downtime_Time_Parameter_OL', int(value))
def ipp_pressurealarmdelay(self, name, value):
print('trying to set Pressure_Alarm_Delay to {}'.format(value))
return u800.writeMicroTag(addr, 'Pressure_Alarm_Delay', int(value))
def ipp_pressurealarmstartupdelay(self, name, value):
print('trying to set Pressure_Alarm_Startup_Delay to {}'.format(value))
return u800.writeMicroTag(addr, 'Pressure_Alarm_Startup_Delay', int(value))
def ipp_pressureeumax(self, name, value):
print('trying to set Pressure_EU_Max to {}'.format(value))
return u800.writeMicroTag(addr, 'Pressure_EU_Max', float(value))
def ipp_pressureeumin(self, name, value):
print('trying to set Pressure_EU_Min to {}'.format(value))
return u800.writeMicroTag(addr, 'Pressure_EU_Min', float(value))
def ipp_pressurehisp(self, name, value):
print('trying to set Pressure_Hi_SP to {}'.format(value))
return u800.writeMicroTag(addr, 'Pressure_Hi_SP', float(value))
def ipp_pressurelosp(self, name, value):
print('trying to set Pressure_Lo_SP to {}'.format(value))
return u800.writeMicroTag(addr, 'Pressure_Lo_SP', float(value))
def ipp_pressureshutdown(self, name, value):
print('trying to set Pressure_Shutdown to {}'.format(value))
return u800.writeMicroTag(addr, 'Pressure_Shutdown', float(value))
def ipp_pressureshutdownenabled(self, name, value):
print('trying to set Pressure_Shutdown_Enabled to {}'.format(value))
return u800.writeMicroTag(addr, 'Pressure_Shutdown_Enabled', int(value))
def ipp_pressurestartup(self, name, value):
print('trying to set Pressure_Startup to {}'.format(value))
return u800.writeMicroTag(addr, 'Pressure_Startup', float(value))
def ipp_pressurestartupenabled(self, name, value):
print('trying to set Pressure_Startup_Enabled to {}'.format(value))
return u800.writeMicroTag(addr, 'Pressure_Startup_Enabled', int(value))
def ipp_pressureswitchenabled(self, name, value):
print('trying to set Pressure_Switch_Enabled to {}'.format(value))
return u800.writeMicroTag(addr, 'Pressure_Switch_Enabled', int(value))
def ipp_pressuretransducerenabled(self, name, value):
print('trying to set Pressure_Transducer_Enabled to {}'.format(value))
return u800.writeMicroTag(addr, 'Pressure_Transducer_Enabled', int(value))
def ipp_startcommand(self, name, value):
print('trying to set Start_Command to {}'.format(value))
return u800.writeMicroTag(addr, 'Start_Command', int(value))
def ipp_stopcommand(self, name, value):
print('trying to set Stop_Command to {}'.format(value))
return u800.writeMicroTag(addr, 'Stop_Command', int(value))
def ipp_tempshutdown(self, name, value):
print('trying to set Temp_Shutdown to {}'.format(value))
return u800.writeMicroTag(addr, 'Temp_Shutdown', float(value))
def ipp_tempshutdownenabled(self, name, value):
print('trying to set Temp_Shutdown_Enabled to {}'.format(value))
return u800.writeMicroTag(addr, 'Temp_Shutdown_Enabled', int(value))
def ipp_tempstartup(self, name, value):
print('trying to set Temp_Startup to {}'.format(value))
return u800.writeMicroTag(addr, 'Temp_Startup', float(value))
def ipp_tempstartupenabled(self, name, value):
print('trying to set Temp_Startup_Enabled to {}'.format(value))
return u800.writeMicroTag(addr, 'Temp_Startup_Enabled', int(value))
def ipp_tripenabledicurrentimbalance(self, name, value):
print('trying to set TripEnabled_I_CurrentImbalance to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnabled_I_CurrentImbalance', int(value))
def ipp_tripenabledigroundfault(self, name, value):
print('trying to set TripEnabled_I_GroundFault to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnabled_I_GroundFault', int(value))
def ipp_tripenabledijam(self, name, value):
print('trying to set TripEnabled_I_Jam to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnabled_I_Jam', int(value))
def ipp_tripenabledilineloss(self, name, value):
print('trying to set TripEnabled_I_LineLoss to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnabled_I_LineLoss', int(value))
def ipp_tripenablediovercurrent(self, name, value):
print('trying to set TripEnabled_I_Overcurrent to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnabled_I_Overcurrent', int(value))
def ipp_tripenabledioverload(self, name, value):
print('trying to set TripEnabled_I_Overload to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnabled_I_Overload', int(value))
def ipp_tripenablediphaseloss(self, name, value):
print('trying to set TripEnabled_I_PhaseLoss to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnabled_I_PhaseLoss', int(value))
def ipp_tripenabledistall(self, name, value):
print('trying to set TripEnabled_I_Stall to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnabled_I_Stall', int(value))
def ipp_tripenablediundercurrent(self, name, value):
print('trying to set TripEnabled_I_Undercurrent to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnabled_I_Undercurrent', int(value))
def ipp_tripenablediunderload(self, name, value):
print('trying to set TripEnabled_I_Underload to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnabled_I_Underload', int(value))
def ipp_tripenablevoverfrequency(self, name, value):
print('trying to set TripEnable_V_Overfrequency to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnable_V_Overfrequency', int(value))
def ipp_tripenablevovervoltage(self, name, value):
print('trying to set TripEnable_V_Overvoltage to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnable_V_Overvoltage', int(value))
def ipp_tripenablevphaserotation(self, name, value):
print('trying to set TripEnable_V_PhaseRotation to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnable_V_PhaseRotation', int(value))
def ipp_tripenablevunderfrequency(self, name, value):
print('trying to set TripEnable_V_Underfrequency to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnable_V_Underfrequency', int(value))
def ipp_tripenablevundervoltage(self, name, value):
print('trying to set TripEnable_V_Undervoltage to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnable_V_Undervoltage', int(value))
def ipp_tripenablevvoltageunbalance(self, name, value):
print('trying to set TripEnable_V_VoltageUnbalance to {}'.format(value))
return self.writeTag_WriteE300(addr, 'TripEnable_V_VoltageUnbalance', int(value))
def ipp_tripresetcmd(self, name, value):
print('trying to set TripResetCmd to {}'.format(value))
return u800.writeMicroTag(addr, 'TripResetCmd', int(value))
def ipp_warningenabledicurrentimbalanc(self, name, value):
print('trying to set WarningEnabled_I_CurrentImbalance to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnabled_I_CurrentImbalance', int(value))
def ipp_warningenabledigroundfault(self, name, value):
print('trying to set WarningEnabled_I_GroundFault to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnabled_I_GroundFault', int(value))
def ipp_warningenabledijam(self, name, value):
print('trying to set WarningEnabled_I_Jam to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnabled_I_Jam', int(value))
def ipp_warningenabledilineloss(self, name, value):
print('trying to set WarningEnabled_I_LineLoss to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnabled_I_LineLoss', int(value))
def ipp_warningenablediovercurrent(self, name, value):
print('trying to set WarningEnabled_I_Overcurrent to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnabled_I_Overcurrent', int(value))
def ipp_warningenabledioverload(self, name, value):
print('trying to set WarningEnabled_I_Overload to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnabled_I_Overload', int(value))
def ipp_warningenablediphaseloss(self, name, value):
print('trying to set WarningEnabled_I_PhaseLoss to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnabled_I_PhaseLoss', int(value))
def ipp_warningenabledistall(self, name, value):
print('trying to set WarningEnabled_I_Stall to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnabled_I_Stall', int(value))
def ipp_warningenablediundercurrent(self, name, value):
print('trying to set WarningEnabled_I_Undercurrent to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnabled_I_Undercurrent', int(value))
def ipp_warningenablediunderload(self, name, value):
print('trying to set WarningEnabled_I_Underload to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnabled_I_Underload', int(value))
def ipp_warningenablevoverfrequency(self, name, value):
print('trying to set WarningEnable_V_Overfrequency to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnable_V_Overfrequency', int(value))
def ipp_warningenablevovervoltage(self, name, value):
print('trying to set WarningEnable_V_Overvoltage to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnable_V_Overvoltage', int(value))
def ipp_warningenablevphaserotation(self, name, value):
print('trying to set WarningEnable_V_PhaseRotation to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnable_V_PhaseRotation', int(value))
def ipp_warningenablevunderfrequency(self, name, value):
print('trying to set WarningEnable_V_Underfrequency to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnable_V_Underfrequency', int(value))
def ipp_warningenablevundervoltage(self, name, value):
print('trying to set WarningEnable_V_Undervoltage to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnable_V_Undervoltage', int(value))
def ipp_warningenablevvoltageunbalance(self, name, value):
print('trying to set WarningEnable_V_VoltageUnbalance to {}'.format(value))
return self.writeTag_WriteE300(addr, 'WarningEnable_V_VoltageUnbalance', int(value))
def genericSet(self, name, value, id):
global channels
try:
print("Trying to set {} to {}".format(channels[name].tag, value))
return channels[name].write(value)
except Exception, e:
print("Exception during genericSet: {}".format(e))

View File

@@ -1,11 +1,11 @@
from pycomm_micro.ab_comm.clx import Driver as u800Driver
from pycomm.ab_comm.clx import Driver as u800Driver
import sys
def readMicroTag(addr, tag):
c = u800Driver()
if c.open(addr):
if c.open(addr, True):
try:
v = c.read_tag(tag)
# print(v)
@@ -21,7 +21,7 @@ def readMicroTag(addr, tag):
def getTagType(addr, tag):
c = u800Driver()
if c.open(addr):
if c.open(addr, True):
try:
return c.read_tag(tag)[1]
except Exception:
@@ -34,7 +34,7 @@ def getTagType(addr, tag):
def writeMicroTag(addr, tag, val):
c = u800Driver()
if c.open(addr):
if c.open(addr, True):
try:
# typ = getTagType(addr, tag)
cv = c.read_tag(tag)
@@ -51,7 +51,7 @@ def writeMicroTag(addr, tag, val):
def readMicroTagList(addr, tList):
c = u800Driver()
if c.open(addr):
if c.open(addr, True):
vals = []
try:
for t in tList: