Skip to content

99 Template

mgledhill edited this page Sep 12, 2024 · 2 revisions
$${\color{white}Top}$$
PAL Logo showing Wiki Documentation heading

Page contents (99-Template)


1.  Heading 1 (Chapter)
    1.1.    Heading 1.1 (Section)
    1.1.1  Heading 1.1.1 (Subsection)
       Heading 4 (Inline)

Page contents




    Casenotes

1. Introducing the PAL

    1.1.    The approach taken
    1.1.1  The structure of the software
    1.1.2  The standard modules
    1.1.3  The user interface
    1.1.4  Templates and documentation
       Template modules
       Documentation modules
    1.2.    Background to the Project
    1.3.    Regulations and standards
    1.4.    Assumptions and limitations

                        

2. The controller software and structure

    2.1.    Internal structure of the Controllers
    2.1.1  Programmable blocks

99.  Template

                        


    Casenotes

1.  Introducing the PAL
    1.1.    The approach taken
    1.1.1  The structure of the software
    1.1.2  The standard modules
    1.1.3  The user interface
    1.1.4  Templates and documentation
       Template modules
       Documentation modules
    1.2.    Background to the Project
    1.3.    Regulations and standards
    1.4.    Assumptions and limitations

                        

2.  The controller software and structure

    2.1.    Internal structure of the Controllers
    2.1.1  Programmable blocks

99.  Template

                        


⬆️ Top

Notes and tips

Note

Highlights information that users should take into account, even when skimming.
1 STL or statement list is a text-based programming language similar to assembler language
   Indented second line
2 Ladder logic is a graphical programming language widely used to programme Controllers and PLCs

Tip

Optional information to help a user be more successful.

Important

Crucial information necessary for users to succeed.

Warning

Critical content demanding immediate user attention due to potential risks.

Caution

Negative potential consequences of an action.


⬆️ Top

Latex use of colour

$${\color{red}Welcome \space \color{lightblue}To \space \color{orange}Stackoverflow}$$

⬆️ Top

The Template Page

This template page is simply a location where examples for Wiki pages are stored and some note on how to structure and organise the Wiki page. I will at some point make the notes clearer and more informative. At the moment, it's just somewhere to store examples of what I've learned so far.

⬆️ Top

Notes on table of contents:

All headings have the format of:

#..# Text

The number of hashes represents the level of heading, there must be a space following the last # before starting the heading text itself.

To make the headings (which are different sizes for different levels) line up (it looks like this):

Heading alignment image

The number is followed by a combination of em spaces, en spaces and non-breaking spaces.

When linking to the headings in a table of contents, all spaces are replaced wiht a dash (-) and all non-alphanumeric characters are ignored. The link starts with a single hash (irrespective of the heading level), thus a link to heading: 1.1.1 Heading 1.1.1 (subsection) would be:

