dcom.py:
Код: Выделить всё
import socket
class supply:
def __init__(self, IP, PORT, BUFFER_SIZE, TIMEOUT_SECONDS):
self.IP = IP
self.PORT = PORT
self.BUFFER_SIZE = BUFFER_SIZE
self.TIMEOUT_SECONDS = TIMEOUT_SECONDS
self.connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
def opensocket(self):
supply.connection.connect((supply.IP, supply.PORT))
supply.connection.settimeout(supply.TIMEOUT_SECONDS)
def sendAndReceiveCommand(self, msg):
msg = msg + '\n'
supply.connection.sendall(msg.encode('UTF-8'))
return supply.connection.recv(supply.BUFFER_SIZE).decode('UTF-8').rstrip()
def sendCommand(self, msg):
msg = msg + '\n'
supply.connection.sendall(msg.encode('UTF-8'))
def initialize(self):
return supply.sendAndReceiveCommand('*IDN?')
def readVoltage(self):
return supply.sendAndReceiveCommand('SOUR:VOLT?')
def readCurrent(self):
return supply.sendAndReceiveCommand('SOUR:CUR?')
Код: Выделить всё
import dcom
SUPPLY_IP = '10.41.32.2'
SUPPLY_PORT = 8462
BUFFER_SIZE = 128
TIMEOUT_SECONDS = 10
supply = dcom.supply(SUPPLY_IP, SUPPLY_PORT, BUFFER_SIZE, TIMEOUT_SECONDS)
print(supply.connection)
supply.opensocket()
Traceback (последний вызов — последний):
Файл «C:\Users\Ryszard\Documents\WroblewskiW\DC_supply_comm\main_comm.py», строка 11, в
Supply.opensocket()
Файл «C:\Users\Ryszard\Documents\WroblewskiW\DC_supply_comm\dcom.py», строка 15, в opensocket
supply.connection.connect((supply.IP, Supply .PORT))
^^^^^^^^^^^^^^^^^
AttributeError: объект типа «поставка» не имеет атрибута «соединение»
Как видите, сначала я могу напечатать значение атрибута объекта «соединение», что, как я полагаю, означает, что этот атрибут существует. Однако позже я получаю сообщение об ошибке, что у этого объекта нет такого атрибута.
У вас есть идеи, как это исправить?
Подробнее здесь: https://stackoverflow.com/questions/786 ... lly-it-has