pyads - Python package
======================
[](https://badge.fury.io/py/pyads)
[](https://anaconda.org/conda-forge/pyads)
[](https://anaconda.org/conda-forge/pyads)
[](https://github.com/stlehmann/pyads/actions/workflows/ci.yml)
[](https://coveralls.io/github/stlehmann/pyads?branch=master)
[](http://pyads.readthedocs.io/en/latest/?badge=latest)
[](https://pepy.tech/project/pyads)
[](https://pepy.tech/project/pyads)
This is a python wrapper for TwinCATs ADS library. It provides python functions
for communicating with TwinCAT devices. *pyads* uses the C API provided by *TcAdsDll.dll* on Windows *adslib.so* on Linux. The documentation for the ADS API is available on [infosys.beckhoff.com](https://infosys.beckhoff.com/content/1033/tc3_adsdll2/index.html?id=4279787267115190858).
Documentation: http://pyads.readthedocs.io/en/latest/index.html
Issues: In order to assist with issue management, please keep the issue tracker reserved for bugs and feature requests. For any questions, particularly around usage, route creation and ads error messages when reading or writing variables, please use [Stack Overflow](https://stackoverflow.com/) tagging the question with `twincat-ads` and state you are using the pyads library.
# Installation
From PyPi:
```bash
pip install pyads
```
From conda-forge:
```bash
conda install pyads
```
From source:
```bash
git clone https://github.com/MrLeeh/pyads.git --recursive
cd pyads
python setup.py install
```
## Features
- connect to a remote TwinCAT device like a plc or a PC with TwinCAT
- create routes on Linux devices and on remote plcs
- supports TwinCAT 2 and TwinCAT 3
- read and write values by name or address
- read and write DUTs (structures) from the plc
- notification callbacks
## Basic usage
```python
import pyads
# connect to plc and open connection
plc = pyads.Connection('127.0.0.1.1.1', pyads.PORT_TC3PLC1)
plc.open()
# read int value by name
i = plc.read_by_name("GVL.int_val")
# write int value by name
plc.write_by_name("GVL.int_val", i)
# close connection
plc.close()
```
## Contributing guidelines
Contributions are very much welcome. pyads is under development. However it is a side-project so please have some patience when creating issues or PRs. Please also follow the [Contributing Guidelines](https://github.com/stlehmann/pyads/blob/master/CONTRIBUTING.md).
Raw data
{
"_id": null,
"home_page": "https://github.com/MrLeeh/pyads",
"name": "pyads",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Stefan Lehmann",
"author_email": "Stefan.St.Lehmann@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/e7/ac/681043d6ee047a37b1e21a77086e0ee6de4f3ce8f05716893660a09d0744/pyads-3.4.2.tar.gz",
"platform": null,
"description": "pyads - Python package\n======================\n\n[](https://badge.fury.io/py/pyads)\n[](https://anaconda.org/conda-forge/pyads)\n[](https://anaconda.org/conda-forge/pyads)\n\n[](https://github.com/stlehmann/pyads/actions/workflows/ci.yml)\n[](https://coveralls.io/github/stlehmann/pyads?branch=master)\n[](http://pyads.readthedocs.io/en/latest/?badge=latest)\n[](https://pepy.tech/project/pyads)\n[](https://pepy.tech/project/pyads)\n\nThis is a python wrapper for TwinCATs ADS library. It provides python functions\nfor communicating with TwinCAT devices. *pyads* uses the C API provided by *TcAdsDll.dll* on Windows *adslib.so* on Linux. The documentation for the ADS API is available on [infosys.beckhoff.com](https://infosys.beckhoff.com/content/1033/tc3_adsdll2/index.html?id=4279787267115190858).\n\nDocumentation: http://pyads.readthedocs.io/en/latest/index.html\n\nIssues: In order to assist with issue management, please keep the issue tracker reserved for bugs and feature requests. For any questions, particularly around usage, route creation and ads error messages when reading or writing variables, please use [Stack Overflow](https://stackoverflow.com/) tagging the question with `twincat-ads` and state you are using the pyads library.\n\n# Installation\n\nFrom PyPi:\n\n```bash\npip install pyads\n```\n\nFrom conda-forge:\n\n```bash\nconda install pyads\n```\n\nFrom source:\n\n```bash\ngit clone https://github.com/MrLeeh/pyads.git --recursive\ncd pyads\npython setup.py install\n```\n\n## Features\n\n- connect to a remote TwinCAT device like a plc or a PC with TwinCAT\n- create routes on Linux devices and on remote plcs\n- supports TwinCAT 2 and TwinCAT 3\n- read and write values by name or address\n- read and write DUTs (structures) from the plc\n- notification callbacks\n\n## Basic usage\n\n```python\nimport pyads\n\n# connect to plc and open connection\nplc = pyads.Connection('127.0.0.1.1.1', pyads.PORT_TC3PLC1)\nplc.open()\n\n# read int value by name\ni = plc.read_by_name(\"GVL.int_val\")\n\n# write int value by name\nplc.write_by_name(\"GVL.int_val\", i)\n\n# close connection\nplc.close()\n```\n\n## Contributing guidelines\n\nContributions are very much welcome. pyads is under development. However it is a side-project so please have some patience when creating issues or PRs. Please also follow the [Contributing Guidelines](https://github.com/stlehmann/pyads/blob/master/CONTRIBUTING.md).\n",
"bugtrack_url": null,
"license": null,
"summary": "Python wrapper for TwinCAT ADS library",
"version": "3.4.2",
"project_urls": {
"Homepage": "https://github.com/MrLeeh/pyads"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e7ac681043d6ee047a37b1e21a77086e0ee6de4f3ce8f05716893660a09d0744",
"md5": "3901f6f4c34ba23bfc1aacee90cb69e8",
"sha256": "3afae624ae0dad35a7e0385619a911cebece4715f4364a03a4f8f2ec0ced702f"
},
"downloads": -1,
"filename": "pyads-3.4.2.tar.gz",
"has_sig": false,
"md5_digest": "3901f6f4c34ba23bfc1aacee90cb69e8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 166481,
"upload_time": "2024-07-31T08:47:54",
"upload_time_iso_8601": "2024-07-31T08:47:54.097244Z",
"url": "https://files.pythonhosted.org/packages/e7/ac/681043d6ee047a37b1e21a77086e0ee6de4f3ce8f05716893660a09d0744/pyads-3.4.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-31 08:47:54",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MrLeeh",
"github_project": "pyads",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "pyads"
}