├── Makefile ├── README.md ├── compile.sh ├── docs ├── .buildinfo ├── .doctrees │ ├── chapters │ │ ├── Basics │ │ │ ├── OS.doctree │ │ │ ├── basics.doctree │ │ │ ├── c.doctree │ │ │ ├── index.doctree │ │ │ └── programming.doctree │ │ ├── Electrical │ │ │ ├── index.doctree │ │ │ └── r.doctree │ │ ├── PLC │ │ │ ├── CoDeSys │ │ │ │ ├── codesys.doctree │ │ │ │ ├── examples.doctree │ │ │ │ ├── iec61131-3.doctree │ │ │ │ ├── index.doctree │ │ │ │ └── project.doctree │ │ │ ├── Siemens │ │ │ │ ├── badcode.doctree │ │ │ │ ├── completeprg.doctree │ │ │ │ ├── concepts.doctree │ │ │ │ ├── exercises-solutions.doctree │ │ │ │ ├── exercises.doctree │ │ │ │ ├── fsm.doctree │ │ │ │ ├── index.doctree │ │ │ │ ├── library.doctree │ │ │ │ ├── more-ex-solutions.doctree │ │ │ │ ├── more-ex.doctree │ │ │ │ ├── programming.doctree │ │ │ │ ├── project.doctree │ │ │ │ ├── s7-PLC.doctree │ │ │ │ └── style-guide.doctree │ │ │ ├── basics │ │ │ │ ├── OS.doctree │ │ │ │ ├── basics.doctree │ │ │ │ ├── c.doctree │ │ │ │ ├── index.doctree │ │ │ │ └── programming.doctree │ │ │ ├── communication │ │ │ │ ├── index.doctree │ │ │ │ └── profidrive.doctree │ │ │ ├── index.doctree │ │ │ └── s7-Library │ │ │ │ ├── actuators.doctree │ │ │ │ ├── conveyors.doctree │ │ │ │ ├── drives.doctree │ │ │ │ ├── index.doctree │ │ │ │ ├── operating.doctree │ │ │ │ ├── turntables.doctree │ │ │ │ └── utility.doctree │ │ ├── Project │ │ │ ├── index.doctree │ │ │ └── r.doctree │ │ └── Robot │ │ │ └── ABB │ │ │ ├── Robot.doctree │ │ │ ├── index.doctree │ │ │ └── robot.doctree │ ├── environment.pickle │ ├── exts │ │ ├── CONTRIBUTING.doctree │ │ └── README.doctree │ └── index.doctree ├── .nojekyll ├── _downloads │ ├── 203ffabaabdf1bde647c388b17dfab90 │ │ └── FB_Cylinder_SCL.scl │ ├── 7088bc605afae40edc4993f667b773d0 │ │ └── Ex01.zip │ ├── Ex01.zip │ ├── Exercises.zip │ ├── FB_Cylinder_SCL.scl │ └── f5ae24b546423b39222bbe933aea3148 │ │ └── Exercises.zip ├── _images │ ├── ClockExample.gif │ ├── DbCreation.gif │ ├── DbTest.gif │ ├── DownloadHW.gif │ ├── IO_tags.gif │ ├── IpAddress.gif │ ├── MemoryAddress.png │ ├── ModifyRobTarget.gif │ ├── NewProject.gif │ ├── OBs.gif │ ├── OnlineDiag.gif │ ├── S7-1200-2.jpg │ ├── S7-1200.jpg │ ├── SystemClock.gif │ ├── TagOrganization.gif │ ├── TruthTable.jpeg │ ├── abb_controlcabinet.jpg │ ├── addFuncLib.gif │ ├── analog_in_scale.png │ ├── bad_name_states1.png │ ├── bad_name_states2.png │ ├── bad_name_struct.png │ ├── bad_name_tags1.png │ ├── bad_name_tags2.png │ ├── bad_name_tags3.png │ ├── bad_name_tags4.png │ ├── blink.png │ ├── clock.jpg │ ├── coil.png │ ├── coil_not.png │ ├── connection_lib.png │ ├── contact.gif │ ├── contact_coil.png │ ├── createLib.gif │ ├── cshellTest.gif │ ├── cyl_double.png │ ├── cylinder_var.png │ ├── drill.png │ ├── et200sp.jpg │ ├── f_trig.jpg │ ├── function.gif │ ├── if.png │ ├── irb2600_12_185.png │ ├── jogging.png │ ├── key.png │ ├── lamp_state.jpg │ ├── lib.png │ ├── mainLogic.png │ ├── merker.png │ ├── navigation.gif │ ├── no_direct_assign.png │ ├── ob1_structure.png │ ├── openLib.gif │ ├── plc_lang.png │ ├── pointers.png │ ├── prepare_IO.gif │ ├── project_org.png │ ├── r_trig.jpg │ ├── reset.png │ ├── s1.png │ ├── s2.png │ ├── s3.png │ ├── s4.png │ ├── s7-1200-AI.png │ ├── s7-IO.png │ ├── scl_export.gif │ ├── scl_import.gif │ ├── set.png │ ├── set_coil_err.gif │ ├── set_coil_err.png │ ├── set_reset.gif │ ├── shutter_1.png │ ├── shutter_2.png │ ├── simple_project.png │ ├── state_LD_bad1.png │ ├── state_LD_bad2.png │ ├── state_LD_bad3.png │ ├── state_machine.jpg │ ├── state_name.png │ ├── state_num.png │ ├── state_output.png │ ├── state_trans.png │ ├── statediag.jpg │ ├── switch.png │ ├── table_1.png │ ├── table_2.png │ ├── table_3.png │ ├── teachpendant.png │ ├── tof.png │ ├── tofLD.gif │ ├── ton.png │ ├── tonLD.gif │ ├── tonSCL.gif │ ├── tonr.png │ ├── too_mcuh_conditions.png │ ├── trigLD.gif │ ├── trigSCL.gif │ ├── updateLib.gif │ ├── use_structure_udt.png │ └── var.png ├── _sources │ ├── chapters │ │ ├── Basics │ │ │ ├── OS.rst.txt │ │ │ ├── basics.rst.txt │ │ │ ├── c.rst.txt │ │ │ ├── index.rst.txt │ │ │ └── programming.rst.txt │ │ ├── Electrical │ │ │ ├── index.rst.txt │ │ │ └── r.rst.txt │ │ ├── PLC │ │ │ ├── CoDeSys │ │ │ │ ├── codesys.rst.txt │ │ │ │ ├── examples.rst.txt │ │ │ │ ├── iec61131-3.rst.txt │ │ │ │ ├── index.rst.txt │ │ │ │ └── project.rst.txt │ │ │ ├── Siemens │ │ │ │ ├── badcode.rst.txt │ │ │ │ ├── completeprg.rst.txt │ │ │ │ ├── concepts.rst.txt │ │ │ │ ├── exercises-solutions.rst.txt │ │ │ │ ├── exercises.rst.txt │ │ │ │ ├── fsm.rst.txt │ │ │ │ ├── index.rst.txt │ │ │ │ ├── library.rst.txt │ │ │ │ ├── more-ex-solutions.rst.txt │ │ │ │ ├── more-ex.rst.txt │ │ │ │ ├── programming.rst.txt │ │ │ │ ├── project.rst.txt │ │ │ │ ├── s7-PLC.rst.txt │ │ │ │ └── style-guide.rst.txt │ │ │ ├── basics │ │ │ │ ├── OS.rst.txt │ │ │ │ ├── basics.rst.txt │ │ │ │ ├── c.rst.txt │ │ │ │ ├── index.rst.txt │ │ │ │ └── programming.rst.txt │ │ │ ├── communication │ │ │ │ ├── index.rst.txt │ │ │ │ └── profidrive.rst.txt │ │ │ ├── index.rst.txt │ │ │ └── s7-Library │ │ │ │ ├── actuators.rst.txt │ │ │ │ ├── conveyors.rst.txt │ │ │ │ ├── drives.rst.txt │ │ │ │ ├── index.rst.txt │ │ │ │ ├── operating.rst.txt │ │ │ │ ├── turntables.rst.txt │ │ │ │ └── utility.rst.txt │ │ ├── Project │ │ │ ├── index.rst.txt │ │ │ └── r.rst.txt │ │ └── Robot │ │ │ └── ABB │ │ │ ├── Robot.rst.txt │ │ │ ├── index.rst.txt │ │ │ └── robot.rst.txt │ ├── exts │ │ ├── CONTRIBUTING.rst.txt │ │ └── README.rst.txt │ └── index.rst.txt ├── _static │ ├── ajax-loader.gif │ ├── basic.css │ ├── comment-bright.png │ ├── comment-close.png │ ├── comment.png │ ├── css │ │ ├── badge_only.css │ │ └── theme.css │ ├── doctools.js │ ├── documentation_options.js │ ├── down-pressed.png │ ├── down.png │ ├── file.png │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── jquery-3.2.1.js │ ├── jquery.js │ ├── js │ │ ├── modernizr.min.js │ │ └── theme.js │ ├── minus.png │ ├── override.css │ ├── plus.png │ ├── pygments.css │ ├── searchtools.js │ ├── underscore-1.3.1.js │ ├── underscore.js │ ├── up-pressed.png │ ├── up.png │ └── websupport.js ├── chapters │ ├── Basics │ │ ├── OS.html │ │ ├── basics.html │ │ ├── c.html │ │ ├── index.html │ │ └── programming.html │ ├── Electrical │ │ ├── index.html │ │ └── r.html │ ├── PLC │ │ ├── CoDeSys │ │ │ ├── codesys.html │ │ │ ├── examples.html │ │ │ ├── iec61131-3.html │ │ │ ├── index.html │ │ │ └── project.html │ │ ├── Siemens │ │ │ ├── badcode.html │ │ │ ├── completeprg.html │ │ │ ├── concepts.html │ │ │ ├── exercises-solutions.html │ │ │ ├── exercises.html │ │ │ ├── fsm.html │ │ │ ├── index.html │ │ │ ├── library.html │ │ │ ├── more-ex-solutions.html │ │ │ ├── more-ex.html │ │ │ ├── programming.html │ │ │ ├── project.html │ │ │ ├── s7-PLC.html │ │ │ └── style-guide.html │ │ ├── basics │ │ │ ├── OS.html │ │ │ ├── basics.html │ │ │ ├── c.html │ │ │ ├── index.html │ │ │ └── programming.html │ │ ├── communication │ │ │ ├── index.html │ │ │ └── profidrive.html │ │ ├── index.html │ │ └── s7-Library │ │ │ ├── actuators.html │ │ │ ├── conveyors.html │ │ │ ├── drives.html │ │ │ ├── index.html │ │ │ ├── operating.html │ │ │ ├── turntables.html │ │ │ └── utility.html │ ├── Project │ │ ├── index.html │ │ └── r.html │ └── Robot │ │ └── ABB │ │ ├── Robot.html │ │ ├── index.html │ │ └── robot.html ├── exts │ ├── CONTRIBUTING.html │ └── README.html ├── genindex.html ├── index.html ├── objects.inv ├── search.html └── searchindex.js └── src ├── _static └── override.css ├── _themes └── sphinx_rtd_theme │ ├── __init__.py │ ├── breadcrumbs.html │ ├── footer.html │ ├── layout.html │ ├── search.html │ ├── searchbox.html │ ├── static │ ├── css │ │ ├── badge_only.css │ │ └── theme.css │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ └── js │ │ ├── modernizr.min.js │ │ └── theme.js │ ├── theme.conf │ └── versions.html ├── chapters ├── Basics │ ├── OS.rst │ ├── basics.rst │ ├── c.rst │ ├── images │ │ ├── TruthTable.jpeg │ │ └── cshellTest.gif │ ├── index.rst │ └── programming.rst ├── Electrical │ ├── index.rst │ └── r.rst ├── PLC │ ├── CoDeSys │ │ ├── codesys.rst │ │ ├── examples.rst │ │ ├── iec61131-3.rst │ │ ├── index.rst │ │ └── project.rst │ ├── Siemens │ │ ├── badcode.rst │ │ ├── completeprg.rst │ │ ├── concepts.rst │ │ ├── exercises-solutions.rst │ │ ├── exercises.rst │ │ ├── fsm.rst │ │ ├── images │ │ │ ├── ClockExample.gif │ │ │ ├── DbCreation.gif │ │ │ ├── DbTest.gif │ │ │ ├── DownloadHW.gif │ │ │ ├── IO_Address.png │ │ │ ├── IpAddress.gif │ │ │ ├── MemoryAddress.png │ │ │ ├── NewProject.gif │ │ │ ├── OBs.gif │ │ │ ├── OnlineDiag.gif │ │ │ ├── S7-1200-2.jpg │ │ │ ├── S7-1200.jpg │ │ │ ├── SystemClock.gif │ │ │ ├── TagOrganization.gif │ │ │ ├── analog_in_scale.png │ │ │ ├── bad_code │ │ │ │ ├── bad_name_states1.png │ │ │ │ ├── bad_name_states2.png │ │ │ │ ├── bad_name_struct.png │ │ │ │ ├── bad_name_tags1.png │ │ │ │ ├── bad_name_tags2.png │ │ │ │ ├── bad_name_tags3.png │ │ │ │ ├── bad_name_tags4.png │ │ │ │ ├── no_direct_assign.png │ │ │ │ ├── shutter_1.png │ │ │ │ ├── shutter_2.png │ │ │ │ ├── table_1.png │ │ │ │ ├── table_2.png │ │ │ │ ├── table_3.png │ │ │ │ ├── too_mcuh_conditions.png │ │ │ │ └── use_structure_udt.png │ │ │ ├── blink.png │ │ │ ├── clock.jpg │ │ │ ├── coil.png │ │ │ ├── coil_not.png │ │ │ ├── complete_prg │ │ │ │ ├── IO_tags.gif │ │ │ │ └── prepare_IO.gif │ │ │ ├── contact.gif │ │ │ ├── contact_coil.png │ │ │ ├── cyl_double.png │ │ │ ├── cylinder_ld │ │ │ │ ├── s1.png │ │ │ │ ├── s2.png │ │ │ │ ├── s3.png │ │ │ │ ├── s4.png │ │ │ │ └── var.png │ │ │ ├── cylinder_var.png │ │ │ ├── drill.png │ │ │ ├── et200sp.jpg │ │ │ ├── f_trig.jpg │ │ │ ├── function.gif │ │ │ ├── if.png │ │ │ ├── lamp_state.jpg │ │ │ ├── library │ │ │ │ ├── addFuncLib.gif │ │ │ │ ├── connection_lib.png │ │ │ │ ├── createLib.gif │ │ │ │ ├── lib.png │ │ │ │ ├── openLib.gif │ │ │ │ └── updateLib.gif │ │ │ ├── mainLogic.png │ │ │ ├── memory.png │ │ │ ├── merker.png │ │ │ ├── navigation.gif │ │ │ ├── plc_lang.png │ │ │ ├── project │ │ │ │ ├── ob1_structure.png │ │ │ │ └── project_org.png │ │ │ ├── r_trig.jpg │ │ │ ├── reset.png │ │ │ ├── s7-1200-AI.png │ │ │ ├── s7-IO.png │ │ │ ├── scl_export.gif │ │ │ ├── scl_import.gif │ │ │ ├── set.png │ │ │ ├── set_coil_err.gif │ │ │ ├── set_coil_err.png │ │ │ ├── set_reset.gif │ │ │ ├── simple_project.png │ │ │ ├── state_LD_bad1.png │ │ │ ├── state_LD_bad2.png │ │ │ ├── state_LD_bad3.png │ │ │ ├── state_machine.jpg │ │ │ ├── state_name.png │ │ │ ├── state_num.png │ │ │ ├── state_output.png │ │ │ ├── state_trans.png │ │ │ ├── statediag.jpg │ │ │ ├── switch.png │ │ │ ├── tags.gif │ │ │ ├── tof.png │ │ │ ├── tofLD.gif │ │ │ ├── ton.png │ │ │ ├── tonLD.gif │ │ │ ├── tonSCL.gif │ │ │ ├── tonr.png │ │ │ ├── trigLD.gif │ │ │ └── trigSCL.gif │ │ ├── index.rst │ │ ├── library.rst │ │ ├── more-ex-solutions.rst │ │ ├── more-ex.rst │ │ ├── programming.rst │ │ ├── project.rst │ │ ├── s7-PLC.rst │ │ └── style-guide.rst │ ├── communication │ │ ├── images │ │ │ └── profidrive │ │ │ │ ├── profidrive_terminologie_zykl_komm_01_e.gif │ │ │ │ ├── profidrive_terminologie_zykl_komm_02_e.gif │ │ │ │ ├── profidrive_terminologie_zykl_komm_03_e.gif │ │ │ │ ├── profidrive_terminologie_zykl_komm_04.gif │ │ │ │ ├── profidrive_terminologie_zykl_komm_05_e.gif │ │ │ │ ├── profidrive_terminologie_zykl_komm_06.gif │ │ │ │ ├── profidrive_terminologie_zykl_komm_07_e.gif │ │ │ │ └── profidrive_terminologie_zykl_komm_08_e.gif │ │ ├── index.rst │ │ └── profidrive.rst │ ├── index.rst │ └── s7-Library │ │ ├── actuators.rst │ │ ├── conveyors.rst │ │ ├── drives.rst │ │ ├── index.rst │ │ ├── operating.rst │ │ ├── turntables.rst │ │ └── utility.rst ├── Project │ ├── index.rst │ └── r.rst └── Robot │ └── ABB │ ├── images │ ├── ModifyRobTarget.gif │ ├── abb_controlcabinet.jpg │ ├── irb2600_12_185.png │ ├── jogging.png │ ├── key.png │ ├── pointers.png │ └── teachpendant.png │ ├── index.rst │ └── robot.rst ├── code ├── Exercises │ ├── ABB │ │ └── MainModule.mod │ ├── README.md │ └── Siemens │ │ ├── Ex01 │ │ ├── Ex01.zip │ │ └── README.md │ │ ├── Ex02 │ │ ├── Ex02.zip │ │ └── README.md │ │ ├── Exercises │ │ ├── Exercises.zip │ │ ├── README.md │ │ └── scl │ │ │ ├── Blink.scl │ │ │ ├── FB_Cylinder_SCL.scl │ │ │ └── LineEquation.scl │ │ └── README.md ├── Libraries │ ├── CoDeSys │ │ └── README.md │ ├── README.md │ └── s7-Library │ │ └── README.md ├── Projects │ ├── CoDeSys │ │ └── README.md │ ├── README.md │ └── Siemens │ │ └── README.md └── README.md ├── conf.py ├── exts ├── CONTRIBUTING.rst ├── LICENSE ├── README.rst ├── requirements.txt ├── setup.cfg ├── setup.py ├── sphinxcontrib │ ├── __init__.py │ ├── __pycache__ │ │ ├── __init__.cpython-36.pyc │ │ └── video.cpython-36.pyc │ └── video.py ├── test-requirements.txt ├── tests │ └── conftest.py └── tox.ini └── index.rst /Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | SOURCEDIR = source 8 | BUILDDIR = build 9 | 10 | # Put it first so that "make" without argument is like "make help". 11 | help: 12 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 13 | 14 | .PHONY: help Makefile 15 | 16 | # Catch-all target: route all unknown targets to Sphinx using the new 17 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 18 | %: Makefile 19 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | Automation Notes 3 | ================= 4 | 5 | https://abedgnu.github.io/Automation-Notes/ 6 | 7 | https://automation-notes.readthedocs.io/ 8 | 9 | PLC 10 | ---- 11 | Siemens S7-1200 and S7-1500 12 | 13 | TODO 14 | ==== 15 | 16 | Robot 17 | ------ 18 | 19 | - ABB Robot 20 | - Deburring programs 21 | 22 | HMI 23 | ---- 24 | - WinCC 25 | - Visual C#, Qt5 26 | 27 | Programming 28 | ------------ 29 | - C++ 30 | - C# 31 | - Python 32 | - Java 33 | 34 | Vision 35 | ------- 36 | 37 | Math 38 | ----- 39 | - Matrix transformation for vision and robotics 40 | 41 | -------------------------------------------------------------------------------- /compile.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | sphinx-build -b html src docs 4 | -------------------------------------------------------------------------------- /docs/.buildinfo: -------------------------------------------------------------------------------- 1 | # Sphinx build info version 1 2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. 3 | config: 7e92c3f0eb97f28ee42fa454d129c31c 4 | tags: 645f666f9bcd5a90fca523b33c5a78b7 5 | -------------------------------------------------------------------------------- /docs/.doctrees/chapters/Basics/OS.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/Basics/OS.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/Basics/basics.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/Basics/basics.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/Basics/c.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/Basics/c.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/Basics/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/Basics/index.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/Basics/programming.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/Basics/programming.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/Electrical/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/Electrical/index.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/Electrical/r.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/Electrical/r.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/CoDeSys/codesys.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/CoDeSys/codesys.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/CoDeSys/examples.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/CoDeSys/examples.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/CoDeSys/iec61131-3.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/CoDeSys/iec61131-3.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/CoDeSys/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/CoDeSys/index.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/CoDeSys/project.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/CoDeSys/project.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/badcode.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/badcode.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/completeprg.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/completeprg.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/concepts.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/concepts.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/exercises-solutions.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/exercises-solutions.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/exercises.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/exercises.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/fsm.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/fsm.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/index.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/library.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/library.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/more-ex-solutions.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/more-ex-solutions.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/more-ex.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/more-ex.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/programming.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/programming.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/project.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/project.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/s7-PLC.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/s7-PLC.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/Siemens/style-guide.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/Siemens/style-guide.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/basics/OS.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/basics/OS.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/basics/basics.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/basics/basics.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/basics/c.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/basics/c.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/basics/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/basics/index.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/basics/programming.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/basics/programming.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/communication/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/communication/index.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/communication/profidrive.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/communication/profidrive.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/index.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/s7-Library/actuators.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/s7-Library/actuators.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/s7-Library/conveyors.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/s7-Library/conveyors.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/s7-Library/drives.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/s7-Library/drives.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/s7-Library/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/s7-Library/index.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/s7-Library/operating.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/s7-Library/operating.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/s7-Library/turntables.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/s7-Library/turntables.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/PLC/s7-Library/utility.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/PLC/s7-Library/utility.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/Project/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/Project/index.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/Project/r.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/Project/r.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/Robot/ABB/Robot.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/Robot/ABB/Robot.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/Robot/ABB/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/Robot/ABB/index.doctree -------------------------------------------------------------------------------- /docs/.doctrees/chapters/Robot/ABB/robot.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/chapters/Robot/ABB/robot.doctree -------------------------------------------------------------------------------- /docs/.doctrees/environment.pickle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/environment.pickle -------------------------------------------------------------------------------- /docs/.doctrees/exts/CONTRIBUTING.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/exts/CONTRIBUTING.doctree -------------------------------------------------------------------------------- /docs/.doctrees/exts/README.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/exts/README.doctree -------------------------------------------------------------------------------- /docs/.doctrees/index.doctree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.doctrees/index.doctree -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/.nojekyll -------------------------------------------------------------------------------- /docs/_downloads/203ffabaabdf1bde647c388b17dfab90/FB_Cylinder_SCL.scl: -------------------------------------------------------------------------------- 1 | FUNCTION_BLOCK "FB_Cylinder" 2 | { S7_Optimized_Access := 'TRUE' } 3 | VERSION : 0.1 4 | VAR_INPUT 5 | iOpened : Bool; // sensor cylinder opened 6 | iClosed : Bool; // sensor cylinder closed 7 | iReqOpen : Bool; // Open request (from HMI, or push button, or Robot,.....) 8 | iReqClose : Bool; // Close request (from HMI, or push button, or Robot,.....) 9 | iCondOk : Bool; // Condition ok (Emergency, Air, doors,....) 10 | iTimeOpen : Time := T#10s; // Time for openning time-out 11 | iTimeClose : Time := T#10s; // Time for closing time-out 12 | END_VAR 13 | 14 | VAR_OUTPUT 15 | oCmdOpen : Bool; // output valve : Command close cylinder 16 | oCmdClose : Bool; // output valve : Command open cylinder 17 | oActState : Int; // Acutal state 18 | oPrevState : Int; // Previous stae 19 | END_VAR 20 | 21 | VAR 22 | timeOutOpenning {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // openning timer 23 | timeOutClosing {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // closing timer 24 | END_VAR 25 | 26 | VAR CONSTANT 27 | sIDLE : Int := 1; // Idle State 28 | sALARM : Int := 2; 29 | sREADY : Int := 10; 30 | sCLOSED : Int := 20; 31 | sOPENING : Int := 30; // openning: during motion 32 | sOPENED : Int := 40; // openned: already opened 33 | sCLOSING : Int := 50; 34 | END_VAR 35 | 36 | 37 | BEGIN 38 | // Cylinder state machine 39 | // best way to implement a state machine is using CASE statment 40 | // 41 | // Not complete 42 | 43 | #timeOutOpenning(IN:= (#oActState = #sOPENING), 44 | PT:=#iTimeOpen); 45 | 46 | #timeOutClosing(IN:=#oActState = #sCLOSING, 47 | PT:=#iTimeClose); 48 | 49 | IF #timeOutClosing.Q OR #timeOutOpenning.Q OR #iCondOk=FALSE THEN 50 | #oActState := #sALARM; 51 | END_IF; 52 | 53 | CASE #oActState OF 54 | #sIDLE: 55 | #oCmdClose := FALSE; 56 | #oCmdOpen := FALSE; 57 | IF #iOpened THEN 58 | #oPrevState := #oActState; 59 | #oActState := #sOPENED; 60 | ELSIF #iClosed THEN 61 | #oPrevState := #oActState; 62 | #oActState := #sCLOSED; 63 | ELSE 64 | #oPrevState := #oActState; 65 | #oActState := #sALARM; 66 | END_IF; 67 | #sALARM: 68 | IF #iReqClose THEN 69 | #oPrevState := #oActState; 70 | #oActState := #sCLOSING; 71 | ELSIF #iReqOpen THEN 72 | #oPrevState := #oActState; 73 | #oActState := #sOPENING; 74 | END_IF; 75 | 76 | #sCLOSED: 77 | IF #iReqOpen THEN 78 | #oPrevState := #oActState; 79 | #oActState := #sOPENING; 80 | END_IF; 81 | sOPENING: 82 | #oCmdOpen:=TRUE; 83 | #oCmdClose := FALSE; 84 | IF #iOpened THEN 85 | #oPrevState := #oActState; 86 | #oActState := #sOPENED; 87 | END_IF; 88 | sOPENED: 89 | IF #iReqClose THEN 90 | #oPrevState := #oActState; 91 | #oActState := #sCLOSING; 92 | END_IF; 93 | sCLOSING: 94 | #oCmdOpen:=FALSE; 95 | #oCmdClose := TRUE; 96 | IF #iClosed THEN 97 | #oPrevState := #oActState; 98 | #oActState := #sCLOSED; 99 | END_IF; 100 | ELSE // Statement section ELSE 101 | #oPrevState := #sIDLE; 102 | #oActState:= #sIDLE; 103 | END_CASE; 104 | 105 | END_FUNCTION_BLOCK 106 | 107 | -------------------------------------------------------------------------------- /docs/_downloads/7088bc605afae40edc4993f667b773d0/Ex01.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_downloads/7088bc605afae40edc4993f667b773d0/Ex01.zip -------------------------------------------------------------------------------- /docs/_downloads/Ex01.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_downloads/Ex01.zip -------------------------------------------------------------------------------- /docs/_downloads/Exercises.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_downloads/Exercises.zip -------------------------------------------------------------------------------- /docs/_downloads/FB_Cylinder_SCL.scl: -------------------------------------------------------------------------------- 1 | FUNCTION_BLOCK "FB_Cylinder" 2 | { S7_Optimized_Access := 'TRUE' } 3 | VERSION : 0.1 4 | VAR_INPUT 5 | iOpened : Bool; // sensor cylinder opened 6 | iClosed : Bool; // sensor cylinder closed 7 | iReqOpen : Bool; // Open request (from HMI, or push button, or Robot,.....) 8 | iReqClose : Bool; // Close request (from HMI, or push button, or Robot,.....) 9 | iCondOk : Bool; // Condition ok (Emergency, Air, doors,....) 10 | iTimeOpen : Time := T#10s; // Time for openning time-out 11 | iTimeClose : Time := T#10s; // Time for closing time-out 12 | END_VAR 13 | 14 | VAR_OUTPUT 15 | oCmdOpen : Bool; // output valve : Command close cylinder 16 | oCmdClose : Bool; // output valve : Command open cylinder 17 | oActState : Int; // Acutal state 18 | oPrevState : Int; // Previous stae 19 | END_VAR 20 | 21 | VAR 22 | timeOutOpenning {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // openning timer 23 | timeOutClosing {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // closing timer 24 | END_VAR 25 | 26 | VAR CONSTANT 27 | sIDLE : Int := 1; // Idle State 28 | sALARM : Int := 2; 29 | sREADY : Int := 10; 30 | sCLOSED : Int := 20; 31 | sOPENING : Int := 30; // openning: during motion 32 | sOPENED : Int := 40; // openned: already opened 33 | sCLOSING : Int := 50; 34 | END_VAR 35 | 36 | 37 | BEGIN 38 | // Cylinder state machine 39 | // best way to implement a state machine is using CASE statment 40 | // 41 | // Not complete 42 | 43 | #timeOutOpenning(IN:= (#oActState = #sOPENING), 44 | PT:=#iTimeOpen); 45 | 46 | #timeOutClosing(IN:=#oActState = #sCLOSING, 47 | PT:=#iTimeClose); 48 | 49 | IF #timeOutClosing.Q OR #timeOutOpenning.Q OR #iCondOk=FALSE THEN 50 | #oActState := #sALARM; 51 | END_IF; 52 | 53 | CASE #oActState OF 54 | #sIDLE: 55 | #oCmdClose := FALSE; 56 | #oCmdOpen := FALSE; 57 | IF #iOpened THEN 58 | #oPrevState := #oActState; 59 | #oActState := #sOPENED; 60 | ELSIF #iClosed THEN 61 | #oPrevState := #oActState; 62 | #oActState := #sCLOSED; 63 | ELSE 64 | #oPrevState := #oActState; 65 | #oActState := #sALARM; 66 | END_IF; 67 | #sALARM: 68 | IF #iReqClose THEN 69 | #oPrevState := #oActState; 70 | #oActState := #sCLOSING; 71 | ELSIF #iReqOpen THEN 72 | #oPrevState := #oActState; 73 | #oActState := #sOPENING; 74 | END_IF; 75 | 76 | #sCLOSED: 77 | IF #iReqOpen THEN 78 | #oPrevState := #oActState; 79 | #oActState := #sOPENING; 80 | END_IF; 81 | sOPENING: 82 | #oCmdOpen:=TRUE; 83 | #oCmdClose := FALSE; 84 | IF #iOpened THEN 85 | #oPrevState := #oActState; 86 | #oActState := #sOPENED; 87 | END_IF; 88 | sOPENED: 89 | IF #iReqClose THEN 90 | #oPrevState := #oActState; 91 | #oActState := #sCLOSING; 92 | END_IF; 93 | sCLOSING: 94 | #oCmdOpen:=FALSE; 95 | #oCmdClose := TRUE; 96 | IF #iClosed THEN 97 | #oPrevState := #oActState; 98 | #oActState := #sCLOSED; 99 | END_IF; 100 | ELSE // Statement section ELSE 101 | #oPrevState := #sIDLE; 102 | #oActState:= #sIDLE; 103 | END_CASE; 104 | 105 | END_FUNCTION_BLOCK 106 | 107 | -------------------------------------------------------------------------------- /docs/_downloads/f5ae24b546423b39222bbe933aea3148/Exercises.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_downloads/f5ae24b546423b39222bbe933aea3148/Exercises.zip -------------------------------------------------------------------------------- /docs/_images/ClockExample.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/ClockExample.gif -------------------------------------------------------------------------------- /docs/_images/DbCreation.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/DbCreation.gif -------------------------------------------------------------------------------- /docs/_images/DbTest.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/DbTest.gif -------------------------------------------------------------------------------- /docs/_images/DownloadHW.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/DownloadHW.gif -------------------------------------------------------------------------------- /docs/_images/IO_tags.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/IO_tags.gif -------------------------------------------------------------------------------- /docs/_images/IpAddress.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/IpAddress.gif -------------------------------------------------------------------------------- /docs/_images/MemoryAddress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/MemoryAddress.png -------------------------------------------------------------------------------- /docs/_images/ModifyRobTarget.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/ModifyRobTarget.gif -------------------------------------------------------------------------------- /docs/_images/NewProject.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/NewProject.gif -------------------------------------------------------------------------------- /docs/_images/OBs.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/OBs.gif -------------------------------------------------------------------------------- /docs/_images/OnlineDiag.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/OnlineDiag.gif -------------------------------------------------------------------------------- /docs/_images/S7-1200-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/S7-1200-2.jpg -------------------------------------------------------------------------------- /docs/_images/S7-1200.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/S7-1200.jpg -------------------------------------------------------------------------------- /docs/_images/SystemClock.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/SystemClock.gif -------------------------------------------------------------------------------- /docs/_images/TagOrganization.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/TagOrganization.gif -------------------------------------------------------------------------------- /docs/_images/TruthTable.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/TruthTable.jpeg -------------------------------------------------------------------------------- /docs/_images/abb_controlcabinet.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/abb_controlcabinet.jpg -------------------------------------------------------------------------------- /docs/_images/addFuncLib.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/addFuncLib.gif -------------------------------------------------------------------------------- /docs/_images/analog_in_scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/analog_in_scale.png -------------------------------------------------------------------------------- /docs/_images/bad_name_states1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/bad_name_states1.png -------------------------------------------------------------------------------- /docs/_images/bad_name_states2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/bad_name_states2.png -------------------------------------------------------------------------------- /docs/_images/bad_name_struct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/bad_name_struct.png -------------------------------------------------------------------------------- /docs/_images/bad_name_tags1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/bad_name_tags1.png -------------------------------------------------------------------------------- /docs/_images/bad_name_tags2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/bad_name_tags2.png -------------------------------------------------------------------------------- /docs/_images/bad_name_tags3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/bad_name_tags3.png -------------------------------------------------------------------------------- /docs/_images/bad_name_tags4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/bad_name_tags4.png -------------------------------------------------------------------------------- /docs/_images/blink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/blink.png -------------------------------------------------------------------------------- /docs/_images/clock.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/clock.jpg -------------------------------------------------------------------------------- /docs/_images/coil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/coil.png -------------------------------------------------------------------------------- /docs/_images/coil_not.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/coil_not.png -------------------------------------------------------------------------------- /docs/_images/connection_lib.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/connection_lib.png -------------------------------------------------------------------------------- /docs/_images/contact.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/contact.gif -------------------------------------------------------------------------------- /docs/_images/contact_coil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/contact_coil.png -------------------------------------------------------------------------------- /docs/_images/createLib.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/createLib.gif -------------------------------------------------------------------------------- /docs/_images/cshellTest.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/cshellTest.gif -------------------------------------------------------------------------------- /docs/_images/cyl_double.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/cyl_double.png -------------------------------------------------------------------------------- /docs/_images/cylinder_var.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/cylinder_var.png -------------------------------------------------------------------------------- /docs/_images/drill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/drill.png -------------------------------------------------------------------------------- /docs/_images/et200sp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/et200sp.jpg -------------------------------------------------------------------------------- /docs/_images/f_trig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/f_trig.jpg -------------------------------------------------------------------------------- /docs/_images/function.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/function.gif -------------------------------------------------------------------------------- /docs/_images/if.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/if.png -------------------------------------------------------------------------------- /docs/_images/irb2600_12_185.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/irb2600_12_185.png -------------------------------------------------------------------------------- /docs/_images/jogging.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/jogging.png -------------------------------------------------------------------------------- /docs/_images/key.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/key.png -------------------------------------------------------------------------------- /docs/_images/lamp_state.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/lamp_state.jpg -------------------------------------------------------------------------------- /docs/_images/lib.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/lib.png -------------------------------------------------------------------------------- /docs/_images/mainLogic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/mainLogic.png -------------------------------------------------------------------------------- /docs/_images/merker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/merker.png -------------------------------------------------------------------------------- /docs/_images/navigation.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/navigation.gif -------------------------------------------------------------------------------- /docs/_images/no_direct_assign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/no_direct_assign.png -------------------------------------------------------------------------------- /docs/_images/ob1_structure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/ob1_structure.png -------------------------------------------------------------------------------- /docs/_images/openLib.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/openLib.gif -------------------------------------------------------------------------------- /docs/_images/plc_lang.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/plc_lang.png -------------------------------------------------------------------------------- /docs/_images/pointers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/pointers.png -------------------------------------------------------------------------------- /docs/_images/prepare_IO.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/prepare_IO.gif -------------------------------------------------------------------------------- /docs/_images/project_org.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/project_org.png -------------------------------------------------------------------------------- /docs/_images/r_trig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/r_trig.jpg -------------------------------------------------------------------------------- /docs/_images/reset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/reset.png -------------------------------------------------------------------------------- /docs/_images/s1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/s1.png -------------------------------------------------------------------------------- /docs/_images/s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/s2.png -------------------------------------------------------------------------------- /docs/_images/s3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/s3.png -------------------------------------------------------------------------------- /docs/_images/s4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/s4.png -------------------------------------------------------------------------------- /docs/_images/s7-1200-AI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/s7-1200-AI.png -------------------------------------------------------------------------------- /docs/_images/s7-IO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/s7-IO.png -------------------------------------------------------------------------------- /docs/_images/scl_export.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/scl_export.gif -------------------------------------------------------------------------------- /docs/_images/scl_import.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/scl_import.gif -------------------------------------------------------------------------------- /docs/_images/set.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/set.png -------------------------------------------------------------------------------- /docs/_images/set_coil_err.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/set_coil_err.gif -------------------------------------------------------------------------------- /docs/_images/set_coil_err.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/set_coil_err.png -------------------------------------------------------------------------------- /docs/_images/set_reset.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/set_reset.gif -------------------------------------------------------------------------------- /docs/_images/shutter_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/shutter_1.png -------------------------------------------------------------------------------- /docs/_images/shutter_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/shutter_2.png -------------------------------------------------------------------------------- /docs/_images/simple_project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/simple_project.png -------------------------------------------------------------------------------- /docs/_images/state_LD_bad1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/state_LD_bad1.png -------------------------------------------------------------------------------- /docs/_images/state_LD_bad2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/state_LD_bad2.png -------------------------------------------------------------------------------- /docs/_images/state_LD_bad3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/state_LD_bad3.png -------------------------------------------------------------------------------- /docs/_images/state_machine.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/state_machine.jpg -------------------------------------------------------------------------------- /docs/_images/state_name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/state_name.png -------------------------------------------------------------------------------- /docs/_images/state_num.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/state_num.png -------------------------------------------------------------------------------- /docs/_images/state_output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/state_output.png -------------------------------------------------------------------------------- /docs/_images/state_trans.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/state_trans.png -------------------------------------------------------------------------------- /docs/_images/statediag.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/statediag.jpg -------------------------------------------------------------------------------- /docs/_images/switch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/switch.png -------------------------------------------------------------------------------- /docs/_images/table_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/table_1.png -------------------------------------------------------------------------------- /docs/_images/table_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/table_2.png -------------------------------------------------------------------------------- /docs/_images/table_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/table_3.png -------------------------------------------------------------------------------- /docs/_images/teachpendant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/teachpendant.png -------------------------------------------------------------------------------- /docs/_images/tof.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/tof.png -------------------------------------------------------------------------------- /docs/_images/tofLD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/tofLD.gif -------------------------------------------------------------------------------- /docs/_images/ton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/ton.png -------------------------------------------------------------------------------- /docs/_images/tonLD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/tonLD.gif -------------------------------------------------------------------------------- /docs/_images/tonSCL.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/tonSCL.gif -------------------------------------------------------------------------------- /docs/_images/tonr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/tonr.png -------------------------------------------------------------------------------- /docs/_images/too_mcuh_conditions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/too_mcuh_conditions.png -------------------------------------------------------------------------------- /docs/_images/trigLD.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/trigLD.gif -------------------------------------------------------------------------------- /docs/_images/trigSCL.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/trigSCL.gif -------------------------------------------------------------------------------- /docs/_images/updateLib.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/updateLib.gif -------------------------------------------------------------------------------- /docs/_images/use_structure_udt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/use_structure_udt.png -------------------------------------------------------------------------------- /docs/_images/var.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_images/var.png -------------------------------------------------------------------------------- /docs/_sources/chapters/Basics/OS.rst.txt: -------------------------------------------------------------------------------- 1 | *********************************** 2 | Operating systems and firmwares 3 | *********************************** 4 | -------------------------------------------------------------------------------- /docs/_sources/chapters/Basics/basics.rst.txt: -------------------------------------------------------------------------------- 1 | ******************* 2 | Basics 3 | ******************* 4 | 5 | In any automatic industrial line the following are present: 6 | - Sensors 7 | - Actuators 8 | - Controller 9 | - SCADA 10 | 11 | Other components maybe are available, but the first 3 components are the heart of automation. 12 | 13 | This system can be compared to human beings. Usually a human have one actuator, one controller and five senosrs (actually the human being sensors are more than 5). 14 | This system acquire information from outside via sensors (eye, nose, skin, ears, tongue,...). The brain, controller, elaborate these information and send commands to muscles (actuators). 15 | 16 | Sensors and actuators 17 | ====================== 18 | Industrial Sensors are those devices that acquire information from the field. Typically the signals are digital (e.g. switch, proximity sensor) or analog (e.g. height sensors, pressure gauge). Also a camera (vision system) can be classified as a sensor. 19 | 20 | Actuators are mainly driven by electric, pneumatic and oleo-dynamic power. These actuators are mainly motors and valves. 21 | 22 | Programmable logic controller: PLC 23 | =================================== 24 | In this era, hard wiring is not any more necessary. Sensors and actuators can be interfaced to a controller, via cables, fieldbuses or any other communication protocol. PLC and microcontroller based solutions are the main controllers in industrial fields. PLC are programmed Usually in Ladder or in ST. Microcontrollers are programmed in C language. At the heart of a PLC, ther is a microcontroller, where is present a firmware to facilitate to programming. 25 | -------------------------------------------------------------------------------- /docs/_sources/chapters/Basics/c.rst.txt: -------------------------------------------------------------------------------- 1 | ******************* 2 | C language 3 | ******************* 4 | 5 | C++ shell 6 | ------------ 7 | C language is chosen for different reasons. It is the king of all programming languages. 8 | 9 | In order to try the examples, you can use the online shell: http://www.cpp.sh/. These shell is mainly a C++ compiler. Since C++ is compatible with C, we will use it in order to avoid you to install the compiler on your computer. 10 | 11 | .. _figcshellTest: 12 | .. figure:: images/cshellTest.gif 13 | :align: center 14 | :figwidth: 600px 15 | 16 | C++ online shell 17 | 18 | The following code is the main function, the entry point of any C program. For now we are interested in the ``main`` function. 19 | 20 | .. code-block:: C 21 | :caption: C program 22 | :name: lstC 23 | 24 | #include 25 | int main() 26 | { 27 | return 0; 28 | } 29 | 30 | Basic syntax 31 | ^^^^^^^^^^^^^^ 32 | Any programming language borrow some concepts from mathematics: operations, variables, values and functions. 33 | 34 | Operations are: 35 | - Addition 36 | - Subtraction 37 | - Multiplications 38 | - Division 39 | 40 | Values can be: 41 | - Integers: 1, 2, 50, -10, .... 42 | - Real numbers: 0.2 , 1.5 , 2.5 43 | - 44 | 45 | Variables are like in mathematics, can hold numeric and non numeric values. 46 | 47 | In C and other languages (not all), we must declare a variable before using it. 48 | 49 | .. code-block:: C 50 | :caption: C program 51 | :name: lstsum 52 | 53 | #include 54 | int main() 55 | { 56 | int a=10; 57 | int sum; 58 | 59 | sum = a+ 12; 60 | 61 | printf("the sum = %d",sum); 62 | 63 | return 0; 64 | } 65 | 66 | C language have different types of numeric variables: 67 | - int 68 | - double 69 | - float 70 | 71 | Flow control 72 | ^^^^^^^^^^^^^^ 73 | 74 | The execution of a program is usually sequential, It begin from the first instruction until the last one. Sometime we need to change the flow of execution. In C we have different contructs for flow control: 75 | 76 | - if else 77 | - switch case 78 | - for 79 | - while 80 | 81 | Following a simple program than compare 2 variables. 82 | 83 | .. code-block:: C 84 | :caption: If statement 85 | :name: lstif 86 | 87 | #include 88 | int main() 89 | { 90 | int a=10; 91 | int b=30; 92 | 93 | if (a == b) 94 | { 95 | printf("a is equal to b"); 96 | } 97 | else if ( a > b ) 98 | { 99 | printf("a is bigger than b"); 100 | } 101 | else 102 | { 103 | printf("a is smaller than b"); 104 | } 105 | 106 | return 0; 107 | } 108 | 109 | An equivalent to ``if`` is the ``switch``. 110 | 111 | .. code-block:: C 112 | :caption: Switch statement 113 | :name: lstswitch 114 | 115 | #include 116 | int main() 117 | { 118 | int a=10; 119 | 120 | switch(a){ 121 | case 0: 122 | printf("a is %d", 0); 123 | break; 124 | case 10: 125 | printf("a is %d", 10); 126 | break; 127 | default: 128 | printf("Value not present"); 129 | 130 | } 131 | return 0; 132 | } 133 | 134 | Functions 135 | ^^^^^^^^^^ 136 | Functions are useful to group instructions that can be used more than one time and to make the program more readable. In the follwing example, a function called ``max`` is created. 137 | 138 | .. code-block:: C 139 | :caption: Fucntion 140 | :name: lstfunc 141 | 142 | #include 143 | 144 | int max(int a, int b) 145 | { 146 | if (a> b) 147 | return a; 148 | else 149 | return b; 150 | } 151 | 152 | int main() 153 | { 154 | int num =10, num2=20; 155 | 156 | int m; 157 | 158 | m = max(num , num2); 159 | printf("the maximum is %d", m); 160 | 161 | return 0; 162 | } 163 | -------------------------------------------------------------------------------- /docs/_sources/chapters/Basics/index.rst.txt: -------------------------------------------------------------------------------- 1 | Basics 2 | ========= 3 | 4 | .. warning:: Work in progress 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | basics 10 | programming 11 | -------------------------------------------------------------------------------- /docs/_sources/chapters/Basics/programming.rst.txt: -------------------------------------------------------------------------------- 1 | ******************* 2 | Programming 3 | ******************* 4 | 5 | Programming principles 6 | ======================= 7 | 8 | Boolean algebra 9 | ----------------- 10 | Any CPU or microcontroller basically understand only logic operations. Main logic operations are ``AND``, ``OR``, and ``NOT``. The following table resume the operations of these operators. 11 | 12 | .. _figTruthTable: 13 | .. figure:: images/TruthTable.jpeg 14 | :align: center 15 | :figwidth: 400px 16 | 17 | Truth table and logic gates 18 | 19 | In PLC ladder language is based on logic operations. More on this argument later. 20 | -------------------------------------------------------------------------------- /docs/_sources/chapters/Electrical/index.rst.txt: -------------------------------------------------------------------------------- 1 | Eelctrical Drawing 2 | =================== 3 | 4 | .. warning:: Work in progress 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | r 10 | -------------------------------------------------------------------------------- /docs/_sources/chapters/Electrical/r.rst.txt: -------------------------------------------------------------------------------- 1 | *********************************** 2 | r 3 | *********************************** 4 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/CoDeSys/codesys.rst.txt: -------------------------------------------------------------------------------- 1 | *********************************** 2 | CoDeSys based IDE 3 | *********************************** 4 | 5 | CoDeSys is an IDE to program PLCs that are IEC61131-3 complaint. Beckhoff Twincat, Wago, Schneider, ABB and others base their IDE on CoDeSys. While Twincat add functionalities and integrate CoDeSys in a Visual Studio console, ABB and Schneider IDE looks like the original CoDeSys. 6 | 7 | The following examples can be used with any IDE based on CoDeSys. They are all free of charge. They all have a simulator free of charge, exept ABB. 8 | 9 | The use of the IDE is very intuitive respect to TIA portal. It is a very powerfull IDE especially when programming and debugging ``ST`` languagge. For programming in ``LD`` TIA portal is more easy and fast to use. 10 | 11 | CoDeSys first steps 12 | ==================== 13 | 14 | Create a new project and write the following code:: 15 | 16 | PROGRAM PLC_PRG 17 | VAR 18 | counter: INT:=0; 19 | count: BOOL :=FALSE; 20 | END_VAR 21 | 22 | IF count THEN 23 | counter:= counter+1; 24 | END_IF 25 | 26 | The following video show how to create a new project, write a small program and simulate it. 27 | 28 | .. raw:: html 29 | 30 | 31 | 32 | 33 | Visualization and HMI 34 | ======================= 35 | 36 | CoDeSys Raspberry Pi 37 | ===================== 38 | 39 | CoDeSys Ladder digram 40 | ======================= 41 | 42 | 43 | Twincat 3 44 | ============ 45 | 46 | .. raw:: html 47 | 48 | 49 | 50 | .. raw:: html 51 | 52 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/CoDeSys/examples.rst.txt: -------------------------------------------------------------------------------- 1 | *********************************** 2 | Examples 3 | *********************************** 4 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/CoDeSys/iec61131-3.rst.txt: -------------------------------------------------------------------------------- 1 | *********************************** 2 | IEC 61131-3 3 | *********************************** 4 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/CoDeSys/index.rst.txt: -------------------------------------------------------------------------------- 1 | CoDeSys 2 | ========= 3 | 4 | .. warning:: Work in progress 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | codesys 10 | examples 11 | project 12 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/CoDeSys/project.rst.txt: -------------------------------------------------------------------------------- 1 | *********************************** 2 | Real world project 3 | *********************************** 4 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/Siemens/completeprg.rst.txt: -------------------------------------------------------------------------------- 1 | ******************* 2 | Complete project 3 | ******************* 4 | 5 | Layout and process flow 6 | ======================== 7 | 8 | Electrical Drawing 9 | =================== 10 | 11 | IO tags from electrical drawing 12 | ================================== 13 | 14 | .. figure:: images/complete_prg/IO_tags.gif 15 | :align: center 16 | :figwidth: 600px 17 | 18 | .. figure:: images/complete_prg/prepare_IO.gif 19 | :align: center 20 | :figwidth: 600px 21 | 22 | PLC-Robot Interface 23 | ===================== 24 | 25 | Program structure 26 | =================== 27 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/Siemens/concepts.rst.txt: -------------------------------------------------------------------------------- 1 | ********************* 2 | Fundamental concepts 3 | ********************* 4 | 5 | Memory Overview 6 | ================= 7 | 8 | .. _figMemoryAddress: 9 | .. figure:: images/MemoryAddress.png 10 | :align: center 11 | :figwidth: 600px 12 | 13 | Memory layout and addressing 14 | 15 | Input and Output 16 | ----------------- 17 | 18 | .. _figS7IO: 19 | .. figure:: images/s7-IO.png 20 | :align: center 21 | :figwidth: 600px 22 | 23 | S7-1200 integrated IO mapping 24 | 25 | .. _figTagOrg: 26 | .. figure:: images/TagOrganization.gif 27 | :align: center 28 | :figwidth: 600px 29 | 30 | PLC tags organization 31 | 32 | Merker 33 | ------- 34 | .. _figMerker: 35 | .. figure:: images/merker.png 36 | :align: center 37 | :figwidth: 600px 38 | 39 | Merker 40 | 41 | Data Block 42 | ------------ 43 | .. _figDbCreation: 44 | .. figure:: images/DbCreation.gif 45 | :align: center 46 | :figwidth: 600px 47 | 48 | Create new Data Block 49 | 50 | .. _figDbTest: 51 | .. figure:: images/DbTest.gif 52 | :align: center 53 | :figwidth: 600px 54 | 55 | Using DB variables 56 | 57 | POU: Program Organization Unit 58 | =============================== 59 | 60 | Organization Block 61 | ------------------- 62 | .. _figOBs: 63 | .. figure:: images/OBs.gif 64 | :align: center 65 | :figwidth: 600px 66 | 67 | Organization Blocks 68 | 69 | Function 70 | --------- 71 | .. _figFunc: 72 | .. figure:: images/function.gif 73 | :align: center 74 | :figwidth: 600px 75 | 76 | Create and use a function as code organization 77 | 78 | Function Block 79 | --------------- 80 | 81 | 82 | PLC programming languages 83 | ========================== 84 | The standard IEC 61131-3 define 5 programming languages for PLC: 85 | - IL: Instruction List (STL in Step7) 86 | - LD: Ladder Diagram (LAD in step7) 87 | - ST: Strucured Text (SCL in Siemens) 88 | - SFC : Sequential Fucntion Chart 89 | - FBD: Fucntion Block Diagram 90 | 91 | .. figure:: images/plc_lang.png 92 | :align: center 93 | :figwidth: 400px 94 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/Siemens/exercises.rst.txt: -------------------------------------------------------------------------------- 1 | ********************* 2 | Exercises 3 | ********************* 4 | 5 | .. note:: 6 | 7 | We mean by function either FC or FB. Remember that an ``FC`` is a function without memory, it have only ``temporary`` variables. 8 | An ``FB`` is a function with memory, it have ``static`` variables. 9 | 10 | Line equation 11 | ============== 12 | Analog signal need to be scaled to a physical unit in order to be understood. Usually analog sensors and actuators are modeled as linear systems. 13 | Write a function that map the value of an analog signal to a physical one (or from physical signal to analog one). 14 | For example, to map voltage to temperature, or to map current to pressure value, or to map a speed to voltage. 15 | 16 | 17 | Rising edge 18 | ============= 19 | Write a function the detect the transition of a signal from 0 to 1. This function have the same functioning of the standard one ``R_TRIG``. 20 | 21 | 22 | Falling Edge 23 | ============= 24 | Write a function the detect the transition of a signal from 1 to 0. This function have the same functioning of the standard one ``F_TRIG``. 25 | 26 | Retentive TON 27 | ============== 28 | Write a function that count the time if a signal is 1. If the signal go to zero the function should stop counting. If the signal return to one, the function should continue to count from the previous value. Refer to the following timing diagram. 29 | 30 | .. figure:: images/tonr.png 31 | :align: center 32 | :figwidth: 400px 33 | 34 | Blink 35 | ======= 36 | Write a function that toggle an output, with a determined frequency. The duty cycle of the signal can be tuned. 37 | Remember the duty cycle is the time (or percentage) of the time when the signal is high. In this exercise use time not percentage. 38 | 39 | .. figure:: images/blink.png 40 | :align: center 41 | :figwidth: 400px 42 | 43 | Preset times tHigh (on) and tLow (off) can be set as desired 44 | 45 | Bi-stable cylinder 46 | ===================== 47 | 48 | Write a function that control a cylinder. Imagine all digital input and outputs that are necessary to the correct functioning of the cylinder, as also any other signal or variable (not only physical input or output). 49 | 50 | .. _figCylDouble: 51 | .. figure:: images/cyl_double.png 52 | :align: center 53 | :figwidth: 400px 54 | 55 | Double acting cylinder 56 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/Siemens/index.rst.txt: -------------------------------------------------------------------------------- 1 | Siemens PLC 2 | ============= 3 | 4 | .. warning:: Work in progress 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | s7-PLC 10 | concepts 11 | programming 12 | style-guide 13 | badcode 14 | 15 | exercises 16 | exercises-solutions 17 | 18 | fsm 19 | more-ex 20 | more-ex-solutions 21 | 22 | library 23 | project 24 | 25 | completeprg 26 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/Siemens/library.rst.txt: -------------------------------------------------------------------------------- 1 | ******************* 2 | Create a library 3 | ******************* 4 | 5 | 6 | 7 | .. figure:: images/library/createLib.gif 8 | :align: center 9 | :figwidth: 400px 10 | 11 | Create a new library 12 | 13 | .. figure:: images/library/addFuncLib.gif 14 | :align: center 15 | :figwidth: 400px 16 | 17 | Add function block (FB) and function (FC) to the library 18 | 19 | .. figure:: images/library/updateLib.gif 20 | :align: center 21 | :figwidth: 400px 22 | 23 | Modify a function and update the global library 24 | 25 | .. figure:: images/library/openLib.gif 26 | :align: center 27 | :figwidth: 400px 28 | 29 | Open an existing library 30 | 31 | Tia portal create a local copy of the functions from the ``global library``. 32 | The functions are related to the ``Project library``. When a function is modified is modified in the ``Project library``. 33 | When modification is complete the ``global library`` can be updated from the ``Project library`` 34 | 35 | .. figure:: images/library/lib.png 36 | :align: center 37 | :figwidth: 300px 38 | 39 | Project library and Global libraries 40 | 41 | A function can be separated from the library. Notice that the small triangle on the top right of the function icon disappear when the connection to the library is canceled. 42 | 43 | .. figure:: images/library/connection_lib.png 44 | :align: center 45 | :figwidth: 400px 46 | 47 | 48 | :download:`Download Library<../../../code/Libraries/Siemens/Training_lib.zip>` 49 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/Siemens/more-ex-solutions.rst.txt: -------------------------------------------------------------------------------- 1 | ************************** 2 | More exercises solutions 3 | ************************** 4 | 5 | .. note:: 6 | 7 | Complete and tested solution can be found in the OpenLib Library 8 | 9 | State machine version of alternative motion 10 | ============================================= 11 | 12 | Access coordination 13 | ==================== 14 | 15 | Unloading conveyor 16 | =================== 17 | 18 | Vision system conveyor 19 | ======================== 20 | 21 | Turn table 22 | ============= 23 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/Siemens/more-ex.rst.txt: -------------------------------------------------------------------------------- 1 | ******************* 2 | More exercises 3 | ******************* 4 | 5 | State machine version of alternative motion 6 | ============================================= 7 | 8 | Access coordination 9 | ==================== 10 | 11 | Write a program that control and manager the access of two robots to the same working station. 12 | Robot L put a part on the table (Load), Robot U take away the part from the table (UNload). 13 | On the table there is a sensor that check the presence of the part. The sensor is normally closed (No part or free=1, part present =0). 14 | 15 | Unloading conveyor 16 | =================== 17 | 18 | 19 | Vision system conveyor 20 | ======================== 21 | 22 | Turn table 23 | ============= 24 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/Siemens/project.rst.txt: -------------------------------------------------------------------------------- 1 | ******************* 2 | Simple project 3 | ******************* 4 | 5 | :download:`Download Exercises solutions <../../../code/Projects/Siemens/Project.zip>` 6 | 7 | The layout of this project is shown in the following image: 8 | 9 | .. figure:: images/simple_project.png 10 | :align: center 11 | :figwidth: 500px 12 | 13 | Turn table (1) with 2 positions, CNC machine (2) with 2 position for loading and unloading, exit conveyor (3) and industrial robot (4) 14 | 15 | The process flow should be clear, the robot take a raw part from the turn table and put it in the CNC machine, in the loading position L. Then take the machined part from the unloading position U, and put it on the exit conveyor. The cycle continue in this way. The external position of the table is loaded by a person. 16 | 17 | In the previous exercise we already write the function blocks for the conveyor and turn table, feel free to modify the logic if necessary, if you didn't consider some situation before. 18 | The goal of this project is to show how to organize the software. 19 | 20 | the layout represent a ``cell``. In this cell we can identify three ``stations``: Turntable, machine and conveyor. 21 | Stations normally are independent from each others. For example the conveyor don't care neither need to know anything about the turntable neither the machine, and vice versa. 22 | The robot is the only connection between all stations. 23 | 24 | From this point of view we can write the logic of every station independently from other stations. This is the approach taken also when writing the logic of very big production lines: break it down and you will see that a very complicated production line will be easy to implement. Every station have it sown defined job. 25 | 26 | At this point we have one cell, three station and one robot. If the PLC control more than one cell, every cell should have its own folder. In this project, we have only one cell and one PLC. It is optional to create a cell folder. Keep in mind always future integration, so never limit your software to the current situation. 27 | 28 | Three folders are created for every station and one folder for the robot. another folder can be created for general management of the cell. 29 | 30 | Every station has it own main function and main global data block and instance data block. 31 | 32 | A folder called ``_Library`` is created, where general functions will be placed. In the previous chapter we see how to create an S7 library. We will add that library to the project and use conveyor and turntable FBs from it. 33 | 34 | .. figure:: images/project/project_org.png 35 | :align: center 36 | :figwidth: 500px 37 | 38 | 39 | OB1 must contain only function calls. In the following image we can see the call to other functions. 40 | It is better to use SCL to call other functions because it is more compact. Notice the name of the function calls in SCL and in Ladder. 41 | 42 | .. figure:: images/project/ob1_structure.png 43 | :align: center 44 | :figwidth: 600px 45 | 46 | The main function blocks of the station, should not have input neither outputs. The call should appear on one line. 47 | 48 | In the following sections we will examine every station. The developlent will be done without caring too much about where the physical IO are connected. 49 | As we think always in local variables at the beginning, we don't care where ``I`` and ``Q`` are assigned. Connecting those IO will be done when the logic is completed. 50 | Of course we need to know which IO we have in order to avoid to invent our own project. Electrical drawing should be always consulted. 51 | 52 | Turn table 53 | ============ 54 | 55 | CNC machine 56 | ============= 57 | 58 | Exit conveyor 59 | =============== 60 | 61 | Robot 62 | ========= 63 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/basics/OS.rst.txt: -------------------------------------------------------------------------------- 1 | *********************************** 2 | Operating systems and firmwares 3 | *********************************** 4 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/basics/basics.rst.txt: -------------------------------------------------------------------------------- 1 | ******************* 2 | Basics 3 | ******************* 4 | 5 | In any automatic industrial line the following are present: 6 | - Sensors 7 | - Actuators 8 | - Controller 9 | - SCADA 10 | 11 | Other components maybe are available, but the first 3 components are the heart of automation. 12 | 13 | This system can be compared to human beings. Usually a human have one actuator, one controller and five senosrs (actually the human being sensors are more than 5). 14 | This system acquire information from outside via sensors (eye, nose, skin, ears, tongue,...). The brain, controller, elaborate these information and send commands to muscles (actuators). 15 | 16 | Sensors and actuators 17 | ====================== 18 | Industrial Sensors are those devices that acquire information from the field. Typically the signals are digital (e.g. switch, proximity sensor) or analog (e.g. height sensors, pressure gauge). Also a camera (vision system) can be classified as a sensor. 19 | 20 | Actuators are mainly driven by electric, pneumatic and oleo-dynamic power. These actuators are mainly motors and valves. 21 | 22 | Programmable logic controller: PLC 23 | =================================== 24 | In this era, hard wiring is not any more necessary. Sensors and actuators can be interfaced to a controller, via cables, fieldbuses or any other communication protocol. PLC and microcontroller based solutions are the main controllers in industrial fields. PLC are programmed Usually in Ladder or in ST. Microcontrollers are programmed in C language. At the heart of a PLC, ther is a microcontroller, where is present a firmware to facilitate to programming. 25 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/basics/c.rst.txt: -------------------------------------------------------------------------------- 1 | ******************* 2 | C language 3 | ******************* 4 | 5 | C++ shell 6 | ------------ 7 | C language is chosen for different reasons. It is the king of all programming languages. 8 | 9 | In order to try the examples, you can use the online shell: http://www.cpp.sh/. These shell is mainly a C++ compiler. Since C++ is compatible with C, we will use it in order to avoid you to install the compiler on your computer. 10 | 11 | .. _figcshellTest: 12 | .. figure:: images/cshellTest.gif 13 | :align: center 14 | :figwidth: 600px 15 | 16 | C++ online shell 17 | 18 | The following code is the main function, the entry point of any C program. For now we are interested in the ``main`` function. 19 | 20 | .. code-block:: C 21 | :caption: C program 22 | :name: lstC 23 | 24 | #include 25 | int main() 26 | { 27 | return 0; 28 | } 29 | 30 | Basic syntax 31 | ^^^^^^^^^^^^^^ 32 | Any programming language borrow some concepts from mathematics: operations, variables, values and functions. 33 | 34 | Operations are: 35 | - Addition 36 | - Subtraction 37 | - Multiplications 38 | - Division 39 | 40 | Values can be: 41 | - Integers: 1, 2, 50, -10, .... 42 | - Real numbers: 0.2 , 1.5 , 2.5 43 | - 44 | 45 | Variables are like in mathematics, can hold numeric and non numeric values. 46 | 47 | In C and other languages (not all), we must declare a variable before using it. 48 | 49 | .. code-block:: C 50 | :caption: C program 51 | :name: lstsum 52 | 53 | #include 54 | int main() 55 | { 56 | int a=10; 57 | int sum; 58 | 59 | sum = a+ 12; 60 | 61 | printf("the sum = %d",sum); 62 | 63 | return 0; 64 | } 65 | 66 | C language have different types of numeric variables: 67 | - int 68 | - double 69 | - float 70 | 71 | Flow control 72 | ^^^^^^^^^^^^^^ 73 | 74 | The execution of a program is usually sequential, It begin from the first instruction until the last one. Sometime we need to change the flow of execution. In C we have different contructs for flow control: 75 | 76 | - if else 77 | - switch case 78 | - for 79 | - while 80 | 81 | Following a simple program than compare 2 variables. 82 | 83 | .. code-block:: C 84 | :caption: If statement 85 | :name: lstif 86 | 87 | #include 88 | int main() 89 | { 90 | int a=10; 91 | int b=30; 92 | 93 | if (a == b) 94 | { 95 | printf("a is equal to b"); 96 | } 97 | else if ( a > b ) 98 | { 99 | printf("a is bigger than b"); 100 | } 101 | else 102 | { 103 | printf("a is smaller than b"); 104 | } 105 | 106 | return 0; 107 | } 108 | 109 | An equivalent to ``if`` is the ``switch``. 110 | 111 | .. code-block:: C 112 | :caption: Switch statement 113 | :name: lstswitch 114 | 115 | #include 116 | int main() 117 | { 118 | int a=10; 119 | 120 | switch(a){ 121 | case 0: 122 | printf("a is %d", 0); 123 | break; 124 | case 10: 125 | printf("a is %d", 10); 126 | break; 127 | default: 128 | printf("Value not present"); 129 | 130 | } 131 | return 0; 132 | } 133 | 134 | Functions 135 | ^^^^^^^^^^ 136 | Functions are useful to group instructions that can be used more than one time and to make the program more readable. In the follwing example, a function called ``max`` is created. 137 | 138 | .. code-block:: C 139 | :caption: Fucntion 140 | :name: lstfunc 141 | 142 | #include 143 | 144 | int max(int a, int b) 145 | { 146 | if (a> b) 147 | return a; 148 | else 149 | return b; 150 | } 151 | 152 | int main() 153 | { 154 | int num =10, num2=20; 155 | 156 | int m; 157 | 158 | m = max(num , num2); 159 | printf("the maximum is %d", m); 160 | 161 | return 0; 162 | } 163 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/basics/index.rst.txt: -------------------------------------------------------------------------------- 1 | Basics 2 | ========= 3 | 4 | .. warning:: Work in progress 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | basics 10 | programming 11 | c 12 | OS 13 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/basics/programming.rst.txt: -------------------------------------------------------------------------------- 1 | ******************* 2 | Programming 3 | ******************* 4 | 5 | Programming principles 6 | ======================= 7 | 8 | Boolean algebra 9 | ----------------- 10 | Any CPU or microcontroller basically understand only logic operations. Main logic operations are ``AND``, ``OR``, and ``NOT``. The following table resume the operations of these operators. 11 | 12 | .. _figTruthTable: 13 | .. figure:: images/TruthTable.jpeg 14 | :align: center 15 | :figwidth: 400px 16 | 17 | Truth table and logic gates 18 | 19 | In PLC ladder language is based on logic operations. More on this argument later. 20 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/communication/index.rst.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abedGNU/Automation-Notes/34b6a8949dbcf0aaddc89d9835965767d2c7a8b3/docs/_sources/chapters/PLC/communication/index.rst.txt -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/index.rst.txt: -------------------------------------------------------------------------------- 1 | PLC programming 2 | ================== 3 | 4 | .. warning:: Work in progress 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | CoDeSys/index 10 | Siemens/index 11 | 12 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/s7-Library/actuators.rst.txt: -------------------------------------------------------------------------------- 1 | ************* 2 | Actuators 3 | ************* 4 | 5 | Bi-stable cylinder 6 | ===================== 7 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/s7-Library/conveyors.rst.txt: -------------------------------------------------------------------------------- 1 | *************** 2 | Conveyors 3 | *************** 4 | 5 | Unloading conveyor 6 | =================== 7 | 8 | 9 | Vision system conveyor 10 | ======================== 11 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/s7-Library/drives.rst.txt: -------------------------------------------------------------------------------- 1 | ********************** 2 | Drives and inverters 3 | ********************** 4 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/s7-Library/index.rst.txt: -------------------------------------------------------------------------------- 1 | S7 Library 2 | ============= 3 | 4 | OpenLib documentation TIA Portal v15 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | operating 10 | utility 11 | drives 12 | actuators 13 | conveyors 14 | turntables 15 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/s7-Library/operating.rst.txt: -------------------------------------------------------------------------------- 1 | *************** 2 | Operating mode 3 | *************** 4 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/s7-Library/turntables.rst.txt: -------------------------------------------------------------------------------- 1 | *************** 2 | Turn tables 3 | *************** 4 | 5 | Turn table 6 | ============= 7 | -------------------------------------------------------------------------------- /docs/_sources/chapters/PLC/s7-Library/utility.rst.txt: -------------------------------------------------------------------------------- 1 | ***************** 2 | Utility 3 | ***************** 4 | 5 | Linear equation 6 | ================ 7 | 8 | Swapping 9 | ========== 10 | -------------------------------------------------------------------------------- /docs/_sources/chapters/Project/index.rst.txt: -------------------------------------------------------------------------------- 1 | Real world project 2 | =================== 3 | 4 | .. warning:: Work in progress 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | r 10 | -------------------------------------------------------------------------------- /docs/_sources/chapters/Project/r.rst.txt: -------------------------------------------------------------------------------- 1 | *********************************** 2 | r 3 | *********************************** 4 | -------------------------------------------------------------------------------- /docs/_sources/chapters/Robot/ABB/Robot.rst.txt: -------------------------------------------------------------------------------- 1 | *********************************** 2 | Robot 3 | *********************************** 4 | -------------------------------------------------------------------------------- /docs/_sources/chapters/Robot/ABB/index.rst.txt: -------------------------------------------------------------------------------- 1 | Robot programming 2 | ================== 3 | 4 | .. warning:: Work in progress 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | robot 10 | 11 | -------------------------------------------------------------------------------- /docs/_sources/exts/CONTRIBUTING.rst.txt: -------------------------------------------------------------------------------- 1 | ============== 2 | Contributing 3 | ============== 4 | 5 | If you would like to contribute to this project, or any project in the 6 | `sphinx-contrib`_ namespace, you should refer to the guidelines found in the 7 | `Sphinx documentation`_. 8 | 9 | .. _sphinx-contrib: https://github.com/sphinx-contrib 10 | .. _Sphinx documentation: http://www.sphinx-doc.org/en/stable/contrib/ 11 | -------------------------------------------------------------------------------- /docs/_sources/exts/README.rst.txt: -------------------------------------------------------------------------------- 1 | =================== 2 | sphinxcontrib-video 3 | =================== 4 | 5 | The video extension allows you to embed .mp4/.webm/etc videos as defined by the 6 | HTML5 standard. It's just a wrapper around: 7 | 8 | :: 9 | 10 | 14 | 15 | 16 | 17 | Parameters 18 | =============== 19 | 20 | The extension should expose pretty much all parameters from the HTML5