PyTool Modbus TCP

10+
αž€αžΆαžšαž‘αžΆαž‰αž™αž€
αž…αŸ†αžŽαžΆαžαŸ‹αžαŸ’αž“αžΆαž€αŸ‹αžαŸ’αž›αžΉαž˜αžŸαžΆαžš
αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆ
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹
αžšαžΌαž”αž—αžΆαž–β€‹β€‹αžšαžΌαž”αžαžβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹

αž’αŸ†αž–αžΈβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸαŸ‡

PyTool Modbus TCP αž‚αžΊαž‡αžΆαž§αž”αž€αžšαžŽαŸαžŠαŸαž›αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Modbus TCP αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαž“αž·αž„αžαžΆαž˜αžŠαžΆαž“αŸ”
αžœαžΆαž”αž„αŸ’αž αžΆαž‰αž–αžΈαžŸαž˜αžαŸ’αžαž—αžΆαž–αžŸαŸ’αž‚αŸ’αžšαžΈαž” Python αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž’αŸ’αž“αž€αž“αžΌαžœαž—αžΆαž–αž”αžαŸ‹αž”αŸ‚αž“αžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αž”αŸ†αž•αž»αžαŸ”

αž αŸαžαž»αž’αŸ’αžœαžΈαž”αžΆαž“αž‡αžΆαžŸαž˜αžαŸ’αžαž—αžΆαž–αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž‚αž½αžšαž±αŸ’αž™αž…αž„αŸ‹αž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž§αž”αž€αžšαžŽαŸ Modbus TCP?
αžœαž·αžŸαŸ’αžœαž€αžšαž’αž‚αŸ’αž‚αž·αžŸαž“αžΈαž™αž›αŸ‹αžαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž€αžΆαž“αŸ‹αžŠαŸ„αž™αžŠαŸƒαžŠαžΌαž…αž‡αžΆαž‘αžΌαžšαžŸαŸαž–αŸ’αž‘αž¬αžαŸαž”αŸ’αž›αŸαž Android αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αž…αžΆαžαŸ‹αž¬αžαžΆαž˜αžŠαžΆαž“αž€αžΆαžšαž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžšαž”αžŸαŸ‹ Modbus TCP αž“αŸ…αž€αŸ’αž“αž»αž„αžœαž·αžŸαŸαž™αžšαŸ„αž„αž…αž€αŸ’αžšαž¬αž˜αž“αŸ’αž‘αžΈαžšαž–αž·αžŸαŸ„αž’αž“αŸαŸ”
αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαŸ’αž‘αžΎαžšαžαŸ‚αžšαžΆαž›αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αžšαž”αžŸαŸ‹ Modbus TCP αž˜αžΆαž“αž‘αž˜αŸ’αžšαž„αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αŸ”
αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαž˜αž»αž‘αŸ’αžšαž“αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™αž†αž€αžŠαžΌαž…αž‡αžΆβ€œ 02a5b4ca .... ff000803” αž“αž·αž„αž–αŸ’αž™αžΆαž™αžΆαž˜αžšαž€αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αž€αžΎαžαž‘αžΎαž„αž‚αžΊαž˜αž·αž“αžšαžΈαž€αžšαžΆαž™αž‘αžΆαž›αŸ‹αžαŸ‚αžŸαŸ„αŸ‡αŸ”
αž“αŸ„αŸ‡αž‚αžΊαž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž› PyTool Modbus TCP αž˜αž€αž‡αž½αž™αŸ”
αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸ’αž‚αŸ’αžšαžΈαž” Python αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“ PyTool Modbus TCP αž’αžΆαž…αž’αžΆαž“αž“αž·αž„αž‰αŸ‚αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž‘αž‘αž½αž›αž”αžΆαž“αžŽαžΆαž˜αž½αž™αž”αž„αŸ’αž αžΆαž‰αžœαžΆαžαžΆαž˜αžšαž”αŸ€αž”αžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αž„αŸ‹αž”αžΆαž“αž αžΎαž™αžαŸ‚αž˜αž‘αžΆαŸ†αž„αž’αž“αž»αžœαžαŸ’αžαžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž“αŸ…αž–αŸαž›αž…αžΆαŸ†αž”αžΆαž…αŸ‹αŸ”

