上面代码报 Message=connect() got an unexpected keyword argument 'port' Source= StackTrace:
时间: 2023-09-30 18:09:47 浏览: 113
这个问题可能是由于您的snap7库版本过低引起的。在旧版本的snap7库中,connect()函数的参数列表可能与新版本的不同,导致出现此错误。
您可以尝试使用以下代码来进行连接:
```python
def connect_plc(ip, port, slot=0):
plc = snap7.client.Client()
plc.connect(ip, rack=0, slot=slot)
return plc
```
在这个例子中,我们删除了connect()函数中的port参数,并将其作为connect_plc()函数的参数传递。这样我们就可以在调用connect()函数时使用默认的端口号102,并且可以指定slot号。
希望这可以帮助您解决问题。如果问题仍然存在,请确保您的snap7库是最新版本,并检查其他代码中是否存在问题。
相关问题
Message=connect() got an unexpected keyword argument 'port' Source= StackTrace:
这个报错信息提示您的`connect()`函数中的`port`参数是一个未知的关键字参数。这可能是因为您使用的snap7库版本不支持`port`参数,或者您的代码中存在其他问题。
在snap7 1.3版本中,`connect()`方法已经支持`port`参数,您可以使用以下代码来连接PLC:
```
plc = snap7.client.Client()
plc.connect(ip, rack=0, slot=slot, tcpport=port)
```
这里我们使用`connect()`方法连接到PLC,并且指定`rack`和`slot`参数。另外,我们使用`tcpport`参数指定PLC的TCP端口号。
请注意,不同版本的snap7库可能略有不同,请根据您使用的库版本进行相应的修改。
def connect_plc(ip, port, slot=0): plc = snap7.client.Client() plc.connect(ip, rack=0, slot=slot, port=port) return plc 报 Message=connect() got an unexpected keyword argument 'port' Source= StackTrace:
这个报错信息提示您的`connect()`函数中的`port`参数是一个未知的关键字参数。这可能是因为您使用的snap7库版本不支持`port`参数,或者您的代码中存在其他问题。
您可以尝试检查一下snap7库的版本,确保您使用的是最新版本。另外,您也可以尝试使用以下代码来连接PLC:
```
plc = snap7.client.Client()
plc.connect(ip, rack=0, slot=slot)
plc.set_connection_params(ip, rack=0, slot=slot, port=port)
```
这里我们先使用`connect()`方法连接到PLC,并且指定`rack`和`slot`参数。然后使用`set_connection_params()`方法设置连接参数,包括`ip`、`rack`、`slot`和`port`参数。这个方法会替换掉`connect()`方法中的连接参数。
请注意,不同版本的snap7库可能略有不同,请根据您使用的库版本进行相应的修改。
阅读全文