Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/04/2016, 16:31
eb4cak
 
Fecha de Ingreso: abril-2016
Ubicación: Madrid
Mensajes: 3
Antigüedad: 8 años
Puntos: 0
Respuesta: Tupla inaccesible dentro de otra tupla

Vale. Perdonadme. Horas buscando y justo después de preguntar voy a dar con la respuesta.

El problema era que no había probado bien. Los datos vienen empaquetados y hay que desempaquetarlos.

dato1, dato2, dato3 = TuplaDeDatos[1]

Y ya dato1 y demás son enteros que se pueden modificar.

Gracias y espero que mi tiempo perdido le sirva de algo a alguien.



////////////////////////////////////////////////////////////////////////////
import serial

import modbus_tk
import modbus_tk.defines as cst
import urllib, urllib2
from modbus_tk import modbus_rtu


#PORT = 1
PORT = '/dev/ttyUSB0'

def main():
"""main"""
#logger = modbus_tk.utils.create_logger("console")




while True:
# try:
#Connect to the slave
master = modbus_rtu.RtuMaster(
serial.Serial('/dev/ttyUSB0', baudrate=19200, bytesize=8, parity='N', stopbits=2, xonxoff=0)
)
master.set_timeout(0.07)
master.set_verbose(False)


kk = 0
while True:
TuplaDeDatos = (kk, master.execute(kk, cst.READ_HOLDING_REGISTERS, 0, 3))
if kk > 9: kk=0
kk = kk + 1


print TuplaDeDatos


if kk > 5:
nose1, nose2, nose3 = TuplaDeDatos[1]
print nose1 + 10
print nose2 + 25
print nose3 + 100
print type(nose1)






if __name__ == "__main__":
main()