PyTool Modbus TCP

10+
рдбрд╛рдЙрдирд▓реЛрдб
рдХреЙрдиреНрдЯреЗрдВрдЯ рд░реЗрдЯрд┐рдВрдЧ
рд╕рднреА
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреА рдЗрдореЗрдЬ

рдЗрд╕ рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА

рдкрд╛рдпрдЯреВрд▓ рдореЛрдбрдмрд╕ рдЯреАрд╕реАрдкреА рдореЛрдбрдмрд╕ рдЯреАрд╕реАрдкреА рдХреЗ рд╡рд┐рдХрд╛рд╕, рдбрд┐рдмрдЧрд┐рдВрдЧ рдФрд░ рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдЙрдкрдХрд░рдг рд╣реИред
рдЗрд╕рдореЗрдВ рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд╖рдорддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдмрдбрд╝реА рд▓рдЪреАрд▓рд╛рдкрди рджреЗрддреА рд╣реИред

рдореЛрдбрдмрд╕ рдЯреАрд╕реАрдкреА рдЙрдкрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд╖рдорддрд╛ рд╡рд╛рдВрдЫрдиреАрдп рдХреНрдпреЛрдВ рд╣реИ?
рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХрд▓ рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЛ рдлреАрд▓реНрдб, рдлреИрдХреНрдЯреНрд░реА рдпрд╛ рд▓реИрдм рдореЗрдВ рдореЛрдбрдмрд╕ рдЯреАрд╕реАрдкреА рд╕рдВрдЪрд╛рд░ рдХреЛ рдбреАрдмрдЧ рдпрд╛ рдореЙрдирд┐рдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдЗрдб рдлреЛрди рдпрд╛ рдЯреИрдмрд▓реЗрдЯ рдЬреИрд╕реЗ рд╣реИрдВрдбрд╣реЗрд▓реНрдб рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд▓рдЧрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ рд╣рд░ рдореЛрдбрдмрд╕ рдЯреАрд╕реАрдкреА рд╕рдВрдЪрд╛рд░ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рд░реВрдк рд╣реЛрддрд╛ рд╣реИред
"02a5b4ca...ff000803" рдЬреИрд╕реЗ рд╣реЗрдХреНрд╕ рдбреЗрдЯрд╛ рдХреЗ рд╕рдореБрджреНрд░ рдореЗрдВ рдЦреЛрдЬрдирд╛ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕реБрдЦрдж рдирд╣реАрдВ рд╣реИред
рдпрд╣реАрдВ рдкрд░ PyTool Modbus TCP рдорджрдж рдХреЗ рд▓рд┐рдП рдЖрддрд╛ рд╣реИред
рдХрд╕реНрдЯрдо рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде, PyTool Modbus TCP рдХрд┐рд╕реА рднреА рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝ рдФрд░ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝рдиреЗ рдкрд░ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдп рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред

рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди рдореЛрдбрдмрд╕ рдЯреАрд╕реАрдкреА рдирд┐рдпрдВрддреНрд░рдг рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рднреА рд╣реИред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд╛рдорд╛рдиреНрдп рдЧрд╛рдЗрдб
=================

* рдЗрд╕ рдРрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкрд╛рдпрдерди рд╡рд░реНрдЬрди 3.8 рд╣реИред

* рдпрд╣ рдРрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрдкрд╛рджрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкрд╕рдВрджреАрджрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдбрд┐рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред

* рдЕрдЬреАрдм рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП 4 рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

* рдорд╛рдирдХ рдкрд╛рдпрдерди рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред

* рдпрджрд┐ рд▓реВрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдареАрдХ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ `app.running_script` рдХреЛ рд╢рд░реНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

* рдРрдк рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `app.version` рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред

* рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `app.get_output ()` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

* рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ 'рдСрдмреНрдЬреЗрдХреНрдЯ' рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 'app.set_output (рдСрдмреНрдЬреЗрдХреНрдЯ)' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

* рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП `app.set_output(app.get_output() + str(object))` рдХреЗ рд╢реЙрд░реНрдЯрдХрдЯ рдХреЗ рд░реВрдк рдореЗрдВ `app.print_text(object)` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

* рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝реАрд▓реНрдб рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `app.set_output("")` рдХреЗ рд╢реЙрд░реНрдЯрдХрдЯ рдХреЗ рд░реВрдк рдореЗрдВ `app.clear_text ()` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

* рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб 01 рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП `app.fc01_read_coils(mbid, addr, num)` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдПрдордмреАрдЖрдИрдбреА тАЛтАЛ(рдЗрдВрдЯ): рдореЛрдбрдмрд╕ рдЖрдИрдбреА
Addr (int): рдбреЗрдЯрд╛ рдкрддрд╛
рд╕рдВрдЦреНрдпрд╛ (int): рдбреЗрдЯрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛
рд╡рд╛рдкрд╕реА (рдЗрдВрдЯ рдХреА рд╕реВрдЪреА): рдЕрдиреБрд░реЛрдзрд┐рдд рдбреЗрдЯрд╛ рд╕реВрдЪреА

* рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб 02 рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП `app.fc02_read_discrete_inputs(mbid, addr, num)` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдПрдордмреАрдЖрдИрдбреА тАЛтАЛ(рдЗрдВрдЯ): рдореЛрдбрдмрд╕ рдЖрдИрдбреА
Addr (int): рдбреЗрдЯрд╛ рдкрддрд╛
рд╕рдВрдЦреНрдпрд╛ (int): рдбреЗрдЯрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛
рд╡рд╛рдкрд╕реА (рдЗрдВрдЯ рдХреА рд╕реВрдЪреА): рдЕрдиреБрд░реЛрдзрд┐рдд рдбреЗрдЯрд╛ рд╕реВрдЪреА

* рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб 03 рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП `app.fc03_read_holding_registers(mbid, addr, num)` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдПрдордмреАрдЖрдИрдбреА тАЛтАЛ(рдЗрдВрдЯ): рдореЛрдбрдмрд╕ рдЖрдИрдбреА
Addr (int): рдбреЗрдЯрд╛ рдкрддрд╛
рд╕рдВрдЦреНрдпрд╛ (int): рдбреЗрдЯрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛
рд╡рд╛рдкрд╕реА (рдЗрдВрдЯ рдХреА рд╕реВрдЪреА): рдЕрдиреБрд░реЛрдзрд┐рдд рдбреЗрдЯрд╛ рд╕реВрдЪреА

* рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб 04 рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП `app.fc04_read_input_registers(mbid, addr, num)` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдПрдордмреАрдЖрдИрдбреА тАЛтАЛ(рдЗрдВрдЯ): рдореЛрдбрдмрд╕ рдЖрдИрдбреА
Addr (int): рдбреЗрдЯрд╛ рдкрддрд╛
рд╕рдВрдЦреНрдпрд╛ (int): рдбреЗрдЯрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛
рд╡рд╛рдкрд╕реА (рдЗрдВрдЯ рдХреА рд╕реВрдЪреА): рдЕрдиреБрд░реЛрдзрд┐рдд рдбреЗрдЯрд╛ рд╕реВрдЪреА

* рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб 05 рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП `app.fc05_write_single_coil (mbid, addr, val)` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдПрдордмреАрдЖрдИрдбреА тАЛтАЛ(рдЗрдВрдЯ): рдореЛрдбрдмрд╕ рдЖрдИрдбреА
Addr (int): рдбреЗрдЯрд╛ рдкрддрд╛
рд╡реИрд▓ (int): рдбреЗрдЯрд╛ рдорд╛рди
рд╡рд╛рдкрд╕реА (int): рдбреЗрдЯрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ (рд╣рдореЗрд╢рд╛ 1)

* рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб 06 рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП `app.fc06_write_single_register(mbid, addr, val)` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдПрдордмреАрдЖрдИрдбреА тАЛтАЛ(рдЗрдВрдЯ): рдореЛрдбрдмрд╕ рдЖрдИрдбреА
Addr (int): рдбреЗрдЯрд╛ рдкрддрд╛
рд╡реИрд▓ (int): рдбреЗрдЯрд╛ рдорд╛рди
рд╡рд╛рдкрд╕реА (int): рдбреЗрдЯрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛ (рд╣рдореЗрд╢рд╛ 1)

* рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб 15 рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП `app.fc15_write_multiple_coils (mbid, addr, vals)` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдПрдордмреАрдЖрдИрдбреА тАЛтАЛ(рдЗрдВрдЯ): рдореЛрдбрдмрд╕ рдЖрдИрдбреА
Addr (int): рдбреЗрдЯрд╛ рдкрддрд╛
vals (int рдХреА рд╕реВрдЪреА): рдбреЗрдЯрд╛ рдорд╛рди рд╕реВрдЪреА
рд╡рд╛рдкрд╕реА (int): рдбреЗрдЯрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛

* рдлрд╝рдВрдХреНрд╢рди рдХреЛрдб 16 рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП `app.fc16_write_multiple_registers (mbid, addr, vals)` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдПрдордмреАрдЖрдИрдбреА тАЛтАЛ(рдЗрдВрдЯ): рдореЛрдбрдмрд╕ рдЖрдИрдбреА
Addr (int): рдбреЗрдЯрд╛ рдкрддрд╛
vals (int рдХреА рд╕реВрдЪреА): рдбреЗрдЯрд╛ рдорд╛рди рд╕реВрдЪреА
рд╡рд╛рдкрд╕реА (int): рдбреЗрдЯрд╛ рдХреА рд╕рдВрдЦреНрдпрд╛

* рдЕрдиреБрд░реЛрдз рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП `app.msg_out` рдФрд░ `app.msg_in` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

* рд▓реЙрдЧ рдлрд╛рдЗрд▓ рдХреЛ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕реЗрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `app.log_file(text)` рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВред
рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдпрд╣рд╛рдБ рд╕реНрдерд┐рдд рд╣реИ [рд╕рдВрдЧреНрд░рд╣рдг рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛]/PyToolModbusTCP/log_[UTC рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк] .txtред
рдкрд╛рда (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 рдХреЗ рдФрд░ рдРрдкреНрд▓рд┐рдХреЗрд╢рди