Skip to content

Commit 80a0f70

Browse files
authored
Solve --port as str and unit= and datastore. (#1072)
test.
1 parent 670cccd commit 80a0f70

File tree

5 files changed

+90
-8
lines changed

5 files changed

+90
-8
lines changed

examples/client_async.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ def get_commandline():
161161
parser.add_argument(
162162
"--port",
163163
help="the port to use",
164-
type=int,
164+
type=str,
165165
)
166166
args = parser.parse_args()
167167

examples/client_sync.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ def get_commandline():
158158
parser.add_argument(
159159
"--port",
160160
help="the port to use",
161-
type=int,
161+
type=str,
162162
)
163163
args = parser.parse_args()
164164

examples/server_async.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,16 +112,18 @@ def setup_server(args):
112112
di=datablock, co=datablock, hr=datablock, ir=datablock, zero_mode=True
113113
),
114114
}
115+
single = False
115116
else:
116117
context = ModbusSlaveContext(
117118
di=datablock,
118119
co=datablock,
119120
hr=datablock,
120121
ir=datablock,
121122
)
123+
single = True
122124

123125
# Build data storage
124-
store = ModbusServerContext(slaves=context, single=True)
126+
store = ModbusServerContext(slaves=context, single=single)
125127

126128
# ----------------------------------------------------------------------- #
127129
# initialize the server information
@@ -181,8 +183,8 @@ async def run_server(args=None):
181183
defer_start=defer_start, # Only define server do not activate
182184
)
183185
elif server_id == "serial":
184-
# socat -d -d PTY,link=/tmp/ptyp0,raw,echo=0,ispeed=9600 PTY,
185-
# link=/tmp/ttyp0,raw,echo=0,ospeed=9600
186+
# socat -d -d PTY,link=/tmp/ptyp0,raw,echo=0,ispeed=9600
187+
# PTY,link=/tmp/ttyp0,raw,echo=0,ospeed=9600
186188
server = await StartSerialServer(
187189
context=store, # Data storage
188190
identity=identity, # server identify

examples/server_sync.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,16 +111,18 @@ def setup_server(args):
111111
di=datablock, co=datablock, hr=datablock, ir=datablock, zero_mode=True
112112
),
113113
}
114+
single = False
114115
else:
115116
context = ModbusSlaveContext(
116117
di=datablock,
117118
co=datablock,
118119
hr=datablock,
119120
ir=datablock,
120121
)
122+
single = True
121123

122124
# Build data storage
123-
store = ModbusServerContext(slaves=context, single=True)
125+
store = ModbusServerContext(slaves=context, single=single)
124126

