{"repo":"robinson/gos7","free":true,"listed":false,"github":"https://github.com/robinson/gos7","clone":"git clone https://github.com/robinson/gos7.git","description":"Implementation of Siemens S7 protocol in golang","language":"Go","stars":402,"topics":["golang","go","siemens","s7-protocol","s7"],"license":"BSD-3-Clause","category":"dev-tools","readme_excerpt":"gos7 Implementation of Siemens S7 protocol in golang Overview ------------------- For years, numerous drivers/connectors, available in both commercial and open source domains, have supported the connection to S7 family PLC devices. GoS7 fills the gaps in the S7 protocol, implementing it with pure Go (also known as golang). There is a strong belief that low-level communication should be implemented with a low-level programming language that is close to binary and memory. The minimum supported Go version is 1.13. Functions ------------------- AG: Read/Write Data Block (DB) (tested) Read/Write Merkers(MB) (tested) Read/Write IPI (EB) (tested) Read/Write IPU (AB) (tested) Read/Write Timer (TM) (tested) Read/Write Counter (CT) (tested) Multiple Read/Write Area (tested) Get Block Info (tested) PG: Hot start/Cold start / Stop PLC Get CPU of PLC status (tested) List available blocks in PLC (tested) Set/Clear password for session Get CPU protection and CPU Order code Get CPU/CP Information (tested) Read/Write clock for the PLC Helpers: Get/set value for a byte array for types: value(bit/int/word/dword/uint...), real, time, counter Supported communication ----------------- TCP Serial (PPI, MPI) (under construction) How to: ---------- following is a simple usage to connect with PLC via TCP References ---------- - libnodave http://libnodave.sourceforge.net/ - snap7 http://snap7.sourceforge.net/ - tarm serial library https://github.com/tarm/serial - Simatic Open TCP/IP Communication via I","default_branch":null,"files":null,"tree":[],"storefront":"/r/robinson","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/robinson/gos7/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}