αž˜αžΆαž“αž§αž‘αžΆαž αžšαžŽαŸαžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžšαž αŸαžŸαŸ” αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž…αž˜αŸ’αž›αž„αž“αž·αž„αž”αž·αž‘αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž½αž™αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αžœαžΆαžŠαžΎαž˜αŸ’αž”αžΈαžŸαžΆαž€αž›αŸ’αž”αž„αŸ”

αžœαžΆαž€αŸαž˜αžΆαž“αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž˜αŸ‰αžΌαžŒαŸ‚αž›αž”αŸŠαŸ‚αž€αžŠαŸ‚αž›αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‘αžΌαž‘αŸ…αŸ”

αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž‘αžΌαž‘αŸ…αž’αŸ†αž–αžΈαžŸαŸ’αž‚αŸ’αžšαžΈαž”
=================

* αž‡αŸ†αž“αžΆαž“αŸ‹αž–αžŸαŸ‹αžαŸ’αž›αžΆαž“αŸ‹αž”αŸ’αžšαžΎαž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸαŸ‡αž‚αžΊ ៣.៨ αŸ”

* αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸαŸ‡αž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αž‡αžΆαž’αŸ’αž“αž€αž€αŸ‚αžŸαŸ†αžšαž½αž›αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž‘αŸαž‘αŸ„αŸ‡αž”αžΈαžŸαŸ’αž‚αŸ’αžšαžΈαž”αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž“αŸ…αž€αŸ’αž“αž»αž„αžœαžΆαž›αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž€αŸαžŠαŸ„αž™αŸ”
αžœαž·αž’αžΈαž›αŸ’αž’αž”αŸ†αž•αž»αžαž‚αžΊαž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αž·αž–αž“αŸ’αž’αžŸαŸ’αž‚αŸ’αžšαžΈαž”αžŠαŸ‚αž›αž’αŸ’αž“αž€αž…αžΌαž›αž…αž·αžαŸ’αžαž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž…αž˜αŸ’αž›αž„αž“αž·αž„αž”αž·αž‘αž—αŸ’αž‡αžΆαž”αŸ‹αž’αž€αŸ’αžŸαžšαŸ”

* αž”αŸ’αžšαžΎαž…αž“αŸ’αž›αŸ„αŸ‡αž…αŸ†αž“αž½αž“ ៀ αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΌαž›αž”αž“αŸ’αž‘αžΆαžαŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αŸ†αž αž»αžŸαž†αŸ’αž‚αž„αŸ”

* αž€αž‰αŸ’αž…αž”αŸ‹αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ Python αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαž’αžΆαž…αžšαž€αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž“αžΆαŸ†αž…αžΌαž›αŸ”

* αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžαŸ’αžšαžΌαžœαž€αžΆαžšαžšαž„αŸ’αžœαž·αž›αž‡αž»αŸ†αžŸαžΌαž˜αž”αŸ’αžšαžΎ `app.running_script` αž‡αžΆαž›αž€αŸ’αžαžαžŽαŸ’αžŒαžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αžˆαž”αŸ‹αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž±αŸ’αž™αž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ”

* αž”αŸ’αžšαžΎ `app.version` αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαž€αŸ†αžŽαŸ‚αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ”

* αž”αŸ’αžšαžΎ `app.get_output ()` αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αžœαžΆαž›αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž‡αžΆαžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαŸ”

* αž”αŸ’αžšαžΎ `app.set_output (object)` αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰ `object` αž“αŸ…αž€αŸ’αž“αž»αž„αžœαžΆαž›αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αž‚αŸ’αžšαžΈαž”αž‡αžΆαžαŸ’αžŸαŸ‚αž’αž€αŸ’αžŸαžšαŸ”

* αž”αŸ’αžšαžΎ `app.print_text (object)` αž‡αžΆαž•αŸ’αž›αžΌαžœαž€αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ `app.set_output (app.get_output () + str (object))` αžŠαžΎαž˜αŸ’αž”αžΈαž”αž“αŸ’αžαŸ‚αž˜αž’αžαŸ’αžαž”αž‘αž‘αŸ…αžœαžΆαž›αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αž‚αŸ’αžšαžΈαž”αŸ”

* αž”αŸ’αžšαžΎ `app.clear_text ()` αž‡αžΆαž•αŸ’αž›αžΌαžœαž€αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ `app.set_output (" ")` αžŠαžΎαž˜αŸ’αž”αžΈαž›αž»αž”αžœαžΆαž›αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αž‚αŸ’αžšαžΈαž”αŸ”

