{"id":23726481,"url":"https://github.com/dalageo/twincat-virtualwasher","last_synced_at":"2025-07-06T10:40:42.196Z","repository":{"id":248760462,"uuid":"826946574","full_name":"Dalageo/TwinCAT-VirtualWasher","owner":"Dalageo","description":"Simulating a Washing Machine System with TwinCAT PLC Programming 🧼","archived":false,"fork":false,"pushed_at":"2024-12-10T15:39:52.000Z","size":28051,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-31T00:33:10.349Z","etag":null,"topics":["automation","iec61131-3","plc-programming","simulation","twincat","twincat3","virtual-washer"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dalageo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-10T17:41:45.000Z","updated_at":"2024-12-19T15:42:11.000Z","dependencies_parsed_at":"2024-12-31T00:31:43.308Z","dependency_job_id":"ed1a36d4-c014-4dd6-bc34-f1f6f7241597","html_url":"https://github.com/Dalageo/TwinCAT-VirtualWasher","commit_stats":null,"previous_names":["dalageo/twincat-virtualwasher"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dalageo%2FTwinCAT-VirtualWasher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dalageo%2FTwinCAT-VirtualWasher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dalageo%2FTwinCAT-VirtualWasher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dalageo%2FTwinCAT-VirtualWasher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dalageo","download_url":"https://codeload.github.com/Dalageo/TwinCAT-VirtualWasher/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239824980,"owners_count":19703199,"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":["automation","iec61131-3","plc-programming","simulation","twincat","twincat3","virtual-washer"],"created_at":"2024-12-31T00:31:33.742Z","updated_at":"2025-02-20T10:44:18.662Z","avatar_url":"https://github.com/Dalageo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"left\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/0d62ee59-bee5-4ca9-823c-5f045ca780e5\" alt=\"Bechoff TwinCat\" width=\"700\"/\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"left\"\u003e\n  \u003ca href=\"https://www.beckhoff.com/en-en/products/automation/twincat/\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/TwinCAT-3.1.4024.55-blue\" alt=\"TwinCAT 3.1.4024.55\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/Dalageo/TwinCat-VirtualWasher/blob/main/LICENSE\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey\" alt=\"License: CC BY-NC-SA 4.0\"\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/github/stars/Dalageo/TwinCat-VirtualWasher?style=social\" alt=\"GitHub stars\"\u003e\n\u003c/div\u003e\n\n# Simulating a Washing Machine System with TwinCAT PLC Programming 🧼\n\nThis repository contains a simulation project for a Washing Machine System, developed within the \u003ca href=\"https://www.beckhoff.com/en-en/products/automation/twincat/\"\u003e TwinCAT \u003c/a\u003e environment as part of a master's course assignment at \u003ca href=\"https://www.hv.se/en/\"\u003eUniversity West\u003c/a\u003e. The assignment involves developing the control logic for specific functions of a washing machine, with the `PLCSim` program, including the `Visualization.TcVIS`, provided by the university. The designed washing machine system includes the following functionalities:\u003c/p\u003e\n\n- **System Activation and Deactivation**: The washing machine is turned on by rotating the switch to the *START* position. The process can be stopped at any time by rotating the switch to the *STOP* position.\n- **Water Filling**: The user can select the desired water filling level, either *LEVEL2* (NORM) or *LEVEL3* (HIGH), by turning the *LEVEL* rotary switch.\n- **Temperature Control**: Once the water reaches the selected level, the *HEATER* operates until the *CURRENT TEMP* matches the *SET TEMP* on the `Visualization.TcVIS`. The heater dynamically adjusts to keep the *CURRENT TEMP* within the *TEMP OK* range.\n- **Washing Cycle**: When the desired temperature is reached, the washing machine begins the washing cycle by spinning the washer cylinder forward for 5 seconds and then backward for another 5 seconds.\n- **Heater Failure**: If the heater fails, the washing machine stops and will not resume until the temperature is back within the appropriate range.\n- **Water Draining**: When the washing cycle ends, the machine drains all the water until the drum is empty.\n- **Cycle Completion and Restart**: Upon completing a cycle, the program waits for user input. If the *PULS* button is pressed, the cycle repeats continuously until the button is released.\n\n| Washer | \n|-----|\n| ![Washer](https://github.com/user-attachments/assets/8ca00285-1202-4bf2-b5be-3040479dc957) | \n\n## Setup Instructions\n\n1. **Download and Install:**\n   [TwinCAT 3 download | eXtended Automation Engineering (XAE)](https://www.beckhoff.com/en-en/support/download-finder/search-result/?download_group=97028248\u0026download_item=650023470)\n   \n2. **Clone the repository:**\n   ```sh\n   git clone https://github.com/Dalageo/TwinCAT-VirtualWasher.git\n   \n3. **Navigate to the cloned directory and execute the 'TwinCAT Virtual Washer.sln' solution file.**\n\n4. **Navigate to TwinCAT directory and execute Start.bat**:\n   ```sh\n   C:/TwinCAT/3.1/Runtimes/UmRT_Default/Start.bat\n\n5. **Change the Target System in TwinCAT to UmRT_Default.**\n   \n6. **Activate Configuration.**\n   \n7. **Login and Start both 'PLCSim' and 'PLCStudent'.**\n  \n## Contributions\n\nThis project was part of a master course assignment at [University West](https://www.hv.se/en/), which provided the initial codebase for \u003ccode\u003ePLCSim\u003c/code\u003e. Special thanks to the professors at University West who contributed to its development.\n\n## License\n\nThis work is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). It was chosen to prevent commercial use and to promote free access and open collaboration, ensuring any adaptations remain freely available to everyone.\n\n[![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]\n\n[cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/\n[cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png\n[cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg\n\n## Citation\n\n```bibtex\n@software{Dalageorgos_TwinCAT-VirtualWasher_2024,\nauthor = {Dalageorgos, Konstantinos},\nlicense = {CC-BY-NC-SA-4.0},\nmonth = jul,\ntitle = {{TwinCAT-VirtualWasher}},\nurl = {https://github.com/Dalageo/TwinCAT-VirtualWasher},\nversion = {1.0.0},\nyear = {2024}\n}\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdalageo%2Ftwincat-virtualwasher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdalageo%2Ftwincat-virtualwasher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdalageo%2Ftwincat-virtualwasher/lists"}