aboutsummaryrefslogtreecommitdiff
path: root/docs/onderzoeksrapport.tex
blob: 08636fcb6432181f2e2c78bad2737543031f6f82 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
\documentclass[12pt, a4paper, dutch]{article}

\usepackage[margin=1in]{geometry}
\usepackage{float}
\usepackage{babel}
\usepackage{siunitx}
\usepackage{amsmath}
\usepackage{scalerel}
\usepackage{csquotes}
\usepackage{parskip}
\usepackage{unicode-math}
\usepackage{fontspec}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{needspace}
\usepackage{multicol}
\usepackage{hyperref}
\usepackage{nicematrix}
%\usepackage[backend=biber,
%	bibencoding=utf8,
%	style=apa,
%	bibstyle=numeric,
%]{biblatex}

\setmainfont{TeX Gyre Schola}
\setmathfont{TeX Gyre Schola Math}
\setmonofont{JetBrainsMono Nerd Font}[Scale=0.8]
%\addbibresource{bronnen.bib}
\sisetup{
	group-separator = {.},
	output-decimal-marker = {,}
}

\bigskipamount=7mm
\medskipamount=4mm
\parindent=0mm

\newcommand{\sub}{\textsubscript}
\newcommand{\mul}{\cdot}

\begin{document}
\begin{titlepage}

\centering

{\Huge\bfseries Onderzoeksrapport Lift}

\vspace{2cm}

Loek Le Blansch\\
2180996

\vfill

Hogeschool Avans

Technische informatica

Project Lift \hspace{1cm} Blok 2

\vspace{2cm}

\today \hfill Versie 0.1
\end{titlepage}

\tableofcontents
\newpage

\section{Inleiding}

Project Lift is een project van de opleiding Technische Informatica, op Hogeschool
Avans. Het is een project voor eerstejaarsstudenten, en focust op het automation
studietraject. In dit onderzoeksrapport worden vragen omtrent het programmeren van
PLC's, de software waarmee PLC's geprogrammeerd worden en de hardwareopstelling van
de lift beanbeantwoord.

De hoofdvraag die in dit onderzoeksrapport beantwoord wordt luidt als volgt:
\emph{Hoe kan ik met het ontwikkelprgramma voor de Siemens PLC het bestaande
liftprogramma verder afmaken en testen?}

\section{Fysieke opstelling}

Met de \emph{device configuration} in TIA portal kun je makkelijk zien hoe de fysieke
opstelling van de lift er ongeveer uit ziet, en worden alle in-/uitgangen automatisch
gelabeld zoals hier te zien is:

\begin{figure}[H]
	\centering
	\includegraphics[width=11cm]{figs/opstelling.png}
	\caption{PLC opstelling in TIA Portal}
\end{figure}

In slot 1 zit de PLC zelf, deze bevat de CPU, en heeft wat ingebouwde digitale I/O.
In slot 2 zit een digitale ingangskaart, en in slot 3 een digitale uitgangskaart.
Deze zorgen er voor dat de PLC meer in-/uitgangen tegelijkertijd kan aansturen.

Naast digitale I/O zijn er ook analoge input/output kaarten, maar deze worden niet
gebruikt voor project lift.

Omdat het lastig is om getallen te onthouden voor elke in-/uitgang wordt de \emph{tag
table} gebruikt om de ingangen logische namen te geven in het PLC programma. Deze
zijn te vergelijken met \#define macro's die je bijvoorbeeld bij de Arduino zou
gebruiken om pingetallen namen te geven.

\section{Watchtable}

In de watchtable kun je variabelen zetten om hun waarden live te volgen. Dit is
bijvoorbeeld handig voor diagnose, zodat je kunt controleren of variabelen doen wat
je denkt dat ze moeten doen in theorie.

In de watchtable kunnen alle variabelen, niet alleen uit global memory, maar ook
input en output memory. Ook kun je de manier waarop TIA portal deze waarden moet
interpreteren aanpassen, zodat een kommagetal bijvoorbeeld netjes weergeven wordt.

Ik vind de term watchtable een goede naam omdat het uiteindelijk een tabel is die je
bekijkt.

\section{CPU eigenschappen}

\subsection{Overzicht}

In het \emph{device configuration} scherm kun je de CPU properties aanpassen van de
PLC. Hier kun je bijvoorbeeld in-/uitvoerkaarten configureren, of pulse generators
aanzetten.

\begin{figure}[H]
	\centering
	\includegraphics[width=11cm]{figs/cpuprops.png}
	\caption{CPU properties in TIA portal}
\end{figure}

\subsection{Belangrijke instellingen voor het lift programma}

Voor het lift programma komen de clock memory en system byte goed van pas. De invoer
en uitvoerkaarten zijn al goed geconfigureerd, en hier hoef je verder niet aan te
komen.

De clock byte is een byte waarvoor je zelf een locatie kunt configureren. In deze
byte staan 8 bits met klokken van verschillende frequenties van \SI{10}{\hertz} tot
\SI{0.5}{\hertz}. \'E\'en van deze bits wordt in het liftprogramma gebruikt om het
licht voor de noodstop te laten knipperen.

Ook wordt de system byte gebruikt. In mijn geval om de eerste PLC cyclus te
detecteren. Dit wordt gebruikt om de noodstop te initialiseren, en om de lift naar
een geldige toestand te laten gaan in het geval van stroomuitval.

\section{Diagnostische mogelijkheden}

\subsection{Diagnose buffer}

\subsection{Cyclustijd}

\subsection{Defecte uitgangskaart}

\subsection{Trace functie}

\section{*Werken met PLC's op Linux}

\subsection{PLC forwarden naar VMWare Horizon}

% https://unix.stackexchange.com/questions/528342/trying-to-make-my-usb-wifi-adapter-work-on-virtualbox-kali-guest-windows-host

\section{Conclusie}
%
% I/O Mogelijkheden
%  Hoe is de lift opgesteld?
%  Welke I/O mogelijkheden heeft de PLC nog meer
%
% CPU properties
% 	In de device configuration heeft elk onderdeel properties die soms zijn in te stellen.
% 	Bekijk de properties die de CPU heeft.
% 	Welke instellingen zijn belangrijk voor het gekregen liftprogramma?
%
% Diagnose mogelijkheden
% 	Het is erg belangrijk dat je snel kunt achterhalen wat er aan de hand is met de PLC
%   Enkele tips:
% 		Elke PLC heeft een diagnose buffer.
% 		Kun je achterhalen wat de cyclustijd van de PLC is?
% 		Wat gebeurt er als een uitgangskaart defect is?
% 		Voor de die-hards: wat zou de trace functie doen?
%
% *Linux gedoe:
%  Hoe forward je de PLC naar TIA Portal op Linux
%

%\raggedright
%\setlength\bibitemsep{3mm}
%\printbibliography[heading=bibintoc]

\end{document}