* αž”αŸ’αžšαžΎ `app.fc01_read_coils (mbid, addr, num)` αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‰αžΎαž›αŸαžαž€αžΌαžŠαž˜αž»αžαž„αžΆαžš ០៑ αžŸαŸ†αžŽαžΎαŸ”
mbid (int): αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ Modbus
addr (int): αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
num (int): αž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
αžαŸ’αžšαž‘αž”αŸ‹ (αž”αž‰αŸ’αž‡αžΈαž“αŸƒ int): αž”αž‰αŸ’αž‡αžΈαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎ

* αž”αŸ’αžšαžΎ `app.fc02_read_discrete_inputs (mbid, addr, num)` αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‰αžΎαž›αŸαžαž€αžΌαžŠαž˜αž»αžαž„αžΆαžš ០្ αžŸαŸ†αžŽαžΎαŸ”
mbid (int): αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ Modbus
addr (int): αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
num (int): αž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
αžαŸ’αžšαž‘αž”αŸ‹ (αž”αž‰αŸ’αž‡αžΈαž“αŸƒ int): αž”αž‰αŸ’αž‡αžΈαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎ

* αž”αŸ’αžšαžΎ `app.fc03_read_holding_registers (mbid, addr, num)` αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‰αžΎαž›αŸαžαž€αžΌαžŠαž˜αž»αžαž„αžΆαžš ០៣ αžŸαŸ†αžŽαžΎαŸ”
mbid (int): αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ Modbus
addr (int): αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
num (int): αž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
αžαŸ’αžšαž‘αž”αŸ‹ (αž”αž‰αŸ’αž‡αžΈαž“αŸƒ int): αž”αž‰αŸ’αž‡αžΈαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎ

* αž”αŸ’αžšαžΎ `app.fc04_read_input_registers (mbid, addr, num)` αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‰αžΎαžšαž›αŸαžαž€αžΌαžŠαž˜αž»αžαž„αžΆαžš ០ៀ αžŸαŸ†αžŽαžΎαŸ”
mbid (int): αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ Modbus
addr (int): αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
num (int): αž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
αžαŸ’αžšαž‘αž”αŸ‹ (αž”αž‰αŸ’αž‡αžΈαž“αŸƒ int): αž”αž‰αŸ’αž‡αžΈαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎ

* αž”αŸ’αžšαžΎ `app.fc05_write_single_coil (mbid, addr, val)` αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‰αžΎαž›αŸαžαž€αžΌαžŠαž˜αž»αžαž„αžΆαžš ០αŸ₯ αžŸαŸ†αžŽαžΎαŸ”
mbid (int): αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ Modbus
addr (int): αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
val (int): αžαž˜αŸ’αž›αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™
αžαŸ’αžšαž‘αž”αŸ‹ (int): αž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ (αžαŸ‚αž„αžαŸ‚ ៑)

* αž”αŸ’αžšαžΎ `app.fc06_write_single_register (mbid, addr, val)` αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‰αžΎαžšαž›αŸαžαž€αžΌαžŠαž˜αž»αžαž„αžΆαžš ០៦ αžŸαŸ†αžŽαžΎαŸ”
mbid (int): αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ Modbus
addr (int): αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
val (int): αžαž˜αŸ’αž›αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™
αžαŸ’αžšαž‘αž”αŸ‹ (int): αž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™ (αžαŸ‚αž„αžαŸ‚ ៑)

* αž”αŸ’αžšαžΎ `app.fc15_write_multiple_coils (mbid, addr, vals)` αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‰αžΎαžŸαŸ†αžŽαžΎαž›αŸαžαž€αžΌαžŠαž˜αž»αžαž„αžΆαžš ៑αŸ₯ αŸ”
mbid (int): αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ Modbus
addr (int): αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
vals (αž”αž‰αŸ’αž‡αžΈαž“αŸƒ int): αž”αž‰αŸ’αž‡αžΈαžαž˜αŸ’αž›αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™
return (int): αž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™

* αž”αŸ’αžšαžΎ `app.fc16_write_multiple_registers (mbid, addr, vals)` αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž‰αžΎαžŸαŸ†αžŽαžΎαž›αŸαžαž€αžΌαžŠαž˜αž»αžαž„αžΆαžš ៑៦ αŸ”
mbid (int): αž›αŸαžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ Modbus
addr (int): αž’αžΆαžŸαŸαž™αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™
vals (αž”αž‰αŸ’αž‡αžΈαž“αŸƒ int): αž”αž‰αŸ’αž‡αžΈαžαž˜αŸ’αž›αŸƒαž‘αž·αž“αŸ’αž“αž“αŸαž™
return (int): αž…αŸ†αž“αž½αž“αž‘αž·αž“αŸ’αž“αž“αŸαž™

