{"id":18445627,"url":"https://github.com/fbarresi/beckhoffs7client","last_synced_at":"2025-04-08T00:31:38.853Z","repository":{"id":41037390,"uuid":"195029206","full_name":"fbarresi/BeckhoffS7Client","owner":"fbarresi","description":"Unofficial TwinCAT function for S7 Communication","archived":false,"fork":false,"pushed_at":"2022-12-08T14:59:39.000Z","size":72,"stargazers_count":36,"open_issues_count":2,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T03:07:14.005Z","etag":null,"topics":["beckhoff","beckhoff-twincat-plc","s7-plc","siemens-plc","twincat","twincat-ads"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fbarresi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"fbarresi"}},"created_at":"2019-07-03T10:09:07.000Z","updated_at":"2025-03-02T20:07:57.000Z","dependencies_parsed_at":"2023-01-25T14:01:07.965Z","dependency_job_id":null,"html_url":"https://github.com/fbarresi/BeckhoffS7Client","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbarresi%2FBeckhoffS7Client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbarresi%2FBeckhoffS7Client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbarresi%2FBeckhoffS7Client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fbarresi%2FBeckhoffS7Client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fbarresi","download_url":"https://codeload.github.com/fbarresi/BeckhoffS7Client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247755338,"owners_count":20990616,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["beckhoff","beckhoff-twincat-plc","s7-plc","siemens-plc","twincat","twincat-ads"],"created_at":"2024-11-06T07:06:36.414Z","updated_at":"2025-04-08T00:31:38.277Z","avatar_url":"https://github.com/fbarresi.png","language":"C#","funding_links":["https://github.com/sponsors/fbarresi"],"categories":[],"sub_categories":[],"readme":"# BeckhoffS7Client\n\n[![Build status](https://ci.appveyor.com/api/projects/status/7qbba540vvgwj09a?svg=true)](https://ci.appveyor.com/project/fbarresi/beckhoffs7client)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/ce6d11762b254b939d76425339a4563b)](https://www.codacy.com/manual/fbarresi/BeckhoffS7Client?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=fbarresi/BeckhoffS7Client\u0026amp;utm_campaign=Badge_Grade)\n![Licence](https://img.shields.io/github/license/fbarresi/BeckhoffS7Client.svg)\n![GitHub All Releases](https://img.shields.io/github/downloads/fbarresi/BeckhoffS7Client/total)\n\nUnofficial TwinCAT function for S7 Communication\n\n\nThis software is an (unofficial) opensource implementation of [TF6610 | TC3 S5/S7 Communication](https://www.beckhoff.com.ph/default.asp?twincat/tf6760.htm) similar to my other project [BeckhoffHttpClient](https://github.com/fbarresi/BeckhoffHttpClient).\n\n## Main features\n\nYour surely gonna love this software, but if you still need a couple of information for starring this project...\n\n- **FREE! (for commercial use as well)**\n- Resilient: doesn't matter what you do with the beckhoff (Start, Stop, Config-Mode, Run-Mode, etc.)\n- Modern: build with the newest TwinCAT Version and .Net Core 3.1\n- Clever: don't need to specify any datatype or bit numbering\n\n## Requirements\n\n- TwinCAT 3.1.4024.7+\n\n## How to use this software\n\n### Install and setup connections\n\n- [Download](https://github.com/fbarresi/BeckhoffS7Client/releases/latest) the setup and install it on your beckhoff.\n- Ajdust the settings file `TFU002.settings.json` located `C:\\TwinCAT\\Functions\\Unofficial\\BeckhoffS7Client` putting your connection parameters for all your S7 PLC in the settings file. \n\n```json\n{\n  \"BeckhoffSettings\": {\n    \"AmsNetId\": \"\",\n    \"Port\": 851\n  },\n  \"ExtenalPlcSettings\": [\n    {\n      \"Name\": \"s7-300\",\n      \"IpAddress\": \"10.30.10.50\",\n      \"Port\": 102,\n      \"Rack\": 0,\n      \"Slot\": 2\n    }\n  ]\n}\n```\n\n### Use The S7 Attribute\n\nUse the S7 attribute in your project for connect your primitive variables (like an input or output) to a S7.\n\n```reStructuredText\nVAR_GLOBAL\n\t\n\t{attribute 'S7.Out'}\n\t{attribute 'S7.Address' := 'db2.dbx0.0'}\n\timAlive : BOOL;\n\n\t{attribute 'S7.In'}\n\t{attribute 'S7.Address' := 'db2.dbx1.0'}\n\t{attribute 'S7.Plc' := 's7-300'} // you have to select a plc by name only if you have more then one\n\totherSystemAlive :BOOL;\n\t\nEND_VAR\n```\n\n### Supported TwinCAT Datatypes\n\n- BOOL\n- BYTE und BYTE[]\n- INT / UINT\n- DINT / UDINT\n- LINT / ULINT\n- REAL\n\n### S7 Addressing rules\n\nevery address has the form (case unsenible) `DB\u003cnumber\u003e.\u003cTYPE\u003e\u003cStart\u003e.\u003cLength/Position\u003e`\ni.e.: `DB42.DBX0.7` =\u003e (means) Datablock 42, Bit (DBX), Start: 0, Position: 7 .\n\nFollowing types are supported:\n- `DBX` =\u003e Bit (BOOL)\n- `DBB` =\u003e BYTE or BYTE[]\n- `INT`\n- `DINT`\n- `DUL` =\u003e LINT\n- `D` =\u003e REAL\n\n### Logfiles\n\nLogfiles are saved into `C:\\TwinCAT\\Functions\\Unofficial\\BeckhoffS7Client\\Service.log`. \nYou can use [TailBlazer](https://github.com/RolandPheasant/TailBlazer) for a live view.\n\n\n## Would you like to contribute?\n\nYes, please!\n\nTry the library and feel free to open an issue or ask for support. \n\nDon't forget to **star this project**! \n\n## Credits\n\nSpecial thanks to [JetBrains](https://www.jetbrains.com/?from=BeckhoffS7Client) for supporting this open source project.\n\n\u003ca href=\"https://www.jetbrains.com/?from=BeckhoffS7Client\"\u003e\u003cimg height=\"200\" src=\"https://www.jetbrains.com/company/brand/img/jetbrains_logo.png\"\u003e\u003c/a\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbarresi%2Fbeckhoffs7client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffbarresi%2Fbeckhoffs7client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffbarresi%2Fbeckhoffs7client/lists"}