125127
# ----------------------------------------------------------------------- #
126128
# initialize the server information
@@ -182,8 +184,8 @@ def run_server(args=None):
182184
defer_start=defer_start, # Only define server do not activate
183185
)
184186
elif server_id == "serial":
185-
# socat -d -d PTY,link=/tmp/ptyp0,raw,echo=0,ispeed=9600 PTY,
186-
# link=/tmp/ttyp0,raw,echo=0,ospeed=9600
187+
# socat -d -d PTY,link=/tmp/ptyp0,raw,echo=0,ispeed=9600
188+
# PTY,link=/tmp/ttyp0,raw,echo=0,ospeed=9600
187189
server = StartSerialServer(
188190
context=store, # Data storage
189191
identity=identity, # server identify

pymodbus/client/mixin.py

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ def read_coils(
6565
:param kwargs: (optional) Experimental parameters.
6666
:raises ModbusException:
6767
"""
68+
if "unit" in kwargs:
69+
_logger.error("Please do not use unit=, convert to slave=.")
70+
slave = kwargs.pop("unit", slave)
6871
request = pdu_bit_read.ReadCoilsRequest(address, count, slave, **kwargs)
6972
return self.execute(request)
7073

@@ -83,6 +86,9 @@ def read_discrete_inputs(
8386
:param kwargs: (optional) Experimental parameters.
8487
:raises ModbusException:
8588
"""
89+
if "unit" in kwargs:
90+
_logger.error("Please do not use unit=, convert to slave=.")
91+
slave = kwargs.pop("unit", slave)
8692
request = pdu_bit_read.ReadDiscreteInputsRequest(
8793
address, count, slave, **kwargs
8894
)
@@ -103,6 +109,9 @@ def read_holding_registers(
103109
:param kwargs: (optional) Experimental parameters.
104110
:raises ModbusException:
105111
"""
112+
if "unit" in kwargs:
113+
_logger.error("Please do not use unit=, convert to slave=.")
114+
slave = kwargs.pop("unit", slave)
106115
request = pdu_reg_read.ReadHoldingRegistersRequest(
107116
address, count, slave, **kwargs
108117
)
@@ -123,6 +132,9 @@ def read_input_registers(
123132
:param kwargs: (optional) Experimental parameters.
124133
:raises ModbusException:
125134
"""
135+
if "unit" in kwargs:
136+
_logger.error("Please do not use unit=, convert to slave=.")
137+
slave = kwargs.pop("unit", slave)
126138
request = pdu_reg_read.ReadInputRegistersRequest(
127139
address, count, slave, **kwargs
128140
)
@@ -139,6 +151,9 @@ def write_coil(
139151
:param kwargs: (optional) Experimental parameters.
140152
:raises ModbusException:
141153
"""
154+
if "unit" in kwargs:
155+
_logger.error("Please do not use unit=, convert to slave=.")
156+
slave = kwargs.pop("unit", slave)
142157
request = pdu_bit_write.WriteSingleCoilRequest(address, value, slave, **kwargs)
143158
return self.execute(request)
144159

@@ -157,6 +172,9 @@ def write_register(
157172
:param kwargs: (optional) Experimental parameters.
158173
:raises ModbusException:
159174
"""
175+
if "unit" in kwargs:
176+
_logger.error("Please do not use unit=, convert to slave=.")
177+
slave = kwargs.pop("unit", slave)
160178
request = pdu_req_write.WriteSingleRegisterRequest(
161179
address, value, slave, **kwargs
162180
)
@@ -171,6 +189,9 @@ def read_exception_status(
171189
:param kwargs: (optional) Experimental parameters.
172190
:raises ModbusException:
173191
"""
192+
if "unit" in kwargs:
193+
_logger.error("Please do not use unit=, convert to slave=.")
194+
slave = kwargs.pop("unit", slave)
174195
request = pdu_other_msg.ReadExceptionStatusRequest(slave, **kwargs)
175196
return self.execute(request)
176197

@@ -184,6 +205,9 @@ def diag_query_data(
184205
:param kwargs: (optional) Experimental parameters.
185206
:raises ModbusException:
186207
"""
208+
if "unit" in kwargs:
209+
_logger.error("Please do not use unit=, convert to slave=.")
210+
slave = kwargs.pop("unit", slave)
187211
request = pdu_diag.ReturnQueryDataRequest(msg, slave, **kwargs)
188212
return self.execute(request)
189213

@@ -197,6 +221,9 @@ def diag_restart_communication(
197221
:param kwargs: (optional) Experimental parameters.
198222
:raises ModbusException:
199223
"""
224+
if "unit" in kwargs:
225+
_logger.error("Please do not use unit=, convert to slave=.")
226+
slave = kwargs.pop("unit", slave)
200227
request = pdu_diag.RestartCommunicationsOptionRequest(toggle, slave, **kwargs)
201228
return self.execute(request)
202229

@@ -209,6 +236,9 @@ def diag_read_diagnostic_register(
209236
:param kwargs: (optional) Experimental parameters.
210237
:raises ModbusException:
211238
"""
239+
if "unit" in kwargs:
240+
_logger.error("Please do not use unit=, convert to slave=.")
241+
slave = kwargs.pop("unit", slave)
212242
request = pdu_diag.ReturnDiagnosticRegisterRequest(slave, **kwargs)
213243
return self.execute(request)
214244

@@ -221,6 +251,9 @@ def diag_change_ascii_input_delimeter(
221251
:param kwargs: (optional) Experimental parameters.
222252
:raises ModbusException:
223253
"""
254+
if "unit" in kwargs:
255+
_logger.error("Please do not use unit=, convert to slave=.")
256+
slave = kwargs.pop("unit", slave)
224257
request = pdu_diag.ChangeAsciiInputDelimiterRequest(slave, **kwargs)
225258
return self.execute(request)
226259

@@ -233,6 +266,9 @@ def diag_force_listen_only(
233266
:param kwargs: (optional) Experimental parameters.
234267
:raises ModbusException:
235268
"""
269+
if "unit" in kwargs:
270+
_logger.error("Please do not use unit=, convert to slave=.")
271+
slave = kwargs.pop("unit", slave)
236272
request = pdu_diag.ForceListenOnlyModeRequest(slave, **kwargs)
237273
return self.execute(request)
238274

@@ -245,6 +281,9 @@ def diag_clear_counters(
245281
:param kwargs: (optional) Experimental parameters.
246282
:raises ModbusException:
247283
"""
284+
if "unit" in kwargs:
285+
_logger.error("Please do not use unit=, convert to slave=.")
286+
slave = kwargs.pop("unit", slave)
248287
request = pdu_diag.ClearCountersRequest(slave, **kwargs)
249288
return self.execute(request)
250289

@@ -257,6 +296,9 @@ def diag_read_bus_message_count(
257296
:param kwargs: (optional) Experimental parameters.
258297
:raises ModbusException:
259298
"""
299+
if "unit" in kwargs:
300+
_logger.error("Please do not use unit=, convert to slave=.")
301+
slave = kwargs.pop("unit", slave)
260302
request = pdu_diag.ReturnBusMessageCountRequest(slave, **kwargs)
261303
return self.execute(request)
262304

@@ -269,6 +311,9 @@ def diag_read_bus_comm_error_count(
269311
:param kwargs: (optional) Experimental parameters.
270312
:raises ModbusException:
271313
"""
314+
if "unit" in kwargs:
315+
_logger.error("Please do not use unit=, convert to slave=.")
316+
slave = kwargs.pop("unit", slave)
272317
request = pdu_diag.ReturnBusCommunicationErrorCountRequest(slave, **kwargs)
273318
return self.execute(request)
274319

@@ -281,6 +326,9 @@ def diag_read_bus_exception_error_count(
281326
:param kwargs: (optional) Experimental parameters.
282327
:raises ModbusException:
283328
"""
329+
if "unit" in kwargs:
330+
_logger.error("Please do not use unit=, convert to slave=.")
331+
slave = kwargs.pop("unit", slave)
284332
request = pdu_diag.ReturnBusExceptionErrorCountRequest(slave, **kwargs)
285333
return self.execute(request)
286334

@@ -293,6 +341,9 @@ def diag_read_slave_message_count(
293341
:param kwargs: (optional) Experimental parameters.
294342
:raises ModbusException:
295343
"""
344+
if "unit" in kwargs:
345+
_logger.error("Please do not use unit=, convert to slave=.")
346+
slave = kwargs.pop("unit", slave)
296347
request = pdu_diag.ReturnSlaveMessageCountRequest(slave, **kwargs)
297348
return self.execute(request)
298349

@@ -305,6 +356,9 @@ def diag_read_slave_no_response_count(
305356
:param kwargs: (optional) Experimental parameters.
306357
:raises ModbusException:
307358
"""
359+
if "unit" in kwargs:
360+
_logger.error("Please do not use unit=, convert to slave=.")
361+
slave = kwargs.pop("unit", slave)
308362
request = pdu_diag.ReturnSlaveNoResponseCountRequest(slave, **kwargs)
309363
return self.execute(request)
310364

@@ -317,6 +371,9 @@ def diag_read_slave_nak_count(
317371
:param kwargs: (optional) Experimental parameters.
318372
:raises ModbusException:
319373
"""
374+
if "unit" in kwargs:
375+
_logger.error("Please do not use unit=, convert to slave=.")
376+
slave = kwargs.pop("unit", slave)
320377
request = pdu_diag.ReturnSlaveNAKCountRequest(slave, **kwargs)
321378
return self.execute(request)
322379

@@ -329,6 +386,9 @@ def diag_read_slave_busy_count(
329386
:param kwargs: (optional) Experimental parameters.
330387
:raises ModbusException:
331388
"""
389+
if "unit" in kwargs:
390+
_logger.error("Please do not use unit=, convert to slave=.")
391+
slave = kwargs.pop("unit", slave)
332392
request = pdu_diag.ReturnSlaveBusyCountRequest(slave, **kwargs)
333393
return self.execute(request)
334394

@@ -341,6 +401,9 @@ def diag_read_bus_char_overrun_count(
341401
:param kwargs: (optional) Experimental parameters.
342402
:raises ModbusException:
343403
"""
404+
if "unit" in kwargs:
405+
_logger.error("Please do not use unit=, convert to slave=.")
406+
slave = kwargs.pop("unit", slave)
344407
request = pdu_diag.ReturnSlaveBusCharacterOverrunCountRequest(slave, **kwargs)
345408
return self.execute(request)
346409

@@ -353,6 +416,9 @@ def diag_read_iop_overrun_count(
353416
:param kwargs: (optional) Experimental parameters.
354417
:raises ModbusException:
355418
"""
419+
if "unit" in kwargs:
420+
_logger.error("Please do not use unit=, convert to slave=.")
421+
slave = kwargs.pop("unit", slave)
356422
request = pdu_diag.ReturnIopOverrunCountRequest(slave, **kwargs)
357423
return self.execute(request)
358424

@@ -365,6 +431,9 @@ def diag_clear_overrun_counter(
365431
:param kwargs: (optional) Experimental parameters.
366432
:raises ModbusException:
367433
"""
434+
if "unit" in kwargs:
435+
_logger.error("Please do not use unit=, convert to slave=.")
436+
slave = kwargs.pop("unit", slave)
368437
request = pdu_diag.ClearOverrunCountRequest(slave, **kwargs)
369438
return self.execute(request)
370439

@@ -377,6 +446,9 @@ def diag_getclear_modbus_response(
377446
:param kwargs: (optional) Experimental parameters.
378447
:raises ModbusException:
379448
"""
449+
if "unit" in kwargs:
450+
_logger.error("Please do not use unit=, convert to slave=.")
451+
slave = kwargs.pop("unit", slave)
380452
request = pdu_diag.GetClearModbusPlusRequest(slave, **kwargs)
381453
return self.execute(request)
382454

@@ -399,6 +471,9 @@ def write_coils(
399471
:param kwargs: (optional) Experimental parameters.
400472
:raises ModbusException:
401473
"""
474+
if "unit" in kwargs:
475+
_logger.error("Please do not use unit=, convert to slave=.")
476+
slave = kwargs.pop("unit", slave)
402477
request = pdu_bit_write.WriteMultipleCoilsRequest(
403478
address, values, slave, **kwargs
404479
)
@@ -419,6 +494,9 @@ def write_registers(
419494
:param kwargs: (optional) Experimental parameters.
420495
:raises ModbusException:
421496
"""
497+
if "unit" in kwargs:
498+
_logger.error("Please do not use unit=, convert to slave=.")
499+
slave = kwargs.pop("unit", slave)
422500
request = pdu_req_write.WriteMultipleRegistersRequest(
423501
address, values, slave, **kwargs
424502
)

0 commit comments

Comments
 (0)