* αž”αŸ’αžšαžΎ `app.msg_out` αž“αž·αž„` app.msg_in `αžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžŸαžΆαžšαžŸαŸ’αž“αžΎαžŸαž»αŸ†αž“αž·αž„αž†αŸ’αž›αžΎαž™αžαž”αŸ”

* αž”αŸ’αžšαžΎ `app.log_file (αž’αžαŸ’αžαž”αž‘)` αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸαž•αŸ’αž‘αž»αž€αŸ”
αž―αž€αžŸαžΆαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αž˜αžΆαž“αž‘αžΈαžαžΆαŸ†αž„αž“αŸ…αž‘αžΈαž“αŸαŸ‡ [αžŸαŸ€αžœαž—αŸ…αž”αž‰αŸ’αž‡αžΈαž•αŸ’αž‘αž»αž€] / PyToolModbusTCP / log_ [UTC Timestamp] .txt αŸ”
text (str): αžαŸ’αž›αžΉαž˜αžŸαžΆαžšαž’αžαŸ’αžαž”αž‘
αžαŸ’αžšαž‘αž”αŸ‹ (str): αž•αŸ’αž›αžΌαžœαž―αž€αžŸαžΆαžšαž–αŸαž‰αž›αŸαž‰
αž”αžΆαž“β€‹αžŠαŸ†αž‘αžΎαž„αž€αŸ†αžŽαŸ‚β€‹αž“αŸ…
6 αž€αž€αŸ’αž€αžŠαžΆ 2021

αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™

αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–β€‹αž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž–αžΈβ€‹αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αž’αŸ†αž–αžΈβ€‹αžšαž”αŸ€αž”αžŠαŸ‚αž›β€‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸβ€‹αž”αŸ’αžšαž˜αžΌαž› αž“αž·αž„β€‹αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžβ€‹αž…αŸ†αž–αŸ„αŸ‡αžŸαž“αŸ’αžαž·αžŸαž»αž αž“αž·αž„β€‹αž―αž€αž‡αž“αž—αžΆαž–β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αž’αžΆαž…αžαž»αžŸαž‚αŸ’αž“αžΆαž‘αŸ…αžαžΆαž˜β€‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αžαŸ†αž”αž“αŸ‹ αž“αž·αž„β€‹αž’αžΆαž™αž»αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ” αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸβ€‹αž”αžΆαž“αž•αŸ’αžŠαž›αŸ‹β€‹αž–αŸαžαŸŒαž˜αžΆαž“αž“αŸαŸ‡ αž“αž·αž„β€‹αž’αžΆαž…αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–β€‹αžœαžΆαž“αŸ…αž–αŸαž›αžαžΆαž„αž˜αž»αžαŸ”
αž˜αž·αž“αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™β€‹αž‡αžΆαž˜αž½αž™β€‹αž—αžΆαž‚αžΈαž‘αžΈαž”αžΈαž‘αžΎαž™
αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹β€‹αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈβ€‹αžšαž”αŸ€αž”αžŠαŸ‚αž›β€‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸβ€‹αž”αŸ’αžšαž€αžΆαžŸαž’αŸ†αž–αžΈβ€‹αž€αžΆαžšαž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™
αž˜αž·αž“αž”αŸ’αžšαž˜αžΌαž›β€‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΎαž™
αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹β€‹αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈβ€‹αžšαž”αŸ€αž”αžŠαŸ‚αž›β€‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸβ€‹αž”αŸ’αžšαž€αžΆαžŸαž’αŸ†αž–αžΈβ€‹αž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αž‘αž·αž“αŸ’αž“αž“αŸαž™

αž’αŸ’αžœαžΈβ€‹αžŠαŸ‚αž›β€‹αžαŸ’αž˜αžΈ

Version 0.4
Python version for the script is 3.8.
Now the script runs in Python global environment. Existing scripts should still work as before.
`app.version` is added for checking app version.

αž‡αŸ†αž“αž½αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ

αž’αŸ†αž–αžΈαž’αŸ’αž“αž€β€‹αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ
Quan Lin
jacklinquan@gmail.com
190 Centre Dandenong Rd Cheltenham VIC 3192 Australia
undefined

αž…αŸ’αžšαžΎαž“αž‘αŸ€αžαžŠαŸ„αž™ Quan Lin