OmronFinsEthernet
Utility functions for FINS protocol used by omron's PLCs
This library can read and write memory area of PLC via FINS protocol. It is confirmed that this can work with NX series PLC.
Usage
Please refer to documents created by doxygen for the details. When you access structs' data in PLC, please set memory offset 'CJ' mode. And please notice that offset of structure is shown as number of bytes, on the other hand, the number of address is defined as number of 16bit segments. So, the address of data in a struct can be calculated by adding half number of the offset to the initial address of the struct.
It's a sample code.
import omronfins.finsudp as finsudp
from omronfins.finsudp import datadef
fins = finsudp.FinsUDP(0, 170)
ret = fins.open('192.168.2.13', 9600) # Please change according to your PLC's address.
fins.set_destination(dst_net_addr=0, dst_node_num=13, dst_unit_addr=0)
# Writing a word to Extended memory area's address 0.
ret = fins.write_mem_area(datadef.EM0_WORD, 0, 0, 1, (20, datadef.USHORT))
# Reading a word from Extended memory area's address 0.
ret, value = fins.read_mem_area(datadef.EM0_WORD, 0, 0, 1, datadef.USHORT)
print(value) # the value becomes '20'
# Writing four bits to Extended memory area's address 5.
ret = fins.write_mem_area(datadef.EM0_BIT, 5, 0, 4,
[(1, datadef.BIT), (0, datadef.BIT), (1, datadef.BIT), (0, datadef.BIT)])
# Reading four bits from Extended memory area's address 5.
ret, values = fins.read_mem_area(datadef.EM0_BIT, 5, 0, 4, datadef.BIT)
print(values) # values become a tuple like (1, 0, 1, 0).
# Writing a string to Extended memory area's address 6.
# Fourth argument '4' means size of 16bit element and it becomes half of length of the string.
ret = fins.write_mem_area(datadef.EM0_WORD, 6, 0, 4, ("testtest", datadef.STR))
# Reading a string from Extended memory area's address 6.
ret, value = fins.read_mem_area(datadef.EM0_WORD, 6, 0, 4, datadef.STR)
print(value) # value become "testtest"
Release files for omronfins 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| omronfins-1.0.3.tar.gz | 8.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| omronfins-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.4 kB
Release files / omronfins-1.0.3.tar.gz
| Download URL | omronfins-1.0.3.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d90217d6701caeec071619d4bd772d48ebc5fd3c2bd01f8cda071ec4ffde3b26
|
|
BLAKE2b-256 checksum How to use checksums |
c4de47577514fa0f281daccde8c8b24f63402c1d200e032f3f122843055d5eb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1
|
Release files / omronfins-1.0.3-py3-none-any.whl
| Download URL | omronfins-1.0.3-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ec14e1b2be2721d03b9709ec096f281bac6a40d097521fe28a49e67b276863fe
|
|
BLAKE2b-256 checksum How to use checksums |
4b004681f8c79bf1fd1b20ffa1ba33aeef7db78f57bca8b9f8ad70b6a6483319
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.1
|