&emsp;&emsp;&ensp; [1.1.1 &emsp;Heading 1.1.1 (Subsection)](#111heading-111-subsection)<br>

It looks like this

    1.1.1  Heading 1.1.1 (Subsection)

Each line should be ended with <br>

Use <br> to pad out each column to make the columns the same height.

The full table of contents for this page is held in a table at the top of this page

These are the actual headings with the correct formatting (note the use of emojis in the link to the top):



⬆️ Top

1.    Heading 1 (Chapter)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam quis faucibus leo. Curabitur sem turpis, blandit id pharetra vitae, commodo at felis. Mauris ut pellentesque urna. Pellentesque vehicula ante eget elementum lobortis. Suspendisse id eros massa. Ut quis justo blandit, luctus leo non, euismod eros. Suspendisse a gravida felis. Proin.

⬆️ Top

1.1.  Heading 1.1 (Section)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam quis faucibus leo. Curabitur sem turpis, blandit id pharetra vitae, commodo at felis. Mauris ut pellentesque urna. Pellentesque vehicula ante eget elementum lobortis. Suspendisse id eros massa. Ut quis justo blandit, luctus leo non, euismod eros. Suspendisse a gravida felis. Proin.

⬆️ Top

1.1.1   Heading 1.1.1 (Subsection)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam quis faucibus leo. Curabitur sem turpis, blandit id pharetra vitae, commodo at felis. Mauris ut pellentesque urna. Pellentesque vehicula ante eget elementum lobortis. Suspendisse id eros massa. Ut quis justo blandit, luctus leo non, euismod eros. Suspendisse a gravida felis. Proin.

⬆️ Top

Heading 4 (Inline normal)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam quis faucibus leo. Curabitur sem turpis, blandit id pharetra vitae, commodo at felis. Mauris ut pellentesque urna. Pellentesque vehicula ante eget elementum lobortis. Suspendisse id eros massa. Ut quis justo blandit, luctus leo non, euismod eros. Suspendisse a gravida felis. Proin.

⬆️ Top

     Heading 4 (Inline indented)

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam quis faucibus leo. Curabitur sem turpis, blandit id pharetra vitae, commodo at felis. Mauris ut pellentesque urna. Pellentesque vehicula ante eget elementum lobortis. Suspendisse id eros massa. Ut quis justo blandit, luctus leo non, euismod eros. Suspendisse a gravida felis. Proin.

⬆️ Top

Rebase the Wiki repository

These Wiki pages are essentially a repository within a repository and every change I make is another commit to that repostiory. This is ok I suppose (or it will be when the pages are more complete), but at the moment, I'm still finding out how to use these Wiki pages and make them look good and I'm making a lot of changes just experimenting with things. At this stage I find the endless commits very frustrating.

To get around this, I sometimes purge all the commits that have been made (appart from the first one) and reload the current state of the pages back in to essentially reset the repository and remove all the many commits that have been made in the meantime.

To do this, I synchronise my local repostiory wiht the GitHub wiki to get everything up to date.

Next I backup the local repository to another location (outside of the actual repositiory), the backup includes the .git folder.

I now reset the project to the first commit, my first commit has the hash: ea4da41.

To reset the project, open the git console (terminal -> new), this opens the terminal at the bottom right in VS Code.

Enter the command

git reset --hard ea4da41

This restores the Wiki repository to the empty arrangement I had at the start

I now copy all the files and folders from the backup I made earlier DO NOT COPY THE .GIT FOLDER BACK IN

This puts the files back as they were at the start of all this (i.e. the repository has all the files that were in it at the end of the commit chain).

Now stage all the changes and commit the changes to the local repository, this now has just two commit points, the orignal (empty) repository and the new commit with all the files back in.

The next thing is to forcibly push this change back to GItHub using the following command:

git push origin HEAD --force

Thats it, all the commits are now removed.

⬆️ Top

Normal text spacing

██
█ █ Hair space 1px
█ █ Thin space 2px
█ █ Punc space 3px
█ █ Space 4px
█ █ Space
█ █ En space 8px
█ █ Em space 16px
████████
█   █ Space
█0█
█1█
█2█
█3█
█4█
█5█
█6█
█7█
█8█
█9█
█.█
█1.█

⬆️ Top

Emoji arrows

⬆️ ➡️ ⬅️ ⬇️

Full list here: https://gist.github.com/rxaviers/7360908

⬆️ Top

collapsed sections

A collapsed section

You can add a header

You can add text within a collapsed section.

You can add an image or a code block, too.

   puts "Hello World"

    Casenotes

1. Introducing the PAL

    1.1.    The approach taken
    1.1.1  The structure of the software
    1.1.2  The standard modules
    1.1.3  The user interface
    1.1.4  Templates and documentation
       Template modules
       Documentation modules

99.  Template

⬆️ Top

A complicated Mermaid diagram

classDiagram
System-Functions : ● Generates common global system signals and timing pulses
System-Functions : ● Reads Controller cycle and real time clock information
System-Functions : ● Reads and identifies any module and system faults
System-Functions-->Read-Instruments

Read-Instruments : ● Reads all analogue and digital instruments
Read-Instruments : ● Scale analog instrument in engineering units
Read-Instruments : ● Digital instruments signals are filtered and stored
Read-Instruments : ● Generate instrument alarms and warnings
Read-Instruments-->Interlocks-and-Protection

Interlocks-and-Protection : Interlocks are overriding conditions that prevent 
Interlocks-and-Protection : something from happening when a particular condition 
Interlocks-and-Protection : is present 
Interlocks-and-Protection-->Safety-Systems

Safety-Systems : Safety systems are used for both machine and personnel 
Safety-Systems : protection emergency stop systems for example
Safety-Systems-->Calculations

Calculations : Perform any discreate calculations required by the process, 
Calculations : this may be mathematical calculations, timing calculations 
Calculations : or even logical calculations
Calculations--> Continuous-Control-Logic

Continuous-Control-Logic : Continuous control is the constant monitoring and evaluation 
Continuous-Control-Logic : of plant devices and process variables. The continuous control 
Continuous-Control-Logic : logic assesses the condition of the plant and generates actions 
Continuous-Control-Logic : to produce the required process conditions.
Continuous-Control-Logic-->Sequential-Control-Logic

Sequential-Control-Logic : Sequential logic operates in a series of successive steps, 
Sequential-Control-Logic : each step carrying out an action and waiting for transition 
Sequential-Control-Logic : conditions to be satisfied before moving to another step. 
Sequential-Control-Logic : Sequential logic is often triggered by the continuous logic 
Sequential-Control-Logic-->Command-Execution

Command-Execution : Both continuous and sequential control logic generate actions, 
Command-Execution : these actions require something to happen, e.g. a valve to open, 
Command-Execution : a drive to start etc. 
Command-Execution : The command execution blocks martial these signals and trigger 
Command-Execution : the appropriate response (issues the command). 
Command-Execution-->Device-Drivers

Device-Drivers : ● Control loop device drivers operate and monitor the PID loops
Device-Drivers : ● Valve drivers operate and monitor all forms of valves
Device-Drivers : ● Motor drivers operate and monitor all forms of motors and drives
Device-Drivers-->Messages

Messages : Handles Controller messages e.g. alarms, warnings, events and 
Messages : prompts that require some form of user interaction
Messages-->Communications

Communications : Executes any system-to-system communications e.g. Controller 
Communications : to Controller and any other form of communication
Communications : required by the system e.g. point-to-point serial communications,
Communications : ProfiBus field messaging etc.




Loading
graph TD;
A[**1 System Functions** 
-Generates common signals and timing pulses

Reads cycle and real time clock data

Identifies any system faults
]-->B;
B[**2 Read Instruments** Generates common global system signals and timing pulses]-->c;
Loading
  1. What Is Hystrix?
  2. What Is Hystrix For?
  3. What Problem Does Hystrix Solve?
  4. What Design Principles Underlie Hystrix?
  5. How Does Hystrix Accomplish Its Goals?

THEME DEPENDANT IMAGE

Shows robot dropping tile

END OF PICTURE


Published by:
The PracticalSeries of Publications
Published in the United Kingdom
https://practicalseries.com
                   
Copyright © 2021
Michael Gledhill
[email protected]
                   

Check Box details

Checkbox ticked
Checkbox unticked

Square checkbox (open)
   Circular checkbox (open)
   Square checkbox (open)
     Circular ticked (closed)

This sentence uses $ delimiters to show math inline: $\sqrt{3x-1}+(1+x)^2$

Here is a simple flow chart:

graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
Loading
graph TD;
A[Test]-->B(Reads all **analogue** and digital instruments.);
B-->c;
Loading

⬆️ Top

Syntax highlighted code (HTML)

<html>
<body>
<!--StartFragment-->
 
--
<div class="rg-row sub-title-row">                  <!-- Start of subtitle row (section number & heading) -->
  | <div class="rg-col rg-span1-5"></div>           <!-- Left column (not used for subtitle) -->
  | <div class="rg-col rg-span3-5">                 <!-- Start of subtitle column (centre column) -->
  | <!-- <div class="sub-title-overline"></div>      OVERLINE IF NEEDED -->
  | <div class="sub-title-num-box"><h3>3.2.1</h3></div>
  | <div class="sub-title-text-box"><h3>A default text editor for Git</h3></div>
  | </div>                                          <!-- End of subtitle column (centre column) -->
  | <div class="rg-col rg-span1-5"></div>           <!-- Right column (not used for subtitle) -->
  | </div>                                              <!-- End of Subtitle row -->
  |  

<!--EndFragment-->
</body>
</html>

⬆️ Top

Wiki contents          

Wiki contents          

Wiki contents           

Wiki contents         

Wiki contents           

Previous page Previous chapter Home Next chapter Next page

     Casenotes

   The licences and other details

       The Licence
       Why did I choose the MIT Licence?
       Permissive licences
       Copyleft licence
       Limiting liabilities
       Which licence to use?
       A note on spelling

1. Introducing the PAL

    1.1.    The approach taken
    1.1.1  The structure of the software
    1.1.2  The standard modules
    1.1.3  The user interface
    1.1.4  Templates and documentation
       Template modules
       Documentation modules
    1.2.    Background to the Project
    1.3.    Regulations and standards
    1.4.    Assumptions and limitations

2. The controller software and structure

    2.1.    Internal structure of the Controllers
    2.1.1  Programmable blocks
       Organisation blocks (OBs)
       Functions (FCs)
       Function blocks (FBs)
    2.1.2  Data storage blocks
       Data blocks (DBs)
       Instance data blocks (iDBs)
       User data types (UDTs)
    2.1.3  Built-in system blocks
    2.1.4  Block numbering and quantities
    2.2.    Execution of Controller software
    2.2.1  Cyclic programme execution

Clone this wiki locally