%global _empty_manifest_terminate_build 0 Name: python-modbus Version: 3.2 Release: 1 Summary: Modbus TCP Server and Client Programs License: GPL URL: https://github.com/ipal0/modbus Source0: https://mirrors.aliyun.com/pypi/web/packages/ae/73/d047c6fead17ea30e08d918737fce976affcf6b3103b73b65d16314c83f9/modbus-3.2.tar.gz BuildArch: noarch %description Modbus Server and Client programs using Python-3 server.py client.py Installation: sudo pip3 install modbus Usage Examples: Server: sudo python3 -m modbus.server ...to run server in commandline For Register Read, the server sends value starting from 1 and incrementing upto 6000. For example, the client wants to read with FuncCode=3, Address=0, and Length=4. Then the server's reply for values will be 1,2,3,4 for the first read and values will increment for every subsequent read. For Coil Reads, the server sends back values 85,86... for the required length. Client: from modbus.client import * c = client() ...if host = 'localhost' c = client(host='HOSTNAME') ...Change HOSTNAME to Server IP address c.read() ...To read 10 Input Registers from Address 0 c.read(FC=3, ADR=10, LEN=8) ...To read 8 Holding Registers from Address 10 c.write(11,22,333,4444) ...To write Holding Registers from Address 0 c.write(11,22,333,4444, ADR=10) ...To write Holding Registers from Address 10 c.write(11,22, FC=15, ADR=10) ...To write Coils from Address 10 fc() ...To get the supported Function Codes Supported Function Codes: 1 = Read Coils or Digital Outputs\n\ 2 = Read Digital Inputs\n\ 3 = Read Holding Registers\n\ 4 = Read Input Registers\n\ 5 = Write Single Coil\n\ 6 = Write Single Register\n\ 15 = Write Coils or Digital Outputs\n\ 16 = Write Holding Registers") %package -n python3-modbus Summary: Modbus TCP Server and Client Programs Provides: python-modbus BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-modbus Modbus Server and Client programs using Python-3 server.py client.py Installation: sudo pip3 install modbus Usage Examples: Server: sudo python3 -m modbus.server ...to run server in commandline For Register Read, the server sends value starting from 1 and incrementing upto 6000. For example, the client wants to read with FuncCode=3, Address=0, and Length=4. Then the server's reply for values will be 1,2,3,4 for the first read and values will increment for every subsequent read. For Coil Reads, the server sends back values 85,86... for the required length. Client: from modbus.client import * c = client() ...if host = 'localhost' c = client(host='HOSTNAME') ...Change HOSTNAME to Server IP address c.read() ...To read 10 Input Registers from Address 0 c.read(FC=3, ADR=10, LEN=8) ...To read 8 Holding Registers from Address 10 c.write(11,22,333,4444) ...To write Holding Registers from Address 0 c.write(11,22,333,4444, ADR=10) ...To write Holding Registers from Address 10 c.write(11,22, FC=15, ADR=10) ...To write Coils from Address 10 fc() ...To get the supported Function Codes Supported Function Codes: 1 = Read Coils or Digital Outputs\n\ 2 = Read Digital Inputs\n\ 3 = Read Holding Registers\n\ 4 = Read Input Registers\n\ 5 = Write Single Coil\n\ 6 = Write Single Register\n\ 15 = Write Coils or Digital Outputs\n\ 16 = Write Holding Registers") %package help Summary: Development documents and examples for modbus Provides: python3-modbus-doc %description help Modbus Server and Client programs using Python-3 server.py client.py Installation: sudo pip3 install modbus Usage Examples: Server: sudo python3 -m modbus.server ...to run server in commandline For Register Read, the server sends value starting from 1 and incrementing upto 6000. For example, the client wants to read with FuncCode=3, Address=0, and Length=4. Then the server's reply for values will be 1,2,3,4 for the first read and values will increment for every subsequent read. For Coil Reads, the server sends back values 85,86... for the required length. Client: from modbus.client import * c = client() ...if host = 'localhost' c = client(host='HOSTNAME') ...Change HOSTNAME to Server IP address c.read() ...To read 10 Input Registers from Address 0 c.read(FC=3, ADR=10, LEN=8) ...To read 8 Holding Registers from Address 10 c.write(11,22,333,4444) ...To write Holding Registers from Address 0 c.write(11,22,333,4444, ADR=10) ...To write Holding Registers from Address 10 c.write(11,22, FC=15, ADR=10) ...To write Coils from Address 10 fc() ...To get the supported Function Codes Supported Function Codes: 1 = Read Coils or Digital Outputs\n\ 2 = Read Digital Inputs\n\ 3 = Read Holding Registers\n\ 4 = Read Input Registers\n\ 5 = Write Single Coil\n\ 6 = Write Single Register\n\ 15 = Write Coils or Digital Outputs\n\ 16 = Write Holding Registers") %prep %autosetup -n modbus-3.2 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-modbus -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 3.2-1 - Package Spec generated