PAR P O M I A RY • A U T O M AT Y K A • R O B O T Y K A
2/2020 ISSN 1427-9126 Indeks 339512
Cena 25,00 zł w tym 8% VAT
Technical Sciences Quarterly | Measurements Automation Robotics
W numerze:
3 5
Od Redakcji Krzysztof Malinowski
Control System Design: Think Broad and Be Inquisitive
11
17
23 31 39
O znaczeniu odwrotnej notacji polskiej dla rozwoju technik informatycznych
The Research on Exoskeletons with Focus on the Locomotion Support
! "
Design of Agricultural Type Coconut Climbing and Plucking Robot
" # $ %
& " ' " !( ! )"
! ! " # "
* + Informacje dla Autorów – 91 | 95 | ! " 96 | # $ %&%& 98
Rada Naukowa Rok 24 (2020) Nr 2(236) ISSN 1427-9126, Indeks 339512
Redaktor naczelny 8 #(
& :"
;( % :"
;(
< :" 8 #( =% % > 8 #( " # " " ;( % :" > % ?" " %
8 #( " $ " > 8 #(
& :" > '
Korekta ;( " ="
$ % ! @ "
Druk &
A% $ " ! " "%
8( ( ( B CDD (
Wydawca
&' ( ) H < % %
* % FL &' * Y "
# Z [ %= \ &' + , G " @ % G # * % ] )" &' -. /' 0 & B $ % % Y "
# H " [ %= \ 1 2. . Y "
# < [B % \ &' $ 3 E < % F " % > * "
G " H * L *GH* " &' 4 )' 3 ! . B
Y " % [Y \ &' 2 ' 3 8 " Y% * :" ( ( ( * % &' (' + ! * % % G " # * [* \ &' ( Y "
[ %= \ &' ) B H % E 8 " / ' Y "
# * " [ %= \ &' ( 5 & ) * % < " %
E < % F " % > * "
G " H J* L *GH* H ( " ODO DOPQTU "
Kontakt
&' * )' 5 . . G " # % % " " [! "= \ &' $ ! ! ^ * % %_ B Y "
[Y \
! %= P % % *
H ! ' H ( " ODO DOPQTU " ( OO TVQ DW QU X8 (8 (8 (8
&' - 6 G ; & ) ;" @
& ) "
Pomiary Automatyka Robotyka = " % " 8 " P % % ' %P WggV ( * WT " h = " h% ( H
% 8 =)% % J8 % 8 % 8 % P' % % " "
= ' (
&' 6 $ ! ` Y "
[ < \
P % %
*
H ! ' = " "
J' % <H&$@ c % GBj@m b*@!BG Y [G p
ODWT+ Vq Ug\ J ; J' % ' ; % 8 " % % " 8 " % % H!GHB$H(
* )% =)% " h %= b = B " h8
' 8 " "
8 ' J P % % *
H ! ' ( "=) 8 ) [ # % = )\ = " "= 8 8 (
* $ H$< > G " # H88 " " $ %
< 'c
[B % \
* %= B 8 ' %= *
H
! ' " ' % OD 8 ( [ % " 8 " % % %
L # %= h % qW 8% ODWg ( 8 ( OVgDO\(
* 8 " "% 8
P % (
&' ;. H%
# % % " [ %= \
*
H ! ' > A "
J %
gDV?*PjYB?ODWg L " B %
;" 8 % % E 8 " % =)%) h(
&' ( $" Y "
[ \
&' 7
$ G ; * %= " * % b8 "
&' - 8 9 % %
$ % % * % ] )"
&' 3 & + ! 9 G " G # H ! ' * %
% " &' 7 ! 7 ! G$ Y " ' [H " \ &' - +' / ^ * % %_ B Y "
[Y \
*
H ! ' G B WQOVPgWOU !( OQ B O?ODOD
3
Od Redakcji
5
Krzysztof Malinowski Control System Design: Think Broad and Be Inquisitive * = " " " + " ' ') u %
11
17
23
31
O znaczeniu odwrotnej notacji polskiej dla rozwoju technik informatycznych b G 8 % # ! " * " B # j 8 # 8
% % The Research on Exoskeletons with Focus on the Locomotion Support < " "8 % % % %
! " Design of Agricultural Type Coconut Climbing and Plucking Robot * = "8 =)% " h 8 % ' % % L
" %
" # $ % Zastosowanie metody Monte Carlo do parametrycznej identyfikacji H88 % # # * % G # % #
H%% " v x %
j
39
& " ' " !( ! )" " ! # " b8 "
45
G * " " % $ " * B c v x %
G % $ ' v % # j H" $ 8
51
&' % % " H = < : Energy Saving LED and CFL Lamps â&#x20AC;&#x201C; Rated vs. True Power and Current Consumption @ " % h 8
@j G v > % " % 8 'L
8 )
59
63
* " The Use of IR Soldering Stations in the Process of Disassembling Circuits in BGA Packaging & " " " %= % % G! 8 % " ; L
' % < H j " ' % * * ! zrobotyzowanych $ Y" # p !
j " # ! ' % "
1
*G $!@] G
69
O
= " #$%# Wprowadzenie teoretyczne G 8 % # % # G " * " # {
* " #
@ % %
88
# cp? p $ % G %
77
% j = < = & &'( " # G " ! ' Y" v H88 %
91
Informacje dla Autorรณw
95
Awans naukowy Dynamika i sterowanie wybranymi procesami biochemicznymi > '( ;( * 8
96
"
! %= )* + + % , -
98
" & * /0/0
P
O
M
I
A
R
Y
โ ข
A
U
T
O
M
A
T
Y
K
A
โ ข
R
O
B
O
T
Y
K
A
NR 2/ 20 20
bj !@jH G
Drodzy Czytelnicy, " " " h " 8
8 =
" h % % ( H " "
"8 " bpGjPWg >
% 8 " " &
' " ( ( % E %
' 8 % " " "8 %
" " " ( " h%
% 8 ; 8 %
= " ' ) ") ;
"
) ( j "L'
:% )% " h 8 % >
" h
% h
% " 8 %
% "
( 8 8 % " 8 " " % L L
L % 8 % = " ' ( &
% ; %
"8 % % h" " h " ;' % (
H % " ' 8 ) (
* % % ) ' ;)% ' ( " h E
% % % L % ( B 'h h E E
> ;
* :" = %
(
B 8 % =) % " %
mGG " G % = ODOD(
& " %
= %= ( *
' E " 8 % " # %=
ODOD (((
%
> % < % = F " % > * " G "
H * L *GH* " > )% 8 "
= "
numeru.
Redaktor naczelny kwartalnika Pomiary Automatyka Robotyka 8 #( '( ;(
& :"
3
4
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 2/2020, 5â&#x20AC;&#x201C;10, DOI: 10.14313/PAR_236/5
- . / 0 4 ' ' 4 6 8 Krzysztof Malinowski ; # 0 . % < # = ' 6 # 0 . % > ?@A?B% !!E++@ ;
Abstract: In this paper two examples, of a different nature, are presented to demonstrate, basing upon the authorâ&#x20AC;&#x2122;s experience from the past, that the control engineer facing a design problem must think in broad terms, be careful when design supporting tools are used and do not neglect theory related to the considered design problem. 3 V control system, optimization
1. Introduction This paper has been written basing upon the authorâ&#x20AC;&#x2122;s experience from the remote past. About forty years ago, just after obtaining the DSc degree (habilitation) from the Warsaw University of Technology, I have become involved, as a senior visiting fellow of SERC (Science Engineering Research Council) at UMIST, a leading institute of technology in England, in a number of research projects. The main involvement was in special projects concerned with parallel and/or decentralized/hierarchical simulation of coolant systems of pressurized water nuclear reactors and with optimization of the complex systems. Apart of those main research directions I have also become involved, as a consultant, in design of two regulatory control systems. It never has occurred to me, until now, that my contribution to solving these two design problems was really worth to write about. It just happened a few weeks ago that I have been talking about these problems with my former PhD student, Cezary ZieliĹ&#x201E;ski, now a senior Professor at the Warsaw University of Technology and my successor as the head of the Control Systems Division at the Faculty of Electronics and Information Technology of WUT. He had found the story interesting and of long lasting value and then has encouraged me to write about it. So be it; I hope that the reader will enjoy reading this short text. The main purpose of this paper is to illustrate, through the two following examples, that a design engineer should always be inquisitive, think in broad terms and both know and be ready to use the theory related to the design problem under consideration â&#x20AC;&#x201C; no matter what supporting software she or he has at the disposal.
) " V " # $ % & ' ) ' () !* (!(! % ' ' (( !+ (!(!
!
The first design problem was related to computation of a state feedback stabilizing controller for large â&#x20AC;&#x201C; for that time â&#x20AC;&#x201C; linear system with sixteen state variables, by solving well defined linear-quadratic optimization problem. Actually, the final objective was to design an optimal control feedback using the state feedback controller in which the state estimates from the optimal observer (Bucy-Kalman Filter) were to be plugged into the state feedback control law. Yet it happened, somewhat surprisingly, that it was the design of the state feedback matrix that for a considerable time became a major problem. In this case good grasp of theory proved to offer a solution, to find deficiency of a specialized routine from then current version of the NAG (Numerical Algorithms Group ) library of numerical routines â&#x20AC;&#x201C; which library, first released in 1971, was ten years later considered to be the top numerical library. The second example presents a real life regulatory control design problem that, surprisingly enough, for a considerable time denied all efforts spent on finding a satisfactory controller for the considered important MIMO plant. The solution, almost trivial after being found and explained, has lied beyond the regulatory controller design itself; it required structural changes as far as the set of the controlled variables was concerned. In this case a broader view of the problem, above the controller design itself, proved to be essential. Cited references to the text below are few; the examples considered do not seem to require more.
X' * & # ! ! & !
Y . & Y! YZ #
The objective of the case study design, as considered in this section, was to find satisfactory stabilizing controller for a linear system, x (t ) = Ax (t ) + Bu(t )
(1)
with x(t) â&#x2C6;&#x2C6; R16, u(t) â&#x2C6;&#x2C6; Rm and given time-invariant matrices A and B of dimension, respectively, 16 Ă&#x2014; 16 and 16 Ă&#x2014; m.
5
Control System Design: Think Broad and Be Inquisitive The actual value of m, where dim(m) ≤ dim(x), is not relevant for further considerations. The task was to compute the state-feedback controller u(t) = –Fx(t)
Feedback law defined in eqn.(5), with F = F, F given by eq. (6) with P being the positive-definite solution of eq. (7), provides for asymptotic stability of the closed-loop system x (t ) = (A − BF )x (t )
(2)
with poles of system (8) placed in the left hand (negative real parts) sub-plane of the complex numbers. The pole locations depend in a transparent way on the design parameters, i.e. on the elements of, in most cases diagonal, weight matrices Q and R.
with time-invariant gain feedback matrix, such that the closed-loop system x (t ) = (A − BF )x (t )
(3)
was asymptotically stable, with a reasonable placement of the closed-loop poles. The computation of the gain matrix F was approached by solving the time-invariant infinite-horizon linear-quadratic optimal control problem (for convenience marked as the LQIH Problem), i.e. by minimizing the criterion lim
∫
t1
t1 →+∞ 0
⎡x T (t )Qx (t ) + u T (t )Ru(t )⎤dt ⎣ ⎦
In the case under consideration the matrix equation (7) with dim(x(t) = 16) defined a set of 256 nonlinear equations. Due to matrices Q, R and P being symmetric the matrix on the left hand side of eq. (7) was also symmetric and so the number of independent nonlinear equations to be solved in order to compute P was equal to 136 (120 off-diagonal entries plus 16 entries on the diagonal). The remaining equations could be used, and actually were used, to check whether the computed matrix P did satisfy all of them. For computing a solution of this set of 136 nonlinear equations (which forty years ago represented quite large set of nonlinear equations to be dealt with) the appropriate NAG library routine was used. The routine returned matrix P as a solution of the matrix Riccati equation (7). This matrix has been then used for computing, according to eqn. (6), the feedback gain matrix F = R −1B TP and for setting up the controller
(4)
where matrices, in this case design parameters, Q and R satisfied the conditions: Q = QT > 0, R = RT > 0, i.e. both Q and R were symmetric positive-definite matrices. It should be observed that it would have been sufficient to assume that Q = QT ≥ 0 (i.e. Q nonnegative-definite) with Q = DTQ1D, Q1 = Q1T , Q1 > 0 and with system (1) being observable (or just reconstructible) through the time-invariant “output” equation z(t) = Dx(t). Such generalization, however, is not needed in most real-life cases, in which Q as the design matrix parameter is defined as positive definite and, usually, just as a diagonal matrix with positive entries on the diagonal. Similarly, R is usually defined as a diagonal matrix with positive elements on the diagonal. So it has been in the case considered. When, instead of x(t), the only information available on-line is given by observing the measurement vector y(t), where y(t) = Cx(t), providing for observability of the state, then the estimate xˆ(t ) may be plugged into the control law (2) instead of the actual state value x(t). In fact, in case of white-noise type disturbances added to the right hand side of equation (1) and to the above observation equation y(t) = Cx(t), the steady-state Kalman-Bucy Filter, as an optimal observer, allows to compute the state estimate x (t ), which – when used in (1) – provides for an optimal closed-loop control law (i.e. law minimizing criterion (4)). Nevertheless, in this section we are concerned only with computation of the optimal gain matrix F, to be used in control law (2). Assuming that the system (1) is controllable, the solution of the above LQIH Problem is given (see e.g. Kwakernak and Sivan 1972) as u(t ) = −Fx (t ),
(5)
F = R −1B TP
(6)
(t ), u(t ) = −Fx
ˆ(t ) x (t ) = Ax (t ) − BFx
x (t ) = (A − BF )x (t )
O
M
I
A
R
Y
•
(7)
A
U
T
O
M
(11)
System (11) appeared to be unstable! All equations and data were checked and rechecked; nothing was achieved. It was postulated then that, perhaps, system (1) was uncontrollable – against all expectations and relation to physical properties and behavior of the system that eq. (1) did in fact represented – with an uncontrollable mode (or modes) being unstable. This issue has been investigated and it was confirmed that system (1) was controllable. So, if everything was properly set up, why the closed-loop system (11) was unstable? Only after considerable time it has been suggested that, perhaps, the library routine for solving eq. (7) was not returning the required solution, i.e. a positive-definite matrix P satisfying eq. (7). As a first reaction to this postulate the majority of the design engineers involved – and there were quite many at this stage – have been adamant; it seemed impossible to them that a routine from the best library, used with success in many cases before, could return an improper solution. Then, some engineers
where 0 is a matrix with all entries equal to 0. (In case of relaxed assumptions of nonnegative-definite symmetric matrix Q, i.e. Q = QT ≥ 0 with Q = DTQ1D, Q1 = Q1T , Q1 > 0, system (1) being just stabilizable and, with the “output” z(t) = Dx(t), being reconstructible, matrix P may be proved to be single nonnegative-definite solution of eq. (7). P
(10)
was tested through the computer simulation. Against all expectations this system, quite unfortunately, appeared to be very unstable! Why? The first guess regarding the source of this instability was that something had gone wrong as far as the coupling of the observer and the controller was concerned. Yet, the observer was, on itself, working very well, proving in fact that the system under control was beyond any doubt observable. The simulation was then used to check the behavior of the closed-loop system with full state feedback
and where a symmetric matrix P, positive-definite under the assumptions made above about system (1) being controllable and Q = QT > 0, is the single solution of the matrix algebraic Riccati equation
6
(9)
Then, if I well remember, an observer, working properly on its own, was developed to compute the estimates xˆ(t ) of x(t) for t > 0. Finally, the closed-loop system
where
Q – PBR–1BTP + ATP + PA = 0
(8)
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Krzysztof Malinowski decided to explore the fact that, according to linear-quadratic optimal control problem, matrix P was originally defined as the limit value of the solution of differential Riccati dynamic equation, for t < t1 and P(t1) = P1, P1 = P1T â&#x2030;Ľ 0, â&#x2C6;&#x2019;P (t ) = Q â&#x2C6;&#x2019; P(t )BR â&#x2C6;&#x2019;1B TP(t ) + ATP(t ) + P(t )A (12)
problem, the designer should always be careful and know what this routine is doing and be able to detect and understand an eventual routine failure, and â&#x20AC;&#x201C; if such failure does indeed happen â&#x20AC;&#x201C; to be able to find a solution to the problem.
Let us denote the solution as Pt1 (t ), with t < t1 Then, for any fixed real number t â&#x2C6;&#x2C6; R, there exists, under the assumptions made, an actual limit P matrix when t1 â&#x2020;&#x2019; +â&#x2C6;&#x17E;, it can be computed as
[' 6 #
& &
P = lim Pt1 (t ) t1 â&#x2020;&#x2019;+â&#x2C6;&#x17E;
(13)
where Pt1 (t ) is symmetric and nonnegative definite, and so P is a nonnegative-definite solution of eq. (7). P can also be obtained through solving the set of differential equations (12) (in the considered case 136 equations) backwards in time, assuming that P(t1) = P1 where P1 is any nonnegative-definite symmetric matrix; then, given fixed t1, seeking a limit
P = lim P(t ) t â&#x2020;&#x2019;â&#x2C6;&#x2019;â&#x2C6;&#x17E;
(14)
In the case considered, due to controllability of (1) and due to matrix Q being positive-definite, P should be positive-definite and the matrix obtained from eq. (13), as well as, more effectively as far as the computing effort was required, from eq. (14), was indeed positive definite. In fact P appeared to be largely different from P. Matrix P obtained in the way described above, from eq. (13) or from eq. (14), is the sought-after nonnegative-definite (in our case positive-definite) matrix solution of the algebraic Riccati equation (7), which, when used in eq. (6) to define gain matrix F, according to theory, provides asymptotically stable (in fact exponentially stable) closed-loop system x (t ) = (A â&#x2C6;&#x2019; BF )x (t )
(15)
Now, the method presented above, using formula (13) or (14) to compute P was, and for large dimension of state vector x still is, time consuming. Thus another method was and is up to now most often applied: P is computed by solving the nonlinear algebraic Riccati equation (7), i.e. the set of nonlinear algebraic equations, using, in most cases, Newton method, or a similar one. In such case, however, it appears that there might exist a possibility to find other than P solution of eq. (8), a solution that is not positive-definite or even nonnegative-definite. Using such solution, say P, in equation (6) may very well result in the closed-loop system x (t ) = (A â&#x2C6;&#x2019; BF )x (t ) with
F = R â&#x2C6;&#x2019;1B TP
(16)
being unstable. This was, in fact, exactly what has happened in the considered case and which was due to the fact that well regarded library routine, providing proper solutions of algebraic matrix Riccati equation in many other cases, had in this case failed. It was only after a considerable effort spent on examining this problem that, due to understanding of the theory concerning LQIH, this failure was detected and the reason of it has been understood, and then the required proper solution computed. The reader, interested in deeper insight into the theory of linear-quadratic problem as a tool for closed-loop control design may consult many excellent texts. One, especially worth mentioning, is the book â&#x20AC;&#x153;Linear Optimal Control Systemsâ&#x20AC;? by H. Kwakernaak and R. Sivan (Wiley-Interscience, 1972). The lesson that can be drawn from this example is that even when using best possible software tool, e.g. a library routine supposed of returning us a solution of the actually considered
The second example, or a case study, is of a different nature; not directly related to a particular design procedure but to a much broader issue concerned with the controller design. One of the largest firms procuring crude oil and natural gas, transporting those media and then processing them in the company refineries, reported the following problem concerning transportation of the natural gas through the undersea pipeline, asking several research institutions for a solution. The problem was as follows. At one of the sites in North Africa, belonging to this firm â&#x20AC;&#x201C; call it firm TT â&#x20AC;&#x201C; and situated close to the southern shore of the Mediterranean Sea, the well was established providing large quantities of natural gas with a residue of crude. The well was then to be connected to large tanks as shown in fig. 1, the purpose of those tanks being to separate the gas, coming from the well at the fluctuating pressure and quantity, from the residue crude and to make this gas ready for being pumped into the undersee pipe of a large dimension and capacity, transporting the gas to the recipient station in Europe. Three separator tanks were bought and connected to a large pump via much smaller header tank. Pump operation allowed for changing the pump rotational speed and the objective of the regulation was to provide for a desired constant pressure of gas at the outlet of the pump. Maintaining constant pressure at the pump outlet, i.e. the inlet to the undersea pipe, was most important task required to allow for smooth gas transmission, without pressure waves and chocks, i.e. without flow disturbances in the pipe being induced by changes of the pump outlet pressure. Now, each separator tank, referred to as the separator, in which the natural gas has been separated from the residue crude, was provided by its producer with two regulatory loops. The first, the main loop, was designed to stabilize the gas pressure within the tank by manipulating the valve at the tank gas outlet. The second loop was supposed to stabilize the level of crude at the bottom of the tank. Both this latter loop and its task were very simple and not relevant to the main tank purpose; they will not be taken into account further on and will not be depicted on the diagrams below. The pump, provided by another manufacturer, together with the header tank, was also endowed with the main control loop: the controller being responsible for maintaining constant desired pressure at the outlet by manipulating the pump angular speed. Thus, the configuration of the considered plant was as depicted in fig. 1. As mentioned above, the auxiliary controllers, in particular those concerned with maintaining the desired levels of crude in separator tanks, are not shown in fig. 1. The four main controlled variables were pressure levels in the separators, respectively p1, p2, p3, and the pump outlet pressure pout; the main controls, manipulated variables, were three valve settings u1, u2, u3 and signal u4 setting the pump rotational speed. After all components of the system were put into place, with, as it seemed, properly tuned controllers (if I well remember the PID controllers) â&#x20AC;&#x201C; each, however, tuned when taking into account the individual perspective â&#x20AC;&#x201C; it has immediately appeared that the operation of the system as a whole was absolutely unacceptable. Namely, the pressure pout at the outlet of the pump and the inlet to the undersea pipe was rapidly changing
7
Control System Design: Think Broad and Be Inquisitive
It was suggested then, after much effort was spent on tackling the regulator design problem, that a similar approach, namely changing the set of the controlled (regulated) variables, might also be helpful in achieving the improved dynamical behavior of the controlled system as a whole. Indeed, consider what happens in case of the system depicted in fig. 1, with the components of this system endowed with their controllers introduced on an individual basis. The pressure and, therefore, the flow of gas and crude mixture from the well, may and does change rapidly (fluctuates). Each separator pressure controller reacts to these changes and by stabilizing gas pressure in the separator at the desired level, passes in fact the flow fluctuations to the small header tank at the inlet to a huge pump with large inertia associated with the angular speed. When the pressure in the header changes rapidly, which it must, the pump controller cannot cope by changing the speed of the pump – there is far too much inertia to allow for it. Therefore, as far as one insists on keeping the original set p1, p2, p3, pout of the controlled variables and attempting regulation of those variables to their desired set-point values, respectively, p1,d, p2,d, p3,d and pout,d, there is no chance to maintain pout at the desired level under realistic operational conditions.
in a significant way – the amplitude of changes was very large and this could not be accepted and allowed for. So, then much time and effort were devoted to re-tune the controllers so as to eliminate those variations of pout. It did not do much good. Then a design of a multiple-input – multiple-output (MIMO) controller (4 × 4) was tried; this also did not result in any significant improvement of the system behavior. Several research groups were consulted and asked for help but the problem still seemed to be unsolvable, after being extensively investigated. Yet, the solution was simple and, in fact, almost apparent, one could say: “lying on the table”. In the book “Wielopoziomowe układy sterowania” by W. Findeisen, published in 1974 and then in the book “Control and Coordination in Hierarchical Systems” by W. Findeisen et al., published in 1980, it was shown that often much improved behavior of a system operating in steady-state is possible to be achieved by a clever choice of the controlled variables; such choice may even lead to self-optimizing operation of a plant at steady-state. The choice of a good set of control variables may depend on the overall system configuration and the joint constraints imposed on the system variables.
Fig. 1. Layout of the original control structure, case of four independent loops; only main elements of the plant are shown. Significant fast variations of header pressure ph, unacceptable variations of pout at the pump outlet Rys. 1. Schemat oryginalnej struktury układu sterowania, z czterema niezależnymi pętlami; pokazane są tylko główne elementy instalacji. Znaczące szybkie zmiany ciśnienia w kolektorze ph, niedopuszczalne zmiany wydmuchu pout na wylocie pompy
8
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Krzysztof Malinowski
Fig. 2. New control structure (the elements not shown in fig. 1). New controlled variables: ph, p2, p3 and pout. Variations in unregulated pressure p1, small variations of header pressure ph, acceptable changes of pout Rys. 2. Nowa struktura układu sterowania (elementy nie pokazane na rys. 1). Nowe zmienne kontrolowane: ph, p2, p3 i pout. Zmiany w nieregulowanym ciśnieniu p1, małe zmiany w ciśnieniu w głowicy ph, dopuszczalne zmiany pout
Now, in the considered case the really important controlled variable is actually pout as it is this pressure at the output of the pump that must be kept as being equal to the desired value pout,d and to fluctuate as little as possible so as to provide the best possible conditions for gas transmission under the sea. The remaining three controlled variables are not that important. Since it may be easily observed that a smooth pump operation depends upon the header pressure ph being constant one may remove one of the three separator pressures from the set of the controlled variables and introduce another controlled variable – ph. One might remove, say, p1 pressure and replace it with ph. The fluctuations present in flow from the well will now be absorbed by separator no. 1 and will not be passed to the header. In addition to this the desired value of ph, i.e. ph,d, may be chosen such as to make the pump work at operating point of the best possible efficiency; thus, apart of creating the conditions for good regulation of ph, one may also optimize the system operation at steady-state. The new configuration of the control structure is shown in fig. 2. There are of course some problems to take care of; in particular it may happen that the no longer controlled pressure p1 in separator no. 1 could be getting too big; then it might be necessary to choke the flow from the well using valve Vin, which action one usually would like to avoid at the basic regulation level as the flow going through this valve is a mixture of gas and crude, and since changing the position of Vin may disturb the operation of the well itself. Yet it is a fair price for being able to precisely control ph and optimize the value of ph,d. Actually it proved then quite easy to tune the controllers to provide satisfactory and power efficient operation of the considered plant with the new set ph, p2, p3, poutof the controlled variables. Therefore in order to solve the problem, to meet the requirements set by firm TT, it was only necessary to think in broader terms, to be not “enslaved” by the given set of the controlled
variables. The truth that changing the set of the controlled variables may be the best solution to eliminate the dysfunctions of a regulatory controller is often lost on the specialists in regulatory control design.
4. The conclusions that can be drawn from the above examples were already presented in detail. In general terms they are: when facing a control design problem think broad, use available support tools with care and try to understand in all detail the theory relevant to your problem. This general conclusion most likely applies to all engineering design problems, not only to control design.
References 1. Findeisen W., Wielopoziomowe układy sterowania [Multilevel Control Systems]. PWN, Warsaw 1974. German translation: Hierarchische Steureungssysteme. Verlag technik, Berlin 1977. 2. Findeisen W., Bailey F.N., Brdyś M., Malinowski K., Tatjewski P., Woźniak A., Control and Coordination in Hierarchical Systems. John Wiley & Sons, Wiley Interscience Publication 1980. 3. Kwakernaak H., Sivan R., Linear Optimal Control Systems. John Wiley & Sons, Wiley-Interscience 1972.
9
Control System Design: Think Broad and Be Inquisitive
F / G GH'I ' Streszczenie: W niniejszym artykule przedstawiono dwa przykĹ&#x201A;ady o róşnym charakterze, dla wykazania, w oparciu o doĹ&#x203A;wiadczenie autora, Ĺźe inĹźynier systemĂłw sterowania napotykajÄ&#x2026;cy problem projektowy musi myĹ&#x203A;leÄ&#x2021; nieszablonowo, stosowaÄ&#x2021; roztropnie narzÄ&#x2122;dzia wspomagajÄ&#x2026;ce projektowanie i nie moĹźe zaniedbywaÄ&#x2021; teorii zwiÄ&#x2026;zanej z rozwaĹźanym problemem projektowym. % V %
' $ $ $ PAN Krzysztof Malinowski & ' ORCID: 0000-0002-7655-2050
H J # % % G E 'J . K ' L E ' F M ' > ' ?BB) % E ' (!?+ N J O ; . 0 > . F ; ' = 0 6 # 6 M 6 # F ; % > M ' " P F Q . 6 4 ' .
10
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 2/2020, 11â&#x20AC;&#x201C;16, DOI: 10.14313/PAR_236/11
S ' ' # ( ) *+ , - ( # F % ; ' = % M M " ?T% *(E(?)
$ $ . ArtykuĹ&#x201A; dotyczy wpĹ&#x201A;ywu beznawiasowej notacji polskiej na rozwĂłj wspĂłĹ&#x201A;czesnej informatyki i innych, pokrewnych dyscyplin naukowych korzystajÄ&#x2026;cych z technik informatycznych, m.in. matematyki, elektroniki, automatyki czy robotyki. W niniejszym artykule podano przykĹ&#x201A;ady wspĂłĹ&#x201A;czesnych zastosowaĹ&#x201E; ONP w informatyce, m.in. w jÄ&#x2122;zykach Forth, Postscript i parserach jÄ&#x2122;zykĂłw wysokiego poziomu. RozwaĹźania zilustrowano przykĹ&#x201A;adami konwersji wyraĹźeĹ&#x201E; z klasycznej notacji do notacji przyrostkowej oraz ich przetwarzania przez komputer z uĹźyciem modelu zarzÄ&#x2026;dzania pamiÄ&#x2122;ciÄ&#x2026; zorganizowanÄ&#x2026; w stos, dziÄ&#x2122;ki czemu uzyskuje siÄ&#x2122; skrĂłcenie czasu wykonania algorytmu i mniejszÄ&#x2026; zajÄ&#x2122;toĹ&#x203A;Ä&#x2021; pamiÄ&#x2122;ci. Celem tej publikacji byĹ&#x201A;o takĹźe upamiÄ&#x2122;tnienie osiÄ&#x2026;gniÄ&#x2122;Ä&#x2021; polskich naukowcĂłw w zakresie wspĂłĹ&#x201A;czesnych technik komputerowych, a w szczegĂłlnoĹ&#x203A;ci Jana Ĺ ukasiewicza â&#x20AC;&#x201C; twĂłrcy znanej na caĹ&#x201A;ym Ĺ&#x203A;wiecie Odwrotnej Notacji Polskiej. Stworzona obecnie w Polsce sieÄ&#x2021; badawcza obejmujÄ&#x2026;ca wiodÄ&#x2026;ce krajowe instytuty naukowo-badawcze przyjÄ&#x2122;Ĺ&#x201A;a patronat innego badacza: Ignacego Ĺ ukasiewicza â&#x20AC;&#x201C; znanego gĹ&#x201A;Ăłwnie z wynalezienia lampy naftowej i rozwoju polskiego przemysĹ&#x201A;u naftowego. Warto pamiÄ&#x2122;taÄ&#x2021;, Ĺźe sÄ&#x2026; to róşni naukowcy zasĹ&#x201A;uĹźeni w róşnych obszarach badawczych. $ V # % U % S' > F % O . . G % % .
1. Wprowadzenie Odwrotna Notacja Polska zostaĹ&#x201A;a opracowana i upowszechniona przez australijskiego naukowca Charlesa Hamblina [1] jako â&#x20AC;&#x17E;odwrĂłcenieâ&#x20AC;? beznawiasowej notacji polskiej, opracowanej okoĹ&#x201A;o 1920 r. przez polskiego matematyka Jana Ĺ ukasiewicza. ZarĂłwno odkrycie, jak i jego fundamentalne znaczenie dla rozwoju technologii cyfrowej nie sÄ&#x2026; powszechnie znane nawet wĹ&#x203A;rĂłd osĂłb z wyksztaĹ&#x201A;ceniem akademickim. DziaĹ&#x201A;anie wszelkich urzÄ&#x2026;dzeĹ&#x201E; zawierajÄ&#x2026;cych procesory â&#x20AC;&#x201C; kalkulatory, komputery, urzÄ&#x2026;dzenia sieciowe i telekomunikacyjne, telefony komĂłrkowe, sprzÄ&#x2122;t AGD, cyfrowa telewizja naziemna i satelitarna i inne urzÄ&#x2026;dzenia â&#x20AC;&#x201C; byĹ&#x201A;oby bardzo utrudnione, gdyby nie stosowano tej notacji. Jej znaczenie doceniono dopiero po wielu dekadach w epoce komputerĂłw wyposaĹźonych w programowalny procesor i wykorzystujÄ&#x2026;cych jÄ&#x2122;zyki wysokiego poziomu. ZaletÄ&#x2026; tej notacji jest brak nawiasĂłw oraz koniecznoĹ&#x203A;ci wstÄ&#x2122;pnej analizy caĹ&#x201A;ego wyraĹźenia arytmetycznego, aby ustaliÄ&#x2021; kolejnoĹ&#x203A;Ä&#x2021; dziaĹ&#x201A;aĹ&#x201E;. Taki sposĂłb zapisu uĹ&#x201A;atwia przygotowanie kodu wynikowego dla procesora. Notacja moĹźe byÄ&#x2021; stosowana do zapisu dowolnych wyraĹźeĹ&#x201E; zĹ&#x201A;oĹźonych z symboli reprezentujÄ&#x2026;cych zmienne wejĹ&#x203A;ciowe oraz operatorĂłw,
) " V R % . & ) ' !) !@ (!(! % ' ' (+ !+ (!(!
!
a wiÄ&#x2122;c w logice zdaĹ&#x201E;, teorii zbiorĂłw, algebrze, logice dwuwartoĹ&#x203A;ciowej bÄ&#x2122;dÄ&#x2026;cej podstawÄ&#x2026; dziaĹ&#x201A;ania ukĹ&#x201A;adĂłw cyfrowych i komputerĂłw, a takĹźe w translatorach jÄ&#x2122;zykĂłw wysokiego poziomu. W przypisie do pracy [2] Jan Ĺ ukasiewicz po raz pierwszy podaĹ&#x201A; reguĹ&#x201A;y stosowanego przez siebie zapisu, zwanego takĹźe zapisem przedrostkowym, a w literaturze anglojÄ&#x2122;zycznej okreĹ&#x203A;lanego jako Polish Notation (PN), Normal Polish Notation (NPN), Ĺ ukasiewicz Notation (Ĺ N), Warsaw Notation (WN), Polish Prefix Notation (PPN), Simply Prefix Notation (SPN). Hamblin sugerowaĹ&#x201A;, aby notacjÄ&#x2122; tÄ&#x2122; nazwaÄ&#x2021; â&#x20AC;&#x17E;Azciweisakul notationâ&#x20AC;? (od nazwiska pisanego od tyĹ&#x201A;u). Ta propozycja nie przyjÄ&#x2122;Ĺ&#x201A;a siÄ&#x2122; prawdopodobnie ze wzglÄ&#x2122;du na trudnoĹ&#x203A;ci jÄ&#x2122;zykowe. PrzybliĹźmy sylwetkÄ&#x2122; prof. Jana Ĺ ukasiewicza. UrodziĹ&#x201A; siÄ&#x2122; 21 grudnia 1878 r. we Lwowie, a zmarĹ&#x201A; 13 lutego 1956 r. w Dublinie. ZajmowaĹ&#x201A; siÄ&#x2122; zawodowo logikÄ&#x2026;, matematykÄ&#x2026; i filozofiÄ&#x2026;, pracujÄ&#x2026;c na Uniwersytecie Jana Kazimierza we Lwowie, Uniwersytecie Warszawskim, a za granicÄ&#x2026; â&#x20AC;&#x201C; na Uniwersytecie DubliĹ&#x201E;skim od 1946 r. PeĹ&#x201A;niĹ&#x201A; funkcjÄ&#x2122; rektora Uniwersytetu Warszawskiego (1922â&#x20AC;&#x201C;23 i 1931â&#x20AC;&#x201C;32) oraz ministra oĹ&#x203A;wiaty w rzÄ&#x2026;dzie Ignacego Paderewskiego. Jest wymieniony wĹ&#x203A;rĂłd grona twĂłrcĂłw tzw. polskiej lwowsko-warszawskiej szkoĹ&#x201A;y matematycznej. Do jego osiÄ&#x2026;gniÄ&#x2122;Ä&#x2021; zalicza siÄ&#x2122; poĹ&#x201A;oĹźenie podwalin teoretycznych pod logikÄ&#x2122; trĂłjwartoĹ&#x203A;ciowÄ&#x2026;, w ktĂłrej oprĂłcz dwĂłch klasycznych stanĂłw prawda i faĹ&#x201A;sz trzeci stan oznaczono jako nie wiem. ChoÄ&#x2021; wspĂłĹ&#x201A;czesne komputery nie korzystajÄ&#x2026; dziĹ&#x203A; z zalet takiej konwencji, warto wspomnieÄ&#x2021;, Ĺźe w drugiej poĹ&#x201A;owie XX wieku w ZwiÄ&#x2026;zku Radzieckim produkowano maszyny cyfrowe SETUN (1958), oparte na podobnym pomyĹ&#x203A;le, oznaczajÄ&#x2026;c symbolicznie stany 1, 0, â&#x20AC;&#x201C;1, co nadaĹ&#x201A;o im znaczenie arytmetyczne [3].
11
O znaczeniu odwrotnej notacji polskiej dla rozwoju technik informatycznych czesną jednokrotną analizą w fazie kompilacji programu każdego z symboli tworzących wyrażenie. Przykładowy zapis działania: (4+7)·2 w notacji klasycznej – wrostkowej (operator umieszczony między liczbami), w zapisie zgodnym z notacją polską wygląda następująco: · + 4 7 2. Taki zapis jest bliski naturalnemu sposobowi wyrażania opisanych działań, w którym to sposobie zazwyczaj najpierw podaje się czynność, a następnie dopełnia wyrażenie wskazaniem rzeczy, do których czynność się odnosi. Mówimy wówczas: „pomnóż sumę 4 i 7 przez 2”. Taka interpretacja językowa rozwiewa też wątpliwości, co do kolejności argumentów w przypadku operatorów nieprzemiennych, typu odejmowanie czy dzielenie. Wyżej wymienione cechy naturalności języka przeniesiono również na poziom konstruowania programów dla komputerów w językach niskiego poziomu. Każdy procesor wykonuje program będący sekwencją elementarnych rozkazów zdefiniowanych przez właściwą dla niego listę rozkazów ISA (ang. Instruction Set Architecture). Przykładowo, zgodnie z konwencją zaproponowaną przez firmę Intel składnię rozkazu MOV A, B czytamy jako „prześlij kopię danych z B do A”. Inny rozkaz ADD A, B oznacza: „zapisz w A sumę zawartości z A i B”, czyli wskazuje na zapis algebraiczny oznaczany jako A = A + B. Na rysunku 2 przedstawiono fragment rzeczywistego kodu wykonywanego przez koprocesor arytmetyczny x87 zaczerpnięty z dokumentacji technicznej [5]. Koprocesor oblicza wyrażenie (5,6·2,4) + (3,8·10,3). Odpowiadający mu zapis w notacji polskiej ma postać: + · 5,6 2,4 · 3,8 10,3, który jednak nie jest już taki intuicyjny. Zadanie staje się łatwiejsze, jeśli korzysta się ze stosu zorganizowanego z fizycznych rejestrów o symbolach R0–R7, jak w przykładzie poniżej. Wówczas wystarczy w rozkazie podać drugi argument działania, a zarówno jego wynik, jak i pierwszy argument jest wskazywany przez wierzchołek stosu oznaczony tu jako ST(0), co oznacza adresowanie z zerowym przesunięciem względem rejestru pełniącego rolę wierzchołka stosu. Użycie organizacji pamięci w stos przynosi korzyści, gdyż program przetwarza wówczas liczby w naturalnej kolejności zaczynając od liczby 5,6 i zajmuje stosunkowo niewiele zasobów pamięciowych – tylko dwa rejestry! Jako ostatnie jest wykonywane dodawanie, rozkazem FADD, na argumencie przechowywanym na wierzchołku stosu ST(0) i leżącym bezpośrednio pod nim, czyli w lokacji ST(1). Należy dodać, że stos w tym przypadku jest zorganizowany w stronę malejących adresów, czyli „rośnie w dół”. Cecha przetwarzania dwóch argumentów leżących najbliżej wierzchołka stosu, wraz z jego zastosowaniem do przechowywania pośrednich wyników obliczeń, przyczyniła się do upowszechnienia odwrotnej notacji polskiej, o której piszemy w kolejnym rozdziale. Więcej rozważań na temat klasycznej arytmetyki komputera, w tym obliczeń zmiennopozycyjnych wraz z wyjaśnieniem podstawowych pojęć związanych z architekturą komputera można znaleźć między innymi w pracach [6, 7].
Rys. 1. Fragment sprawozdania z 13 kwietnia 1817 r. Towarzystwa Przyjaciół Nauk [4] Fig. 1. Excerpt from the report of April 13, 1817 of the Society of Friends of Sciences [4]
Poruszając wątek wpływu naszych rodaków na rozwój informatyki, nie wypada przemilczeć wynalazców żyjących w XIX wieku, inspirujących kolejne pokolenia inżynierów. Przeszli oni do historii techniki jako twórcy mechanicznych maszyn liczących. Byli to Abraham Stern (176?–1842), Izrael Abraham Staffel (1814–1884) i Jewna Jakobson żyjący w drugiej połowie XIX wieku. Na rys. 1 przedstawiono fragment sprawozdania z posiedzenia Towarzystwa Przyjaciół Nauk z dnia 13 kwietnia 1817 r., na którym dyskutowano o znaczeniu maszyny pierwiastkującej Sterna [4]. Czytamy w nim: „…”IX. Raport o Machinie Kollegi Sterna Czytany był Rapport Kollegi Dąbrowskiego w imieniu Deputacyi o machinie wynalazku Kollegi Sterna służącej do wyciągania pierwiastków kwadratowych tak prawdziwych jak przybliżonych, w którym wyłożywszy ‚obozennie’ różne działania za pomocą tej machiny i skutki z tych wypadające zdanie Deputacya wyraża, że machina ta, równie jak arytmetyczna zupełnie odpowiada zamierzonemu celowi w zastąpieniu silenia się władz umysłowych siłami ciała, i że wiadomość o tym pięknym i ‘…’ wynalazku, równie Kolledze Sternowi, jak narodowi naszemu zaszczyt przynoszącym powinna być udzielona Publiczności. Przyjęło Towarzystwo ten wniosek, i zezwoliło, aby Raport niniejszy był umieszczony w Gazetach krajowych, albo w Pamiętniku Warszawskim.” Warto przypomnieć, że komputery uzyskały zdolność obliczania pierwiastka kwadratowego dopiero nieco ponad pół wieku temu. W latach 60. XX wieku były dostępne m.in. maszyny IBM 360/370, DEC VAX czy polska ODRA 1003/1013. Jednak pierwiastkowanie stało się podstawową funkcjonalnością komputera wraz z opracowaniem w 1982 r. przez firmę Intel układu koprocesora arytmetycznego, zwanego też jednostką zmiennopozycyjną, a trzy lata późnej wprowadzono światowy standard IEEE Standard for Floating-Point Arithmetic (IEEE 754 – 1985). W 2008 r. wprowadzono zmiany do tej normy, dostosowując jej zapisy do współczesnych potrzeb. Zastosowano m.in. format 128-bitowy dla zadań o wymaganej przez środowisko naukowców bardzo wysokiej rozdzielczości (precyzji) zapisu liczb. Mając na uwadze rynek tanich procesorów zalegalizowano format 16-bitowy, w pełni wystarczający dla przenośnych urządzeń rejestrująco-fiskalnych (parkometry, biletomaty, urządzenia odczytujące stan liczników zużycia wody, gazu, energii elektrycznej itp.).
X' 5 Zgodnie z notacją zaproponowaną przez Jana Łukasiewicza, w zapisie wyrażeń arytmetycznych najpierw podawany jest operator (działanie), a potem operandy (argumenty). Wyrażenie nie wymaga wówczas użycia nawiasów, ponieważ przypisanie argumentów do operatorów wynika wprost z ich kolejności w zapisie, o ile z góry znana jest liczba argumentów poszczególnych operatorów. Przy takich założeniach nie jest konieczna wstępna analiza całego wyrażenia, aby ustalić kolejność działań. Umożliwia to szybkie wykonanie kodu wynikowego przez procesor z jedno-
12
P
O
M
I
A
R
Y
•
A
U
T
O
M
Rys. 2. Przykład przetwarzania wyrażenie przez jednostkę FPU [5] Fig. 2. Example x87 FPU Dot Product Computation [5]
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 2/ 20 20
[' 1 Gdy umieĹ&#x203A;ci siÄ&#x2122; operatory dziaĹ&#x201A;aĹ&#x201E; arytmetycznych za operandami, to otrzymuje siÄ&#x2122; tzw. odwrotnÄ&#x2026; notacjÄ&#x2122; polskÄ&#x2026;, czÄ&#x2122;sto nazywanÄ&#x2026; notacjÄ&#x2026; przyrostkowÄ&#x2026;. Dla uproszczenia dalszego wywodu przywoĹ&#x201A;amy przykĹ&#x201A;ad liczbowy z poprzedniego podrozdziaĹ&#x201A;u uproszczony, dla lepszej jego czytelnoĹ&#x203A;ci, do liczb z odciÄ&#x2122;tÄ&#x2026; czÄ&#x2122;Ĺ&#x203A;ciÄ&#x2026; uĹ&#x201A;amkowÄ&#x2026; tj. (5¡2) + (3¡10). W konwencji ONP zapis prezentuje siÄ&#x2122; nastÄ&#x2122;pujÄ&#x2026;co: 5 2¡ 3 10 ¡ +. Z formalnego punktu widzenia odwrĂłcenie konwencji nie wnosi nic nowego do rozwaĹźaĹ&#x201E;. JeĹ&#x203A;li jednak zaĹ&#x201A;oĹźymy, Ĺźe do przetwarzania wyraĹźeĹ&#x201E; w ONP wykorzystuje siÄ&#x2122; komputery, to korzyĹ&#x203A;Ä&#x2021; staje siÄ&#x2122; widoczna. W notacji polskiej musielibyĹ&#x203A;my przechowywaÄ&#x2021; w pamiÄ&#x2122;ci komputera operator do momentu wczytania obu argumentĂłw. ObciÄ&#x2026;Ĺźa to niepotrzebnie procesor, co ma wpĹ&#x201A;yw na wydajnoĹ&#x203A;Ä&#x2021; przetwarzania algorytmĂłw obliczeniowych. W odwrotnej notacji polskiej najpierw wczytujemy argumenty i wykonujemy na nich wskazane dziaĹ&#x201A;anie. W praktyce w tym celu korzysta siÄ&#x2122; ze stosu wg zasady, Ĺźe przetwarzane jest jednokrotnie wyraĹźenie od lewej do prawej i jeĹ&#x203A;li analizowany element jest: â&#x2C6;&#x2019; argumentem (np. liczbÄ&#x2026;), to zapisywany jest na stosie, â&#x2C6;&#x2019; operatorem, to pobierane sÄ&#x2026; ze stosu dwa argumenty, wykonywane jest dziaĹ&#x201A;anie, a wynik zapisywany na stosie. Wykonanie naszego wyraĹźenia w ONP z uĹźyciem stosu, zorganizowanego â&#x20AC;&#x17E;w dĂłĹ&#x201A;â&#x20AC;?, moĹźna zilustrowaÄ&#x2021; jak na rysunku 3, wyróşniajÄ&#x2026;c analizowany w danym etapie element (ang. token). Przetwarzanie w sposĂłb opisany powyĹźej wymaga wczeĹ&#x203A;niejszej konwersji wyraĹźenia do postaci przyrostkowej. W tym celu rĂłwnieĹź moĹźna ponownie skorzystaÄ&#x2021; ze stosu. WyraĹźenie w notacji wrostkowej (mogÄ&#x2026; byÄ&#x2021; stosowane wielopoziomowe nawiasy) przetwarza siÄ&#x2122; jednokrotnie od lewej do prawej wg nastÄ&#x2122;pujÄ&#x2026;cej reguĹ&#x201A;y: JeĹ&#x203A;li analizowany element jest: â&#x2C6;&#x2019; nawiasem otwierajÄ&#x2026;cym, to zapisz go na stosie, â&#x2C6;&#x2019; nawiasem zamykajÄ&#x2026;cym, to odczytaj ze stosu, w odwrotnej kolejnoĹ&#x203A;ci, wszystkie operatory wĹ&#x201A;Ä&#x2026;cznie z nawiasem otwierajÄ&#x2026;cym i dopisz je do wyraĹźenia w ONP, â&#x2C6;&#x2019; argumentem, to dopisz go do wyraĹźenia w ONP, â&#x2C6;&#x2019; operatorem, jeĹ&#x203A;li ma on wyĹźszy priorytet niĹź ten leĹźÄ&#x2026;cy na wierzchu stosu, to zapisz go na stosie, â&#x2C6;&#x2019; operatorem, jeĹ&#x203A;li ma niĹźszy lub rĂłwny priorytet niĹź ten leĹźÄ&#x2026;cy na wierzchu stosu, to zapisz go na stosie po odczytaniu operatorĂłw o wyĹźszym lub rĂłwnym priorytecie, â&#x2C6;&#x2019; na koniec odczytaj ze stosu pozostaĹ&#x201A;e operatory i dopisz do wyraĹźenia w ONP. Opisany algorytm jest znany w literaturze jako metoda â&#x20AC;&#x17E;Shunting-yardâ&#x20AC;? zaproponowana przez Edgara DijkstrÄ&#x2122;. WiÄ&#x2122;cej rozwaĹźaĹ&#x201E; na temat róşnych algorytmĂłw i ich modyfikacji moĹźna znaleĹşÄ&#x2021; w pracy [8]. PoszczegĂłlne etapy konwersji ww. wyraĹźenia ilustruje rys. 4. W przykĹ&#x201A;adzie tym ponownie ujawnia siÄ&#x2122; zaleta stosowania stosu. Do przeprowadzenia konwersji wyraĹźenia byĹ&#x201A;o konieczne tymczasowe uĹźycie jedynie trzech komĂłrek pamiÄ&#x2122;ci.
Etap 1 5
ST(0)
Etap 2 5
ST(1)
2
ST(0)
Etap 3 5¡2
ST(0)
Etap
Stos
WyraĹźenie w ONP
1
(
2
(
5
3
(¡
5
4
(¡
52
5
52¡
6
+
52¡
7
+(
52¡
8
+(
5 2 ¡3
9
+(¡
52¡3
10
+(¡
5 2 ¡ 3 10
11
+
5 2 ¡ 3 10 ¡
12
5 2 ¡ 3 10 ¡+
Rys. 4. Konwersja wyraĹźenia wrostkowego do notacji ONP z uĹźyciem stosu Fig. 4. Conversion of infix to postfix notation using the stack
\' Na przestrzeni lat zastosowania ONP ewoluowaĹ&#x201A;o od kalkulatorĂłw elektronicznych ku informatyce. Obecnie uĹźytkownik komputera wĹ&#x201A;aĹ&#x203A;ciwie ma niewielkie szanse na bezpoĹ&#x203A;redni kontakt z ONP, chyba Ĺźe jest uĹźytkownikiem maĹ&#x201A;o popularnych w Polsce kalkulatorĂłw firmy Hewlett-Packard lub specjalistycznych aplikacji.
\']' 3 Istotna popularyzacja notacji nastÄ&#x2026;piĹ&#x201A;a wraz z pojawieniem siÄ&#x2122; kalkulatorĂłw firmy Hewlett-Packard oraz CASIO w latach 70. oraz 80. XX wieku, czÄ&#x2122;sto nie do koĹ&#x201E;ca legalne sprowadzanych z Wielkiej Brytanii â&#x20AC;&#x201C; takie byĹ&#x201A;y czasy! Posiadanie dolarĂłw w najlepszym przypadku groziĹ&#x201A;o ich konfiskatÄ&#x2026;. Wczesne modele, m.in. HP-12c, HP-35, uĹźywaĹ&#x201A;y ONP bez stosowania alternatywnych metod. Późniejsze wersje, jak HP-35s, rĂłwnieĹź udostÄ&#x2122;pniaĹ&#x201A;y klasycznÄ&#x2026; notacjÄ&#x2122; wrostkowÄ&#x2026; i mogĹ&#x201A;y w wygodny sposĂłb umoĹźliwiÄ&#x2021; uĹźytkownikom przeĹ&#x201A;Ä&#x2026;czanie siÄ&#x2122; miÄ&#x2122;dzy niÄ&#x2026;, a ONP. RozszerzonÄ&#x2026; funkcjonalnoĹ&#x203A;ciÄ&#x2026;, w tym obsĹ&#x201A;ugÄ&#x2026; ONP, charakteryzuje siÄ&#x2122; obecna na rynku linia modeli HP Prime. Innym, powszechnie dostÄ&#x2122;pnym rozwiÄ&#x2026;zaniem sÄ&#x2026; aplikacje wirtualnego kalkulatora z funkcjÄ&#x2026; ONP na urzÄ&#x2026;dzenia mobilne. PrzykĹ&#x201A;adowÄ&#x2026;, aktualnie stosowanÄ&#x2026; w smartfonach aplikacjÄ&#x2122; wirtualnego kalkulatora â&#x20AC;&#x17E;HiPER Scientific Calculatorâ&#x20AC;? przedstawiono na rys. 5.
Etap 4
Etap 5
Etap 6
5¡2
ST(1)
5¡2
ST(2)
5¡2
ST(1)
3
ST(0)
3
ST(1)
3¡10
ST(0)
10
ST(0)
Etap 7 5¡2+3¡10
ST(0)
Rys. 3. Kolejne etapy przetwarzania wyraĹźenia w ONP z uĹźyciem stosu Fig. 3.The next stages of processing RPN expression using the stack
13
O znaczeniu odwrotnej notacji polskiej dla rozwoju technik informatycznych szego artykuĹ&#x201A;u â&#x20AC;&#x201C; wykonywanie kodu w konwencji odwrotnej notacji polskiej wĹ&#x201A;aĹ&#x203A;nie z uĹźyciem stosu. Oparcie jÄ&#x2122;zyka Forth na ONP wyraĹşnie wyróşnia go spoĹ&#x203A;rĂłd wielu innych koncepcji tworzenia jÄ&#x2122;zykĂłw programowania. PoczÄ&#x2026;tkowa trudnoĹ&#x203A;Ä&#x2021; w zrozumieniu kodu przez niedoĹ&#x203A;wiadczonych programistĂłw prawdopodobnie staĹ&#x201A;a siÄ&#x2122; przyczynÄ&#x2026; ograniczonej popularnoĹ&#x203A;ci tego jÄ&#x2122;zyka, choÄ&#x2021; istnieje wiele jego wersji na róşne platformy sprzÄ&#x2122;towe i systemy operacyjne. Warto wymieniÄ&#x2021; kilka z nich, m.in. Swiftforth, Gforth, Mecrisp.
\'^' !
a)
StosujÄ&#x2026;c formalizm naukowy moĹźna stwierdziÄ&#x2021;, Ĺźe komputery w swojej naturze sÄ&#x2026; niczym innym jak sekwencyjnÄ&#x2026; maszynÄ&#x2026; synchronicznÄ&#x2026;, czyli ukĹ&#x201A;adem przechodzÄ&#x2026;cym ze stanu poprzedniego do stanu nastÄ&#x2122;pnego w takt zegara taktujÄ&#x2026;cego. Na stan nastÄ&#x2122;pny ma wpĹ&#x201A;yw stan poprzedni (zawartoĹ&#x203A;Ä&#x2021; pamiÄ&#x2122;ci danych komputera) oraz dane wejĹ&#x203A;ciowe, np. uzyskane w trakcie interakcyjnej konwersacji z uĹźytkownikiem lub zawartoĹ&#x203A;Ä&#x2021; pliku. StrukturÄ&#x2122; komputera moĹźna wiÄ&#x2122;c opisaÄ&#x2021; jako kombinacjÄ&#x2122; funktorĂłw logicznych i ukĹ&#x201A;adĂłw pamiÄ&#x2122;ciowych. Na przestrzeni lat do projektowania ukĹ&#x201A;adĂłw logicznych, powszechnie nazywanych teĹź cyfrowymi, wynaleziono wiele metod optymalizacji wyraĹźeĹ&#x201E; boolowskich sĹ&#x201A;uĹźÄ&#x2026;cych do opisu architektury komputera. WykorzystujÄ&#x2026;c go jako narzÄ&#x2122;dzie do projektowania ukĹ&#x201A;adĂłw logicznych istotne sÄ&#x2026; metody pozwalajÄ&#x2026;ce na zautomatyzowanie i algorytmizacjÄ&#x2122; tego procesu. JednÄ&#x2026; z bardziej efektywnych metod jest zaproponowana przez Quinea i McCluskeya [9, 10]. We wczesnej fazie dziaĹ&#x201A;ania algorytmu korzysta ona z wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci ONP pozbywajÄ&#x2026;c siÄ&#x2122; nawiasĂłw i konwertujÄ&#x2026;c wejĹ&#x203A;ciowe wyraĹźenie logiczne do postaci przyrostkowej. Upraszcza to kolejne kroki poszukiwania minimalnej postaci opisu formalnego projektowanego ukĹ&#x201A;adu, na podstawie ktĂłrego tworzona jest sieÄ&#x2021; poĹ&#x201A;Ä&#x2026;czeĹ&#x201E; funktorĂłw logicznych. PrzykĹ&#x201A;adowo, proste wyraĹźenie logiczne(AĂ&#x161;B)Ă&#x2122;C jest sprowadzane do rĂłwnowaĹźnej postaci ABĂ&#x161;CĂ&#x2122;, gdzie Ă&#x161; i Ă&#x2122; to operatory alternatywy i koniunkcji.
b)
Rys. 5. Widok aplikacji kalkulatora z moĹźliwoĹ&#x203A;ciÄ&#x2026; wyboru trybu ONP (a) oraz przykĹ&#x201A;adowe liczby odkĹ&#x201A;adane na stosie (b) Fig. 5. Virtual calculator for mobile working in RPN mode as one of modes (a) and examples of numbers pushed on stack (b)
\'X' 3 Naturalnymi nastÄ&#x2122;pcami kalkulatorĂłw staĹ&#x201A;y siÄ&#x2122; komputery. NiektĂłre modele potrafiĹ&#x201A;y w sposĂłb natywny przetwarzaÄ&#x2021; wyraĹźenia ONP, co jest bliskie specyfice komputera i uĹźywanych w nim rozkazĂłw. ZaliczaĹ&#x201A;y siÄ&#x2122; do nich modele KDF9 firmy English Electric Company i amerykaĹ&#x201E;skie Burroughs B5000, popularne w latach 60. XX wieku. Dzisiejsze komputery, bez ktĂłrych nie wyobraĹźamy sobie wspĂłĹ&#x201A;czesnego Ĺ&#x203A;wiata, nie dziaĹ&#x201A;aĹ&#x201A;yby tak efektywnie, gdyby nie modyfikacja pomysĹ&#x201A;u Jana Ĺ ukasiewicza. Wszelkie wyraĹźenia w zrozumiaĹ&#x201A;ej dla czĹ&#x201A;owieka postaci wrostkowej (a moĹźe to tylko kwestia szkolnych nawykĂłw?) w tle sÄ&#x2026; konwertowane do beznawiasowej postaci przyrostkowej. Nietrudno wskazaÄ&#x2021; liczne programy wspierajÄ&#x2026;ce matematykĂłw, fizykĂłw, czy inĹźynierĂłw, umoĹźliwiajÄ&#x2026;ce operowanie na zapisie (niekiedy symbolicznym) wyraĹźeĹ&#x201E; algebraicznych, logicznych i leksykalnych. Konwersja do ONP jest przeprowadzana podczas wczesnej fazy kompilacji programĂłw napisanych w popularnych jÄ&#x2122;zykach wysokiego poziomu w trakcie analizy skĹ&#x201A;adni leksykalnej kodu ĹşrĂłdĹ&#x201A;owego, tzw. parsery. IstniejÄ&#x2026; teĹź takie jÄ&#x2122;zyki, dla ktĂłrych ONP jest natywnym sposobem opisu wyraĹźeĹ&#x201E;.
5. Podsumowanie Podane przykĹ&#x201A;ady zastosowaĹ&#x201E; odwrotnej notacji polskiej nie wyczerpujÄ&#x2026; tematu, a jedynie sÄ&#x2026; zachÄ&#x2122;tÄ&#x2026; do dalszego studiowania zagadnienia. PoniewaĹź niniejszy artykuĹ&#x201A; w znacznym stopniu dotyka aspektĂłw historii techniki, podkreĹ&#x203A;lajÄ&#x2026;c osiÄ&#x2026;gniÄ&#x2122;cia polskiej myĹ&#x203A;li wynalazczej, stÄ&#x2026;d zakoĹ&#x201E;czymy go sĹ&#x201A;owami Abrahama Sterna â&#x20AC;&#x201C; jednego ze wspomnianych wczeĹ&#x203A;niej OjcĂłw maszyn liczÄ&#x2026;cych. UogĂłlniliĹ&#x203A;my jedynie oryginalne znaczenie sĹ&#x201A;owa â&#x20AC;&#x17E;mechanikaâ&#x20AC;? do sĹ&#x201A;owa â&#x20AC;&#x17E;technikaâ&#x20AC;?, w znaczeniu â&#x20AC;&#x17E;informatykiâ&#x20AC;?, â&#x20AC;&#x17E;automatyki i robotykiâ&#x20AC;?, ktĂłre przecieĹź nie istniaĹ&#x201A;y w jego epoce. PoniĹźej zachowano pisowniÄ&#x2122; oryginalnÄ&#x2026; [11]: â&#x20AC;&#x17E;â&#x20AC;Ś KoĹ&#x201E;czÄ&#x2122; rozprawÄ&#x2122; tÄ&#x2026; uwagÄ&#x2026;, Ĺźe gdy mechanika (technika â&#x20AC;&#x201C; dopisek S. G. i W. M.) iest klucznicÄ&#x2026; naszych potrzeb tak dalece, iĹź nie tylko siĹ&#x201A;Ä&#x2122; naszÄ&#x2122; fizycznÄ&#x2026; ale nawet i wĹ&#x201A;adze umysĹ&#x201A;owe zastÄ&#x2122;powaÄ&#x2021; moĹźe, nayusilnieyszem przeto staraniem naszem bydĹş powinno przemysĹ&#x201A; w iey tak obszernem i uĹźytecznem polu rozkrzewiaÄ&#x2021;â&#x20AC;Ś â&#x20AC;Śstaraymy siÄ&#x2122; â&#x20AC;Ś czyniÄ&#x2021; postÄ&#x2122;p w przedmiotach, mechanicznych (technicznych â&#x20AC;&#x201C; dopisek S. G. i W. M.) moĹźnoĹ&#x203A;ci podlegajÄ&#x2026;cych, takie bowiem postÄ&#x2122;powanie drogÄ&#x2122; do pomyĹ&#x203A;lnoĹ&#x203A;ci i chwaĹ&#x201A;y kraiu toruie â&#x20AC;Śâ&#x20AC;? Abraham Stern â&#x20AC;&#x201C; 1817
\'[' Jest to uniwersalny jÄ&#x2122;zyk opisu strony przygotowanej do druku, bÄ&#x2122;dÄ&#x2026;cy obecnie standardem w zastosowaniach poligraficznych â&#x20AC;&#x201C; cechuje go rozszerzenie pliku *.PS. Postscript jest rĂłwnoczeĹ&#x203A;nie proceduralnym jÄ&#x2122;zykiem programowania, opartym na strukturze stosu. Pozwala nie tylko opisaÄ&#x2021; precyzyjnie wyglÄ&#x2026;d strony, Ĺ&#x201A;Ä&#x2026;czÄ&#x2026;c obiekty tekstowe z graficznymi, ale takĹźe wykonywaÄ&#x2021; zĹ&#x201A;oĹźone operacje na dostarczonych danych. Jego polecenia sÄ&#x2026; rozpoznawane przez urzÄ&#x2026;dzenia drukujÄ&#x2026;ce. W skĹ&#x201A;adni jÄ&#x2122;zyka uĹźywana jest odwrotna notacja polska, co sprawia, Ĺźe kolejnoĹ&#x203A;Ä&#x2021; operacji jest jednoznaczna, ale wpĹ&#x201A;ywa to niekorzystnie na czytelnoĹ&#x203A;Ä&#x2021; programu, poniewaĹź analizujÄ&#x2026;c kod naleĹźy pamiÄ&#x2122;taÄ&#x2021; o bieĹźÄ&#x2026;cej zawartoĹ&#x203A;ci stosu. WiÄ&#x2122;kszoĹ&#x203A;Ä&#x2021; operatorĂłw pobiera argumenty ze stosu i umieszcza wyniki na stosie. LiteraĹ&#x201A;y, na przykĹ&#x201A;ad liczby, powodujÄ&#x2026; umieszczenie ich kopii na stosie.
TakĹźe prace autorĂłw niniejszej publikacji dotyczÄ&#x2026;ce tworzenia algorytmĂłw do cyfrowej korekcji dynamicznego przetwarzania przetwornikĂłw pomiarowych w swojej istocie, nieĹ&#x203A;wiadomie, wykorzystywaĹ&#x201A;y OdwrotnÄ&#x2026; NotacjÄ&#x2122; PolskÄ&#x2026; [6, 12].
\'\' ( _ !
Jest jÄ&#x2122;zykiem bliskim sprzÄ&#x2122;towi, stÄ&#x2026;d potocznie nazywany jest asemblerowym jÄ&#x2122;zykiem programowania wysokiego poziomu. Wynika to z wbudowanych cech paradygmatu imperatywnego i silnego zorientowania na wykonywanie operacji na stosie. Do jego charakterystycznych cech naleĹźÄ&#x2026;: natychmiastowa interpretacja wprowadzonych sĹ&#x201A;Ăłw oraz to, co jest kluczowe w kontekĹ&#x203A;cie niniej-
14
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
Projekt finansowany w ramach programu Ministra Nauki i Szkolnictwa WyĹźszego pod nazwÄ&#x2026; â&#x20AC;&#x17E;Regionalna Inicjatywa DoskonaĹ&#x201A;oĹ&#x203A;ciâ&#x20AC;? w latach 2019â&#x20AC;&#x201C;2022 nr projektu 020/RID/2018/19, kwota finansowania 12 000 000 PLN.
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
` # & 1. Hamblin Ch.L., Translation to and from Polish notation. â&#x20AC;&#x153;Computer Journalâ&#x20AC;?, Vol. 5, No. 3, 1962, 210â&#x20AC;&#x201C;213, DOI: /10.1093/comjnl/5.3.210. 2. Ĺ ukasiewicz J., O znaczeniu i potrzebach logiki matematycznej, Nauka Polska, 1929, t. 10, 604â&#x20AC;&#x201C;620. 3. Targowski A., Historia â&#x20AC;&#x201C; TeraĹşniejszoĹ&#x203A;Ä&#x2021; â&#x20AC;&#x201C; PrzyszĹ&#x201A;oĹ&#x203A;Ä&#x2021; Informatyki, Wydawnictwo Politechniki Ĺ Ăłdzkiej, Ĺ ĂłdĹş 2013, ISBN 978-83-7283-535-2. 4. Archiwum cyfrowe Towarzystwa PrzyjaciĂłĹ&#x201A; Nauk z dnia 13 kwietnia 1817 r., https://szukajwarchiwach.pl/1/199/0/-/057?q=abraham+stern &wynik =6&rpp=15&page =1#tabJednostka. 5. Intel 64 and IA-32 Architectures Software Developerâ&#x20AC;&#x2122;s Manual: Vol. 1: Basic Architecture, www.intel.pl/content/www/pl/pl/ architecture-and-technology/64-ia-32-architectures-software-developer-vol-1-manual.html. 6. GryĹ&#x203A; S., Arytmetyka komputerĂłw w praktyce, Wydawnictwo Naukowe PWN, Warszawa 2007, 2013, ISBN 978-83-01-15131-7. 7. Jakubiec J., Krupanek B., Bogacz R., NarzÄ&#x2122;dzia programowania mikrokontrolerĂłw. Wydawnictwo Politechniki Ĺ&#x161;lÄ&#x2026;skiej, Gliwice, 2017, ISBN 978-83-7880-450-5.
8. Ball J.A., Algorithms for RPN calculators, Cambridge, Massachusetts, USA: Wiley-Interscience, John Wiley & Sons, Inc., 1978, ISBNÂ 0-471-03070-8. 9. Quine W.V., The Problem of Simplifying Truth Functions, â&#x20AC;&#x153;The American Mathematical Monthlyâ&#x20AC;?, Vol. 59, No. 8, 1952, 521â&#x20AC;&#x201C;531, DOI: 10.2307/2308219. 10. McCluskey E.J., Minimization of Boolean Functions, â&#x20AC;&#x153;Bell System Technical Journalâ&#x20AC;?, Vol. 35, No. 6, 1956, 1417â&#x20AC;&#x201C;1444, DOI: 10.1002/j.1538-7305.1956.tb03835.x. 11. Rozprawa o Machinie Arytmetyczney poĹ&#x201A;Ä&#x2026;czoney z machinÄ&#x2026; do wyciÄ&#x2026;gania pierwiastkĂłw z uĹ&#x201A;omkami; przez Abrahama Stern, na posiedzeniu publicznym Towarzystwa KrĂłlewskiego Warszawskiego PrzyiacioĹ&#x201A; Nauk d: 30 Kwietnia 1817. czytana. Biblioteka Cyfrowa Politechniki Warszawskiej, http:// bcpw.bg.pw.edu.pl/Content/2099 /07cnomf_omachinie.pdf â&#x20AC;&#x201C; dostÄ&#x2122;p 25.04.2020 r. 12. Minkina W., GryĹ&#x203A; S., Korekcja charakterystyk dynamicznych czujnikĂłw termometrycznych â&#x20AC;&#x201C; metody, ukĹ&#x201A;ady, algorytmy, Wydawnictwo Politechniki CzÄ&#x2122;stochowskiej, CzÄ&#x2122;stochowa 2004, ISBN 83-7193-243-X.
S 6 # X F > # - # . This paper is focused on the impact of polish notation on the development of modern computer science and other related scientific disciplines using IT techniques, including mathematics, electronics, automation and robotics. Reverse Polish Notation was developed and disseminated by Australian scientist Charles Hamblin as a â&#x20AC;&#x153;reversalâ&#x20AC;? of the prefix notation, developed around 1920 by the Polish mathematician Jan Ĺ ukasiewicz. According to knowledge of the authors of this article, the discovery and its fundamental importance for the development of digital technology is not common in the consciousness, even of people with academic education. Operation of all devices containing processors, e.g. calculators, computers, network and telecommunications devices, cell phones, household appliances, digital terrestrial and satellite television and other devices would be very difficult without applying this notation. Its significance was appreciated only after many decades, in the era of electronic computers, equipped with a programmable processor and high-level languages. The advantage of this notation is the lack of parentheses and the need for a preliminary analysis of the entire expression to determine the order of operations. It makes easier to prepare the result code for the computer. Notation can be used to write any of the expressions composed of symbols representing input variables and operators, i.e. in sentence logic, set theory, algebra, two-state logic used by digital systems and being the basis of computers, high-level language compilers and interpreters. In this article, examples of contemporary RPN applications are given, such as: Forth language, Postscript, high-level language parsers. The considerations are illustrated by examples of the conversion of an expression from classical notation to postfix notation and its processing by a computer using a stack memory management model to reduce time of algorithm execution and memory occupation. The purpose of this publication was also to commemorate the achievements of Polish technical thought in the field of contemporary computer techniques and closely associated with the name of Jan Ĺ ukasiewicz â&#x20AC;&#x201C; the creator of the world-famous Reverse Polish Notation. This is also due to the fact that the currently created research network including leading national scientific and research institutes in Poland, which is a showcase of Polish technical thought, has assumed the patronage of Ignacy Ĺ ukasiewicz â&#x20AC;&#x201C; known mainly for the invention of the kerosene lamp and the development of the Polish oil industry. They are two different people distinguished in other areas, which are worth remembering. KeywordsV # % V % X F > % . ' . G Y % % . . . .
15
O znaczeniu odwrotnej notacji polskiej dla rozwoju technik informatycznych
( ) *+ ' /$
' , - ( $ #
. & ORCID: 0000-0001-7910-3659
' & ORCID: 0000-0002-3153-270X
' . E Q ' ' E ; ' = E F % ' ' ?BBT (!! % Q ' G . # F " (!? SG # ; ' = F N . G ' ' ' ' H E . % J H' % G ' Q H % E . # ' % J G ' % % G J N GH'I J . # % ' J HO % ' ' . % ' +! J # E N ' 6===% = % 6SF ' " $ . F E M ' > S'' " . H E # . N ' ' E . FM> 6 N # = ' 0 E
' ; ' = F E Q ?BTT % ' P ?B) % G P ?BB@ % # E ' ; ' = % M E % 6 # = M ' R EZ " (!!+ G ' H % E . # % J E % O N J E T . # . % ?)! G K *@ E [ # ' # \ ' F H M ' > M ' > J L ?* J 4 H J H ?+ ' . E . % J ' O H ' ] ' H > . ' $ (! . J' ' ' E N $ X F SG # " ' - . ; ' = F
16
P
O
M
I
A
R
Y
â&#x20AC;¢
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;¢
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 2/2020, 17â&#x20AC;&#x201C;22, DOI: 10.14313/PAR_236/17
0 X =Y < V Jikun Wang ; # 0 . % < # $ % 6 # M ' X G % M ' 4 G )% !(E@(@ ; % F '
Linwei Lyu 0 # 0 . % > - # =Y $ ' = = . . =' % 0 " G # M' ' $ - . ' 6 . % 0 !! )*%
Abstract: This paper summarizes the research on exoskeletons focusing on locomotion support and presenting their general features including the general control approaches. The major fields of exoskeleton applications are focused, namely the military and medical fields. The results of our research on muscles activation during human walking are shortly described. The current developmental trends are outlined in the conclusions part. 3 V G Y % =$R% .
1. Introduction The concept of an artificial exoskeleton is inspired by biology. Many living creatures possess external skeletons covering their soft bodies, the classic example are insects. Animal exoskeletons are not only introducing the rigidity of the body but make the safe covering of soft organs, moreover through reconfiguration of the rigid segments, the reshaping of the body, that supports the locomotion, is obtained. Interesting example are the worms covered by segmented shell which can take a ball like form for rolling down the inclined surfaces (see Fig.1) The human exoskeletons we are not yet reached such advanced stage however those devices have quite long research history, and the recent challenges in this field are impressing. The study on human exoskeletons started in 19th century. The first exoskeleton-like devices were invented by Nicholas Yagin [26] (1890). These devices offered for the wearer the faster running and higher jumping ability. The era of modern exoskeletons started in late seventies of 20th century together with the progress in digital control systems and sensing technologies [25]. Exoskeletons are regarded as a wearable robots or a wearable intelligent devices. They can be categorized as a full-body, upper-body and lower-body supporters. The exoskeletons are used in rehabilitation, they prevent of motion system injuries, they increase the power or enhance the human motion abilities. Moreover, they are used as intelligent prosthesis for amputees,
) " V N ; .% .& ' ) ' ? !( (!(! % ' ' () !* (!(!
!
they also allow the locomotion of the persons with different motion impairments. In this paper we focus on human lower limb exoskeletons. However, the representative example of advanced full body exoskeleton is also mentioned. The walking ability is very crucial for normal functioning of the human being and is required for many working activities. The paper is organized as following: first the lower limb exoskeletons for military and medical applications are shortly presented; next the basic features of a human gait together with outline of our research on muscles activation signals are given. The paper is ending with conclusions.
Fig. 1. Armadillidiidae, also known as a pill bug, can reshape its body spherically. Left: pill bug in walking posture [20], photo by Peter Oâ&#x20AC;&#x2122;Connor aka anemoneprojectors on Foter.com/CC BY-SA; right: pill bug taking the ball shape [19], image courtesy of membio at FreeDigitalPhotos.net Rys. 1. Armadillidiidae, znane rĂłwnieĹź jako kulanka, potrafi zwinÄ&#x2026;Ä&#x2021; siÄ&#x2122; w kulkÄ&#x2122;. Po lewej: kulanka w postawie podczas chodzenia [20], fot. Peter Oâ&#x20AC;&#x2122;Connor znany jako anemoneprojectors na Foter.com/CC BY-SA; po prawej: kulanka przybiera ksztaĹ&#x201A;t kuli [19], fotografia dziÄ&#x2122;ki uprzejmoĹ&#x203A;ci membio na FreeDigitalPhotos.net
X' -{ & The modern exoskeletons augment the force and strength of soldiers carrying the loads to supports the longtime marching. The research on full-body exoskeletons for military applications started more than fifty years ago with the works on HARDI-
17
The Research on Exoskeletons with Focus on the Locomotion Support MAN. The HARDIMAN was built within General Electric project named “Human Augmentation Research and Development Investigation” [25]. HARDIMAN was equipped with hydraulic and electric motors. Unfortunately, the HARDIMAN project was not successful, because the actuators were producing violent and uncontrolled motions. In 2001, the Defense Advanced Research Projects Agency (DARPA, USA) started its own research on exoskeletons launching the program “Exoskeletons for Human Performance Augmentation” [16]. It aimed the design of exoskeletons augmentating the user forces. Between others, the Sarcos company was appointed to this project, and in 2006, DARPA successfully accepted the exoskeleton prototype by them. In 2010, Sarcos company delivered XOS exoskeleton. XOS is a full-body exoskeleton that enhances user’s strength by hydraulic actuators. XOS allows to carry the armor and other heavy objects [10]. The company progressed farther the exoskeletons development what lead to the very advanced Guardian XO exoskeleton suit for industrial workers, presented recently (2019) [17]. Another example of the DARPA supported designs is the Berkeley Lower Extremity Exoskeleton (BLEEX). The project was ordered in 2000, immediately after launching “Exoskeletons for Human Performance Augmentation”. BLEEX allowed the soldier to carry the heavy loads over the long distances [23]. The force augmenting actuators were increasing the leg joints power and the waist holder allowed to distribute properly the loads carried by soldiers. The example of partial exoskeleton is ONYX, which developed from motorized knee brace. It was the work of Lockheed Martin company financed by U.S. Army Natick Soldier Research, Development and Engineering Center (NSRDEC). Within this project started in 2018, the basic version of ONYX was enhanced to the advanced exoskeleton. ONYX uses artificial intelligence for predicting the joints movement. Another U.S. program called Tactical Light Operator Suit (or TALOS) [14] delivered a “superman” suit which is bulletproofed, weaponized and is strength enhancing. The project was started in 2013 and the advanced prototype was planned for demonstration in 2018, however it seems that the project was not so successful as it was assumed. Besides of some problems the research on exoskeletons for special applications is continuing. The actual developmental trends are focusing on soft, light weighted devices with long-lasting endurance. Their control strategies are discussed in the later part of this paper.
fore, the exoskeletons as a daily support are needed. A Japanese company (CYBERDYNE) developed Hybrid Assistive Limb (HAL) which assist the wearer walking, standing up and sitting down [21, 22]. The works on HAL precursor started in 1997 and the first demonstration of HAL took place in 2012. Another example is Unplugged Powered Suit (UPS), a lightweight, highly flexible exoskeleton invented also in Japan [11] and launched in year 2015. UPS uses pump drives and a pneumatic gel muscle (PGM) for augmenting the user forces. This device is soft, lightweighted, it can be used for enhancing the strength of athletes and for rehabilitation as well. Our list of most relevant projects, closes the Brain-Controlled Adaptive Lower Limb Exoskeleton for rehabilitation of post-stroke paralyzed (BCLLE) [33] currently being under development within the Institute of Electrical and Electronics Engineers EPICS grant. In the end of this part it should be emphasized that the needs of patients are very diverse, however, the common requirement are the robust, and reliable systems which is easy to wear.
\' ) V ! & \']' $ & ! Exoskeleton are the wearable robots. They integrate sensors, mechanics and control systems. The basic control strategies are listed in Table 1 where the examples considered the medical, and military applications are summarized. The types of actuators and active joints are listed. The control system of exoskeleton BLEEX increases the closed loop system sensitivity to its user forces and torques without any direct measurement. In the position control mode, the information from several inclinometers was used for deciding about required joints position [35]. BLEEX has few sensors and is driven by hydraulic actuators powering the hip, knee and ankle joints. Differently than BLEEX, ONYX and exoskeleton X1 (2012–2017) dedicated for human assistance and space missions, are using many sensors which are mounted in the feet, knees and hips collecting the motion data which are used for predictive control. ONYX applies miniaturized electric actuators [13]. X1 utilize series elastic rotary actuators in hip and knee joints [30]. Electromyogram based (EMG based) control creates the human-machine interface where the exoskeleton works according to user’s intention. EMG based control strategy was firstly used in HAL-3 (2000) and was farther refined in the HAL-5 version (2009). Most recent version of HAL exoskeleton has two modes of operation. In one mode, the device supports (stimulates by firm forcing) the predefined normal gait. When the patient wears HAL regularly, the gait pathologies are vanishing, and the gait is improving [6]. In the other mode of HAL operation, the EMG signals collected by surface electrodes are used as the templates for producing the gait support. The control system associates the EMG patterns with specific movements. Those patterns are used for producing the motor control commands [28, 21]. Therefore, the system is capable to predict the next required position and drives accordingly the actuators [34, 36, 6]. It is possible under the assumption that the user is able to produce clear (not blurred) EMG signals. Electroencephalograms (EEG) are the signals providing the information about electrical activity of the brain. These electric signals are used for the motion control of paralyzed persons. The electrical activity of the brain is measured by small surface electrodes attached to scalp. In this case, the EEG signal patterns are associated with different movements. The patient needs an exercising for such type of control using the mind (the will) [27]. In 2005 the Media Lab’s Biomechatronic Group from MIT delivered their first prototype with EEG controlled motion [18]. The project was farther developed. MIT exoskeleton applies
[' +! { &
Exoskeleton for medical application are dedicated for two groups of users, the disable persons and elderly. According to [7], there are 15 million disabled persons with lower limb motor disorders. Moreover, just in USA, in each year almost 800 000 brain strokes occur, and such patients critically need rehabilitation. The modern research on exoskeletons for medical application was started by M.Vukobratović [32] over 60 years ago. His team developed an active exoskeleton for rehabilitation of paraplegics. Till now, researchers had developed many active exoskeletons assisting patients in rehabilitation or supporting their walking [2, 9]. The exoskeletons usually apply the electrical motors powering the ankle, knee and hip joints for assisting palsy or stroke patients in walking. The exoskeleton called Lokomat (launched 2016) [3] is used to rehabilitate the patients on a treadmill. It provides a stable walking pace and secures the body balance. Some studies are indicating that the exoskeletons supporting the body weight improve the speed of gait recovery after the brain stroke [1]. The aging population is a common global issue. Unfortunately, the muscle strength is weakening with the age, moreover in the old age the problems with keeping the postural balance are also appearing. There-
18
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Jikun Wang, Linwei Lyu Table 1. Lower limb exoskeletons: list of selected features Tabela 1. Egzoszkielety koĹ&#x201E;czyny dolnej: wykaz wybranych cech
Usage categorization
Device name
Medical application
Application
Control method
Type of the actuators
Active joints
2000
Strength augmentation and movement endurance
Sensor-based position/force/ torque control
Hydraulic actuators
Hip, knee, ankle joints
2018
Increase wearerâ&#x20AC;&#x2122;s mobility and reduce fatigue
Sensor-based predictive control
Electrical actuators
Hip, knee
MIT Exoskeleton
2005
Load-carrying augmentation
Quasi-passive force/torque control
No active actuators but springs and variable dampers
Hip, knee, ankle
Hybrid Assistant limb (HAL-3)
2000
Assist disabled and elder or rehabilitation
EMG sensorbased predictive control
X1
2012
Gait rehabilitation, and assisted walking, astronautâ&#x20AC;&#x2122;s resistance training
Sensor based predictive control
Series elastic rotary actuators
Hip, knee
BCLLE
2016
EEG based predictive control
High torque electric motors
Hip, knee, ankle
BLEEX
Military application
Starting year of the project
ONYX
Rehabilitation of post-stroke paralyzed
quasi-passive control which means that no active actuators are used but springs at ankle and hip joints and a variable damper in the knee joints. The EEG-based control strategy is also applied in BCLLE [33] the exoskeleton which is currently under development, the motions are predicted using the gait patterns recovered from measured EMG or EEG signals. The recent research on EEG based control [24, 31] delivers very promising results. However, such control method is still in the early stage of development and it strongly depends on sensing and sensorâ&#x20AC;&#x2122;s quality. Table 1 is giving the short overview of the properties of the most representative exoskeletons discussed in this paper.
\'X' - , & - , # V ! {
It is obvious that the researchers designing the exoskeletons must be familiar with the human motion properties [5]. Such knowledge allows to design the joint motion ranges, to select the actuators and motion transmission systems and finally to design the control system such that it will support and not obstruct the intendent movements without forcing the wrong positions or the extreme motion speed. Accordingly, when developing the lower limbs exoskeletons, the knowledge of human gait features is necessary. The leg motion during normal walking gait is divided to the swing and stance phase. The swing phase is the speed demanding, the leg-end moves along curve trajectory and it must be fast enough for avoiding obstacles and being placed on the
Electrical motors
Hip, knee, ankle
ground according to the gait pattern. The supporting phase is torque demanding, the leg must absorb the landing impact and support the body weight. In the normal gait seven stages are distinguished, namely the â&#x20AC;&#x2DC;heel strikeâ&#x20AC;&#x2122;, â&#x20AC;&#x2DC;foot flatâ&#x20AC;&#x2122;, â&#x20AC;&#x2DC;mid stanceâ&#x20AC;&#x2122;, â&#x20AC;&#x2DC;heel offâ&#x20AC;&#x2122;, â&#x20AC;&#x2DC;toe offâ&#x20AC;&#x2122;, â&#x20AC;&#x2DC;mid swingâ&#x20AC;&#x2122;, â&#x20AC;&#x2DC;heel strikeâ&#x20AC;&#x2122;. The recognition of the gait stages basis on the measured EMG signals is needed for EMG based motion control as it was already mentioned. In our project, we investigated the muscles activity during normal slow walking of a female subject [34] considering barefoot, sneakers shoes and high heel footwear. The EMG signals were recorded for the main muscle groups of the lower limbs according to standards defined in gait monitoring systems. The simple competitive network which not needs the training was clustering the pre-processed discretized EMG signals to the several groups (clusters). It was proved that those clusters are well associated with the gait stages. Fig. 3 is showing the EMG clustering results, in this case the left leg was considered, the gait phases together with visualization of leg position are also given. Showing the results for the left leg allows us to illustrate the stages shift between two legs in the normal, slow gait (note: in both Fig. 2 and 3 the drawings are starting from the double support phase however in the first case the leg goes next to the swing phase, while the left leg stays in support what is shown in Fig. 3). As it can be noticed (Fig. 3) the changes of classes occur mainly in the moments of change of the gait stages (indicated by vertical dotted line) or near to it. It confirms that clustering artificial network can be used for gait stages recognition. Considered gait is fundamental for the exoskeletons dedi-
19
The Research on Exoskeletons with Focus on the Locomotion Support Fig. 2. Processed EMG signals for bare foot. The considered main muscle groups are pointed out Rys. 2. Przetworzone sygnały EMG dla bosej stopy. Zaznaczono wzięte pod uwagę główne grupy mięśni
Fig. 3. The clustering results of the EMG signals. The data concern the left leg. The gait stages are also illustrated Rys. 3. Wyniki grupowania sygnałów EMG. Dane dotyczą lewej nogi. Zilustrowane są też etapy chodu
20
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Jikun Wang, Linwei Lyu cated to rehabilitation. Such gait is also used for detecting the motion impairments and the recovery processes. The details of the methods are given in [36].
5. Conclusions Earlier exoskeletons for military applications, were using rather big hydraulic motors, with the progress in engineering, the electric motors become popular [15, 8]. The military users need light, endurable and flexible exoskeletons. ONYX is the example of such solution; this lower limb exoskeleton is easy to wear, and it is efficient in exploitation [13]. Meanwhile, due to the progress in power supply solutions the operation time is also improving. The challenge of exoskeletons for medical applications is to overcome the system complexity and the high cost. Differently than in the military application the users of medical exoskeletons are usually motion impaired and cannot voluntary produce their movements when keeping the stable posture. They need rigid and actuated assistance for supporting their body weight. Due to the development of efficient batteries, new flexible and light materials and progress in actuating techniques [29] the better solutions are now possible. Artificial muscles [4] are more often applied what allows to adjust the devices better to the human body structure and with reducing its weight. On the other hand, the progress in the sensing techniques and control methods is also very crucial. The refined EMG of EEG sensors provide reliable readings and sophisticated, artificial intelligence-based control algorithms, are associating the sensory data with the motion commands much better than it was years ago. Meanwhile, the cost of exoskeleton is still very high and is over the acceptance level for majority of needing persons. For example, the retail price of HAL was approximately between $14,000 and $19,000 in 2011, moreover the monthly rental fee was estimated to $1000 [12]. It must be concluded that light, durable and not expensive lower limb exoskeletons is the most fundamental demand. In medical field they support rehabilitation, or they offer the walking possibility to the persons with motion disorders. In military or other special applications, they enhance the user’s strength and motion efficiency.
)
The work on this paper was partially supported by National Natural Science foundation of China (No. 11702191), China Postdoctoral Science Foundation (No. 2018M631751). The research of EMG signals was performed at Warsaw University of Technology. The corresponding author is Linwei Lyu.
References 1. Ada L., Dean C.M., Vargas J, Ennis S., Mechanically Assisted Walking with Body Weight Support Results in More Independent Walking than Assisted Overground Walking in Non-Ambulatory Patients Early After Stroke: A Systematic Review, “Journal of Physiotherapy”, Vol. 56, No. 3, 2010, 153–161, DOI: 10.1016/S1836-9553(10)70020-5. 2. Asbeck A., De Rossi S.M.M., Holt K.G., Walsh C.J., A Biologically Inspired Soft Exosuit for Walking Assistance, “The International Journal of Robotics Research”, Vol. 34, No. 6, 2015, 744–762. 3. Barroso F., Santos C., Moreno J.C., Influence of the Robotic Exoskeleton Lokomat on the Control of Human Gait: An Electromyographic and Kinematic Analysis, IEEE 3rd Portuguese Meeting in Bioengineering (ENBENG), Braga, 2013, DOI: 10.1109/ENBENG.2013.6518442.
4. Beyl P., Van Damme M., Van Ham R., Vanderborght B., Lefeber D., Pleated Pneumatic Artificial Muscle-Based Actuator System as a Torque Source for Compliant Lower Limb Exoskeletons, “IEEE/ASME Transactions on Mechatronics”, Vol. 19, No. 3, 2014, 1046–1056, DOI: 10.1109/TMECH.2013.2268942. 5. Chen J., Mu X., Du F., Biomechanics Analysis of Human Lower Limb During Walking for Exoskeleton Design, “Journal of Vibroengineering”, Vol. 19, No. 7, 2017, 5527–5539, DOI: 10.21595/jve.2017.18459. 6. Dhindsa I.S., Agarwal R., Ryait H.S., A Novel Algorithm to Predict Knee Angle from EMG Signals for Controlling a Lower Limb Exoskeleton, CEUR Workshop Proceedings, 2016, 536–541, DOI: 10.18287/1613-0073-2016-1638-536-541. 7. Di Shi, Wuxiang Zhang, Wei Zhang, Xilun Ding, A Review on Lower Limb Rehabilitation Exoskeleton Robots, “Chinese Journal of Mechanical Engineering”, Vol. 32, No. 74, 2019, DOI: 10.1186/s10033-019-0389-8. 8. Dollar A.M., Herr H., Lower Extremity Exoskeletons and Active Orthoses: Challenges and State-of-the-Art, “IEEE Transactions on Robotics”, Vol. 24, No.1, 2008, 144–158, DOI: 10.1109/TRO.2008.915453. 9. Gardner A.D., Potgieter J., Noble F.K., A Review of Commercially Available Exoskeletons’ Capabilities, 24th International Conference on Mechatronics and Machine Vision in Practice, 2017, DOI: 10.1109/M2VIP.2017.8211470. 10. Guizzo E., Goldstein H., The Rise of the Body Bots, “IEEE Spectrum”, Vol. 42, No. 10, 2005. 11. https://exoskeletonreport.com/2015/12/unplugged-powered-suit/ 12. https://www.lexology.com/library/detail.aspx?g=dbe03d2b-fad6-49d2-a72c-ed30845893ef. 13. https://www.lockheedmartin.com/en-us/products/exoskeleton-technologies/military.html 14. https://www.military.com/daily-news/2015/05/21/firmspitch-exoskeletons-and-body-armor-for-socoms-iron-mansuit.html 15. https://www.therobotreport.com/maxon-motor-exoskeleton-joint-actuator/ 16. https://tech.slashdot.org/story/00/03/23/1011217/exoskeletons-for-human-performance-augmentation 17. https://spectrum.ieee.org/automaton/robotics/industrial-robots/sarcos-guardian-xo-powered-exoskeleton 18. https://www.media.mit.edu/groups/biomechatronics/overview/ 19. http://www.freedigitalphotos.net/images/pill-bug-photo-p634175 20. https://www.flickr.com/photos/briangratwicke/17152476067/ 21. Kawamoto H., Lee S., Kanbe S., Sankai,Y., Power Assist Method for HAL-3 Using EMG-Based Feedback Controller, IEEE International Conference on Systems, Man and Cybernetics, Vol. 2, 2003, 1648-1653. 22. Kawamoto H., Sankai Y., Power Assist System HAL-3 for Gait Disorder Person, International Conference on Computers for Handicapped Persons, Helping People Special Needs, Vol. 2398, 2002, 196–203. 23. Kazerooni H., The Berkeley Lower Extremity Exoskeleton, “Field and Service Robotics”, Springer Tracts in Advanced Robotics, Vol. 25, 2006, 9–15, DOI: 10.1007/978-3-540-33453-8-2. 24. Lee K., Liu D., Perroud L., Chavarriaga R., Millánn J. R., A Brain-controlled Exoskeleton with Cascaded Event-Related Desynchronization Classifiers, Robotics and Autonomous Systems, Vol 90, 2017, 15–23, DOI: 10.1016/jarobot.2016.10.068. 25. Mosher R. S., Handyman to Hardiman, SAE Transactions, Vol. 76, 1968, 588–597, DOI: 10.4271/680088.
21
The Research on Exoskeletons with Focus on the Locomotion Support
26. Nicholas Y., Apparatus for Facilitating Walking, U.S. Patent 440.684, 1890. 27. Nicolelis M.A., Brainâ&#x20AC;&#x201C;machine Interfaces to Restore Motor Function and Probe Neural Circuits, Nature Reviews Neuroscience, Vol. 4, 2003, 417â&#x20AC;&#x201C;422. 28. Ogata T., Abe H., Samura K., Hamada O., Nonaka M., Iwaasa M., Higashi T., Fukuda H., Shiota E., Tsuboi Y., Inoue, T. Hybrid Assistive Limb (HAL) Rehabilitation in Patients with Acute Hemorrhagic Stroke, Neurol Med Chir (Tokyo), Vol. 55, No. 12, 2015, 901â&#x20AC;&#x201C;906. 29. Park S.J., Park C.H., Suit-type Wearable Robot Powered by Shape-memory-alloy-based Fabric Muscle. Scientific Reports, Vol. 9, No. 9157, 2019. 30. Rea R., Beck C., Rovekamp R., X1: A Robotic Exoskeleton for In-Space Countermeasures and Dynamometry, AIAA SPACE 2013 Conference and Exposition, 2013. 31. Tariq M., Trivailo P. M., Simic M., EEG-based BCI Control Schemes for Lower-Limb Assistive-Robots, Frontiers in Human Neuroscience, Vol. 12, 2018, 312â&#x20AC;&#x201C;336.
32. Vukobratovic M., Hristic D., Stojiljkovic Z., Development of Active Anthropomorphic Exoskeletons, Medical and Biological Engineering, Vol. 12, No. 1, 1974, 66â&#x20AC;&#x201C;80. 33. Vinoj P. G., Jacob S., Menon V. G., Rajesh S., Khosravi M. R., Brain-Controlled Adaptive Lower Limb Exoskeleton for Rehabilitation of Post-Stroke Paralyzed, IEEE Access 7, 2019, 132628â&#x20AC;&#x201C;132648. 34. Wang J., ZieliĹ&#x201E;ska T., Gait Features Analysis Using Artificial Neural Networks - Testing the Footwear Effect, Acta of Bioengineering and Biomechanics, Vol. 19, No. 1, 2017, 17â&#x20AC;&#x201C;32. 35. Yin Y., Human-Machine Force Interactive Interface and Exoskeleton Robot Techniques Based on Biomechanical Model of Skeletal Muscle, Biomechanical Principles on Force Generation and Control of Skeletal Muscle and their Applications in Robotic Exoskeleton, chapter 4, 2019, 117â&#x20AC;&#x201C;134. 36. ZieliĹ&#x201E;ska T., Wang J., Two Methods of EMG Analysis for the Purpose of Exoskeletons and Robotic Rehabilitation Devices, ROMANSY 22 â&#x20AC;&#x201C; Robot Design, Dynamics and Control, CISM International Centre for Mechanical Sciences, Vol. 584, 2018, 110â&#x20AC;&#x201C;117.
4 ' ' . . Streszczenie: W niniejszym artykule podsumowano wyniki badaĹ&#x201E; przeprowadzonych nad egzoszkieletami przeznaczonymi do wspomagania czynnoĹ&#x203A;ci ruchowych. Przedstawiono ich gĹ&#x201A;Ăłwne cechy, a takĹźe gĹ&#x201A;Ăłwne podejĹ&#x203A;cia ich sterowania. Podstawowymi obszarami uĹźycia egzoszkieletĂłw sÄ&#x2026; zastosowania wojskowe i medyczne. Opisano zwiÄ&#x2122;Ĺşle wyniki badaĹ&#x201E; nad aktywacjÄ&#x2026; miÄ&#x2122;Ĺ&#x203A;ni podczas chodzenia przez czĹ&#x201A;owieka. Obecne trendy rozwojowe przedstawiono w podsumowaniu. % V . Q ' % =$R% '
Jikun Wang, PhD
Linwei Lyu, PhD
.& ' ORCID: 0000-0002-0201-2844
ORCID: 0000-0003-4874-7480
N ; . ' $ ' . ' F - ' . # ; # 0 . % < # F ' M E % F ' Z ' G < # $ % ; E # 0 . # Z G # 6 < ' E # F # $ ' $ % 0 # X G ' $ E (!?) Z ' / G ' G
22
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
V V ' F - ' . # < # % N % Z ' G # . .% 0 # 0 E . Z G
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 2/2020, 23â&#x20AC;&#x201C;29, DOI: 10.14313/PAR_236/23
- . # M. 0 G . ' F . X G Sharath Kumar Karakkattu Sivanandan, Cezary Rzymkowski ; # 0 . % < # F ' M = . .% > (*% !!E++@ ; % F '
Abstract: The conventional method of coconut plucking followed in coconut farms is arduous as well as a perilous job. There are abounding cases of trauma in which most of them has ended up in the death. Here comes the significant demand for a robot to do this task which would be decisive in mitigating the perils and to meet the everlasting demand of coconut. The foremost intention of the project was to design a climber with a 5 DoF serial chain robot (plucker), which together is supposed to do the coconut climbing and plucking task and also should be available to the farmers at an affordable cost. In the current version, the robot is expected to work complying the commands given by the farmer from the ground who can see the bunch of coconuts through the eyes of robot (cameras) as the robot is not shrewd enough to identify which drupe is ready to be plucked or not. For being cost effective, and light weight, the entire robot skeleton is structured in aluminium alloy with the minimum feasible dimensions of its size and the motor drive selection is also given imperative consideration. 3 V agricultural type robot, serial chain robot, climbing robot, plucking robot, kinematic analysis, FEM analysis
1. Introduction Coconut is one of the most widely produced drupe being a versatile source of food, drink, fiber, cosmetics, etc. recognized as â&#x20AC;&#x153;The Tree of Lifeâ&#x20AC;? in Philippines. It is produced in over 90 countries worldwide with an average measure of 52 billion nuts annually. The dominant producers of coconut are Indonesia, Philippines, and India being the top 3 leading in the world, while India is having one of its well-governed states in south known in the name of coconut as â&#x20AC;&#x153;Keralaâ&#x20AC;?. The demand for coconut is everlasting due to its diverse uses, whereas the number of workers choosing to work as coconut pluckers are declining day by day because of the heavy risk involved in it as any misjudged step during the work can be fatal. This causes the average production output of the coconut agriculture industry to descend and also the demand for coconut plucking labors to escalate. In the present scenario with an irresistible demand for a coconut plucking robot, designing such a robot would be a helping hand enabling the farmers to use it and thus the yield could be increased by getting deprived of all the detriments aforementio-
) " V X % & ' ) ' (T !* (!(! % ' ' (* !+ (!(!
!
ned. Appropriate selection of drives and other materials for the robot construction will result in a highly cost effective design that makes the robot presentable in medium level markets.
X' 6 The two fundamental duties assigned for the proposed robot design are climbing the coconut palm and plucking a coconut. There are varieties of pole climbing robots that were developed in the past [5, 7, 9, 17], but robots made exclusively for coconut climbing were quite fewer. Various companies manufacture robots for fruit plucking in farms but, they are only used on ground level operation and none of them doing both climbing and plucking task is commercially produced. Boston Dynamics came up with its pole climbing robots RiSE V1 [11], RiSE V2 [12], RiSE V3 [13] as a part of the Rise (Robots in Scansorial Environments) project inspired by biological climbers like lizards and insects (Fig. 1). The three robots are designed to perform the climbing tasks in outdoor natural environment surfaces such as trees and building walls. RiSE V1 is a 6 legged robot equipped with differential mechanism to control its legs by using two motors. RiSE V2 is also a hexapedal robot and is designed exclusively for climbing outdoor surfaces like trees. In the first glance though RiSE V1 and RiSE V2 robots looks similar, RiSE V2 can be considered as a modified version of RiSE V1 with improvements such as the added space availability inside the body which enables it to assemble the battery within it and the increased space between
23
Design of Agricultural Type Coconut Climbing and Plucking Robot Fig. 1. RiSE robots Boston Dynamics: a) Rise V1 [11], b) RiSE V2 [12] and c) RiSE V3 [13] Rys. 1. Roboty RiSE Boston Dynamics: a) RiSE V1 [11], b) RiSE V2 [12], c) RiSE V3 [13]
a)
b)
c)
the most sophisticated model and right now, Stanford III or Gecko Lizard robot (Fig. 2) is the most advanced version. The adhesive feet are using special suction cups and just sticks to smooth surfaces, thanks to Van der Waals forces. Numerous universities and robotic companies have developed several kinds of climbing robots with diverse kinds of climbing mechanisms implemented in them. However, they have not got widespread application in practice as far as the fruit plucking tasks are concerned and thus they are not much popular among the farmers. The climbers are used for close inspection of fruits at the tree top using cameras and are not used for any fruit plucking task. There are several on-ground fruit plucking robots used in practice, for example, the Apple-picking robot (that uses vacuum suckers to pluck the fruits from the tree) by the Abundant Robotics [4] (Fig. 3a) and the first commercial autonomous robot SW6010 [3] to pluck strawberry (Fig. 3b) introduced by a Spanish company Agrobot (AGB) in May 2012. In case of the Spanish robot, based on the maturation and size of the strawberries, harvesting is done with the help of a set of robotic manipulators with high precision to maintain the fruit delicacy and is moved to the packing box through a flexible conveyer system. The robot uses AGvision which has been developed by AGB and adopt artificial intelligence techniques to detect the strawberries. The necessity of a coconut climbing and plucking robot is developing day by day due to the hiking demand of coconut and coconut products and the declining number of coconut plucking workers. Zero human casualty and minimized labor charge can be assured by the introduction of such a robot. Because of lack of commercially produced robots that can both climb the palm tree and pluck the nuts, the robot design
Fig. 2. Climbing robot with sticky feet inspired by Gecko lizard [1] Rys. 2. Robot wspinający się za pomocą przyssawek wzorowanych na łapkach gekona [1]
the legs that avoids any collisions in between them. The RiSE V3 robot is a quadrupedal robot that can climb poles with a greater velocity (up to 22 cm/s) and is designed with both horizontal and vertical climbing capabilities. The requirement of greater power demand which makes the robot to be heavier than its previous two versions is the major impediment to its hassle free operation. Stanford Stickybot [1] is a bio-inspired robot which uses its sticky foot to climb vertical surfaces, inspired from lizard. Continuous improvements are being done on its design to obtain
a) b) Fig. 3. a) The Apple-picking robot by the Abundant Robotics [4], b) SW6010 robot to harvest strawberries [3] Rys. 3. a) Robot do zbierania jabłek firmy Abundant Robotics [4], b) Robot SW6010 do zbioru truskawek [3]
24
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Sharath Kumar Karakkattu Sivanandan, Cezary Rzymkowski proposed in this work, taking into account its moderate cost, could be quite promising solution for the current dilemma in the coconut agriculture industry.
[' 3
The robot is working in a workspace that can be defined in terms of its joint parameters or in terms of the position and orientation of the end effector in the Cartesian space. The kinematic analysis of the robot [15, 16] is essential to define the robot pose in terms of Cartesian parameters or vice versa. The kinematic data is necessary to generate the control signals that are fed to the actuators. The robot has two assemblies which are the climber subassembly (1 DoF) and the plucker sub assembly (5 DoF serial manipulator).
Fig. 5. General view of the 5 DoF serial manipulator with a cutter wheel Rys. 5. Widok ogĂłlny manipulatora szeregowego o 5 stopniach swobody z narzÄ&#x2122;dziem tnÄ&#x2026;cym
[']' 3
& ! #
['X' 3
& !
The kinematics calculation of the climber is simple as it has only one translational degree of freedom (Fig. 4). The climber assembly has mainly two subassemblies, which are the two frames of aluminium alloy that slides over each other. Only 1 DoF is present for the climber assembly, which can be actuated by only one linear actuator. The climber is supposed to do its expected task by gripping the coconut palm using two metallic steel wires connected on the assembly. (Fig. 4). The wire gripper is under a tensile force of the spring of a solenoid actuator. This tensile force keeps the gripper in touch with the tree surface even when the gripper is not holding any weight of the robot. The push-pull solenoid is employed to release the steel wire gripper (upper and lower alternately) from the palm tree surface during moving up and down the tree. A small movement of the solenoid can release the gripper from the surface. The climber make a step along the direction of Z1 and Z2 during climbing up and in opposite direction during climbing down. The step length made by the climber is equal to the stroke produced by the actuator (maximum 400 mm for the selected linear actuator that is employed). During the climb, there can be small slip (0 mm to 15 mm) that can occur due to the irregular surface of the coconut tree bark (Step length = Actuator Stroke â&#x20AC;&#x201C; Slip). The climbing up process involves the continuous step up sequence of the frames one after the other till it reaches the required height. The climbing down process is also the same as the climbing up process but in the opposite direction in which the slip is added up to the actuator stroke to give the step length (Step length = Actuator Stroke + Slip).
The plucker is a 5 DoF kinematic serial chain manipulator that has a cutter wheel at its end to cut down the coconut from the coconut palm (Fig. 5).
\' * & ! # The robot is designed to perform its intended task with the least possible weight, low power consumption and maximum performance. The design of all the parts, assemblies and subassemblies are done in Creo 2.0 [2] in which the mechanisms like gears and belts are also used. The robot is divided into two sub-assemblies, the climber (Fig. 4) and the plucker (Fig. 5) for which, the selection of servo motors, linear actuator and push-pull actuator is done based on necessary calculation of torque and force and their technical specifications are also well studied. The plucker manipulator is expected to rotate over a semi-circular path in order to achieve the maximum workspace so that the cutter would be able to reach all the required coconuts. After designing the plucker manipulator, it is placed over the rotating base of the climber assembly and bolted. The rotating base is driven through a circular guideway (depicted in blue colour in Fig. 6). The climber mechanism operates in a step by step process executed in two modes â&#x20AC;&#x201C; the climbing mode and the gripping mode. While making a step, the frames never works simultaneously in the same mode as one frame act as climber while other act as gripper and they switch their respective modes in each consecutive steps.
Fig. 4. Displacement of the climber frames of the robot Rys. 4. Przemieszczenie elementĂłw czÄ&#x2122;Ĺ&#x203A;ci wspinajÄ&#x2026;cej siÄ&#x2122; robota
25
Design of Agricultural Type Coconut Climbing and Plucking Robot Fig. 7. Cutter assembly Rys. 7. ZespĂłĹ&#x201A; noĹźa tnÄ&#x2026;cego
Fig. 6. Rotating base Rys. 6. Podstawa obrotowa
Unlike other trees, coconut trunk has no protruding branches or other projections on their trunk and this makes the climb hassle free. The inner surface of the rotating base that comes in touch with the trunk is made in curved shape (Fig. 6) in order to minimise the friction due to surface rubbing. The necessary parts required are selected from leading part manufacturers such as Pittman [14] (servo motors), Nadella [10] (linear and rotational guideways), Iglide [6] (slewing bearing), Meditronik [8] (joystick), etc. The climber is supposed to do its expected task by gripping the coconut palm using a metallic steel wire. Steel is a high strength metal with a tensile strength of 400 MPa which makes is trustable to carry the entire weight of the robot as well as it give the necessary gripping on the tree surface. The cutter assembly (Fig. 7) consists of a DC motor mounted on the clamps to fix it at the end of link 2 (Fig. 8a) and the centre of the cutting wheel coincides with the axis of rotation of the fifth degree of freedom of the plucker manipulator. In order to reduce the weight of the whole robot, light weight metal aluminium alloy is used to build the robot frame for both the climber and the plucker assembly. The low density of aluminium alloy, which is only about one third of the density of the steel, which enables it to achieve high strength to weight ratio and also its corrosion resistance property makes it the apt material for the robot body. The entire robot assembly (Fig. 8b) is obtained by the assemblage of the climber and plucker sub assemblies by means of bolts and nuts which makes it easier for a service personnel to detach them each other in case if any technical malfunction of either climber or plucker occurs. Plucker manipulator is bolted on the rotating base of the climber sub assembly to facilitate the half way rotation of the plucker around the palm.
^' _ ! The robot may go different configurations during its operation and this causes continuous deflection in the forces and moments acting at each point of the robot. The robot is designed to withstand all these fluctuations of force and moment and do the expected task without failure in normal working conditions. The stress, strain and deformations of the designed robot have been thoroughly tested (using the ANSYS 15.0 system) to make sure that all of those values exists within the permitted limit. The worst probable scenarios of maximum deformation that can cause failure of any part of the designed robot were carefully selected and extensive FEM analysis performed. In all the cases, all parameters determining the strength and appropriate stiffness both of individual parts and the overall structure of the robot are found to be in safe range which affirms that the structure is capable of performing the task without failure due to any deformation.
|' 1 The idea of having a robot carrier is significant as it is cumbersome for the operator to carry the robot from tree to tree. Thus it is taken from one palm to another using a trolley (Fig. 9). Once the trolley reaches straight down the tree, the robot can be attached to the tree using the steel wire gripper which is connected to the frame using a key. After attaching the robot on the tree, the operator should move to a safe distance with the trolley in order to prevent the coconut falling on him. Fig. 8. a) Links 1 and 2 occupied with motors in them, b) Full robot assembly Rys. 8. a) CzĹ&#x201A;ony 1 i 2 z zabudowanymi w nich silnikami, b) widok caĹ&#x201A;oĹ&#x203A;ciowy zmontowanego robota
a)
26
b)
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Sharath Kumar Karakkattu Sivanandan, Cezary Rzymkowski
Fig. 9. Trolley carrying the Coconut Climbing and Plucking Robot Rys. 9. Wózek transportowy dla wspinającego się robota do zrywania kokosów
a) b) Fig. 10. Meditronik joystick: a) 30JHK and b) C90JAM [8] Rys. 10. Joysticki Meditronik: a) 30JHK i b) C90JAM [8]
From the safe distance, the operator can view the video streamed by the camera assembled in the plucker manipulator through the display screen. The operator can ask the robot to climb up using the DPDT switch on the control panel on the trolley. Once the robot has attained the necessary height, the plucker can be controlled with the joystick levers by observing the camera view of the robot. To make the control task quite smooth, use of two joysticks is proposed: one to control the orientation of link 1 (e.g. Meditronik, model 30JHK (Fig. 10a) and the second one to control the orientation of link 2, control the rotating base of climber assembly, control the angle of cutter assembly and the cutter on/off control (e.g. Meditronik, model C90JAM (Fig. 10b).
}' & .
The design of an agricultural type coconut climbing and plucking robot has been successfully made which is intended to be available in the market for an affordable price. It is evident from the literature review that there is an undeniable need of such a robot in the current scenario. The kinematics of the robot is defined by considering the robot into two different kinematic structures: the climber and the plucker. Kinematics of the climber is straightforward as it is having only one translational degree of freedom of movement while the rotating base does not have any role in the climbing process. Kinematics of the manipulator has the forward (simple) and the inverse (more complex) calculations. The inverse kinema-
tics calculation starts from the result of the forward kinematics. By the comparison of the appropriate elements of the resultant matrix of the forward kinematics problem with the elements of a generic known matrix, several equations are obtained which on further mathematical calculations lead to the inverse kinematics solution. The kinematically singular configurations of the manipulator were investigated and the solution for the inverse kinematic problem at the singularities was obtained by the suitable combination of some joint angle values that should commensurate with few mathematical conditions. The proposed design of the robot was drawn in Creo 2.0 software [2]. The climber sub-assembly and the plucker sub-assembly were designed separately. The DC motor, rotational servo, push-pull solenoid actuator, linear motor and the control joysticks were selected from the official catalogue and the websites of the leading part manufacturers post performing the necessary calculations to find the moment or force requirements at each joint. Basic simulation tests (in CREO environment) which allowed the assessment of mobility were performed. The finite element method analyses allowed for reducing the masses of robot segments (which is important in the case of a climbing robot) while maintaining adequate rigidity and strength. The construction of the prototype and the performance of experimental tests is planned in the near future (depending on the development of the Cov-19 pandemic). The prototype developed is to serve, among others, as a platform for testing various solutions aimed at creating a fully autonomous robot climbing trees (or poles) for coconut harvesting (but also for other applications) using advanced methods of artificial intelligence. The prototype will be built at the Warsaw University of Technology, where preliminary tests will be carried out. This first phase of testing will be carried out using the ‚model’ tree trunk. Its purpose will be to check the functional capabilities of the robot, such as the effectiveness of climbing and holding in the assumed position, „smoothness” of movement, stability of the entire robot with different (including most demanding) configuration of the arms, the influence of climbing speed and operations performed by the end effector on the quality of movement, etc. After making the necessary corrections taking into account results of the first phase tests, it is planned to organize and conduct the appropriate real tree-top experiments in India, in the state of Kerala (roughly 45% of India’s coconuts are produced there). In coconut farms, the harvest demand would be for a particular stage of maturity. The coconuts on the same bunch are of almost the same level of maturity. So, all the bunches of the required maturity are cut down. From one palm, there would only be maximum of three of four bunches of coconuts to pluck. That means only three or four stems are only needed to be cut from a single tree. The more mature bunches are at the bottom and the less mature ones are at the top. The majority of the coconut agriculture industry aims for the coconut oil and milk production and thus they need 10 to 12 months old coconuts, which hangs comparatively lower to the other coconut bunches. Reaching out for the main stem is easy while it is difficult to cut down individual coconuts from a thick bunch. In order to get more outreach, mini reciprocating saw blades or mini chainsaw cutters can be employed. Though the paper concentrates only on a user operated robot design, the robot can be made fully automatic by adding more advanced control system and training it to climb and pluck. The climbing task is quite easy while the plucking task is hard as the robot does not know which fruit is ready to be plucked and which is not. This is determined according to the requirement of the farmer. The uses of coconut is defined by its level of
27
Design of Agricultural Type Coconut Climbing and Plucking Robot maturity, which can be described in seven stages of its growth form stage 1 (Poppers stage, 7 months old) when coconut shell is full of water and is used as a wonderful refreshing drink to stage 7 (Sprouters stage, 14 to 20 months old) â&#x20AC;&#x201D; the stage of the coconut which can grow to a fully matured coconut palm provided the sufficient nutrition is available. There are several techniques to identify if the coconut is ready by which the improved version of the robot can be equipped with which will it be capable of making decisions of its own automatically. The plucker manipulator can reach all the points in its workspace while some of the combinations of position and orientation are unachievable which causes the inverse kinematics solution give irrelevant outputs. When the robot is fully automatic, it by itself defines its poses and trajectories to do the task in terms of the task space parameters which is then be transformed to the joint space parameters in order to generate the appropriate control signals for the servo motors. To get rid of the issue in inverse kinematics, the manipulator can be fitted with a spherical wrist end effector which makes any position-orientation combination achievable within its workspace. In the proposed design, the power supply to the robot is provided by auto-rewind power chord which unwinds when climbing up and rewinds when climb down. By the advancements of battery technologies in future, more powerful batteries of less weight can be used to power up the robot which makes it a wireless robot.
5. Guo J., Justham L., Jackson M., Parkin R., A Concept Selection Method for Designing Climbing Robots, â&#x20AC;&#x153;Key Engineering Materialsâ&#x20AC;?, Vol. 649, 2015, 22â&#x20AC;&#x201C;29, DOI: 10.4028/www.scientific.net/KEM.649.22. 6. INGUS â&#x20AC;&#x201D; Maintenance-free iglide plain bearings, [www. igus.com/iglide/plain-bearing]. 7. Lam T.L., Xu Y.S., Tree Climbing Robot: Design, Kinematics and Motion Planning, Springer, 2012, ISSN 1610-7438. 8. MEDITRONIK LTD., [www.meditronik.com.pl/_add/english.html]. 9. Miripour-Fard B., Climbing and Walking Robots, IntechOpen, 2010, ISBN 978-953-307-030-8 10. NADELLA Group â&#x20AC;&#x201C; The Specialist for Motion Technology, [www.nadella.com]. 11. RiSE V1 Climbing Robot, Kod*lab a subsidiary of the Penn Engineering GRASP Lab (in collaboration with Boston Dynamics, Inc.), [https://kodlab.seas.upenn.edu/past-work/rise/risev1] 12. RiSE Robotic Hexapod Version 2.0, Kod*lab a subsidiary of the Penn Engineering GRASP Lab (in collaboration with Boston Dynamics, Inc.), [https://kodlab.seas.upenn.edu/past-work/rise/risev2]. 13. RiSE Version 3 Prototype, Kod*lab a subsidiary of the Penn Engineering GRASP Lab (in collaboration with Boston Dynamics, Inc.), [https://kodlab.seas.upenn.edu/past-work/rise/risev3]. 14. Servo Components â&#x20AC;&#x201D; Pittman DC Motors & Other Products, [www.servocomponents.com/pittman-brush-and-brushless-servo-motors]. 15. Siciliano B., Sciavicco F., Villani L., Oriolo G., Robotics â&#x20AC;&#x201D; Modelling, Planning and Control, Spriger, 2009, ISBN 978-1-84628-641-4. 16. Spong M.W., Hutchinson S., Vidyasagar M., Robot Dynamics and Control, John Wiley & Sons Inc., 2006, ISBN-13: 978-0-471-64990-8. 17. Zhang D., Wei B., Robotics and Mechatronics for Agriculture, CRC Press, 2017, ISBN-13: 978-1138702400.
6 & 1. Climbing Robot â&#x20AC;&#x17E;Stickybotâ&#x20AC;?, National Science Foundation, [www.nsf.gov/news/mmg/mmg_disp.jsp?med_id=69038]. 2. Creo Parametric 3D Modeling Software, PTC, [www.ptc.com/en/products/cad/creo/parametric]. 3. Fruit Picking Robots â&#x20AC;&#x201D; SW 6010 to harvest strawberries, [www.intorobotics.com/fruit-harvesting-robots]. 4. Google Hopes Investment in AgTech Bears Fruit, [https:// thespoon.tech/google-hopes-investment-in-agtech-bears-fruit].
F H . ' G . ' J Streszczenie: Konwencjonalna metoda zrywania orzechĂłw stosowana na uprawach kokosĂłw jest mÄ&#x2122;czÄ&#x2026;ca i ryzykowna. CzÄ&#x2122;sto dochodzi do wypadkĂłw prowadzÄ&#x2026;cych nawet do Ĺ&#x203A;mierci. Pojawia siÄ&#x2122; zatem istotna potrzeba zastÄ&#x2026;pienia pracy ludzkiej przez odpowiednio skonstruowane roboty â&#x20AC;&#x201D; pozwoli to na rozwiÄ&#x2026;zanie problemĂłw zwiÄ&#x2026;zanych z zagroĹźeniami, przy zapewnieniu poziomu produkcji odpowiadajÄ&#x2026;cego ciÄ&#x2026;gĹ&#x201A;emu popytowi na orzechy kokosowe. GĹ&#x201A;Ăłwnym celem pracy byĹ&#x201A;o opracowanie projektu robota moduĹ&#x201A;owego â&#x20AC;&#x201D; mobilnej wspinajÄ&#x2026;cej siÄ&#x2122; po pniu platformy transportujÄ&#x2026;cej czÄ&#x2122;Ĺ&#x203A;Ä&#x2021; wykonawczÄ&#x2026; (robota o piÄ&#x2122;ciu stopniach swobody), ktĂłrej zadaniem jest odcinanie kiĹ&#x203A;ci orzechĂłw. Robot powinien byÄ&#x2021; moĹźliwie tani, aby byĹ&#x201A; dostÄ&#x2122;pny dla szerokiej grupy rolnikĂłw. W wersji, bÄ&#x2122;dÄ&#x2026;cej przedmiotem pracy, robot bÄ&#x2122;dzie pracowaĹ&#x201A; pod nadzorem rolnika pozostajÄ&#x2026;cego na ziemi, ktĂłry bÄ&#x2122;dzie decydowaĹ&#x201A;, na podstawie obserwacji wizualnej przekazywanej przez kamerÄ&#x2122; zainstalowanÄ&#x2026; na koĹ&#x201E;cĂłwce robota, ktĂłre orzechy nadajÄ&#x2026; siÄ&#x2122; do zerwania. Dla zapewnienia niskiego kosztu i maĹ&#x201A;ej masy, szkielet robota jest zbudowany ze stopu aluminium o minimalnych moĹźliwych wymiarach zapewniajÄ&#x2026;cych jednak odpowiedniÄ&#x2026; sztywnoĹ&#x203A;Ä&#x2021; i wytrzymaĹ&#x201A;oĹ&#x203A;Ä&#x2021;. Podobne warunki wziÄ&#x2122;to pod uwagÄ&#x2122; przy wyborze silnikĂłw. % V G ' Q % G . % G H % J % % $=
28
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Sharath Kumar Karakkattu Sivanandan, Cezary Rzymkowski
Sharath Kumar Karakkattu Sivanandan, MSc
prof. Cezary Rzymkowski, PhD, DSc
B(&. ORCID: 0000-0003-2447-8765
& ' ORCID: 0000-0003-1131-8113
Z ' 4= K(!?@L $ . . # M % 6 ' ' $ K(!?BL M ' G # ; # 0 . % F ' Z # ' G . % % G G ' Z E 4= . ' ' ' ' ## E . G ' ' . # - G 4 . K ' G G L ' ' ' # G . '
Z # ' Z ' # ^ # = . . ' 4 V G K^ =4L 6 # M ' M ' $ % ; # 0 . K; 0L Z ' $ K?BT)L [< ' E 0 . \ # < # M ' F ' $ E K; 0L% F - K?B))L _X G ' M \ ' - K(!?*L _$ \ # < # F ' M = . . K; 0L Z / ' # G K G # A L% # ' . # % EG ' ' % A ' Z ' # '% # ' ' G =
29
NR 3/2015
30
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 2/2020, 31â&#x20AC;&#x201C;38, DOI: 10.14313/PAR_236/31
' $ ' ' ` J ' ' Krzysztof Tomczyk F " % ; ' 6 O = " % ; (*% ?E?@@ " J
Streszczenie: ArtykuĹ&#x201A; przedstawia zastosowanie metody Monte Carlo do parametrycznej identyfikacji akcelerometrĂłw w dziedzinie czÄ&#x2122;stotliwoĹ&#x203A;ci. OmĂłwione zostaĹ&#x201A;y dwie metody identyfikacji: intuicyjna, realizowana wyĹ&#x201A;Ä&#x2026;cznie w oparciu o punkty pomiarowe charakterystyki amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowej i bazujÄ&#x2026;ca na klasycznej metodzie najmniejszych kwadratĂłw oraz procedura oparta na punktach pomiarowych obu charakterystyk czÄ&#x2122;stotliwoĹ&#x203A;ciowych (amplitudowej i fazowej), realizowana przy wykorzystaniu uogĂłlnionej metody najmniejszych kwadratĂłw. Przedstawiono wyniki identyfikacji dla wybranego akcelerometru typu Althen 731-207, a dla potrzeb realizacji obu metod identyfikacji zastosowano oprogramowanie Mathcad 14. $ V ' $ % ' ` %
1. Wprowadzenie Identyfikacja parametryczna [1, 2] akcelerometrĂłw ma istotne znaczenie z punktu widzenia ich wzorcowania,ukierunkowanego gĹ&#x201A;Ăłwnie na wyznaczenie wartoĹ&#x203A;ci czuĹ&#x201A;oĹ&#x203A;ci napiÄ&#x2122;ciowej [3â&#x20AC;&#x201C;5]. IstniejÄ&#x2026; rĂłwnieĹź przypadki, gdzie identyfikacja realizowana jest w celu wyznaczenia pozostaĹ&#x201A;ych dwĂłch parametrĂłw zwiÄ&#x2026;zanych z matematycznym modelem akcelerometru, tj. wspĂłĹ&#x201A;czynnika tĹ&#x201A;umienia i czÄ&#x2122;stotliwoĹ&#x203A;ci (pulsacji) drgaĹ&#x201E; wĹ&#x201A;asnych nietĹ&#x201A;umionych [6]. PrzykĹ&#x201A;adowo moĹźna tu przytoczyÄ&#x2021; procedury realizujÄ&#x2026;ce algorytmy odtwarzania sygnaĹ&#x201A;Ăłw pomiarowych [7]. Z punktu widzenia technicznych moĹźliwoĹ&#x203A;ci, najczÄ&#x2122;Ĺ&#x203A;ciej aplikowana jest identyfikacja oparta o punkty pomiarowe wyĹ&#x201A;Ä&#x2026;cznie charakterystyki amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowej [1, 2, 8]. Z oczywistych wzglÄ&#x2122;dĂłw jest ona mniej dokĹ&#x201A;adna w porĂłwnaniu z identyfikacjÄ&#x2026;opartÄ&#x2026;na rĂłwnoczesnym pomiarze obu charakterystyk czÄ&#x2122;stotliwoĹ&#x203A;ciowych, ktĂłra bazuje na procedurze przedstawionej w publikacji [3] oraz w przewodniku JCGM [4]. Procedury te wymagajÄ&#x2026; realizacji tzw. reparametryzacji funkcji przejĹ&#x203A;cia akcelerometru, ktĂłra w wielu przypadkach moĹźe okazaÄ&#x2021; siÄ&#x2122; kĹ&#x201A;opotliwa pod wzglÄ&#x2122;dem obliczeniowym. W artykule zaproponowano dwie procedury identyfikacji akcelerometrĂłw. Pierwsza, dedykowana jest dla przypadkĂłw,
) " V " # 0 % & ' ) ' (+ ! (!(! % ' ' () !@ (!(!
!
gdy dysponujemy wyĹ&#x201A;Ä&#x2026;cznie punktami pomiarowymi charakterystyki amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowej. Procedura ta bazuje na algorytmie przedstawionym w publikacjach [8, 9] i rozszerzona zostaĹ&#x201A;a o rozwiÄ&#x2026;zania dotyczÄ&#x2026;ce wyznaczenia niepewnoĹ&#x203A;ci [5] parametrĂłw modelu akcelerometru. Druga procedura oparta jest o rozwiÄ&#x2026;zania zawarte w publikacji [3] izostaĹ&#x201A;a zmodyfikowana w taki sposĂłb, aby uniknÄ&#x2026;Ä&#x2021; koniecznoĹ&#x203A;ci realizacji reparametryzacji funkcji przejĹ&#x203A;cia. W tym celu wykorzystano rozwiÄ&#x2026;zania przedstawione w publikacjach [1, 2, 10], dotyczÄ&#x2026;ce porĂłwnania transmitancji widmowej modelu akcelerometru ztransmitancjÄ&#x2026; uzyskanÄ&#x2026; na podstawie punktĂłw pomiarowych obu charakterystyk czÄ&#x2122;stotliwoĹ&#x203A;ciowych. Przedstawione w poniĹźszym artykule procedury wykorzystujÄ&#x2026; metodÄ&#x2122; Monte Carlo (MC) [11, 12], przy czym pierwsza oparta jest naklasycznej metodzie najmniejszych kwadratĂłw (KMNK), natomiast druga realizuje uogĂłlnionÄ&#x2026; metodÄ&#x2122; najmniejszych kwadratĂłw (UMNK) [4, 5]. Dla potrzeb numerycznejimplementacji metody MC, zastosowano generator liczb pseudolosowych o rozkĹ&#x201A;adzie normalnym [13â&#x20AC;&#x201C;15].
X'
Akcelerometr jest czujnikiem pomiarowym, ktĂłrego sygnaĹ&#x201A; wyjĹ&#x203A;ciowy jest proporcjonalny do przyspieszenia mierzonych drgaĹ&#x201E;. Na rys. 1 przedstawiono mechaniczny model akcelerometru, ktĂłry opisywany jest rĂłwnaniem róşniczkowym
mu (t ) + ry (t ) + ky(t ) = 0,
(1)
gdzie: m [kg] â&#x20AC;&#x201C; masa sejsmiczna; r [kg/s] â&#x20AC;&#x201C; wspĂłĹ&#x201A;czynnik tĹ&#x201A;umienia (tarcia) wiskotycznego; k [N/m] â&#x20AC;&#x201C; staĹ&#x201A;a sprÄ&#x2122;Ĺźyny; mu (t ) â&#x20AC;&#x201C; moment bezwĹ&#x201A;adnoĹ&#x203A;ci; ry (t ) â&#x20AC;&#x201C; moment tĹ&#x201A;umienia; ky(t) â&#x20AC;&#x201C; moment elastycznoĹ&#x203A;ci [6].
31
& " "
8 % = A %= % L % h" % i
UwzglÄ&#x2122;dniajÄ&#x2026;c w (1) bezwzglÄ&#x2122;dne przemieszczenie masy:
mamy
u(t) = x(t) + y(t),
(2)
my (t ) + ry (t ) + ky(t ) = â&#x2C6;&#x2019;mx (t ).
(3)
2 βĎ&#x2030;
Ď&#x2022;(Ď&#x2030; ) = â&#x2C6;&#x2019;arctg
gdzie: x(t) â&#x20AC;&#x201C; wymuszenie (wibracje); y(t) â&#x20AC;&#x201C; wzglÄ&#x2122;dne przemieszczenie masy.
Ď&#x2030;0 â&#x17D;&#x203A;Ď&#x2030; â&#x17D;&#x17E; 1â&#x2C6;&#x2019; â&#x17D;&#x153; â&#x17D;&#x; â&#x17D;? Ď&#x2030;0 â&#x17D;
PrzyrĂłwnujÄ&#x2026;c do zera pochodnÄ&#x2026;
2
.
(11)
d â&#x17D;ĄA(Ď&#x2030; )â&#x17D;¤â&#x17D;Ś , mamy dĎ&#x2030; â&#x17D;Ł
(12)
a po jej uproszczeniu, ostatecznie otrzymujemy 2
â&#x17D;&#x203A;Ď&#x2030; â&#x17D;&#x17E; 2 â&#x17D;&#x153; â&#x17D;&#x; â&#x2C6;&#x2019; 1 + 2 β = 0. â&#x17D;? Ď&#x2030;0 â&#x17D;
Rys. 1. Mechaniczny model akcelerometru Fig. 1.Mechanical model of accelerometer
Na podstawie (13) moĹźna Ĺ&#x201A;atwo wyznaczyÄ&#x2021; relacjÄ&#x2122; okreĹ&#x203A;lajÄ&#x2026;cÄ&#x2026; pulsacjÄ&#x2122; rezonansowÄ&#x2026;
DzielÄ&#x2026;c obie strony rĂłwnania (3) przez m i dokonujÄ&#x2026;c podstawieĹ&#x201E;:
Ď&#x2030;0 = 2Ď&#x20AC; f0 = k / m , β =
Ď&#x2030;r = 2Ď&#x20AC; fr = Ď&#x2030;0 1 â&#x2C6;&#x2019; 2β 2 ,
(4)
r
0 < β <1
2,
(14)
natomiast wartoĹ&#x203A;Ä&#x2021; rzÄ&#x2122;dnej odpowiadajÄ&#x2026;ca wr, okreĹ&#x203A;la szczyt rezonansowy
(5)
2 km
(13)
(15)
i S = m/k,
(6)
y (t ) + 2 βĎ&#x2030;0y (t ) + Ď&#x2030;02y(t ) = â&#x2C6;&#x2019;S Ď&#x2030;02x (t ),
(7)
otrzymujemy
gdzie: f0 â&#x20AC;&#x201C; czÄ&#x2122;stotliwoĹ&#x203A;Ä&#x2021; drgaĹ&#x201E; wĹ&#x201A;asnych nietĹ&#x201A;umionych [Hz]; b â&#x20AC;&#x201C; wspĂłĹ&#x201A;czynnik tĹ&#x201A;umienia (bezwymiarowy); S â&#x20AC;&#x201C; czuĹ&#x201A;oĹ&#x203A;Ä&#x2021; napiÄ&#x2122;ciowa akcelerometru [V/msâ&#x20AC;&#x201C;2]. BiorÄ&#x2026;c pod uwagÄ&#x2122;, Ĺźe czÄ&#x2122;stotliwoĹ&#x203A;Ä&#x2021; f0 powiÄ&#x2026;zana jest z czuĹ&#x201A;oĹ&#x203A;ciÄ&#x2026; napiÄ&#x2122;ciowÄ&#x2026; akcelerometru, stÄ&#x2026;d wymiar parametrĂłw po obu stronach rĂłwnania (7) jest rĂłwnowaĹźny. PrzedstawiajÄ&#x2026;c rĂłwnanie (7) w dziedzinie s, mamy s Y (s) + 2 βĎ&#x2030;0sY (s) + Ď&#x2030; Y (s) = â&#x2C6;&#x2019;S Ď&#x2030; s X (s). 2
2 0
2 2 0
Rys. 2. PrzykĹ&#x201A;adowa charakterystyka amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowa akcelerometru Fig. 2. Example of the amplitude-frequency accelerometer response
(8)
Funkcja przejĹ&#x203A;cia akcelerometru ma zatem postaÄ&#x2021;
K (s) =
Y (s) â&#x2C6;&#x2019;S Ď&#x2030;02 , = 2 2 s X (s) s + 2 βĎ&#x2030;0s + Ď&#x2030;02
s = j Ď&#x2030; = 2Ď&#x20AC; f
Na Rys. 2 przedstawiono przykĹ&#x201A;adowÄ&#x2026; charakterystykÄ&#x2122; amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowÄ&#x2026; (10) z zaznaczonymi parametrami wr i Mr. W wyniku przeksztaĹ&#x201A;cenia relacji (15), mamy
(9)
i okreĹ&#x203A;la jego matematyczny model. Charakterystyki amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowa i fazowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowa, wyznaczane sÄ&#x2026; odpowiednio jako moduĹ&#x201A; i faza z transmitancji widmowej K(j ):
(16)
a przez podstawienie (16) do (14), otrzymujemy (10) (17)
32
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Krzysztof Tomczyk RĂłwnania (16) i (17) umoĹźliwiajÄ&#x2026; identyfikacjÄ&#x2122; parametrĂłw akcelerometru na podstawie jego charakterystyki amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowej, zdefiniowanej przez rĂłwnanie (10).
WartoĹ&#x203A;ci parametrĂłw minimalizujÄ&#x2026;cych bĹ&#x201A;Ä&#x2026;d zostaĹ&#x201A;y oznaczone poniĹźej przez: Sopt, M ropt i Ď&#x2030;ropt .
3.5. WybĂłr rodzaju generatora liczb pseudolosowych Na podstawie Rys. 4 moĹźna przypuszczaÄ&#x2021;, Ĺźe dla parametrĂłw modelu (9) bliskich wartoĹ&#x203A;ciom: Sint, M rint i Ď&#x2030;rint istnieje najwiÄ&#x2122;ksze prawdopodobieĹ&#x201E;stwo uzyskania rozwiÄ&#x2026;zaĹ&#x201E;: Sopt, M ropt i Ď&#x2030;ropt . Uzasadniony wydaje siÄ&#x2122; zatem wybĂłr generatora o rozkĹ&#x201A;adzie normalnym â&#x20AC;&#x201C; Rys. 5.
[' 2 & ! ! Y Procedura identyfikacji parametrycznej akcelerometru wyĹ&#x201A;Ä&#x2026;cznie w oparciu o punkty pomiarowe charakterystyki amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowej skĹ&#x201A;ada siÄ&#x2122; z nastÄ&#x2122;pujÄ&#x2026;cych krokĂłw:
3.1. Podstawienie relacji (16) i (17) do rĂłwnania (10). Uzyskuje siÄ&#x2122; w ten sposĂłb zaleĹźnoĹ&#x203A;Ä&#x2021; funkcyjnÄ&#x2026;: w, S, Mr, wr â&#x2020;&#x2019; A(w).
3.2. Oszacowanie w sposĂłb intuicyjny, na podstawie punktĂłw pomiarowych charakterystyki amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowej, przybliĹźonych wartoĹ&#x203A;ci parametrĂłw: S int, M rint i Ď&#x2030;rint â&#x20AC;&#x201C; Rys. 3 [8, 9].
Rys. 5. Zastosowanie generatora o rozkĹ&#x201A;adzie normalnym do realizacji losowaĹ&#x201E; MC Fig. 5. Application of a generator with a normal distribution for execution of the MC draws
Przewodnik [4] rekomenduje zastosowanie generatora o rozkĹ&#x201A;adzie normalnym (Gaussa) typu Box-Muller. Realizacja numeryczna tego typu generatora obejmuje dwa gĹ&#x201A;Ăłwne kroki: â&#x2C6;&#x2019; niezaleĹźne generowanie zmiennych losowych: r1 i r2 z rozkĹ&#x201A;adu rĂłwnomiernego U(0, 1). PrzykĹ&#x201A;adowo, w programie Mathcad, moĹźliwa jest generacja liczb pseudolosowych o rozkĹ&#x201A;adzie rĂłwnomiernym za pomocÄ&#x2026; funkcji runif. â&#x2C6;&#x2019; wyznaczenie liczby o rozkĹ&#x201A;adzie normalnym N(0, 1) x = â&#x2C6;&#x2019;2 ln r1 cos(2Ď&#x20AC; r2 ).
Rys. 3. PrzykĹ&#x201A;ad oszacowania parametrĂłw: S int, M rint, i Ď&#x2030;rint Fig. 3.Example of estimation of the parameters: Sint, M rint and Ď&#x2030;rint
(19)
â&#x2C6;&#x2019; realizacja transformacji: N (0, 1) â&#x2020;&#x2019; N (x , Ď&#x192; ), zgodnie z formuĹ&#x201A;Ä&#x2026;
X = x â&#x2039;&#x2026;Ď&#x192; + x,
3.3. Wyznaczenie liczby M losowaĹ&#x201E; MC. Minimalna liczba M
(20)
okreĹ&#x203A;lana jest przez relacjÄ&#x2122;
M =
gdzie x i Ď&#x192; oznaczajÄ&#x2026; odpowiednio: Ĺ&#x203A;redniÄ&#x2026; i odchylenie standardowe zmiennej x.
4
10 , 1â&#x2C6;&#x2019; p
(18)
gdzie p oznacza przyjÄ&#x2122;ty poziom ufnoĹ&#x203A;ci (zazwyczaj p = 0,95) [4]. Dla p = 0,95 minimalna liczba losowaĹ&#x201E; MC wynosi: M = 2 Ă&#x2014; 105.
3.4. Ustalenie, symetrycznych wzglÄ&#x2122;dem wartoĹ&#x203A;ci: S , M int
int r
i Ď&#x2030;rint , przedziaĹ&#x201A;Ăłw losowania parametrĂłw: S, Mr i wr â&#x20AC;&#x201C; Rys. 4. NaleĹźy siÄ&#x2122; spodziewaÄ&#x2021;, Ĺźe w ustalonych przedziaĹ&#x201A;ach losowania zawarte bÄ&#x2122;dÄ&#x2026; takie wartoĹ&#x203A;ci parametrĂłw modelu (9), dla ktĂłrych uzyska siÄ&#x2122; minimalnÄ&#x2026; wartoĹ&#x203A;Ä&#x2021; Ĺ&#x203A;redniokwadratowego bĹ&#x201A;Ä&#x2122;du aproksymacji punktĂłw pomiarowych.
3.6. Wyznaczenie macierzy ÎŚ na podstawie punktĂłw pomiarowych charakterystyki amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowej â&#x17D;Ą A Ď&#x2030;0 â&#x17D;¤ ! A Ď&#x2030;0 0 M â&#x2C6;&#x2019;1 â&#x17D;Ľ â&#x17D;˘ â&#x17D;Ľ, (21) ÎŚ=â&#x17D;˘ # % # â&#x17D;˘ â&#x17D;Ľ â&#x17D;˘A Ď&#x2030; â&#x17D;Ľ ! A Ď&#x2030;N â&#x2C6;&#x2019;1 N â&#x2C6;&#x2019;1 â&#x17D;˘â&#x17D;Ł 0 M â&#x2C6;&#x2019;1 â&#x17D;Ľ â&#x17D;Ś
( )
(
( )
)
(
)
gdzie N jest liczbÄ&#x2026; punktĂłw pomiarowych charakterystyki A(w). Macierz ÎŚ wyznaczana jest przez podstawienie do rĂłwnania (10), dla poszczegĂłlnych pulsacji wn (gdzie n = 0, 1, â&#x20AC;Ś, N â&#x20AC;&#x201C; 1), wartoĹ&#x203A;ci parametrĂłw: Sm, M rm i Ď&#x2030;rm , uzyskanych dla kolejnych losowaĹ&#x201E; m = 0, 1, â&#x20AC;Ś, M â&#x20AC;&#x201C; 1.
3.7. Wyznaczenie macierzy bĹ&#x201A;Ä&#x2122;dĂłw aproksymacji
( )
( )
â&#x17D;Ą A Ď&#x2030;0 â&#x17D;¤ ! A Ď&#x2030;0 0 M â&#x2C6;&#x2019;1 â&#x17D;Ľ â&#x17D;˘ â&#x17D;Ľ, Î&#x201D;=â&#x17D;˘ # % # â&#x17D;˘ â&#x17D;Ľ â&#x17D;˘A Ď&#x2030; â&#x17D;Ľ Ď&#x2030; ! A N â&#x2C6;&#x2019;1 N â&#x2C6;&#x2019;1 â&#x17D;Ľ 0 M â&#x2C6;&#x2019;1 â&#x17D;Ś â&#x17D;Łâ&#x17D;˘
(
( )
Rys. 4. PrzykĹ&#x201A;ad ustalenia przedziaĹ&#x201A;Ăłw losowania parametrĂłw: S, Mr i Ď&#x2030;r Fig. 4. Example of determination of the draw ranges for parameters: S, Mr and Ď&#x2030;r
( )
)
(
(22)
)
( )
gdzie: A Ď&#x2030;n = A Ď&#x2030;n â&#x2C6;&#x2019; A Ď&#x2030;n . Kolejne wiersze macierzy Î&#x201D; m m odzwierciedlajÄ&#x2026; bĹ&#x201A;Ä&#x2122;dy aproksymacji dla poszczegĂłlnych pulsacji.
33
& " "
8 % = A %= % L % h" %
3.8. Wyznaczenie wektora bĹ&#x201A;Ä&#x2122;dĂłw aproksymacji Î&#x201D;
Sk =
â&#x2C6;&#x2018;
2
m
Î&#x201D; ,
\' 2 & ! # ! !
(23)
ktĂłrego elementy stanowiÄ&#x2026; sumÄ&#x2122; kwadratĂłw bĹ&#x201A;Ä&#x2122;dĂłw dla poszczegĂłlnych kolumn macierzy Î&#x201D;.
Przedstawmy funkcjÄ&#x2122; przejĹ&#x203A;cia (9) w postaci
Î&#x201D; 3.9. Wyznaczenie minimalnej wartoĹ&#x203A;ci Skmin dla wektora
a0 , 1 + a1 j Ď&#x2030; â&#x2C6;&#x2019; a2Ď&#x2030; 2
K (Ď&#x2030;, θ) =
SkÎ&#x201D; oraz odnoĹ&#x203A;nego numeru losowania mmin. Parametry: Î&#x201D; , przyjSopt, M ropt i Ď&#x2030;ropt , odpowiadajÄ&#x2026;ce wartoĹ&#x203A;ci Skmin muje siÄ&#x2122; jako optymalne rozwiÄ&#x2026;zanie zadania aproksymacji punktĂłw pomiarowych charakterystyki amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowej akcelerometru.
(30)
gdzie
â&#x17D;Ą θ = â&#x17D;Ąâ&#x17D;Ła0 a1 a2 â&#x17D;¤â&#x17D;Ś = â&#x17D;˘ â&#x2C6;&#x2019;S â&#x17D;Ł
3.10. Wyznaczenie wartoĹ&#x203A;ci: b opt i Ď&#x2030;0opt na podstawie relacji (16) i (17).
1 â&#x17D;¤ â&#x17D;Ľ. Ď&#x2030;02 â&#x17D;Ś
2β Ď&#x2030;0
(31)
Na podstawie punktĂłw pomiarowych charakterystyk: amplitudowej A(wn) i fazowej ÎŚ(wn), moĹźna okreĹ&#x203A;liÄ&#x2021; transmitancjÄ&#x2122; widmowÄ&#x2026;
3.11. Wyznaczenie niepewnoĹ&#x203A;ci aproksymacji metodÄ&#x2026; MC, zgodnie z formuĹ&#x201A;Ä&#x2026;
u(MC) =
2 1 M â&#x2C6;&#x2019;1 â&#x2C6;&#x2018; â&#x17D;ĄSkmÎ&#x201D; â&#x2C6;&#x2019; Sk Î&#x201D; â&#x17D;¤â&#x17D;Ś , M (M â&#x2C6;&#x2019; 1) m = 0 â&#x17D;Ł
(24)
(32) Zapiszmy (32) w postaci
gdzie wartoĹ&#x203A;Ä&#x2021; Ĺ&#x203A;rednia okreĹ&#x203A;lana jest przez (33) Sk Î&#x201D; =
1 M
â&#x2C6;&#x2018;
M â&#x2C6;&#x2019;1 m =0
gdzie:
SkmÎ&#x201D; .
(25)
R(Ď&#x2030;n ) = A â&#x2C6;&#x2019;1(Ď&#x2030;n ) cos[ÎŚ(Ď&#x2030;n )],
3.12. Wyznaczenie niepewnoĹ&#x203A;ci: u(Sopt), u (M ropt ) i u (Ď&#x2030;ropt ) dla opt
poszczegĂłlnych parametrĂłw: S , M o relacjÄ&#x2122;:
u(x ) =
opt r
I (Ď&#x2030;n ) = â&#x2C6;&#x2019;A â&#x2C6;&#x2019;1(Ď&#x2030;n ) sin[ÎŚ(Ď&#x2030;n )]
i Ď&#x2030; , w oparciu opt r
oznaczajÄ&#x2026; odpowiednio skĹ&#x201A;adowÄ&#x2026; rzeczywistÄ&#x2026; i urojonÄ&#x2026;.
2 1 M â&#x2C6;&#x2019;1 â&#x17D;Ąx â&#x2C6;&#x2019; x â&#x17D;¤â&#x17D;Ś , â&#x2C6;&#x2018; m =0 â&#x17D;Ł m M (M â&#x2C6;&#x2019; 1)
(26)
Przedstawmy transmitancjÄ&#x2122; (30) w relacji do poszczegĂłlnych pulsacji wn. Mamy wtedy
gdzie 1 x = M
â&#x2C6;&#x2018;
(34)
K (Ď&#x2030;n , θ) =
M â&#x2C6;&#x2019;1
(27)
x . m =0 m
a0 . 1 + a1 j Ď&#x2030;n â&#x2C6;&#x2019; a2Ď&#x2030;n2
(35)
Zapiszmy prawÄ&#x2026; stronÄ&#x2122; rĂłwnania (33) w postaci [1, 2, 10]
3.13. Wyznaczenie niepewnoĹ&#x203A;ci zĹ&#x201A;oĹźonych: u(bopt) i u (Ď&#x2030;0opt ) dla parametrĂłw b opt i Ď&#x2030;0opt w oparciu o relacje
R(Ď&#x2030;n ) + jI (Ď&#x2030;n ) = Îľ R (Ď&#x2030;n ) + j Îľ I (Ď&#x2030;n ),
(36)
Îľ R (Ď&#x2030;n ) = a0 + a1Ď&#x2030;nI (Ď&#x2030;n ) + a2Ď&#x2030;n2R(Ď&#x2030;n )
(37)
Îľ I (Ď&#x2030;n ) = â&#x2C6;&#x2019;a1Ď&#x2030;nR(Ď&#x2030;n ) + a2Ď&#x2030;n2I (Ď&#x2030;n ).
(38)
gdzie: 2
u( β
opt
â&#x17D;Ą â&#x2C6;&#x201A;β â&#x17D;¤ â&#x17D;Ą â&#x2C6;&#x201A;β â&#x17D;¤ ) = â&#x17D;˘ â&#x2039;&#x2026; u(S opt )â&#x17D;Ľ + â&#x17D;˘ â&#x2039;&#x2026; u(M ropt )â&#x17D;Ľ â&#x17D;Ł â&#x2C6;&#x201A;S â&#x17D;Ś â&#x17D;Ł â&#x2C6;&#x201A;M r â&#x17D;Ś
2
(28) i
i 2
2
2
â&#x17D;Ą â&#x2C6;&#x201A;Ď&#x2030; â&#x17D;¤ â&#x17D;Ą â&#x2C6;&#x201A;Ď&#x2030; â&#x17D;¤ â&#x17D;Ą â&#x2C6;&#x201A;Ď&#x2030; â&#x17D;¤ u(Ď&#x2030; ) = â&#x17D;˘ 0 â&#x2039;&#x2026; u(S opt )â&#x17D;Ľ + â&#x17D;˘ 0 â&#x2039;&#x2026; u(M ropt )â&#x17D;Ľ + â&#x17D;˘ 0 â&#x2039;&#x2026; u(Ď&#x2030;ropt )â&#x17D;Ľ , S M Ď&#x2030; â&#x2C6;&#x201A; â&#x2C6;&#x201A; â&#x2C6;&#x201A; â&#x17D;Ł â&#x17D;Ś â&#x17D;Ł r â&#x17D;Ś â&#x17D;Ł r â&#x17D;Ś opt 0
Oznaczmy dodatkowo przez
â&#x17D;Ą1 Îť = â&#x17D;Łâ&#x17D;ĄÎť0 Îť1 Îť2 â&#x17D;Śâ&#x17D;¤ = â&#x17D;˘ â&#x17D;ŁS
(29) gdzie pochodne czÄ&#x2026;stkowe:
â&#x2C6;&#x201A;β â&#x2C6;&#x201A;β wyznaczane sÄ&#x2026; na pod, â&#x2C6;&#x201A;S â&#x2C6;&#x201A;M r
stawie (16), natomiast pochodne:
P
O
M
I
â&#x2C6;&#x201A;Ď&#x2030;0 â&#x2C6;&#x201A;Ď&#x2030;0 â&#x2C6;&#x201A;Ď&#x2030;0 i wyzna, â&#x2C6;&#x201A;Ď&#x2030;r â&#x2C6;&#x201A;S â&#x2C6;&#x201A;M r
A
R
Y
â&#x20AC;˘
A
U
T
O
M
(39)
WartoĹ&#x203A;ci elementĂłw wektora l, dla ktĂłrych uzyskuje siÄ&#x2122; minimalnÄ&#x2026; wartoĹ&#x203A;Ä&#x2021; bĹ&#x201A;Ä&#x2122;du rĂłwnoczesnej aproksymacji obu charakterystyk czÄ&#x2122;stotliwoĹ&#x203A;ciowych akcelerometru, wyznacza siÄ&#x2122; w oparciu o UMNK, zgodnie z rĂłwnaniem [3, 4]
czane sÄ&#x2026; w oparciu o (17), zgodnie z wytycznymi zawartymi w przewodniku [5].
34
1 â&#x17D;¤ â&#x17D;Ľ. S Ď&#x2030;02 â&#x17D;Ś
β S Ď&#x2030;0
(
Ν = Ψ T Σ -1 Ψ
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
)
T
-1
Ψ T Σ -1 Y,
Y
K
A
(40)
NR 2/ 20 20
Krzysztof Tomczyk
gdzie 2N-wymiarowy wektor Y wyznaczany jest w oparciu o relację (36), zgodnie z formułą
YT = [R(ω0 ) I (ω0 ) R(ω1 ) I (ω1 ) ! R(ωn ) I (ωn )] (41) Macierz Ψ o wymiarze 2N × 3 ma postać
Ψ T = ⎡⎣ Ψ T0
Ψ1T ! Ψ NT −1 ⎤⎦
(42)
gdzie poszczególne jej składowe wynoszą ⎡ ⎤ 1 0 ⎢ ⎥ Ψ T = ⎢ ωnI (ωn ) −ωnR(ωn )⎥ ⎢ ⎥ ⎢ω 2R(ω ) ω 2I (ω ) ⎥ n n n ⎦ ⎣ n
n = 1, 2, ! , N
⎡ ⎤ ⎢ 1 ⎥ ⎢ λ ⎥ ⎡ S ⎤ ⎡S opt ⎤ ⎢ 2 ⎥ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ λ θ = ⎢ β ⎥ = ⎢ β opt ⎥ = ⎢ 1 ⎥ . ⎥ ⎢ λ λ ⎥ ⎢ ⎥ ⎢ ⎢ω ⎥ ⎢ω opt ⎥ ⎢ 0 2 ⎥ ⎣ 0⎦ ⎣ 0 ⎦ ⎢ λ 0 ⎥⎥ ⎢ ⎢⎣ λ 2 ⎥⎦
(47)
Niepewności związane z wyznaczonymi za pomocą UMNK parametrami: S opt, b opt i ω0opt , określa się za pomocą metody MC. Procedura wyznaczania tych niepewności obejmuje cztery główne kroki obliczeniowe: (43)
4.1. Wyznaczenie wektora losowego λˆm = λ + ε m ,
m = 0, 1, ! , M ,
(48)
i wyznaczane są w oparciu o relacje (37) i (38). Macierz Σ, występująca w równaniu (40), ma wymiar 2N × 2N i jest macierzą kowariancji o postaci:
gdzie e jest 3-wymiarowym wektorem, losowanym z wielowymiarowego rozkładu normalnego o funkcji gęstości prawdopodobieństwa T ⎧ 1 ⎫ exp ⎨− ⎡⎣X − X ⎤⎦ Σ u−1 ⎡⎣X − X ⎤⎦ ⎬ 2 ⎩ ⎭, f (X) = 1/ 2 3/ 2 (2π ) Σ u
(49)
(44) natomiast X i Σ u oznaczają odpowiednio: wartość średnią o zerowej wartości i macierz kowariancji o postaci Σu = (ΨT Σ–1 Ψ) –1.
(50)
Wektor X, występujący w (49), wyznaczany jest na podstawie tzw. dekompozycji Choleskiego, zapewniającej spełnienie warunku
gdzie:
XXT = Σu.
(51)
4.2. Wyznaczenie macierzy na podstawie wektora losowego (45)
i
ˆ Λ 3, m
(46)
Wariancje (45) i (46) wyznaczane są na podstawie równań (34), natomiast u(A(wn)) i u(Φ(wn)), są niepewnościami standardowymi związanymi z punktami pomiarowymi obu charakterystyk częstotliwościowych: A(wn) i Φ(wn). Estymaty dla wektora q – relacja (31),wyznacza się na podstawie formuły (39). Mamy wtedy
⎡ ⎤ ⎢ ⎥ 1 ⎢ ˆ ⎥ ⎢ λ 2m ⎥ ˆ ⎤ ⎢ ⎥ ⎡Λ 0, m ⎥ ⎢ ⎥ ⎢ λˆ 1m ⎥. ˆ ⎥=⎢ = ⎢Λ 1, m ⎢ ⎥ ⎢ ˆ ˆ ⎥ ⎢ ˆ ⎥ ⎢ λ0m λ2m ⎥ ⎥ ⎣ Λ 2, m ⎦ ⎢ ⎢ ⎥ ˆ ⎢ λ0m ⎥ ⎢ ⎥ ˆ ⎣⎢ λ2m ⎥⎦
(52)
4.3. Wyznaczenie macierzy kowariancji ⎡ σ 02 σ 01 σ 02 ⎤ ⎢ ⎥ Σ Λˆ = ⎢σ 10 σ 12 σ 12 ⎥ , ⎢ ⎥ 2 ⎥ ⎢σ σ σ 21 2 ⎦ ⎣ 20
(53)
ˆ , gdzie na podstawie wektora Λ
35
& " "
8 % = A %= % L % h" %
M â&#x2C6;&#x2019;1 2 1 â&#x2C6;&#x2018; â&#x17D;Ąxm â&#x2C6;&#x2019; x â&#x17D;¤â&#x17D;Ś , M (M â&#x2C6;&#x2019; 1) m = 0 â&#x17D;Ł
(54)
M â&#x2C6;&#x2019;1 1 â&#x2C6;&#x2018; â&#x17D;Ąxm â&#x2C6;&#x2019; x â&#x17D;¤â&#x17D;Ś â&#x17D;Ąâ&#x17D;Łym â&#x2C6;&#x2019; y â&#x17D;¤â&#x17D;Ś , M (M â&#x2C6;&#x2019; 1) m = 0 â&#x17D;Ł
(55)
Ď&#x192; x2 = i
Ď&#x192; xy =
natomiast x i y sÄ&#x2026; wartoĹ&#x203A;ciami Ĺ&#x203A;rednimi, wyznaczonymi odpowiednio dla wektorĂłw x i y.
4.4.
Rys. 6. Wynik aproksymacji punktĂłw pomiarowych charakterystyki amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowej Fig. 6. Result of the measuring points approximation for the amplitudefrequency response
Wyznaczenie wektora u(θ ), ktĂłrego poszczegĂłlne elementy stanowiÄ&#x2026; niepewnoĹ&#x203A;ci estymat θ parametrĂłw modelu akcelerometru [3]
â&#x17D;Ą u(S ) â&#x17D;¤ â&#x17D;Ąu(S opt ) â&#x17D;¤ â&#x17D;Ľ â&#x17D;˘ â&#x17D;Ľ â&#x17D;˘ u(θ )Ăľ= â&#x17D;˘ u(β ) â&#x17D;Ľ = â&#x17D;˘u(β opt )â&#x17D;Ľ = diag(ÎŁ Î&#x203A;Ë&#x2020; ). â&#x17D;Ľ â&#x17D;˘ â&#x17D;Ľ â&#x17D;˘ â&#x17D;˘u(Ď&#x2030; )â&#x17D;Ľ â&#x17D;˘u(Ď&#x2030; opt )â&#x17D;Ľ 0 0 â&#x17D;Ł â&#x17D;Ś â&#x17D;Ł â&#x17D;Ś
i bazujÄ&#x2026;cej na KMNK. AproksymacjÄ&#x2122; zrealizowano poprzez podstawienie parametrĂłw Sopt, b opt i Ď&#x2030;0opt = 2Ď&#x20AC; f0opt do rĂłwnania (10). NiepewnoĹ&#x203A;Ä&#x2021; u(MC) aproksymacji metodÄ&#x2026; MC wynosi 0,025 V/V, natomiast niepewnoĹ&#x203A;ci dla poszczegĂłlnych parametrĂłw: Sopt, M ropt i Ď&#x2030;ropt , wyznaczone za pomocÄ&#x2026; formuĹ&#x201A;y (26), wynoszÄ&#x2026; odpowiednio: u(Sopt) = 7,043 Ă&#x2014; 10â&#x20AC;&#x201C;4 V/msâ&#x20AC;&#x201C;2, u(M ropt ) = 1, 41 Ă&#x2014; 10â&#x2C6;&#x2019;3 V ms â&#x2C6;&#x2019;2 i u( fropt ) = 4 Hz. Z kolei niepewnoĹ&#x203A;ci zĹ&#x201A;oĹźone, wyznaczone w oparciu o relacje (28) i (29), wynoszÄ&#x2026;: u(b opt) = 2,816 Ă&#x2014; 10â&#x20AC;&#x201C;4 i u( f0opt ) = 1 Hz. W wyniku zastosowania, w odniesieniu do obu charakterystyk czÄ&#x2122;stotliwoĹ&#x203A;ciowych, opisanej w punkcie 4 metody MC bazujÄ&#x2026;cej na UMNK, uzyskano nastÄ&#x2122;pujÄ&#x2026;ce wartoĹ&#x203A;ci parametrĂłw: Sopt = 0,992 V/msâ&#x20AC;&#x201C;2, b opt = 0,255 i Ď&#x2030;0opt = 2383 Hz. Zastosowano analogicznÄ&#x2026; jak w przypadku KMNK liczbÄ&#x2122; losowaĹ&#x201E; MC rĂłwnÄ&#x2026; 2 Ă&#x2014; 105. Rysunek 7 przedstawia wynik aproksymacji (w skali logarytmicznej) punktĂłw pomiarowych obu charakterystyk czÄ&#x2122;stotliwoĹ&#x203A;ciowych: amplitudowej A(f) i fazowej j(f).
(56)
^' PoniĹźej przedstawiono przykĹ&#x201A;ad zastosowania procedur omĂłwionych w punktach 3 i 4,dlapotrzeb identyfikacji akcelerometru Althen 731-207 [16]. W Tabeli 1 zestawiono punkty pomiarowe charakterystyk amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowej A(f) i fazowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowej j(f), wyznaczonych za pomocÄ&#x2026; metody pomiarowej â&#x20AC;&#x2DC;back-to-backâ&#x20AC;&#x2122; [17]. Jako wzorzec dla tej metody zastosowano akcelerometr typu BrĂźel & KjĂŚr 8305 [18]. Na podstawie przykĹ&#x201A;adu z rys. 3, dla punktĂłw pomiarowych charakterystyki amplitudowowej, zaĹ&#x201A;oĹźono nastÄ&#x2122;pujÄ&#x2026;ce wartoĹ&#x203A;ci intuicyjne: S int = 1 V/ms â&#x20AC;&#x201C;2, M rint = 2 V / ms â&#x2C6;&#x2019;2 oraz frint = 2, 5 kHz. NastÄ&#x2122;pnie, na podstawie przykĹ&#x201A;adu z Rys. 4, ustalono zakresy zmiennoĹ&#x203A;ci (wartoĹ&#x203A;ci minimalne i maksymalne) dla wszystkich trzech powyĹźszych parametrĂłw: Smin = 0,9 V/msâ&#x20AC;&#x201C;2, Smax = 1,1 V/msâ&#x20AC;&#x201C;2, M rmin = 1, 8 V / ms â&#x2C6;&#x2019;2 , M rmax = 2, 2 V / ms â&#x2C6;&#x2019;2 , frmin = 2, 0 kHz i frmax = 3, 0 kHz. Zastosowano generator liczb pseudolosowych typu Box-Muller realizujÄ&#x2026;cy 2 Ă&#x2014; 105 losowaĹ&#x201E; MC. Uzyskano nastÄ&#x2122;pujÄ&#x2026;ce rezultaty symulacji MC: mmin = 10Â 908, Sopt = 0,982 V/msâ&#x20AC;&#x201C;2, b opt = 0,257 i jako wynik implementacji w programie Mathcad 14 procedury przedstawionej w punkcie 3. Na Rys. 6 przedstawiono wynik aproksymacji (w skali logarytmicznej) punktĂłw pomiarowych charakterystyki amplitudowo-czÄ&#x2122;stotliwoĹ&#x203A;ciowej, z wykorzystaniem metody MC
Rys. 7. Wynik aproksymacji punktĂłw pomiarowych obu charakterystyk czÄ&#x2122;stotliwoĹ&#x203A;ciowych Fig. 7. Result of the measuring points approximation for both frequency responses
Tabela 1. Punkty pomiarowe charakterystyk czÄ&#x2122;stotliwoĹ&#x203A;ciowych Table 1. Measuring points of the frequency responses
f [kHz]
0,03
0,04
0,05
0,06
0,07
0,08
0,09
0,1
0,2
0,3
0,4
0,5
0,6
A(f) [V/V]
1,03
0,96
0,92
1,00
1,02
0,93
0,98
1,00
0,97
1,01
0,96
1,02
0,98
j(f) [deg]
â&#x20AC;&#x201C;0,2
â&#x20AC;&#x201C;0,8
â&#x20AC;&#x201C;0,8
â&#x20AC;&#x201C;0,6
â&#x20AC;&#x201C;1,2
â&#x20AC;&#x201C;1,3
â&#x20AC;&#x201C;0,9
â&#x20AC;&#x201C;1,1
â&#x20AC;&#x201C;3,2
â&#x20AC;&#x201C;2,4
â&#x20AC;&#x201C;7,8
â&#x20AC;&#x201C;5,6
â&#x20AC;&#x201C;10,5
f [kHz]
0,7
0,8
0,9
1,0
1,1
1,2
1,3
1,4
1,5
1,6
1,7
1,8
1,9
A(f) [V/V]
1,05
1,00
1,10
1,08
1,25
1,23
1,30
1,41
1,45
1,48
1,55
1,62
1,68
j(f) [deg]
â&#x20AC;&#x201C;12,2
â&#x20AC;&#x201C;15,5
â&#x20AC;&#x201C;18,4
â&#x20AC;&#x201C;20,1
â&#x20AC;&#x201C;21,5
â&#x20AC;&#x201C;30,7
â&#x20AC;&#x201C;30,4
â&#x20AC;&#x201C;33,2
â&#x20AC;&#x201C;34,3
â&#x20AC;&#x201C;42,7
â&#x20AC;&#x201C;52,6
â&#x20AC;&#x201C;50,8
â&#x20AC;&#x201C;62,6
f [kHz]
2,0
2,1
2,2
2,3
2,4
2,5
2,6
2,7
2,8
2,9
3,0
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
A(f) [V/V]
1,79
1,80
1,92
2,05
1,96
1,78
1,88
1,65
1,45
1,38
1,25
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
j(f) [deg]
â&#x20AC;&#x201C;69,5
â&#x20AC;&#x201C;70,9
â&#x20AC;&#x201C;78,4
â&#x20AC;&#x201C;80,2
â&#x20AC;&#x201C;94,5
â&#x20AC;&#x201C;110,8
â&#x20AC;&#x201C;120,4
â&#x20AC;&#x201C;118,3
â&#x20AC;&#x201C;122,6
â&#x20AC;&#x201C;125,4
â&#x20AC;&#x201C;121,6
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
A
O
36
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
â&#x20AC;˘
R
B
O
T
Y
K
A
NR 2/ 20 20
Krzysztof Tomczyk
Niepewności dla poszczególnych parametrów: Sopt, b opt i ω0opt , wyznaczone za pomocą formuły (56), wynoszą: u(Sopt) = 1,954 × 10–4 V/ms–2, u(bopt) = 1,336 × 10–3 i u( f0opt ) = 12 Hz. Wartości niepewności u(A(wn)) i u(Φ(wn)), występujące w formułach (45) i (46), dla poszczególnych punktów pomiarowych obu charakterystyk zostały określone na podstawie Tabeli 1 zawartej w normie [17].
6. Podsumowanie
5.
6.
7. 8.
Artykuł przedstawia dwie procedury identyfikacji akcelerometrów z wykorzystaniem metody Monte Carlo. Pierwsza, oparta na KMNK, dedykowana jest dla przypadków, gdy dysponujemy wyłącznie punktami pomiarowymi charakterystyki amplitudowo-częstotliwościowej. Druga, aplikowana jest wtedy, gdy procedura identyfikacji dotyczy równocześnie obu charakterystyk częstotliwościowych. Pierwsza procedura wymaga określenia przybliżonych wartości parametrów akcelerometru, tj.: czułości napięciowej, częstotliwości rezonansowej oraz szczytu rezonansowego. Konieczne jest również określenie, w sposób intuicyjny, zakresów zmienności tych parametrów. Wszystkie obliczenia realizowane w obrębie tej procedury oparte są o wartości losowe, uzyskane przez aplikację metody MC. Jej numeryczna implementacja w wybranym środowisku matematyczno-obliczeniowym jest prostsza w realizacji w porównaniu z drugą procedurą, z uwagi na jej mniejszą złożoność matematyczną. Jednak w przypadku drugiej procedury, estymaty parametrów matematycznego modelu akcelerometru uzyskiwane są na drodze przetwarzania punktów pomiarowych, przez wykorzystanie UMNK i bez konieczności stosowania metody MC. Symulacja MC aplikowana jest wyłącznie dla potrzeb wyznaczenia niepewności parametrów modelu akcelerometru. Różnice wartości parametrów i związanych z nimi niepewności, uzyskane w przypadku aplikacji obu procedur dla potrzeb identyfikacji akcelerometru typu Althen 731-207 są oczywiste. Oczywista jest również większa wiarygodność wyników uzyskanych w drugim przypadku, gdyż dysponujemy tu punktami pomiarowymi obu charakterystyk częstotliwościowych. Jednak analiza tych wyników wskazuje, że różnice między nimi są nieznaczne, gdyż wynoszą: 1%; 0,8% i 3,9%, odpowiednio dla czułości napięciowej, współczynnika tłumienia i częstotliwości drgań własnych nietłumionych. Niższe wartości niepewności, uzyskane dla przypadku pierwszej procedury wynikają z faktu, że analizie podlegały tu punkty pomiarowe wyłącznie charakterystyki amplitudowej. Artykuł finansowany ze środków Narodowego Centrum Nauki (NCN) w ramach działania naukowego: 2017/01/X/ST7/00394.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
BIPM, IEC, IFCC, ILAC, ISO, IUPAP, OIML, Guide to the expression of uncertainty in measurement. Supplement 2 – Extension to any number of output quantities, 2011. Yu J. Ch., Lan Ch. B. System Modeling and Robust Design of Microaccelerometer using Piezoelectric Thin Film. Proceedings of the IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems, 1999, 99–104. Jakubiec J., Roj J. Pomiarowe przetwarzanie próbkujące. Wydawnictwo Politechniki Śląskiej. 2000. Kubisa S., Intuicja i symulacja Monte Carlo podstawą analizy niedokładności pomiarów, „Pomiary Automatyka Kontrola”, R. 53, Nr 9, 2007, 3-8. Kubisa S., Identyfikacja parametryczna metoda Monte Carlo. Materiały konf. VI Sympozjum nt. Pomiarów Dynamicznych. Sucha Beskidzka, 2009. Tomczyk K., Problems in Modelling of Charge Output Accelerometers, “Metrology and Measurement Systems”, Vol. 23, No. 4, 2016, 645–659. DOI: 10.1515/mms-2016-0045. Guimarães Couto P.R., CarreteiroDamasceno J., Pinheiro de Oliveira S., Monte Carlo simulations applied to uncertainty in measurement. In Theory and Applications of Monte Carlo Simulations. Chan, V., Ed. IntechOpen, London, 2013, 27–51. Harris P.M., Cox M.G., On a Monte Carlo method for measurement uncertainty evaluation and its implementation. “Metrologia”, 2014, Vol. 51, 176–182. Wichmann B. A., Hill I. D.,Generating Good Pseudo-Random Numbers, „Computational Statistics & Data Analysis”, No. 3, 2006, Vol. 51, 1614–1622. Box G.E.P., Muller M. A Note on the Generation of Random Normal Variates. “Annals of Mathematical Statistics”, Vol. 29, No. 9, 1958, 610–611. Tomczyk K., Influence of Monte Carlo Generations Applied for Modelling of Measuring Instruments on Maximum Distance Error. T I Meas. Control. Vol. 41, No. 1, 2019, 74–84. Althen 731-207 – data sheet: [www.althensensors.com/ media/26150/731-207-seismischer-vibrationsaufnehmer-en.pdf] (data dostępu: 6.04.2020 r.). ISO 16063-21: Methods for the calibration of vibration and shock transducers—Part 21: Vibration calibration by comparison to a reference transducer, 2003. Brüel & Kjær, Reference Standard Accelerometer type 8305 – data sheet: https://www.bksv.com/-/media/ literature/Product-Data/bp2052.ashx (data dostępu: 6.04.2020 r.).
` # & 1. 2.
3.
4.
Isermann R., Münchhof M. Identification of Dynamics Systems. Springer-Verlag. Berlin Heidelberg. 2011. Pintelon R., Schoukens J. System identification: A frequency domain approach, 2ndEdition. John Wiley & Sons. 2012. Link A., Täbner A., Wabinski W., Bruns T.,Elster C. Modelling accelerometers for transient signals using calibration measurement upon sinusoidal excitation. “Measurement”. Vol. 40, 2007, 928–935. BIPM, IEC, IFCC, ILAC, ISO, IUPAP, OIML, Guide to the expression of uncertainty in measurement. Suplement 1 – Propagation of distributions using a Monte Carlo method, 2008.
37
& " "
8 % = A %= % L % h" %
M # $ $ ' # F 6' ` # M < 8 - Abstract: The paper presents an application of the Monte Carlo method for parametric identification of accelerometers in the frequency domain. Two identification methods are discussed here. The first one is intuitive and implemented only based on measuring points of amplitude-frequency response and employs the classical least squares method. The second one is the procedure based on measuring points of both frequency responses (amplitude and phase) and implemented by using the generalized least squares methods. Identification results for the selected accelerometer of type Althen 731-207 are presented and discussed. Mathcad 14 software was used for the needs of both identification methods. KeywordsV $ '% ' ` %
$ $ ' 2 ( $ & ' ORCID: 0000-0002-8922-6529 MG ; ' 6 O = E " F E " ; (!!+ E Q ' ' E % (!?B Q ' G . ' E % E N . ' H . % J E . ' J
38
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 2/2020, 39â&#x20AC;&#x201C;43, DOI: 10.14313/PAR_236/39
F . J H G ' H 3 $ $ + # $ 4 4$5 F S % ; ' = % M 6 # % 6 6 # % F J T+% *@ET@) S
$ $ . Pomiar parametrĂłw Ĺ&#x203A;ciekĂłw naleĹźy do stosunkowo trudnych zadaĹ&#x201E;. Ĺ&#x161;cieki, w wiÄ&#x2122;kszoĹ&#x203A;ci przepadkĂłw, to mieszanina dwufazowa. W Ĺ&#x203A;ciekach zanieczyszczeniami mogÄ&#x2026; byÄ&#x2021; ciaĹ&#x201A;a staĹ&#x201A;e lub ciecze, ktĂłre rozpuszczajÄ&#x2026; siÄ&#x2122; w wodzie lub nie. W pracy autorzy zaproponowali, rozwiÄ&#x2026;zanie systemu do pomiaru strumieni Ĺ&#x203A;ciekĂłw o szerokim zakresie pomiarowym, odporne na osadzanie siÄ&#x2122; frakcji staĹ&#x201A;ej oraz moĹźliwe do zamontowania na juĹź istniejÄ&#x2026;cych kanaĹ&#x201A;ach Ĺ&#x203A;ciekowych. Zaproponowane rozwiÄ&#x2026;zanie oparte jest na przepĹ&#x201A;ywomierzu szczelinowym z moĹźliwoĹ&#x203A;ciÄ&#x2026; regulowania szczeliny w przegrodzie pomiarowej. Podstawowym mierzonym parametrem, na podstawie ktĂłrego obliczany jest strumieĹ&#x201E; objÄ&#x2122;toĹ&#x203A;ciowy przepĹ&#x201A;ywajÄ&#x2026;cych Ĺ&#x203A;ciekĂłw, jest wysokoĹ&#x203A;Ä&#x2021; ustawienia przegrody. Jest ona funkcjÄ&#x2026; pola przekroju poprzecznego przewÄ&#x2122;Ĺźenia. Autorzy przedstawili szczegĂłĹ&#x201A;owy opis metody pomiarowej. $ V J % % H % ' O %
1. Wprowadzenie Ĺ&#x161;cieki sÄ&#x2026; to zuĹźyte ciecze, roztwory, koloidy lub zawiesiny, a takĹźe odpadowe ciaĹ&#x201A;a staĹ&#x201A;e, powstaĹ&#x201A;e w wyniku dziaĹ&#x201A;alnoĹ&#x203A;ci czĹ&#x201A;owieka â&#x20AC;&#x201C;na skutek dziaĹ&#x201A;alnoĹ&#x203A;ci produkcyjnej i bytowej czĹ&#x201A;owieka, mogÄ&#x2026; rĂłwnieĹź pochodziÄ&#x2021; z innych ĹşrĂłdeĹ&#x201A;. Ze wzglÄ&#x2122;du na ĹşrĂłdĹ&#x201A;o pochodzenia Ĺ&#x203A;cieki dzieli siÄ&#x2122; na [1]: Ĺ&#x161;cieki bytowe â&#x20AC;&#x201C; pochodzÄ&#x2026; z gospodarstw domowych oraz róşnego rodzaju budynkĂłw uĹźytecznoĹ&#x203A;ci publicznej. W ich skĹ&#x201A;ad wchodzÄ&#x2026; detergenty, resztki poĹźywienia i odchody. Znajduje siÄ&#x2122; w nich duĹźa iloĹ&#x203A;Ä&#x2021; zwiÄ&#x2026;zkĂłw organicznych, stÄ&#x2026;d moĹźliwy jest szybki rozwĂłj bakterii i pasoĹźytĂłw. Ĺ&#x161;cieki przemysĹ&#x201A;owe â&#x20AC;&#x201C; pochodzÄ&#x2026; z zakĹ&#x201A;adĂłw przemysĹ&#x201A;owych, powstajÄ&#x2026;ce podczas procesĂłw produkcyjnych. Ich skĹ&#x201A;ad zaleĹźy od profilu dziaĹ&#x201A;alnoĹ&#x203A;ci zakĹ&#x201A;adu. DuĹźe zróşnicowanie skĹ&#x201A;adu tych Ĺ&#x203A;ciekĂłw sprawia, Ĺźe metoda ich pomiaru musi byÄ&#x2021; dobrana w oparciu o specyfikÄ&#x2122; tego zakĹ&#x201A;adu. Ĺ&#x161;cieki opadowe â&#x20AC;&#x201C; powstajÄ&#x2026; podczas opadĂłw atmosferycznych, spĹ&#x201A;ywajÄ&#x2026; do kanalizacji. PewnÄ&#x2026; trudnoĹ&#x203A;Ä&#x2021; w odprowadzaniu tego rodzaju Ĺ&#x203A;ciekĂłw moĹźe stanowiÄ&#x2021; rozwĂłj infrastruktury drogowej, utwardzenia gruntu i zmniejszenie jego chĹ&#x201A;onnoĹ&#x203A;ci. Powoduje to koniecznoĹ&#x203A;Ä&#x2021; odprowadzania zwiÄ&#x2122;kszonej iloĹ&#x203A;ci Ĺ&#x203A;ciekĂłw opadowych z powierzchni drĂłg, ktĂłre wymagajÄ&#x2026; podczysz-
) " V
' " G % G & ' ) ' () ! (!(! % ' ' () !@ (!(!
!
czania i dalszego transportu do odbiornika. W tym przypadku pojawia siÄ&#x2122; potrzeba ograniczenia maksymalnego odpĹ&#x201A;ywu, tym samym wydĹ&#x201A;uĹźenia czasu ich spĹ&#x201A;ywu (retencji). Gromadzenie Ĺ&#x203A;ciekĂłw opadowych moĹźe odbywaÄ&#x2021; siÄ&#x2122; zarĂłwno w zbiornikach zamkniÄ&#x2122;tych, jak i otwartych. Jednak odpĹ&#x201A;yw Ĺ&#x203A;ciekĂłw, ze wzglÄ&#x2122;dĂłw bezpieczeĹ&#x201E;stwa, powinien byÄ&#x2021; kontrolowany. Ĺ&#x161;cieki komunalne â&#x20AC;&#x201C; pochodzÄ&#x2026; gĹ&#x201A;Ăłwnie z terenĂłw miejskich i sÄ&#x2026; mieszaninÄ&#x2026; Ĺ&#x203A;ciekĂłw bytowych, Ĺ&#x203A;ciekĂłw pochodzÄ&#x2026;cych z zakĹ&#x201A;adĂłw przemysĹ&#x201A;owych oraz Ĺ&#x203A;ciekĂłw powstajÄ&#x2026;cych podczas opadĂłw atmosferycznych. Z uwagi na problematykÄ&#x2122; pomiaru strumienia Ĺ&#x203A;ciekĂłw, bardziej praktycznym podziaĹ&#x201A;em Ĺ&#x203A;ciekĂłw jest podziaĹ&#x201A; ich ze wzglÄ&#x2122;du na skĹ&#x201A;ad frakcyjny i rodzaj zanieczyszczeĹ&#x201E;, ktĂłrymi sÄ&#x2026; ciecze oraz ciaĹ&#x201A;a staĹ&#x201A;e. Przemieszczanie poszczegĂłlnych faz tej mieszaniny, zaleĹźne jest od gÄ&#x2122;stoĹ&#x203A;ci cieczy wchodzÄ&#x2026;cych w jej skĹ&#x201A;ad. Ciecze o gÄ&#x2122;stoĹ&#x203A;ci wiÄ&#x2122;kszej od gÄ&#x2122;stoĹ&#x203A;ci wody, bÄ&#x2122;dÄ&#x2026; siÄ&#x2122; przemieszczaĹ&#x201A;y przy dnie kanaĹ&#x201A;u z prÄ&#x2122;dkoĹ&#x203A;ciÄ&#x2026; innÄ&#x2026; niĹź prÄ&#x2122;dkoĹ&#x203A;Ä&#x2021; ruchu wody. W przypadku cieczy o gÄ&#x2122;stoĹ&#x203A;ci mniejszej od gÄ&#x2122;stoĹ&#x203A;ci wody, bÄ&#x2122;dzie ona unoszona na powierzchni pĹ&#x201A;ynÄ&#x2026;cego pĹ&#x201A;ynu. Podobnie w Ĺ&#x203A;ciekach poruszajÄ&#x2026; siÄ&#x2122; ciaĹ&#x201A;a staĹ&#x201A;e. CiaĹ&#x201A;a o gÄ&#x2122;stoĹ&#x203A;ci mniejszej od gÄ&#x2122;stoĹ&#x203A;ci wody sÄ&#x2026; unoszone na jej powietrzni, a o gÄ&#x2122;stoĹ&#x203A;ci wiÄ&#x2122;kszej, zazwyczaj toczÄ&#x2026; siÄ&#x2122; po dnie. DodatkowÄ&#x2026; trudnoĹ&#x203A;Ä&#x2021; w pomiarze wprowadza rozkĹ&#x201A;ad frakcyjny (rys. 1) [2], ktĂłry moĹźe powodowaÄ&#x2021; osadzanie siÄ&#x2122; frakcji staĹ&#x201A;ej lub jej pulsacyjne przemieszczanie siÄ&#x2122;. Problematyka pomiaru tego rodzaju Ĺ&#x203A;ciekĂłw sprowadza siÄ&#x2122; do zagadnieĹ&#x201E; pomiaru przepĹ&#x201A;ywĂłw dwufazowych, ktĂłre stanowiÄ&#x2026; obecnie jedno z najtrudniejszych zagadnieĹ&#x201E; w metrologii przepĹ&#x201A;ywĂłw. Ze wzglÄ&#x2122;du na duĹźe zróşnicowanie wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci i skĹ&#x201A;adu Ĺ&#x203A;ciekĂłw, nie jest moĹźliwe okreĹ&#x203A;lenie uniwersalnej metody pomiarowej, nadajÄ&#x2026;cej siÄ&#x2122; do zastosowania w szerokim zakresie. Do Ĺ&#x203A;ciekĂłw, ktĂłre sÄ&#x2026; zanieczyszczone chemicznie lub stanowiÄ&#x2026;ce zawiesiny dwufazowe, moĹźliwe jest zastosowanie metod pomiarowych sto-
39
* %= " % L % 8 % ) " ' )
Substancje wielkogabarytowe
Skratki
100
Piasek
10
silnie zaleĹźy od ich skĹ&#x201A;adu, w praktyce nie okreĹ&#x203A;la siÄ&#x2122; strumienia masowego a jedynie strumieĹ&#x201E; objÄ&#x2122;toĹ&#x203A;ciowy. Substancje rozpuszczone Przedstawione rozwiÄ&#x2026;zanie jest praktyczne i dobrze nadaje siÄ&#x2122; do pomiaru przepĹ&#x201A;ywu Ĺ&#x203A;ciekĂłw z powierzchniÄ&#x2026; swobodnÄ&#x2026;. ZwiÄ&#x2122;kszona prÄ&#x2122;dkoĹ&#x203A;Ä&#x2021; ruchu cieczy w przewÄ&#x2122;Ĺźeniu powoduje, 10-7 10-8 10-9 d [mm] Ĺźe nie osadzajÄ&#x2026; siÄ&#x2122; w nim czÄ&#x2026;stki staĹ&#x201A;e. WadÄ&#x2026; tego rozwiÄ&#x2026;zania jest to, Ĺźe zakres pomiarowy jest stosunkowo maĹ&#x201A;y. W przypadku monitorowania przepĹ&#x201A;ywu Ĺ&#x203A;ciekĂłw komunalnych, gdy ich natÄ&#x2122;Ĺźenie znaczÄ&#x2026;co zmienia siÄ&#x2122; w ciÄ&#x2026;gu doby, tego typu rozwiÄ&#x2026;zania nie zapewniajÄ&#x2026; wystarczajÄ&#x2026;cej dokĹ&#x201A;adnoĹ&#x203A;ci pomiaru. Autorzy postanowili opracowaÄ&#x2021; rozwiÄ&#x2026;zanie, ktĂłre umoĹźliwiaĹ&#x201A;oby prowadzenie pomiarĂłw w szerokim zakresie pomiarowym, a jednoczeĹ&#x203A;nie byĹ&#x201A;oby tanie i moĹźliwe do zastosowania juĹź na istniejÄ&#x2026;cych kanaĹ&#x201A;ach Ĺ&#x203A;ciekowych, przy zachowaniu zaĹ&#x201A;oĹźonej niepewnoĹ&#x203A;ci pomiarĂłw.
rozpuszczone (koloidy)
1
Substancje zawieszone
10-1
10-2
10-3
10-4
10-5
10-6
Rys. 1. PodziaĹ&#x201A; frakcji staĹ&#x201A;ej w Ĺ&#x203A;ciekach Fig. 1. The distribution of the solid fraction in the sewage
X' 3
W zaleĹźnoĹ&#x203A;ci od zapotrzebowania hydraulicznego, statycznego i technologii procesu budowlanego, stosuje siÄ&#x2122; róşnego rodzaju kanaĹ&#x201A;y [7]. W technice budowlanej najtaĹ&#x201E;szym i najĹ&#x201A;atwiejszym rozwiÄ&#x2026;zaniem do wykonania kanaĹ&#x201A;u Ĺ&#x203A;ciekowego jest zastosowanie róşnego rodzaju prefabrykowanych, koryt betonowych (rys. 3). Koryta o przekroju prostokÄ&#x2026;tnym (rys. 3a) stanowiÄ&#x2026; najtaĹ&#x201E;sze z rozwiÄ&#x2026;zaĹ&#x201E;, jednak mogÄ&#x2026; byÄ&#x2021; stosowane jedynie do duĹźych strumieni Ĺ&#x203A;ciekĂłw, gdyĹź przy maĹ&#x201A;ych prÄ&#x2122;dkoĹ&#x203A;ciach ruchu cieczy na dnie kanaĹ&#x201A;u osadza siÄ&#x2122; duĹźa iloĹ&#x203A;Ä&#x2021; czÄ&#x2026;stek staĹ&#x201A;ych tworzÄ&#x2026;c zatory. Koryta o przekroju trapezowym (rys. 3b) w pewnym stopniu redukujÄ&#x2026; tÄ&#x2122; niedogodnoĹ&#x203A;Ä&#x2021;, jednak w dalszym ciÄ&#x2026;gu wystÄ&#x2122;puje tu osiadanie czÄ&#x2026;stek staĹ&#x201A;ych przy maĹ&#x201A;ych strumieniach przepĹ&#x201A;ywu. Trudniejsze do wykonania sÄ&#x2026; kanaĹ&#x201A;y typu Krakowskiego (rys. 3c), jednak o znacznie lepszych wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ciach dla maĹ&#x201A;ych strumieni przepĹ&#x201A;ywu Ĺ&#x203A;ciekĂłw.
Rys. 2. ZwÄ&#x2122;Ĺźka pomiarowa Fig. 2. The measurement flume
sowanych w pomiarze cieczy jednofazowych (bez czÄ&#x2026;stek staĹ&#x201A;ych). Metody te sÄ&#x2026; ogĂłlnie znane i dobrze opisane w literaturze. Znacznie trudniejszym zagadnieniem jest pomiar Ĺ&#x203A;ciekĂłw, w ktĂłrych znajdujÄ&#x2026; siÄ&#x2122; róşnego rodzaju czÄ&#x2026;stki staĹ&#x201A;e (tego rodzaju Ĺ&#x203A;ciekĂłw jest najwiÄ&#x2122;cej). W tym przypadku znane sÄ&#x2026; róşne metody pomiarowe w zastosowaniach laboratoryjnych. Brak jest jednak typowych urzÄ&#x2026;dzeĹ&#x201E; produkowanych komercyjnie do zastosowaĹ&#x201E; przemysĹ&#x201A;owych [3]. Zagadnienie to niewÄ&#x2026;tpliwie wymaga opracowania i wdroĹźenia odpowiednich rozwiÄ&#x2026;zaĹ&#x201E;. Stosunkowo tanimi i czÄ&#x2122;sto stosowanymi metodami pomiaru w kanaĹ&#x201A;ach otwartych sÄ&#x2026; metody zwÄ&#x2122;Ĺźkowe [4, 5]. PolegajÄ&#x2026; one na przewÄ&#x2122;Ĺźeniu kanaĹ&#x201A;u o szerokoĹ&#x203A;ci b0 do szerokoĹ&#x203A;ci b1 (rys. 2). PrÄ&#x2122;dkoĹ&#x203A;Ä&#x2021; ruchu cieczy na wysokoĹ&#x203A;ci przewÄ&#x2122;Ĺźenia zwiÄ&#x2122;ksza siÄ&#x2122;, dodatkowo nastÄ&#x2122;puje spiÄ&#x2122;trzenie cieczy do wysokoĹ&#x203A;ci h1. Za przewÄ&#x2122;Ĺźeniem, wysokoĹ&#x203A;Ä&#x2021; od dna kanaĹ&#x201A;u do lustra cieczy h2, jest mniejsza od pierwotnej wysokoĹ&#x203A;ci b0. Jest to spowodowane stratami hydraulicznymi. WysokoĹ&#x203A;Ä&#x2021; spiÄ&#x2122;trzenia cieczy w przewÄ&#x2122;Ĺźeniu h1 jest funkcjÄ&#x2026; strumienia cieczy. FunkcjÄ&#x2122; tÄ&#x2122; teoretycznie opisuje rĂłwnanie Bernoulliego. W praktyce, najczÄ&#x2122;Ĺ&#x203A;ciej stosowany jest wzĂłr na obliczanie strumienia objÄ&#x2122;toĹ&#x203A;ciowego [6]:
Q=
C 1 â&#x2C6;&#x2019; m2
b1 h1 2g(h1 â&#x2C6;&#x2019; h0 )
a)
Innym rozwiÄ&#x2026;zaniem sÄ&#x2026; kanaĹ&#x201A;y Ĺ&#x203A;ciekowe, ktĂłre zakopywane pod ziemiÄ&#x2026;. ChociaĹź kanaĹ&#x201A;y te sÄ&#x2026; zamkniÄ&#x2122;te, ze wzglÄ&#x2122;du na to, Ĺźe Ĺ&#x203A;cieki nigdy nie pĹ&#x201A;ynÄ&#x2026; caĹ&#x201A;ym przekrojem kanaĹ&#x201A;u, zastosowanie majÄ&#x2026; tu przepĹ&#x201A;ywomierze z powierzchniÄ&#x2026; swobodnÄ&#x2026; (rys. 4). Dla maĹ&#x201A;ych przepĹ&#x201A;ywĂłw stosuje siÄ&#x2122; kanaĹ&#x201A;y o przekroju koĹ&#x201A;owym (rys. 4a). Z kolei dla wiÄ&#x2122;kszych przepĹ&#x201A;ywĂłw, mniejsze opory wystÄ&#x2122;pujÄ&#x2026; w kanaĹ&#x201A;ach o ksztaĹ&#x201A;cie dzwonowym (rys. 4b). W obu przypadkach, dno kanaĹ&#x201A;u jest sferyczne, co zapobiega osiadaniu czÄ&#x2026;stek staĹ&#x201A;ych przy mniejszych strumieniach Ĺ&#x203A;ciekĂłw. Natomiast dla przepĹ&#x201A;ywĂłw, w ktĂłrych majÄ&#x2026; miejsce duĹźe róş-
(1)
b1 h1 b0 h0
(2)
Przy staĹ&#x201A;ej i znanej geometrii kanaĹ&#x201A;u pomiarowego, mierzonymi parametrami sÄ&#x2026; wysokoĹ&#x203A;ci sĹ&#x201A;upa cieczy przed i w przewÄ&#x2122;Ĺźeniu. NastÄ&#x2122;pnie, na ich podstawie oblicza siÄ&#x2122; strumieĹ&#x201E; objÄ&#x2122;toĹ&#x203A;ciowy przepĹ&#x201A;ywajÄ&#x2026;cej cieczy. PoniewaĹź gÄ&#x2122;stoĹ&#x203A;Ä&#x2021; Ĺ&#x203A;ciekĂłw
40
P
O
M
I
c)
Rys. 3. Typowe koryta betonowe stosowane na kanaĹ&#x201A;y Ĺ&#x203A;ciekowe Fig. 3. Typical concrete troughs used for sewers
We wzorze, odpowiednio: C â&#x20AC;&#x201C; wspĂłĹ&#x201A;czynnik przepĹ&#x201A;ywu charakterystyczny dla danego kanaĹ&#x201A;u pomiarowego, wyznaczany eksperymentalnie; g â&#x20AC;&#x201C; przyspieszenie ziemskie, m â&#x20AC;&#x201C; moduĹ&#x201A; kanaĹ&#x201A;u pomiarowego, stanowi stosunek pola przekroju poprzecznego strugi przed przewÄ&#x2122;Ĺźeniem do pola przekroju poprzecznego strugi na wysokoĹ&#x203A;ci przewÄ&#x2122;Ĺźenia:
m=
b)
A
R
Y
â&#x20AC;˘
A
U
T
O
M
Rys. 4. KsztaĹ&#x201A;ty typowych kanaĹ&#x201A;Ăłw Ĺ&#x203A;ciekowych Fig. 4. Shapes of typical sewers
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
& " ' " !( ! )" nice strumieni pĹ&#x201A;ynÄ&#x2026;cych Ĺ&#x203A;ciekĂłw, stosuje siÄ&#x2122; kanaĹ&#x201A;y o ksztaĹ&#x201A;cie jajowatym (rys. 4c). W przypadku Ĺ&#x203A;ciekĂłw komunalnych, strumienie w pewnych okresach w ciÄ&#x2026;gu doby sÄ&#x2026; bardzo maĹ&#x201A;e, a czasami zerowe, natomiast w innych okresach mogÄ&#x2026; przyjmowaÄ&#x2021; znaczne wartoĹ&#x203A;ci. Tak duĹźe róşnice w strumieniach pĹ&#x201A;ynÄ&#x2026;cych Ĺ&#x203A;ciekĂłw, wymagajÄ&#x2026; kanaĹ&#x201A;Ăłw o specyficznych ksztaĹ&#x201A;tach (rys. 5). W celu zapobiegania osadzaniu siÄ&#x2122; frakcji staĹ&#x201A;ej przy maĹ&#x201A;ych przepĹ&#x201A;ywach, stosuje siÄ&#x2122; kanaĹ&#x201A;y o przekroju koĹ&#x201A;owo-trĂłjkÄ&#x2026;tnym (rys. 5a). Gdy wzrasta przepĹ&#x201A;yw Ĺ&#x203A;ciekĂłw tego rodzaju kanaĹ&#x201A;y bardzo szybko wypeĹ&#x201A;niajÄ&#x2026; siÄ&#x2122; cieczÄ&#x2026;. Z tego wzglÄ&#x2122;du, niejednokrotnie stosuje siÄ&#x2122; kanaĹ&#x201A;y koĹ&#x201A;owe z kinetÄ&#x2026; (rys. 5b) lub dla duĹźych strumieni prostokÄ&#x2026;tne z kinetÄ&#x2026; (rys. 5c).
Na rysunku 7 przedstawiono schemat blokowy ukĹ&#x201A;adu pomiarowego. Przegroda jest regulowana za pomocÄ&#x2026; siĹ&#x201A;ownika, dla ktĂłrego nastawy sÄ&#x2026; wyliczane przez regulator. Regulator ustawia wysokoĹ&#x203A;Ä&#x2021; przegrody na podstawie zmierzonych wartoĹ&#x203A;ci ciĹ&#x203A;nieĹ&#x201E; p0 i p1. NastÄ&#x2122;pnie na podstawie ustawionej wysokoĹ&#x203A;ci przegrody, oblicza strumieĹ&#x201E; przepĹ&#x201A;ywajÄ&#x2026;cego pĹ&#x201A;ynu. Pomiar wysokoĹ&#x203A;ci sĹ&#x201A;upa cieczy przed przegrodÄ&#x2026;, sĹ&#x201A;uĹźy do okreĹ&#x203A;lenia gÄ&#x2122;stoĹ&#x203A;ci pĹ&#x201A;ynu oraz do skorygowania zadanej wartoĹ&#x203A;ci ciĹ&#x203A;nienia róşnicowego. DziÄ&#x2122;ki temu moĹźliwie jest zautomatyzowanie zmiany zakresu pomiarowego. Przez zmianÄ&#x2122; wartoĹ&#x203A;ci zadanej ciĹ&#x203A;nienia róşnicowego moĹźliwe jest sterowanie strumieniem pĹ&#x201A;ynu, przy jednoczesnym pomiarze jego wartoĹ&#x203A;ci. Taka funkcjonalnoĹ&#x203A;Ä&#x2021; jest korzystna w ukĹ&#x201A;adach retencji Ĺ&#x203A;ciekĂłw.
Regulator h0 Rys. 5. KsztaĹ&#x201A;ty kanaĹ&#x201A;Ăłw Ĺ&#x203A;ciekowych komunalnych Fig. 5. Shapes of channels for municipal sewage systems
DuĹźe zróşnicowanie ksztaĹ&#x201A;tĂłw kanaĹ&#x201A;Ăłw Ĺ&#x203A;ciekowych powoduje, Ĺźe przepĹ&#x201A;ywomierze do pomiaru Ĺ&#x203A;ciekĂłw powinny byÄ&#x2021; Ĺ&#x201A;atwo adaptowalne do ksztaĹ&#x201A;tu kanaĹ&#x201A;u.
p0
[' " ! " # "
Rys. 7. System pomiarowy Fig. 7. Measurement system
Zaproponowane rozwiÄ&#x2026;zanie polega na tym, Ĺźe przewÄ&#x2122;Ĺźenie kanaĹ&#x201A;u stanowi regulowana przegroda segmentowa (rys. 6). Przegroda jest dopasowana do ksztaĹ&#x201A;tu kanaĹ&#x201A;u. Zasada dziaĹ&#x201A;ania polega na tym, Ĺźe tak reguluje siÄ&#x2122; przesuwnÄ&#x2026; przegrodÄ&#x2026;, aby uzyskaÄ&#x2021; staĹ&#x201A;Ä&#x2026; wartoĹ&#x203A;Ä&#x2021; ciĹ&#x203A;nienia róşnicowego, niezaleĹźnie od wartoĹ&#x203A;ci strumienia pĹ&#x201A;ynu. UmoĹźliwi to prowadzenie badaĹ&#x201E; w szerokim zakresie pomiarowym. WĂłwczas, do zmiany zakresu pomiarowego, wystarczy jedynie zmieniÄ&#x2021; zadanÄ&#x2026; wartoĹ&#x203A;Ä&#x2021; ciĹ&#x203A;nienia róşnicowego Î&#x201D;p, odpowiadajÄ&#x2026;cego danemu zakresowi pomiarowemu, co w konsekwencji prowadzi do zmiany wysokoĹ&#x203A;ci przegrody. W odróşnieniu od dotychczas stosowanych metod pomiarowych z zastosowaniem zwÄ&#x2122;Ĺźek pomiarowych, wartoĹ&#x203A;ciÄ&#x2026; mierzonÄ&#x2026;, na podstawie ktĂłrej jest obliczany strumieĹ&#x201E;, jest zmieniajÄ&#x2026;ce siÄ&#x2122; pole przekroju poprzecznego przewÄ&#x2122;Ĺźenia. StÄ&#x2026;d wzĂłr na obliczenie strumienia objÄ&#x2122;toĹ&#x203A;ciowego pĹ&#x201A;ynu bÄ&#x2122;dzie miaĹ&#x201A; postaÄ&#x2021;: Q = B(h )A(h )
2Î&#x201D;p
Ď
(3)
gdzie: B(h) â&#x20AC;&#x201C; zaleĹźnoĹ&#x203A;Ä&#x2021; funkcjonalna wyznaczona eksperymentalnie dla kaĹźdego kanaĹ&#x201A;u, A(h) â&#x20AC;&#x201C; pole powierzchni otworu przepĹ&#x201A;ywowego w funkcji wysokoĹ&#x203A;ci h podniesienia przegrody; r â&#x20AC;&#x201C; gÄ&#x2122;stoĹ&#x203A;Ä&#x2021; cieczy; Î&#x201D;p â&#x20AC;&#x201C; róşnica ciĹ&#x203A;nieĹ&#x201E; przed i za przegrodÄ&#x2026;.
Rys. 6. Budowa przepĹ&#x201A;ywomierza Fig. 6. Flow meter design
p1
W praktyce cykl pomiaru rozpoczyna siÄ&#x2122; od wprowadzenia odpowiedniej wartoĹ&#x203A;ci zadanej ciĹ&#x203A;nienia róşnicowego Î&#x201D;p. WartoĹ&#x203A;Ä&#x2021; ta determinuje zakres pomiarowy przepĹ&#x201A;ywomierza. NastÄ&#x2122;pnie regulator ustawia wysokoĹ&#x203A;Ä&#x2021; przegrody, w taki sposĂłb, aby ciĹ&#x203A;nienie róşnicowe na przegrodzie Î&#x201D;p byĹ&#x201A;o rĂłwne wartoĹ&#x203A;ci zadanej. Gdy wysokoĹ&#x203A;Ä&#x2021; sĹ&#x201A;upa cieczy przed przegrodÄ&#x2026; jest poniĹźej wartoĹ&#x203A;ci granicznej, nastÄ&#x2122;puje automatyczne skorygowanie wartoĹ&#x203A;ci zadanej ciĹ&#x203A;nienia róşnicowego Î&#x201D;p. Na podstawie zmierzonej wysokoĹ&#x203A;ci sĹ&#x201A;upa cieczy i ciĹ&#x203A;nienia przed przegrodÄ&#x2026; p0, oblicza siÄ&#x2122; gÄ&#x2122;stoĹ&#x203A;Ä&#x2021; cieczy. Po czasie potrzebnym na ustabilizowanie siÄ&#x2122; przepĹ&#x201A;ywu, nastÄ&#x2122;puje odczyt wysokoĹ&#x203A;ci przegrody h. Na tej podstawie okreĹ&#x203A;la siÄ&#x2122; wartoĹ&#x203A;Ä&#x2021; wspĂłĹ&#x201A;czynnika B(h). Funkcja B(h) jest wyznaczana eksperymentalnie i jest charakterystyczna dla danego kanaĹ&#x201A;u. StrumieĹ&#x201E; Ĺ&#x203A;ciekĂłw oblicza siÄ&#x2122; na podstawie wzoru (3). Automatyczny ukĹ&#x201A;ad regulacji w okreĹ&#x203A;lonych cyklach czasowych otwiera caĹ&#x201A;kowicie przegrodÄ&#x2122; w celu oczyszczenia kanaĹ&#x201A;u z frakcji unoszÄ&#x2026;cych siÄ&#x2122; na powierzchni cieczy i zalegajÄ&#x2026;cych w gĂłrnej czÄ&#x2122;Ĺ&#x203A;ci przegrody.
\' Przedstawione rozwiÄ&#x2026;zanie jest przeznaczone do pomiaru Ĺ&#x203A;ciekĂłw komunalnych, dla ktĂłrych wystÄ&#x2122;pujÄ&#x2026; duĹźe dobowe zmiany wartoĹ&#x203A;ci strumienia pĹ&#x201A;ynÄ&#x2026;cych Ĺ&#x203A;ciekĂłw. RozwiÄ&#x2026;zanie to jest w peĹ&#x201A;ni zautomatyzowane. System regulacji umoĹźliwia automatyczne dobranie odpowiedniej zadanej róşnicy ciĹ&#x203A;nienia Î&#x201D;p w taki sposĂłb, aby zapewniÄ&#x2021; energooszczÄ&#x2122;dnÄ&#x2026; eksploatacjÄ&#x2122; systemu, przy zachowaniu zaĹ&#x201A;oĹźonej dokĹ&#x201A;adnoĹ&#x203A;Ä&#x2021; pomiaru. Taki ukĹ&#x201A;ad moĹźe byÄ&#x2021; rĂłwnieĹź stosowany do pomiaru cieczy dwufazowych w szerokim zakresie mierzonych strumieni. Cytowana bibliografia wskazuje na wiele problemĂłw eksploatacyjnych, ktĂłre rozwiÄ&#x2026;zywano przez dobĂłr ksztaĹ&#x201A;tu kanaĹ&#x201A;u do odprowadzenia Ĺ&#x203A;ciekĂłw.
41
* %= " % L % 8 % ) " ' ) Autorzy proponujÄ&#x2026; moĹźliwoĹ&#x203A;ci dalszych usprawnieĹ&#x201E; systemĂłw odprowadzajÄ&#x2026;cych Ĺ&#x203A;cieki z wykorzystaniem zautomatyzowanych systemĂłw pomiaru i regulacji strumienia Ĺ&#x203A;ciekĂłw, z moĹźliwoĹ&#x203A;ciÄ&#x2026; okresowego usuwanie zanieczyszczeĹ&#x201E; z przestrzeni pomiarowej. UkĹ&#x201A;ady regulacji przepĹ&#x201A;ywu Ĺ&#x203A;ciekĂłw w szczegĂłlnoĹ&#x203A;ci sÄ&#x2026; poĹźÄ&#x2026;dane w instalacjach odprowadzajÄ&#x2026;cych Ĺ&#x203A;cieki opadowe, gdzie nie bez znaczenia jest retencja. W celu usprawnienia procesu wyznaczanie funkcji przepĹ&#x201A;ywu B(h), moĹźna zastosowaÄ&#x2021; numeryczne modelowanie i projektowanie ukĹ&#x201A;adĂłw przepĹ&#x201A;ywowych [8, 9]. Przy wyznaczaniu funkcji przepĹ&#x201A;ywu B(h) dla przepĹ&#x201A;ywĂłw wielofazowych niejednokrotnie konieczne jest okreĹ&#x203A;lenie udziaĹ&#x201A;u objÄ&#x2122;toĹ&#x203A;ciowego poszczegĂłlnych frakcji. MoĹźna to zmierzyÄ&#x2021; stosujÄ&#x2026;c metody oparte na tomografii procesowej [10] lub ultradĹşwiÄ&#x2122;kowe [11, 12]. ZaletÄ&#x2026; zaproponowanego rozwiÄ&#x2026;zania jest moĹźliwoĹ&#x203A;Ä&#x2021; montaĹźu urzÄ&#x2026;dzenia na istniejÄ&#x2026;cym kanale Ĺ&#x203A;ciekowym, bez koniecznoĹ&#x203A;ci jego przebudowy. DodatkowÄ&#x2026; zaletÄ&#x2026; jest moĹźliwoĹ&#x203A;Ä&#x2021; wykorzystania ukĹ&#x201A;adu do regulacji przepĹ&#x201A;ywu Ĺ&#x203A;ciekĂłw w kanaĹ&#x201A;ach.
5. Heinz G.E., Technika pomiarĂłw przepĹ&#x201A;ywu wody i Ĺ&#x203A;ciekĂłw, Seidel-Przywecki, 1999. 6. Norma miÄ&#x2122;dzynarodowa ISO 9826-1992 Measurement of Liquid Flow in Open Channels. Parshall and SANIIRI Flumes 7. PN-71/B-02710 z dnia 6 lipca 1971 r. Kanalizacja zewnÄ&#x2122;trzna. Przekroje poprzeczne zamkniÄ&#x2122;tych kanaĹ&#x201A;Ăłw Ĺ&#x203A;ciekowych. 8. Dobrowolski B., Kabza Z., Teoretyczna analiza wpĹ&#x201A;ywu osiowosymetrycznych deformacji pola prÄ&#x2122;dkoĹ&#x203A;ci i zawirowania strugi na wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci metrologiczne zwÄ&#x2122;Ĺźek pomiarowych, Studia i Monografie, z. 59, WSI Opole 1992. 9. Kabza Z., Modelowanie matematyczne przepĹ&#x201A;ywomierzy z urzÄ&#x2026;dzeniami zwÄ&#x2122;ĹźajÄ&#x2026;cymi, InĹźynieria mechaniczna, Leningrad 1981. 10. RzÄ&#x2026;sa R.M., Ocena moĹźliwoĹ&#x203A;ci zastosowania tomografii optycznej w badaniu dwufazowych procesĂłw przepĹ&#x201A;ywowych, Polska Akademia Nauk, OddziaĹ&#x201A; Katowice 2011. 11. Sommerlatt H.D., Andruszkiewicz A., Dynamic Measurement of Particle Diameter and Drag Coefficient Using the Ultrasonic Method, â&#x20AC;&#x153;Archives of Acousticsâ&#x20AC;?, Nr 33(3), 2008, 351â&#x20AC;&#x201C;362. 12. Synowiec P., Andruszkiewicz A., WÄ&#x2122;drychowicz W., Regucki P., Badania moĹźliwoĹ&#x203A;ci pomiaru strumienia objÄ&#x2122;toĹ&#x203A;ci czynnika dwufazowego przepĹ&#x201A;ywomierzem ultradĹşwiÄ&#x2122;kowym, â&#x20AC;&#x17E;PrzeglÄ&#x2026;d Elektrotechnicznyâ&#x20AC;?, Nr 10, 2015, 179â&#x20AC;&#x201C;182, DOI: 10.15199/48.2015.10.37.
` # & 1. Ustawa z dnia 20 lipca 2017 r. Prawo Wodne, Dz. U. 2017 poz. 1566 2. Fischer M., Stier E., PodrÄ&#x2122;czny poradnik eksploatacji oczyszczalni Ĺ&#x203A;ciekĂłw, ATV, 1998. 3. Piechurski F.G., PrzeglÄ&#x2026;dowa ocena urzÄ&#x2026;dzeĹ&#x201E; do pomiaru przepĹ&#x201A;ywu Ĺ&#x203A;ciekĂłw, â&#x20AC;&#x17E;NapÄ&#x2122;dy i sterowanieâ&#x20AC;?, Nr 2, 2012 64â&#x20AC;&#x201C;70. 4. Michalski A., Sienkiewicz J., Watral Z., Metody pomiaru przepĹ&#x201A;ywu na maĹ&#x201A;ych otwartych kanaĹ&#x201A;ach, â&#x20AC;&#x17E;Diagnostykaâ&#x20AC;?, Nr 3 (39), 2006, 269â&#x20AC;&#x201C;278.
$ ' X . # ; S . Measurement of sewage parameters is relatively difficult because sewage is, in most cases, a two-phase mixture. Contaminants in wastewater can be liquids and solids. Liquids in water may have a density higher or lower than the density of water. Density affects the movement of individual mixtures. Liquids with a density higher than the density of water move at the bottom of the channel and the speed of their movement are not equal to the speed of the water. In the case of liquids having a density less than the density of water, they are carried on the surface of the flowing water. Solids move very similarly. Solids with a lower density than water are raised to the water surface, and denser usually roll on the bottom. Furthermore, the fractional differential distribution of solids often results in congestion by deposition of the solid fraction in sewers and measuring apparatus. In this work, the authors proposed a solution for a system for measuring wastewater in a wide range of flows. This solution is insensitive to settling of the solid fraction, and can be mounted on the existing sewers. The proposed solution is based on a slotted flow meter with some modification consisting in adjusting the gap in the measuring partition. The basic parameter, measured based on which the volumetric flow of sewage is calculated, is the height of the partition, which is a function of the cross-sectional area of the narrowing. A detailed description of the measurement method and measurement methodology is provided. KeywordsV . a % % a % ' % `
42
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
& " ' " !( ! )"
' 3 $ $
# $ 4 4$5 + ' 6
G & ' ORCID: 0000-0002-0690-9616
& ' ORCID: 0000-0002-3461-2131
F . % H E . % . . % % ' O Q F ; ?B+( > ' H E ' H % E H ' ?BT? ' G . ?BTT . . ' S' ?BB+ H F H S H% ; O H H 6 O H S' ?BB* ' $ ' ' M ' > 6 O E 0 . ; ?B)TP(!!) G " $ E . M > FM>% ' (!!)P(!(( G " F G J = . F ' F M ' >
N G ; ' = E . F S % M $ . = F ' " ' 0 E M F ; ' $ F E S % .' Q ' E Q ' E G . F E ; ' 6 O $ 6 # SG # E . F S ; ' = % M 6 # E ' ' . H H ; J ' .
43
NR 3/2015
44
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 2/2020, 45â&#x20AC;&#x201C;50, DOI: 10.14313/PAR_236/45
; ' ' Igor Piotr Kurytnik $ F Q ; F . % 6 H' 6 O F ' % $ " G . )% (E+!! S
7 + # 2 ( + 8 X % ; ' 6 O F ' = . % " ' = . M F J X % 4 ??+% !E?*B " J
$ $ . Praca opisuje problematykÄ&#x2122; wyznaczania temperatury topliwoĹ&#x203A;ci popioĹ&#x201A;u za pomocÄ&#x2026; indukcyjnego pieca rurowego wykonanego wg autorskiego projektu, realizujÄ&#x2026;cego proces spalania (stapiania) prĂłbek popioĹ&#x201A;u zgodnie z normÄ&#x2026; z PN-ISO-540:2001. Proces ten jest kontrolowany przez sterownik PLC z zaprogramowanym algorytmem regulacji i stabilizacji temperatury PID, urzÄ&#x2026;dzenie wyposaĹźone jest w termoparÄ&#x2122; typu S oraz system cyfrowej rejestracji i analizy obrazu. Rejestracja obrazu jest niezbÄ&#x2122;dna do wyznaczenia temperatury pĹ&#x201A;yniÄ&#x2122;cia popioĹ&#x201A;u, wartoĹ&#x203A;Ä&#x2021; ta jest identyfikowana przy zmianie stanu skupienia z staĹ&#x201A;ego w ciekĹ&#x201A;y, prĂłbka popioĹ&#x201A;u przechodzi z walcowatego ksztaĹ&#x201A;tu w pĹ&#x201A;ynnÄ&#x2026; postaÄ&#x2021;. Prowadzone badania sÄ&#x2026; niezwykle waĹźne w kontekĹ&#x203A;cie spalania biomasy w kotĹ&#x201A;ach, dobĂłr optymalnej temperatury spalania pozwoli przeciwdziaĹ&#x201A;aÄ&#x2021; powstawaniu ceramicznej warstwy na Ĺ&#x203A;ciankach kotĹ&#x201A;a, ktĂłra pogarsza jego wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci eksploatacyjne i w szerszej perspektywie czasu doprowadzi do jego wyĹ&#x201A;Ä&#x2026;czenia z eksploatacji. Wybrane elektrociepĹ&#x201A;ownie sÄ&#x2026; zobligowane do spalania biomasy w ramach realizacji polityki wzrostu udziaĹ&#x201A;u energii odnawialnej w ogĂłlnym bilansie energetycznym, m.in. przez wykorzystanie biomasy. PoniewaĹź pochodzenie biomasy jest zróşnicowane, stÄ&#x2026;d rĂłwnieĹź jej skĹ&#x201A;ad fizyko-chemiczny jako paliwo jest niejednorodny, dlatego elektrociepĹ&#x201A;ownie muszÄ&#x2026; okreĹ&#x203A;laÄ&#x2021; temperaturÄ&#x2122; pĹ&#x201A;yniÄ&#x2122;cia popioĹ&#x201A;u dla poszczegĂłlnych partii tego paliwa. $ V ] % % ' % # G
1. Wprowadzenie Spalanie kaĹźdego paliwa staĹ&#x201A;ego zwiÄ&#x2026;zane jest z uzyskaniem okreĹ&#x203A;lonej iloĹ&#x203A;ci popioĹ&#x201A;u stanowiÄ&#x2026;cego produkt uboczny tego procesu (iloĹ&#x203A;Ä&#x2021; ta jest Ĺ&#x203A;ciĹ&#x203A;le zwiÄ&#x2026;zana z rodzajem paliwa [1], jego skĹ&#x201A;adem chemicznym [2] i stanowi jego cechÄ&#x2122; charakterystycznÄ&#x2026;). Ponadto zawartoĹ&#x203A;Ä&#x2021; okreĹ&#x203A;lonych pierwiastkĂłw Ĺ&#x203A;ciĹ&#x203A;le determinuje topliwoĹ&#x203A;Ä&#x2021; popioĹ&#x201A;u danej biomasy. Ca i Mg podnoszÄ&#x2026; temperaturÄ&#x2122; topnienia, natomiast K jÄ&#x2026; obniĹźa [1, 2]. Chlorki i niskotopliwe glinokrzemiany mogÄ&#x2026; rĂłwnieĹź znaczÄ&#x2026;co obniĹźaÄ&#x2021; temperaturÄ&#x2122; topnienia, co w efekcie powoduje tworzenie siÄ&#x2122; spiekĂłw i ĹźuĹźla w komorze spalania. PojawiajÄ&#x2026;ce siÄ&#x2122;
) " V 6. F " % & ' ) ' ?? !( (!(! % ' ' (? !+ (!(!
!
w popiele lotnym stopione czÄ&#x2026;stki osadzajÄ&#x2026; siÄ&#x2122; na chĹ&#x201A;odzonych Ĺ&#x203A;ciankach pieca i wymiennikĂłw ciepĹ&#x201A;a. Ze wzglÄ&#x2122;du na powyĹźsze, popiĂłĹ&#x201A; ze sĹ&#x201A;omy, traw i ziarna zawierajÄ&#x2026;cych niewielki iloĹ&#x203A;ci Ca i duĹźÄ&#x2026; iloĹ&#x203A;Ä&#x2021; Si i K charakteryzujÄ&#x2026; siÄ&#x2122; niskÄ&#x2026;, w porĂłwnaniu do drewna, temperaturÄ&#x2026; topnienia popioĹ&#x201A;u. PowstajÄ&#x2026;cy w procesie spalania popiĂłĹ&#x201A; moĹźna podzieliÄ&#x2021; na czÄ&#x2122;Ĺ&#x203A;Ä&#x2021; lotnÄ&#x2026; (popiĂłĹ&#x201A; lotny) unoszonÄ&#x2026; przez gazy i czÄ&#x2122;Ĺ&#x203A;Ä&#x2021; nielotnÄ&#x2026; (popiĂłĹ&#x201A; denny) gromadzony i odprowadzany z dolnej czÄ&#x2122;Ĺ&#x203A;ci komory paleniskowej pieca. ZawartoĹ&#x203A;Ä&#x2021; metali alkalicznych oraz obecnoĹ&#x203A;Ä&#x2021; chloru i siarki w spalanym materiale moĹźe byÄ&#x2021; przyczynÄ&#x2026; tworzenia siÄ&#x2122; korozji wysokotemperaturowej na powierzchniach grzewczych wnÄ&#x2122;trza kotĹ&#x201A;a. Dla materiaĹ&#x201A;Ăłw stosowanych do celĂłw energetycznych opracowane zostaĹ&#x201A;y procedury techniczne pozwalajÄ&#x2026;ce na okreĹ&#x203A;lanie wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci fizycznych takich jak zawartoĹ&#x203A;Ä&#x2021;: wilgoci, popioĹ&#x201A;u, czÄ&#x2122;Ĺ&#x203A;ci lotnych, oznaczenie ciepĹ&#x201A;a spalania i wartoĹ&#x203A;ci opaĹ&#x201A;owej oraz oznaczenie charakterystycznych temperatur topliwoĹ&#x203A;ci popioĹ&#x201A;u i wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci chemicznych takich jak zawartoĹ&#x203A;ci siarki (popioĹ&#x201A;owej i palnej), wÄ&#x2122;gla, wodoru i azotu. W energetyce przemysĹ&#x201A;owej coraz powszechniej jest stosowana biomasa lignocelulozowa, zwykle dostarczana w postaci granulowanej (pelet, brykiet). Biopaliwa te sÄ&#x2026; produkowane z róşnych surowcĂłw, m.in. roĹ&#x203A;lin energetycznych [3], ktĂłrych
45
" % h" %
% =
8 %
% 8
8 % 8 8 gama gatunkowa jest stale rozszerzana w wyniku postÄ&#x2122;pujÄ&#x2026;cych prac badawczych [5, 7, 8]. W duĹźych jednostkach (elektrownie, elektrociepĹ&#x201A;ownie) biomasa wystÄ&#x2122;puje rĂłwnieĹź jako domieszka do spalanego wÄ&#x2122;gla kamiennego i brunatnego, torfu i innych paliw staĹ&#x201A;ych. Przepisy wielu krajĂłw warunkujÄ&#x2026; wprowadzanie paliw ze ĹşrĂłdeĹ&#x201A; odnawialnych (tj. biomasa), zachodzi wiÄ&#x2122;c koniecznoĹ&#x203A;Ä&#x2021; opracowania metodyki badania paliw spalanych w kotĹ&#x201A;ach. Wymagania wprowadzone przez normy i przepisy [N1, N2] badania wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci fizycznych i chemicznych materiaĹ&#x201A;u spalanego zaowocowaĹ&#x201A;y stworzeniem normatywnych procedur badawczych i opracowaniem urzÄ&#x2026;dzeĹ&#x201E; do okreĹ&#x203A;lania tych wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci. Jednym z waĹźniejszych parametrĂłw, istotnych dla uĹźytkownikĂłw piecĂłw, jest oznaczenie temperatury topnienia oraz pĹ&#x201A;yniÄ&#x2122;cia popioĹ&#x201A;u. Przekroczenie w piecu tych temperatur powoduje zalanie rusztu pĹ&#x201A;ynnym popioĹ&#x201A;em (szlakÄ&#x2026;), co eliminuje piec z dalszej pracy. Temperatury te, dla popioĹ&#x201A;Ăłw powstaĹ&#x201A;ych ze spalania peletĂłw lub innych paliw z domieszkÄ&#x2026; peletu, sÄ&#x2026; róşne [3, 13]. Dlatego normy nakĹ&#x201A;adajÄ&#x2026; na producenta materiaĹ&#x201A;u umieszczenie na opakowaniu kaĹźdej partii informacji o temperaturze topnienia i pĹ&#x201A;yniÄ&#x2122;cia popioĹ&#x201A;u. Stosowane obecnie urzÄ&#x2026;dzenia do okreĹ&#x203A;lania topliwoĹ&#x203A;ci popioĹ&#x201A;u, ze wzglÄ&#x2122;du na okreĹ&#x203A;lonÄ&#x2026; przez normÄ&#x2122; [N3] procedurÄ&#x2122; grzania, wymagajÄ&#x2026; dĹ&#x201A;ugotrwaĹ&#x201A;ego procesu badawczego. Dlatego konieczne byĹ&#x201A;o opracowanie urzÄ&#x2026;dzenia, ktĂłre w sposĂłb wystarczajÄ&#x2026;co szybki (nawet ze skrĂłceniem procesu grzania wskazanego przez normÄ&#x2122; [N3]) umoĹźliwi okreĹ&#x203A;lenie topliwoĹ&#x203A;ci popioĹ&#x201A;u, z moĹźliwoĹ&#x203A;ciÄ&#x2026; natychmiastowego powtĂłrzenia pomiarĂłw.
â&#x2C6;&#x2019; stanowi lekkÄ&#x2026; i zwartÄ&#x2026; konstrukcjÄ&#x2122; uĹ&#x201A;atwiajÄ&#x2026;cÄ&#x2026; transport, zasilane jest energiÄ&#x2026; elektrycznÄ&#x2026; prÄ&#x2026;du przemiennego 230 V AC, â&#x2C6;&#x2019; ukĹ&#x201A;ad sterowania oparty jest na sterowniku PLC, w ktĂłrym umieszczono kilka wariantĂłw charakterystyk wzrostu temperatury topionej prĂłbki, co czyni go urzÄ&#x2026;dzeniem uniwersalnym, ponadto wprowadzono stabilizacjÄ&#x2122; temperatury wewnÄ&#x2026;trz komory pieca z zastosowaniem programowego bloku regulatora PID.
[' ` Laboratoryjne urzÄ&#x2026;dzenie do badania topliwoĹ&#x203A;ci popioĹ&#x201A;u metodÄ&#x2026; rurowÄ&#x2026; zaopatrzono w przeksztaĹ&#x201A;tnik o obciÄ&#x2026;Ĺźeniu rezonansowym, ktĂłrego wzbudnik przekSazuje energiÄ&#x2122; do przewodzÄ&#x2026;cej rury grafitowej. Efekt przenoszenia energii moĹźna zwiÄ&#x2122;kszyÄ&#x2021; przez wzrost wartoĹ&#x203A;ci prÄ&#x2026;du zasilajÄ&#x2026;cego wzbudnik oraz przez wzrost czÄ&#x2122;stotliwoĹ&#x203A;ci pracy [12]. Aby uzyskaÄ&#x2021; duĹźe prÄ&#x2026;dy i jak najmniejsze straty mocy w urzÄ&#x2026;dzeniu zastosowano transformator, ktĂłrego strona wtĂłrna, oprĂłcz skupionej pojemnoĹ&#x203A;ci, rezystancji obwodu i indukcyjnoĹ&#x203A;Ä&#x2021; wzbudnika oraz wprowadzanej do obwodu przez grzany element grafitowy, stanowiÄ&#x2026; obwĂłd rezonansowy szeregowy [9, 13, 12]. Wszystkie wartoĹ&#x203A;ci obwodu rezonansowego nie ulegajÄ&#x2026; zmianie w czasie pracy, dlatego w zaproponowanym ukĹ&#x201A;adzie nie zastosowano pÄ&#x2122;tli fazowej PLL, umoĹźliwiajÄ&#x2026;cej samoczynne dostrojenie czÄ&#x2122;stotliwoĹ&#x203A;ci wyzwalania par tranzystorĂłw mocy w zaleĹźnoĹ&#x203A;ci od czÄ&#x2122;stotliwoĹ&#x203A;ci rezonansowej caĹ&#x201A;ego ukĹ&#x201A;adu. Zasilanie urzÄ&#x2026;dzenia zostaĹ&#x201A;o zaprojektowane i wykonane w ukĹ&#x201A;adzie peĹ&#x201A;nego mostka H, w ktĂłrego gĹ&#x201A;Ăłwnej gaĹ&#x201A;Ä&#x2122;zi podĹ&#x201A;Ä&#x2026;czony jest transformator oraz kondensator C blokujÄ&#x2026;cy skĹ&#x201A;adowÄ&#x2026; staĹ&#x201A;Ä&#x2026; ĹşrĂłdĹ&#x201A;a zasilania (rys. 1). WielkoĹ&#x203A;ciÄ&#x2026; wyjĹ&#x203A;ciowÄ&#x2026; w stosowanym ukĹ&#x201A;adzie przeksztaĹ&#x201A;tnikowym o obciÄ&#x2026;Ĺźeniu rezonansowym jest napiÄ&#x2122;cie staĹ&#x201A;e o wartoĹ&#x203A;ci Us, ktĂłre przekazywane jest do obciÄ&#x2026;Ĺźenia za pomocÄ&#x2026; kluczowania. W czasie od 0 do T1 (rys. 1) zaĹ&#x201A;Ä&#x2026;czane sÄ&#x2026; klucze K1 i K3, a w czasie od T1 do T2 zaĹ&#x201A;Ä&#x2026;czane sÄ&#x2026; klucze K2 i K4. Procesowi zaĹ&#x201A;Ä&#x2026;czania i wyĹ&#x201A;Ä&#x2026;czania odpowiednich par kluczy towarzyszy pojawienie siÄ&#x2122; wymuszenia napiÄ&#x2122;ciowego na gaĹ&#x201A;Ä&#x2122;zi rezonansowej R, L, C w postaci napiÄ&#x2122;cia przemiennego o przebiegu zbliĹźonym do sinusoidy. W gaĹ&#x201A;Ä&#x2122;zi strony pierwotnej transformatora znajduje siÄ&#x2122; czujnik prÄ&#x2026;du umoĹźliwiajÄ&#x2026;cy detekcjÄ&#x2122; przejĹ&#x203A;cia prÄ&#x2026;du przez zero. ZnajomoĹ&#x203A;Ä&#x2021; chwili przejĹ&#x203A;cia prÄ&#x2026;du przez zero jest niezbÄ&#x2122;dna dla wysterowania odpowiednich par tranzystorĂłw mocy typu MOSFET (kluczy sterujÄ&#x2026;cych) z zapewnieniem przerwy
X' Â&#x20AC; " #
" " W urzÄ&#x2026;dzeniach do badania topliwoĹ&#x203A;ci popioĹ&#x201A;u metodÄ&#x2026; rurowÄ&#x2026; stosowane sÄ&#x2026; zwykle dwa typy wysokotemperaturowych elementĂłw grzejnych: elementy sylitowe wykonane z rekrystalizowanego wÄ&#x2122;glika krzemu o temperaturze pracy do okoĹ&#x201A;o 1500 °C oraz wykonane z dwukrzemka molibdenu o temperaturze pracy do 1850 °C. Te elementy grzewcze charakteryzujÄ&#x2026; siÄ&#x2122; duĹźÄ&#x2026; trwaĹ&#x201A;oĹ&#x203A;ciÄ&#x2026; w wysokiej temperaturze pracy, wzrostem rezystancji (spadkiem mocy) wraz ze wzrostem temperatury, wyjÄ&#x2026;tkowÄ&#x2026; kruchoĹ&#x203A;ciÄ&#x2026; oraz koniecznoĹ&#x203A;ciÄ&#x2026; zastosowania specjalnego rodzaju sterowania wzrostem temperatury. W niektĂłrych starszych rozwiÄ&#x2026;zaniach grzejnych urzÄ&#x2026;dzeĹ&#x201E; do badania topliwoĹ&#x203A;ci popioĹ&#x201A;Ăłw, jako elementy grzejne stosowane sÄ&#x2026; rĂłwnieĹź druty i taĹ&#x203A;my oporowe umieszczane w materiaĹ&#x201A;ach ceramicznych. Zgodnie z normami [N3, N4] urzÄ&#x2026;dzenia te muszÄ&#x2026; pracowaÄ&#x2021; w neutralnym Ĺ&#x203A;rodowisku gazowym. Realizacja prac przedstawionych w artykuĹ&#x201A;ach [10, 11] i zdobyte doĹ&#x203A;wiadczenia pozwoliĹ&#x201A;y na zaproponowanie nowego rozwiÄ&#x2026;zania pieca do badania topliwoĹ&#x203A;ci popioĹ&#x201A;u. Przedstawione rozwiÄ&#x2026;zanie jest przystosowane do elastycznego ustawiania programu badaĹ&#x201E;. Charakterystyka urzÄ&#x2026;dzenia: â&#x2C6;&#x2019; dziaĹ&#x201A;a na zasadzie wykorzystania zjawiska rezonansu elektrycznego i wysokoczÄ&#x2122;stotliwoĹ&#x203A;ciowego grzania indukcyjnego, â&#x2C6;&#x2019; ma funkcjÄ&#x2122; szybkiego procesu nagrzewania prĂłbek popioĹ&#x201A;u, aĹź do zaobserwowania i okreĹ&#x203A;lenia temperatury pĹ&#x201A;yniÄ&#x2122;cia popioĹ&#x201A;u, â&#x2C6;&#x2019; umoĹźliwia stosowanie wymiennej rury wykonanej z materiaĹ&#x201A;u przewodzÄ&#x2026;cego (grafitu), ktĂłry w czasie procesu nagrzewania wydzielaĹ&#x201A;by tlenek wÄ&#x2122;gla i dwutlenek wÄ&#x2122;gla w odpowiednich proporcjach, co gwarantuje atmosferÄ&#x2122; neutralnÄ&#x2026; w jej wnÄ&#x2122;trzu, â&#x2C6;&#x2019; wyposaĹźone jest w kilkuzwojowy wzbudnik wykonany z przewodzÄ&#x2026;cej prÄ&#x2026;d elektryczny rurki, przez ktĂłrÄ&#x2026; przepĹ&#x201A;ywa ciecz chĹ&#x201A;odzÄ&#x2026;ca w obiegu zamkniÄ&#x2122;tym, wzbudnik kumuluje energiÄ&#x2122; pola elektromagnetycznego w przewodzÄ&#x2026;cej rurze grafitowej,
46
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
Zasilanie
K1 K2
L1 Prostownik
U1
C
K4
mocy
L2 LS
CRS
K3
Rys. 1. Uproszczony schemat dziaĹ&#x201A;ania ukĹ&#x201A;adu przeksztaĹ&#x201A;tnikowego: U1 â&#x20AC;&#x201C; napiÄ&#x2122;cie zasilania obwodu, K â&#x20AC;&#x201C; tranzystory mocy typu MOSFET, L1 â&#x20AC;&#x201C; indukcyjnoĹ&#x203A;Ä&#x2021; strony pierwotnej transformatora, L2 â&#x20AC;&#x201C; indukcyjnoĹ&#x203A;Ä&#x2021; strony wtĂłrnej transformatora, LS â&#x20AC;&#x201C; indukcyjnoĹ&#x203A;Ä&#x2021; pozostaĹ&#x201A;ych elementĂłw obwodu rezonansowego (wzbudnika wraz z rura grafitowÄ&#x2026;), CRS â&#x20AC;&#x201C; pojemnoĹ&#x203A;Ä&#x2021; kondensatora rezonansowego i pojemnoĹ&#x203A;Ä&#x2021; strony wtĂłrnej transformatora Fig. 1. Simplified diagram of the operation of the converter: U1 â&#x20AC;&#x201C; circuit supply voltage, K â&#x20AC;&#x201C; MOSFET power transistors, L1 â&#x20AC;&#x201C; transformer primary inductance, L2 â&#x20AC;&#x201C; transformer secondary inductance, LS â&#x20AC;&#x201C; inductance of other elements of the resonant circuit (exciter with graphite pipe), CRS â&#x20AC;&#x201C; capacity resonant capacitor and transformer secondary capacity
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
G * " " % $ " * B czasowej, tzw. death-time, sĹ&#x201A;uĹźÄ&#x2026;cej do wyeliminowania przypadkĂłw rĂłwnoczesnego wĹ&#x201A;Ä&#x2026;czenia obu par kluczy. Dla czÄ&#x2122;stotliwoĹ&#x203A;ci powyĹźej 150 kHz mogÄ&#x2026; pojawiÄ&#x2021; siÄ&#x2122; problemy z dziaĹ&#x201A;aniem ukĹ&#x201A;adĂłw sterowania, poniewaĹź zaczynajÄ&#x2026; odgrywaÄ&#x2021; rolÄ&#x2122; efekty polowe (efekt zbliĹźenia przewodĂłw, efekt wypierania prÄ&#x2026;du, czyli zjawisko naskĂłrkowoĹ&#x203A;ci oraz inne), nieujawniajÄ&#x2026;ce siÄ&#x2122; tak ostro przy pracy ukĹ&#x201A;adĂłw elektronicznych na czÄ&#x2122;stotliwoĹ&#x203A;ciach niĹźszych. Dlatego powszechnie przyjmuje siÄ&#x2122;, Ĺźe ukĹ&#x201A;ady sterowania pracujÄ&#x2026; dobrze, o ile ich czÄ&#x2122;stotliwoĹ&#x203A;Ä&#x2021; pracy nie przekracza 150 kHz. Zaproponowane rozwiÄ&#x2026;zanie jest efektem poszukiwania kompromisu a zbudowane prototypowe stanowisko laboratoryjne w istniejÄ&#x2026;cych warunkach, wydaje siÄ&#x2122; byÄ&#x2021; rozwiÄ&#x2026;zaniem zbliĹźonym do optymalnego. Praktycznie obciÄ&#x2026;Ĺźeniem roboczym urzÄ&#x2026;dzenia jest wzbudnik indukcyjny wykonany z rurki miedzianej, poĹ&#x201A;Ä&#x2026;czony szeregowo z bateriÄ&#x2026; kondensatorĂłw. WewnÄ&#x2026;trz wzbudnika znajduje siÄ&#x2122; odizolowana termicznie od niego rura grafitowa stanowiÄ&#x2026;ca komorÄ&#x2122; roboczÄ&#x2026;. Nagrzewanie rury grafitowej odbywa siÄ&#x2122; w procesie dwustanowym wĹ&#x201A;Ä&#x2026;czâ&#x20AC;&#x201C;wyĹ&#x201A;Ä&#x2026;cz, sterowanym przez regulator temperatury z funkcjÄ&#x2026; rampingu. Na rysunkach 2 i 3 przedstawiono widok prototypowego urzÄ&#x2026;dzenia wraz systemem analizy obrazu. Parametry techniczne urzÄ&#x2026;dzenia grzejnego (RZ-1) sÄ&#x2026; nastÄ&#x2122;pujÄ&#x2026;ce: sieciowe napiÄ&#x2122;cie zasilania U = 230 V AC, moc czynna P = 2,0 kW, czÄ&#x2122;stotliwoĹ&#x203A;Ä&#x2021; pracy wzbudnika f = 117 kHz, indukcyjnoĹ&#x203A;Ä&#x2021; LS = 1,4 ÎźH, pojemnoĹ&#x203A;Ä&#x2021; w postaci baterii kondensatorĂłw zĹ&#x201A;oĹźona z kondensatorĂłw typu HC-03 [13] o pojemnoĹ&#x203A;ci caĹ&#x201A;kowitej CRS = 1,6 ÎźF. Wymiary falownika: dĹ&#x201A;ugoĹ&#x203A;Ä&#x2021; 450 mm, szerokoĹ&#x203A;Ä&#x2021; 250 mm, wysokoĹ&#x203A;Ä&#x2021; 150 mm. Wymiary ukĹ&#x201A;adu wyjĹ&#x203A;ciowego ze wzbudnikiem: dĹ&#x201A;ugoĹ&#x203A;Ä&#x2021; 250 mm, szerokoĹ&#x203A;Ä&#x2021; 150 mm wysokoĹ&#x203A;Ä&#x2021; 100 mm, wymiary wzbudnika: Ĺ&#x203A;rednica zewnÄ&#x2122;trzna 70 mm, dĹ&#x201A;ugoĹ&#x203A;Ä&#x2021; 45 mm, wzbudnik wykonano z rurki miedzianej o Ĺ&#x203A;rednicy Ă&#x2020; 6 mm o 6 zwojach. Wzbudnik chĹ&#x201A;odzony jest skutecznie wodÄ&#x2026; w obiegu zamkniÄ&#x2122;tym. UrzÄ&#x2026;dzenie moĹźe pracowaÄ&#x2021; do temperatury 1500 °C (maksymalnie 1600 °C). Do zmiany nastaw temperatury zastosowano sterownik PLC, w ktĂłrym zaprogramowano algorytm wzrostu temperatury zgodnie z normÄ&#x2026; [N3, N4], w programie zastosowano blok regulatora PID odpowiedzialnego za stabilizacjÄ&#x2122; temperatury. Sterownik PLC wspĂłĹ&#x201A;pracuje z termoelementem typu Sâ&#x20AC;&#x201C;PtRh-Pt (platyna-rod/platyna) o temperaturze pracy do 1600 °C. DoĹ&#x203A;wiadczenie uzyskane w rozlicznych pracach naukowych pozwoliĹ&#x201A;y na odpowiednie przygotowanie systemu pomiaru temperatury [4]. Czujnik temperatury umieszczony zostaĹ&#x201A; w Ĺ&#x203A;rodku rury grafitowej. Obraz podczas badaĹ&#x201E; zarejestrowano przy wykorzystaniu kamery Logitech HD 720p i zastosowaniu filtra szklanego 50 mm o zaciemnieniu DIN6.
Rys. 2. Prototypowe stanowisko laboratoryjne Fig. 2. Prototype laboratory stand
\' $ # Pelety naleĹźy spalaÄ&#x2021; tylko w piecach przystosowanych do ich spalania. Pelet drzewny zawiera okoĹ&#x201A;o 80% substancji lotnych (w procentach suchej masy), co oznacza, Ĺźe w czasie spalania 80% masy przeksztaĹ&#x201A;ca siÄ&#x2122; w gazy, a pozostaĹ&#x201A;a czÄ&#x2122;Ĺ&#x203A;Ä&#x2021; zamieni siÄ&#x2122; w wÄ&#x2122;giel drzewny. W procesie spalania peletu wyróşnia siÄ&#x2122; trzy fazy: suszenie (odparowanie wody), gazyfikacjÄ&#x2122; (pirolizÄ&#x2122;) i spalanie oraz dopalanie siÄ&#x2122; wÄ&#x2122;gla drzewnego. W czasie tego procesu 4/5 energii jest uwalniana w postaci gazu, a pozostaĹ&#x201A;a 1/5 w postaci wÄ&#x2122;gla drzewnego. Po trafieniu peletu do komory spalania pieca, ciepĹ&#x201A;o towarzyszÄ&#x2026;ce procesowi odparowuje wodÄ&#x2122; zawartÄ&#x2026; w pelecie. JeĹźeli zawartoĹ&#x203A;Ä&#x2021; wody w spalanym pelecie jest niska, proces zachodzi bardzo szybko, jeĹźeli jest duĹźa, wĂłwczas proces zachodzi wolno z duĹźÄ&#x2026; stratÄ&#x2026; energii cieplnej na suszenie mokrego peletu. Pod wpĹ&#x201A;ywem dalszego ogrzewania peletu nastÄ&#x2122;puje proces gazyfikacji, czyli wydzielania gazu (proces zachodzi w temperaturze okoĹ&#x201A;o 260â&#x20AC;&#x201C;280 °C. PowstajÄ&#x2026; wtedy gazy, takie jak tlenek wÄ&#x2122;gla (CO), wodĂłr (H2) i metan (CH4) oraz inne wÄ&#x2122;glowodory oraz wÄ&#x2122;giel drzewny. JeĹźeli w piecu jest wystarczajÄ&#x2026;ca iloĹ&#x203A;Ä&#x2021; powietrza, wtedy gazy palÄ&#x2026; siÄ&#x2122;, roĹ&#x203A;nie temperatura i zaczyna wypalaÄ&#x2021; siÄ&#x2122; powstaĹ&#x201A;y wÄ&#x2122;giel drzewny. Po wypaleniu wÄ&#x2122;gla drzewnego pozostaje popiĂłĹ&#x201A;, zawierajÄ&#x2026;cy przewaĹźnie niepalne zwiÄ&#x2026;zki mineralne. PopiĂłĹ&#x201A; jest niepoĹźÄ&#x2026;dany, gdyĹź oznacza koniecznoĹ&#x203A;Ä&#x2021; oczyszczania gazĂłw odlotowych oraz usuwania popioĹ&#x201A;u i szlaki. ZawartoĹ&#x203A;Ä&#x2021; popioĹ&#x201A;u jest Ĺ&#x203A;ciĹ&#x203A;le powiÄ&#x2026;zana z brudem i piaskiem w korze drzewnej oraz z solami wchĹ&#x201A;anianymi w procesie wzrostu drzewa. Pelety drzewne charakteryzujÄ&#x2026; siÄ&#x2122; niskÄ&#x2026; zawartoĹ&#x203A;ciÄ&#x2026; popioĹ&#x201A;u, zazwyczaj w granicach od 0,5% do 15%. GĹ&#x201A;Ăłwnymi skĹ&#x201A;adnikami biomasy sÄ&#x2026; wÄ&#x2122;giel (C), wodĂłr (H), tlen (O), azot (N), siarka (S) oraz chlor (Cl). SkĹ&#x201A;ad biomasy charakteryzuje siÄ&#x2122; duĹźÄ&#x2026; róşnorodnoĹ&#x203A;ciÄ&#x2026; wynikajÄ&#x2026;cÄ&#x2026; z faktu, iĹź zaleĹźy on np. od miejsca, w ktĂłrym rosĹ&#x201A;a, sposobu jej uprawy oraz nawoĹźenia. GĹ&#x201A;Ăłwnymi skĹ&#x201A;adnikami formujÄ&#x2026;cymi popiĂłĹ&#x201A; sÄ&#x2026;: Al, Ca, Fe, K, Mg, Na, P, Si, Ti, natomiast dodatkowymi skĹ&#x201A;adnikami sÄ&#x2026;: As, Ba, Cd, Co, Cr, Cu, Hg, Mn, Mo, Ni, Pb, Sb, Tl, V, Zn. SkĹ&#x201A;adniki popioĹ&#x201A;u takie jak Ca i Mg zwykle przyczyniajÄ&#x2026; siÄ&#x2122; do wzrostu temperatury topnienia popioĹ&#x201A;u, natomiast K znaczÄ&#x2026;co obniĹźa temperaturÄ&#x2122; topnienia popioĹ&#x201A;u. Punkt topnienia popioĹ&#x201A;u moĹźe rĂłwnieĹź znaczÄ&#x2026;co spadaÄ&#x2021;, jeĹźeli biomasa zawiera takie substancje jak chlorki oraz niskotopliwe alkalia i glinokrzemiany [14]. Z powodu zawartoĹ&#x203A;ci popioĹ&#x201A;u wynoszÄ&#x2026;cej nawet kilkanaĹ&#x203A;cie procent, a takĹźe alkalicznych skĹ&#x201A;adnikĂłw, w instalacjach kotĹ&#x201A;owych naleĹźy zastosowaÄ&#x2021; specjalne urzÄ&#x2026;dzenia do usuwania popioĹ&#x201A;u. Arsen, kadm, chrom, oĹ&#x201A;Ăłw i rtÄ&#x2122;Ä&#x2021; to metale Ĺ&#x203A;ladowe wystÄ&#x2122;pujÄ&#x2026;ce w maĹ&#x201A;ych iloĹ&#x203A;ciach w popioĹ&#x201A;ach z biomas. SkĹ&#x201A;ad chemiczny
Rys. 3. Sterownik pieca Fig. 3. Furnace controller
47
" % h" %
% =
8 %
% 8
8 % 8 8
biomasy charakteryzuje siÄ&#x2122; duĹźÄ&#x2026; niejednorodnoĹ&#x203A;ciÄ&#x2026;, a zawartoĹ&#x203A;Ä&#x2021; takich skĹ&#x201A;adnikĂłw jak tlen, chlor i azot powoduje emisjÄ&#x2122; dioksyn, furanĂłw i chlorowodoru. W biomasach z duĹźÄ&#x2026; zawartoĹ&#x203A;ciÄ&#x2026; azotu jest duĹźe stÄ&#x2122;Ĺźenie protein, w ktĂłrych azot wystÄ&#x2122;puje w formie grup aminowych (-NH2). MaĹ&#x201A;a gÄ&#x2122;stoĹ&#x203A;Ä&#x2021; biomasy powoduje koniecznoĹ&#x203A;Ä&#x2021; zapewnienia duĹźej powierzchni na jej skĹ&#x201A;adowanie, utrudnia jej efektywny transport oraz dozowanie do paleniska. DuĹźÄ&#x2026; czÄ&#x2122;Ĺ&#x203A;Ä&#x2021; biomasy stanowiÄ&#x2026; materiaĹ&#x201A;y lotne, ktĂłre utrudniajÄ&#x2026; kontrolowanie procesu spalania. Temperatura zwana temperaturÄ&#x2026; pĹ&#x201A;yniÄ&#x2122;cia popioĹ&#x201A;Ăłw, jest róşna dla róşnych rodzajĂłw peletu i zwykle wynosi od okoĹ&#x201A;o 760 °C do 1500 °C (róşa bezkolcowa) [13, 15]. Przekroczenie temperatury pĹ&#x201A;yniÄ&#x2122;cia popioĹ&#x201A;Ăłw w gazach odlotowych moĹźe spowodowaÄ&#x2021; powstanie na Ĺ&#x203A;ciankach rur odprowadzajÄ&#x2026;cych te gazy, grubej warstwy szlaki trudnej do usuniÄ&#x2122;cia. NaleĹźy dodaÄ&#x2021;, Ĺźe mimo niewielkiej zawartoĹ&#x203A;ci soli potasu i soli sodu w spalanym pelecie, mogÄ&#x2026; one tworzyÄ&#x2021; lepki popiĂłĹ&#x201A;, pokrywajÄ&#x2026;cy powierzchniÄ&#x2122; zewnÄ&#x2122;trznÄ&#x2026; kotĹ&#x201A;a i ruszt.
W czasie badania prĂłbka sprasowanego popioĹ&#x201A;u jest umieszczana na specjalnie uksztaĹ&#x201A;towanej podstawce grafitowej znajdujÄ&#x2026;cej siÄ&#x2122; wewnÄ&#x2026;trz wypoziomowanej i jednostronnie zamkniÄ&#x2122;tej materiaĹ&#x201A;em izolujÄ&#x2026;cym rury grafitowej. MetodÄ&#x2122; rurowÄ&#x2026; oznaczania topliwoĹ&#x203A;ci popioĹ&#x201A;Ăłw w wysokiej temperaturze okreĹ&#x203A;la norma [N3]. OkreĹ&#x203A;la ona metodÄ&#x2122; ogrzewania odpowiednio uksztaĹ&#x201A;towanej prĂłbki sprasowanego popioĹ&#x201A;u (o ostrych brzegach), z szybkoĹ&#x203A;ciÄ&#x2026; 30 °C¡min-1 do temperatury 900 °C oraz 10 °C¡min-1 powyĹźej temperatury 900 °C w neutralnym Ĺ&#x203A;rodowisku gazowym wytwarzanym tu przez nagrzanÄ&#x2026; rurÄ&#x2122; grafitowÄ&#x2026;. Obserwacja bezpoĹ&#x203A;rednia zachowania siÄ&#x2122; prĂłbki lub zapis jej obrazu pozwala na ustaleniu charakterystycznej temperatury topliwoĹ&#x203A;ci popioĹ&#x201A;u na podstawie wizualnej oceny zmian konturĂłw badanej ksztaĹ&#x201A;tki, obserwowanych na siatce pomiarowej (rys. 4). Obraz z caĹ&#x201A;ego procesu nagrzewania prĂłbki w rurze, od chwili osiÄ&#x2026;gniÄ&#x2122;cia temperatury startowej wynoszÄ&#x2026;cej 750 °C, rejestrowany jest klatkowo (20 obrazĂłw na minutÄ&#x2122;) w celu późniejszego okreĹ&#x203A;lenia parametrĂłw topliwoĹ&#x203A;ci popioĹ&#x201A;Ăłw. NastÄ&#x2122;pnie obraz poddawany jest opracowaniu numerycznemu [16]. Do wyznaczenia charakterystycznych konturĂłw ksztaĹ&#x201A;tu wykorzystano metody i techniki analizy obrazu. Analiza obrazu to proces przetwarzania informacji (danymi wejĹ&#x203A;ciowymi jest obraz a danymi wyjĹ&#x203A;ciowymi zapisane w postaci np. liczb, tablicy liczb). Do realizacji tych zadaĹ&#x201E; korzysta siÄ&#x2122; z systemĂłw komputerowych. Aphelion jest zaawansowanÄ&#x2026; aplikacjÄ&#x2026;, ktĂłra sĹ&#x201A;uĹźy do przetwarzania obrazu i iloĹ&#x203A;ciowej analizy sĹ&#x201A;uĹźÄ&#x2026;cym do szybkiego prototypowania aplikacji, rozwoju nowych technik obrazowania, uczenia â&#x20AC;&#x17E;patrzeniaâ&#x20AC;? komputera i wdraĹźania aplikacji [6]. Aphelion od wiÄ&#x2122;kszoĹ&#x203A;ci oprogramowaĹ&#x201E; sĹ&#x201A;uĹźÄ&#x2026;cych analizie obrazu pozwala nakĹ&#x201A;adaÄ&#x2021; obiekty na róşne obrazy (wzorce, np. wg PN) i dokonywaÄ&#x2021; porĂłwnaĹ&#x201E;, przesuwaÄ&#x2021;, wygĹ&#x201A;adzaÄ&#x2021;, Ĺ&#x201A;Ä&#x2026;czyÄ&#x2021; ze sobÄ&#x2026; obiekty z róşnych zbiorĂłw. Mimo tego, Ĺźe na siebie nachodzÄ&#x2026;, stanowiÄ&#x2026; dwie róşne warstwy. Obrazy analizowane w Aphelionie mogÄ&#x2026; byÄ&#x2021; binarne, szare lub kolorowe, o dowolnej wielkoĹ&#x203A;ci [17]. W wyniku zastosowania filtru uzyskuje siÄ&#x2122; pewne dziaĹ&#x201A;ania algebraiczne na liczbach, ktĂłre opisujÄ&#x2026; kolor lub stopieĹ&#x201E; szaroĹ&#x203A;ci w sÄ&#x2026;siedztwie analizowanego punktu i uzyskujÄ&#x2026;c charakterystyczne kontury ksztaĹ&#x201A;tu podczas oznaczania topliwo-
^' # # 9 PrĂłbkÄ&#x2122; do badaĹ&#x201E; stanowi popiĂłĹ&#x201A; uzyskany ze spopielenia materiaĹ&#x201A;u badawczego bÄ&#x2026;dĹş teĹź popiĂłĹ&#x201A; pobrany np. z instalacji spalania paliw staĹ&#x201A;ych. Warunkiem uĹźycia prĂłbki popioĹ&#x201A;u do oznaczenia topliwoĹ&#x203A;ci jest caĹ&#x201A;kowite spalenie paliwa, z ktĂłrego popiĂłĹ&#x201A; pochodzi (prĂłbka nie moĹźe zawieraÄ&#x2021; niedopalonych czÄ&#x2026;stek paliwa). PobranÄ&#x2026; prĂłbkÄ&#x2122; umieszcza siÄ&#x2122; w specjalnym moĹşdzierzu i uciera tĹ&#x201A;uczkiem, nie dopuszczajÄ&#x2026;c do jakiegokolwiek zanieczyszczenia prĂłbki. Po roztarciu popiĂłĹ&#x201A; przesiewa siÄ&#x2122; przez sito kontrolne o otworach wielkoĹ&#x203A;ci 0,075 mm a materiaĹ&#x201A; pozostaĹ&#x201A;y na sicie ponownie siÄ&#x2122; uciera. Tak przygotowany popiĂłĹ&#x201A; zwilĹźa siÄ&#x2122; wodÄ&#x2026; destylowanÄ&#x2026;, miesza a nastÄ&#x2122;pnie ugniata w formie wykonanej z mosiÄ&#x2026;dzu lub stali nierdzewnej w postaci: piramidy o podstawie rĂłwnobocznego trĂłjkÄ&#x2026;ta (wysokoĹ&#x203A;Ä&#x2021; prĂłbki nie powinna byÄ&#x2021; wiÄ&#x2122;ksza niĹź 19 mm i od dwĂłch do trzech razy wiÄ&#x2122;ksza od dĹ&#x201A;ugoĹ&#x203A;ci boku podstawy), szeĹ&#x203A;cianu (o dĹ&#x201A;ugoĹ&#x203A;ci boku 3â&#x20AC;&#x201C;7 mm), walca (o wysokoĹ&#x203A;ci 3â&#x20AC;&#x201C;9 mm i Ĺ&#x203A;rednicy rĂłwnej wysokoĹ&#x203A;ci) lub stoĹźka Ĺ&#x203A;ciÄ&#x2122;tego (o wysokoĹ&#x203A;ci 4 mm i Ĺ&#x203A;rednicy 3 mm przy podstawie i 1,5 mm w czÄ&#x2122;Ĺ&#x203A;ci Ĺ&#x203A;ciÄ&#x2122;tej) [N3, N4]. KrawÄ&#x2122;dzie uzyskanych prĂłbek powinny byÄ&#x2021; bezwzglÄ&#x2122;dnie ostre, by uĹ&#x201A;atwiÄ&#x2021; obserwacjÄ&#x2122; prĂłbki podczas stapiania. UzyskanÄ&#x2026; prĂłbkÄ&#x2122; naleĹźy wysuszyÄ&#x2021; a nastÄ&#x2122;pnie umieĹ&#x203A;ciÄ&#x2021; na pĹ&#x201A;ytce wykonanej z materiaĹ&#x201A;u nieulegajÄ&#x2026;cego deformacji, niereagujÄ&#x2026;cego i nieabsorbujÄ&#x2026;cego popioĹ&#x201A;u podczas oznaczania. Zaleca siÄ&#x2122; wykonanie pĹ&#x201A;ytek ze spieku tlenku glinu lub mulitu. Kolejnym krokiem jest usuniÄ&#x2122;cie z prĂłbki substancji organicznych przez wolne ogrzewanie w atmosferze powietrza do temperatury okoĹ&#x201A;o 815 °C. Etap ten moĹźe byÄ&#x2021; realizowany w piecu stosowanym do oznaczania topliwoĹ&#x203A;ci popioĹ&#x201A;u. Tak przygotowana prĂłbka popioĹ&#x201A;u sĹ&#x201A;uĹźy do dalszych badaĹ&#x201E;.
a)
b)
c)
|' 1 ! !
Do wyznaczania temperatur topliwoĹ&#x203A;ci popioĹ&#x201A;Ăłw wykorzystano sygnaĹ&#x201A; z termoelementu oraz kamerÄ&#x2122; cyfrowÄ&#x2026; rejestrujÄ&#x2026;cÄ&#x2026; zachowanie siÄ&#x2122; prĂłbki popioĹ&#x201A;u podgrzewanego w komorze rurowej pieca. Pomiar temperatury odbywaĹ&#x201A; siÄ&#x2122; przy pomocy termoelementu (PtRh-Pt) z dodatkowo przyĹ&#x201A;Ä&#x2026;czonymi przewodami kompensacyjnymi. NapiÄ&#x2122;cie otrzymane z termoelementu jest napiÄ&#x2122;ciem odniesienia dla sterownika PLC, ktĂłry porĂłwnuje je z wartoĹ&#x203A;ciÄ&#x2026; zadanÄ&#x2026; (rosnÄ&#x2026;cÄ&#x2026; zgodnie z procedurÄ&#x2026; opisanÄ&#x2026; w normach [N3, N4].
48
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
d)
e)
f)
Rys. 4. PrĂłbka popioĹ&#x201A;u: a) przed rozpoczÄ&#x2122;ciem pomiarĂłw, b) Ts â&#x20AC;&#x201C;temperatura spiekania popioĹ&#x201A;u, c) Ta â&#x20AC;&#x201C; temperatura mienienia popioĹ&#x201A;u, d) Td â&#x20AC;&#x201C; temperatura topnienia popioĹ&#x201A;u, e) Tc â&#x20AC;&#x201C; temperatura pĹ&#x201A;yniÄ&#x2122;cia popioĹ&#x201A;u, f) widok prĂłbki po badaniu Fig. 4. Ash sample: a) before starting measurements, b) Ts â&#x20AC;&#x201C; ash sintering temperature, c) Ta â&#x20AC;&#x201C; ash flux temperature, d) Td â&#x20AC;&#x201C; ash melting temperature, e) Tc â&#x20AC;&#x201C; ash flow temperature, f) sample view after the test
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
G * " " % $ " * B
Ĺ&#x203A;ci popioĹ&#x201A;u. Kolejnym etapem analizy obrazu jest analiza obrazu z zarejestrowanÄ&#x2026; temperaturÄ&#x2026;, przy ktĂłrej powstajÄ&#x2026; charakterystyczne kontury ksztaĹ&#x201A;tu. Zbudowane stanowisko laboratoryjne wraz z platformÄ&#x2026; Aphelion pozwala na automatyczne analizowanie charakterystycznych konturĂłw i temperatur topliwoĹ&#x203A;ci popioĹ&#x201A;u metodÄ&#x2026; rurowÄ&#x2026;.
7. Wnioski Zbudowane prototypowe stanowisko laboratoryjne speĹ&#x201A;nia wymagania norm [N1, N4]. Przeprowadzone badania prĂłbne róşnych popioĹ&#x201A;Ăłw wykazaĹ&#x201A;y, Ĺźe zaproponowane rozwiÄ&#x2026;zanie moĹźe byÄ&#x2021; stosowane do: â&#x2C6;&#x2019; okreĹ&#x203A;lania topliwoĹ&#x203A;ci popioĹ&#x201A;Ăłw metodÄ&#x2026; rurowÄ&#x2026; dla popioĹ&#x201A;Ăłw dennych otrzymywanych w procesie spalania biomasy lignocelulozowej, oraz mieszaniny biomasy z wÄ&#x2122;glem kamiennym, brunatnym, torfem oraz tych kopalin bez biomasy. Nie wyklucza to znacznie szerszych moĹźliwoĹ&#x203A;ci badawczych dla innych paliw staĹ&#x201A;ych, â&#x2C6;&#x2019; przybliĹźonego okreĹ&#x203A;lenia temperatury topliwoĹ&#x203A;ci popioĹ&#x201A;u przy szybszym, odbiegajÄ&#x2026;cym od przyjÄ&#x2122;tej normy, nagrzaniu prĂłbki sprasowanego popioĹ&#x201A;u, â&#x2C6;&#x2019; prawie natychmiastowego ponownego badania kolejnej prĂłbki popioĹ&#x201A;Ăłw, w nowej rurze grafitowej umieszczonej we wzbudniku, po wyjÄ&#x2122;ciu rury wczeĹ&#x203A;niej stosowanej. Na stanowisku prowadzono badania nad okreĹ&#x203A;leniem zaleĹźnoĹ&#x203A;ci temperatury pĹ&#x201A;yniÄ&#x2122;cia popioĹ&#x201A;u od skĹ&#x201A;adu i zanieczyszczenia biomasy. Ponadto urzÄ&#x2026;dzenie moĹźe sĹ&#x201A;uĹźyÄ&#x2021; do okreĹ&#x203A;lania temperatury zapĹ&#x201A;onu peletu. Temperatura zapĹ&#x201A;onu jest waĹźnym parametrem kaĹźdego paliwa charakteryzujÄ&#x2026;cym jego wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci uĹźytkowe i kaĹźda specyfikacja jakoĹ&#x203A;ciowa paliwa wymaga oznaczenia tego parametru. Analiza obrazu pozwala na szybkie zaimplementowanie platformy Aphelion do okreĹ&#x203A;lenia charakterystycznych konturĂłw ksztaĹ&#x201A;tu oraz charakterystycznej temperatury topliwoĹ&#x203A;ci popioĹ&#x201A;u.
` # & 1. Obernberger I., Nutzung fester Biomasse in Verbrennungsanlagen unter besonderer BerĂźcksichtibunb des Verhaltens aschebildender, Elemente, Schriftenreihe â&#x20AC;&#x17E;Thermische Biomassenutzungâ&#x20AC;&#x153;, Band 1, dbv-Verlag der Technischen Universität Graz, Graz, Ă&#x2013;sterreich, 1997. 2. Van Loo S., Koppejan J., (eds.) Handbook of Biomass Combustion and Co-firing, IEA Bioenergy Task 32, London, 2002. 3. Kalembasa D., IloĹ&#x203A;Ä&#x2021; i skĹ&#x201A;ad chemiczny popioĹ&#x201A;u z biomasy roĹ&#x203A;lin energetycznych. â&#x20AC;&#x17E;Acta Agrophysicaâ&#x20AC;?, Vol. 7, Nr 4, 2006, 909â&#x20AC;&#x201C;914. 4. Kurytnik I.P., Juszkiewicz Z., Metodyczne bĹ&#x201A;Ä&#x2122;dy pomiaru temperatury termometrem przemysĹ&#x201A;owym, â&#x20AC;&#x17E;Pomiary Automatyka Robotykaâ&#x20AC;?, R. 22, Nr 1, 2018, 57â&#x20AC;&#x201C;58, DOI: 10.14313/PAR_227/57. 5. Lis S., Tomasik M., NÄ&#x2122;cka K., DróşdĹź T., Nawara P., Wrona P., OziembĹ&#x201A;owski M., Konstrukcja i analiza modelu symulacyjnego ukĹ&#x201A;adu sterowania piecem indukcyjnym, â&#x20AC;&#x17E;PrzeglÄ&#x2026;d elektrotechnicznyâ&#x20AC;?, Nr 12, 2015, 147â&#x20AC;&#x201C;151, DOI: 10.15199/48.2015.12.37. 6. Wojnar L., KurzydĹ&#x201A;owski K.J., Szala J., Praktyka analizy obrazu. Wyd. Polskie Towarzystwo Stereologiczne, KrakĂłw 2002. 7. NÄ&#x2122;cka K., Lis S., DróşdĹź T., Nawara P., Wrona P., OziembĹ&#x201A;owski M., Charakterystyka prototypowego stanowiska laboratoryjnego do badania topliwoĹ&#x203A;ci popioĹ&#x201A;u metodÄ&#x2026; rurowÄ&#x2026;. â&#x20AC;&#x17E;PrzeglÄ&#x2026;d Elektrotechnicznyâ&#x20AC;?, Nr 1, 2016, 109â&#x20AC;&#x201C;112, DOI: 10.15199/48.2016.01.26.
8. Tomasik M., Lis S., NÄ&#x2122;cka K., OziembĹ&#x201A;owski M., KieĹ&#x201A;basa P., DróşdĹź T., Nawara P, Ostafin M., Sterowanie piecem indukcyjnym do laboratoryjnego spalania biomasy, â&#x20AC;&#x17E;PrzeglÄ&#x2026;d elektrotechnicznyâ&#x20AC;?, Nr 12, 2016, 173â&#x20AC;&#x201C;177, DOI: 10.15199/48.2016.12.44. 9. GÄ&#x2026;siorski A., PosyĹ&#x201A;ek Z., Nietypowe rozwiÄ&#x2026;zanie indukcyjnego wysokoczÄ&#x2122;stotliwoĹ&#x203A;ciowego pieca tyglowego, â&#x20AC;&#x17E;PrzeglÄ&#x2026;d Elektrotechnicznyâ&#x20AC;?, R. 89, Nr 12, 2013, 230â&#x20AC;&#x201C;233. 10. GÄ&#x2026;siorski A., PosyĹ&#x201A;ek Z., Praktyczna realizacja rezonansowego falownika szeregowego pracujÄ&#x2026;cego z potrojonÄ&#x2026; czÄ&#x2122;stotliwoĹ&#x203A;ciÄ&#x2026; wzglÄ&#x2122;dem czÄ&#x2122;stotliwoĹ&#x203A;ci przeĹ&#x201A;Ä&#x2026;czania elementĂłw, â&#x20AC;&#x17E;PrzeglÄ&#x2026;d Elektrotechnicznyâ&#x20AC;?, R. 89, Nr 12, 2013, 370â&#x20AC;&#x201C;373. 11. MuÄ&#x2021;ko J., Tranzystorowe falowniki napiÄ&#x2122;cia z szeregowymi obwodami rezonansowymi, Uniwersytet Technologiczno-Przyrodniczy im. Jana i JÄ&#x2122;drzeja Ĺ&#x161;niadeckich w Bydgoszczy Rozprawy Nr 148, Wyd. Uczelniane Uniwersytetu Technologiczno-Przyrodniczego, Bydgoszcz 2011. 12. GÄ&#x2026;siorski A., PosyĹ&#x201A;ek Z., KieĹ&#x201A;basa P., OszczÄ&#x2122;dny jednofazowy falownik do grzania indukcyjnego z odzyskiem energii pracujÄ&#x2026;cy z trzeciÄ&#x2026; harmonicznÄ&#x2026;, â&#x20AC;&#x17E;PrzeglÄ&#x2026;d Elektrotechnicznyâ&#x20AC;?, Nr 12, 2017, 95â&#x20AC;&#x201C;98, DOI: 10.15199/48.2017.12.24. 13. Chungen Yin, Lasse A. Rosendahl, SĹ&#x2122;ren K. Kaer, Grate-firing of biomass for heat and power production, Institute of Energy Technology, Aalborg University, Denmark, Progress in Energy and Combustion Science, Nr 34, 2008, 725â&#x20AC;&#x201C;754. 14. Kowalczyk-JuĹ&#x203A;ko A., ĹšrĂłdĹ&#x201A;a biomasy na cele energetyczne, â&#x20AC;&#x17E;Bioenergetyka podkarpackaâ&#x20AC;?. B. KoĹ&#x203A;cik (red.). PWSZ w JarosĹ&#x201A;awiu, 2007. 15. MaĹ&#x201A;kiĹ&#x201E;ski W., ZajÄ&#x2026;c J., Wybrane problemy wizyjnej analizy wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci termicznych materiaĹ&#x201A;Ăłw przy wykorzystaniu analizatora do wyznaczania punktĂłw charakterystycznych przemian fazowych, â&#x20AC;&#x17E;Elektronika â&#x20AC;&#x201C; konstrukcje, technologie, zastosowaniaâ&#x20AC;?, Vol. 54, Nr 4, 2013, 51â&#x20AC;&#x201C;55. 16. Gawlik J., Magdziarczyk W., Wojnar L., Analiza fraktalna struktury geometrycznej powierzchni, Mat. Konf. pt. Innowacje w ZarzÄ&#x2026;dzaniu i InĹźynierii Produkcji, Zakopane, 382-396, 2011. 17. Rybak W., Spalanie i wspĂłĹ&#x201A;spalanie biopaliw staĹ&#x201A;ych, Oficyna Wydawnicza Politechniki WrocĹ&#x201A;awskiej, 2006.
5 [N1] DIN 51730 Testing of solid fuels â&#x20AC;&#x201C; Determination of fusibility of fuel ash (Badanie paliw staĹ&#x201A;ych â&#x20AC;&#x201C; OkreĹ&#x203A;lanie topliwoĹ&#x203A;ci popioĹ&#x201A;Ăłw). [N2] ISO 1171:2010 Solid mineral fuels â&#x20AC;&#x201C; Determination of ash (StaĹ&#x201A;e paliwa mineralne â&#x20AC;&#x201C; OkreĹ&#x203A;lenie popioĹ&#x201A;u). [N3] PN-ISO 540:2001 Paliwa staĹ&#x201A;e, Oznaczanie topliwoĹ&#x203A;ci popioĹ&#x201A;u w wysokiej temperaturze metodÄ&#x2026; rurowÄ&#x2026;. [N4] PN-82/G-04535 Paliwa staĹ&#x201A;e. Oznaczanie charakterystycznych temperatur topliwoĹ&#x203A;ci popioĹ&#x201A;u.
49
" % h" %
% =
8 %
% 8
8 % 8 8
Z . < 8 6 ' 0 G < # - . M $ . 0 . The work describes the problem of determining the fusibility of ash using an induction tube furnace made according to the authorâ&#x20AC;&#x2122;s project, carrying out the process of burning (melting) ash samples in accordance with the PN-ISO-540: 2001 standard. This process is controlled by a PLC with a programmed PID temperature regulation and stabilization algorithm, the device is equipped with a S-type thermocouple and a digital image recording and analysis system. Image registration is necessary to determine the ash flow temperature, this value is identified when the state of aggregation changes from solid to liquid, the ash sample passes from a cylindrical shape to a liquid form. The conducted research is extremely important in the context of biomass combustion in boilers, the selection of the optimal combustion temperature will prevent the formation of a ceramic layer on the boiler walls, which deteriorates its operational properties and in the longer term will lead to its decommissioning. Selected combined heat and power plants are obliged to burn biomass as part of the policy of increasing the share of renewable energy in the overall energy balance, including by using biomass. Because the origin of biomass is varied, hence its physico-chemical composition as a fuel is heterogeneous, therefore CHP plants must determine the ash flow temperature for individual batches of this fuel. KeywordsV .% % . ' # % ' . .
'
# 2 (
& ' ORCID: 0000-0001-6898-8527
& ' ORCID: 0000-0002-3152-4654
F # F Q ; O
' S K ' 6 O F J N L JO Q ; ' M = F E V K?B+) L SG ' P ?BT % G P ?B)T % # P ?BB! N ' (@! J G E # E M ' 6 O F X F . " E > . % ' ` V
MG ; ' 0 = . X E M ' X Z " H " E ; (!!@ Q ' O S' (!!@ ' " E ' = . M F J X E ; ' 6 O F ' = E . X . Z " H " N A G J ' J . ` % B! G % G . % ' % K FV J # M-ML J '
7
8
& ' ORCID: 0000-0002-7813-5322
& ' ORCID: 0000-0002-4497-8858
MG ; ' 0 = . X E M ' X Z " H " E ; O (!!B E Q ' O E S' (!?? ' " ' = . M F J X ; ' 6 O F E ' = . X . Z " H " N . E G ' G H G J E E O
MG ; ' 0 = . X E M ' X Z " H " E ; (!!+ Q ' O SG ' " ' = E $ % = . F J F ' E ; ' 6 O F ' = E . X . Z " H " N J ' ( G % HO $ ' G J ' J O P ' ' F ' ' J E . . ; ?() +T% [ E \% G . b Y bX< V G^6=;
50
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 2/2020, 51â&#x20AC;&#x201C;58, DOI: 10.14313/PAR_236/51
= . . V=- ' <V V P X ' 0 F ' 3 # *+ # 9 ( + $ ; ! MRZ # ' 0 . % $ !% !E!@B " % F '
. There is a very high availability of energy-saving lamps for consumer use on the market. Manufacturers, wanting to reach the widest possible range of customers, present on the packaging various data that do not inform the user about the real energy properties of the lamp. The authors have measured the energy parameters of several randomly selected LED and CFL lamps available in commercial networks and compared the obtained results with the parameters declared by the manufacturers. 3 V V=- % <V % ' . % 8
1. Introduction Energy-saving lamps using LED diodes as light sources (commonly referred to as LED lamp or LED light bulb) are used more and more commonly. Due to the much better lighting efficiency than the classic bulbs, they consume several or dozen times less power from the grid to produce the same luminous flux. It gives significant energy savings for individual consumers in apartments and/or houses [1] as well as for the institutional recipients in large facilities such as office buildings, shopping centers, hospitals, etc. The second beneficial feature of lighting systems based on LED luminaries is a possibility of wide lighting arrangement. This is possible due to the availability of various luminaries and the lighting control capabilities implemented in lighting systems [2]. The wide use of LED lamps causes various problems that arise in power grids resulting from the non-sinusoidal waveform of the current consumed by such lamps. For most lamps, the current waveform is qualitatively very similar, which is the result of typical solutions of power supplies used in such lamps [3]. Despite the small power and current consumed by a single lamp, problems arise from the large amount of such lamps in the same grid and their synchronous operation forced by voltage waveform in the power grid. These issues are discussed in [4â&#x20AC;&#x201C;7]. Studies of LED and CFL lamps in terms of their impact on the power grid (measurements of power factor and current harmonic distortions) were carried out in various research centers and are described, for example in [3,8]. These studies confirm their unfavorable energy properties: harmonic distortion factor
) " V
G . $ % & . ' ) ' ?( ?? (!?B % ' ' !@ ?( (!?B
!
of current waveform often greater than 100% and low power factor between 0.4 and 0.95 depending on the power supply type. On the consumer market there are a lot of energy-saving LED bulbs available from various manufacturers. Manufacturers wanting to reach the widest possible audience (mostly non-professional) often present on the packaging various data, slogans and/or illustrations (e.g. â&#x20AC;&#x153;4 W = 60 Wâ&#x20AC;?), which do not inform the user about real energy properties of the lamps. In addition, only the basic data set is given on tubes (and packages): rated supply voltage, frequency, power and current. The authors have measured the energy parameters of several, arbitrarily selected LED lamps and two compact fluorescent lamps (CFL) available in popular commercial networks and compared the obtained measurement data with the parameters declared by the manufacturers.
X' - Y . A few, arbitrarily chosen energy-saving LED and CFL lamps intended for domestic use were tested. Some of these lamps were and some are widely available in stores. All tested lamps were brand new, although some of them were manufactured much formerly. Table 1 shows the rated data of the tested LED and CFL lamps available on the lamp or its package. More detailed data have been available for lamps from one manufacturer. These data mainly focus on photometric and environmental parameters rather than electrical parameters. For most lamps, manufacturers specified the ranges of the supply voltage 220â&#x20AC;&#x201C;240 V and the frequency 50â&#x20AC;&#x201C;60 Hz. Only the manufacturer of lamp No. 2 (205753) specified the 230 V/50 Hz supply voltage. The manufacturer of lamp No. 1 (MS-G95-1050) declared that the power factor is greater than 0.5. All lamps were normally used for about 3 months, 5 days per week, 2â&#x20AC;&#x201C;3 hours per day. It gives that the time of use of each lamp was about 130â&#x20AC;&#x201C;190 hours. Recommended time for lamp stabilization is 100 hours of continuous operation.
51
Energy Saving LED and CFL Lamps – Rated vs. True Power and Current Consumption
Table 1. Rated data of LED and CFL lamps tested Tabela 1. Dane znamionowe testowanych lamp LED i CFL
No.
Type (Series)
LED/CFL
Year of prod.
Power [W]
Current [mA]
1
MS-G95-1050
LED
2015
12
90
2
205753
LED
2016
12
150
3
LD6P
LED
2017
14.5
120
4
Ek889
LED
2015
12
64
5
DuluxStar
CFL
2009
23
200
6
Dulux
CFL
2015
15
150
3. Test bed
\' +!
! & ! #
The diagram of the measurement test bed is shown in Figure 1. The measurement system was supplied by a programmable AC voltage source Chroma 61512. The use of a stabilized voltage source made it possible to make the measurement results independent of voltage fluctuations in the power grid and provide a sinusoidal voltage with a very low harmonic distortions. Chroma 61512 is a programmable three-phase voltage source and allows to adjust independently the voltage in each phase in the range of 0–300 V, frequency 15–1500 Hz and the shift between phases from 0° to 360°. The maximum output power of the source is 18 kW (3 6 kW), and the total harmonic distortions of voltages are maximum 0.3% at 50 Hz, 1% in the frequency range from 15 Hz to 1 kHz and 1.5% at above 1 kHz. The RIGOL DS1074 digital storage oscilloscope was used to observe and store voltage and current waveforms. The sampling frequency was 50 kHz, which gives 1000 samples per 1 voltage period of the grid. The resolution of the A/D converters in the oscilloscope is 8 bits. Total accuracy of the oscilloscope vertical channel (input amplifier and A/D converter) is ±3% of full range. The voltage signal was measured across the output of the voltage divider consisting of R1 and R2. On the basis of the measurements, a voltage divider ratio of 270:1 was determined. The current signal was obtained from non-inductive shunt resistor Rs of 0.62 Ω resistance. The voltage and current waveforms were saved in csv format files.
In order to average the results, the calculation was made on the basis of data collected for 100 ms, that is 5 periods of mains voltage. The integration time of 100 ms is not in accordance with the guidelines of the EN 61000-4-30 standard. Recommended integration time is 200 ms for class A instruments. The choice of the non-standard integration time was due to the memory limitation of oscilloscope used. Active and apparent power, voltage and current RMS (root mean square) values were calculated according to their physical definitions. On the basis of voltage and current samples, the power consumed by the lamp was calculated according to (1).
pk = uk ⋅ ik
(1)
where: uk, ik, pk – k-sample of voltage, current and power. Active power P was calculated as the average of instantaneous power values according to (2). The rectangles method was used for numerical integration.
P=
1 t n − t0
n −1
∑ pk ( tk +1 − tk )
(2)
k =0
where: pk – k-sample of instantaneous power, tk – time of k-sample, n – number of samples. In the calculations n was 5000. The RMS values of voltage U and current I were calculated based on the voltage uk and current ik samples according to the expressions (3) and (4).
U=
I=
P
O
M
I
A
R
1 t n − t0
n −1
∑ uk2 ( tk +1 − tk )
(3)
k =0
n −1
∑ ik2 ( tk +1 − tk )
(4)
k =0
where: uk, ik – k-sample of voltage and current, tk – time of k-sample, n – number of samples. In the calculations n was 5000.
Fig. 1. The measurement test bed diagram Rys. 1. Schemat blokowy stanowiska testowego
52
1 t n − t0
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 2/ 20 20
&' % % " H = < :
Apparent power S was calculated according to expression (5) as a product of RMS voltage and RMS current values.
S =U â&#x2039;&#x2026;I
(5)
where: U â&#x20AC;&#x201C; RMS value of voltage, I â&#x20AC;&#x201C; RMS value of current. The power factor PF and the current crest factor CF were calculated in accordance with their definitions (6) and (7).
PF = CF =
P S
(6)
I m ax I
(7)
where: P, S â&#x20AC;&#x201C; active and apparent power, Imax, I â&#x20AC;&#x201C; peak and RMS current values.
^' +!
Figures 2 and 3 show the voltage, current and power waveforms of the tested lamps during one period of the mains voltage. All charts have the same scales on both axes. However, you should not directly compare the waveforms between each other, because the power of each bulb is different. The grain of the voltage waveform results from the 8-bit sampling of the oscilloscope used for waveform recording. Current waveforms indicate that the majority of LED and CFL lamps have a rectifier bridge with voltage ripple filtering capacitor at the power input (type A according to [3]). This is indicated by the initial current peak characteristic of such a power supply system. This hypothesis is confirmed by the analysis of available lamp supply circuit schemes. Probably a different power supply is used in lamp No. 4 (Ek889), in which the supply current has almost a constant value at the beginning of each half-period of the supply voltage for about 3 ms.
(a)
(b)
(c)
(d)
Fig. 2. Voltage (u(t)), current (i(t)) and power (p(t)) waveforms of LED lamps: (a) Lamp No. 1, (b) Lamp No. 2, (c) Lamp No. 3, (d) Lamp No. 4 Rys. 2. Przebiegi napiÄ&#x2122;cia (u(t)), prÄ&#x2026;du (i(t)) i mocy (p(t)) dla lamp LED: (a) lampa nr 1, (b) lampa nr 2, (c) lampa nr 3, (d) lampa nr 4
(a)
(b)
Fig. 3. Voltage (u(t)), current (i(t)) and power (p(t)) waveforms of CFL lamps: (a) Lamp No. 5, (b) Lamp No. 6 Rys. 3. Przebiegi napiÄ&#x2122;cia (u(t)), prÄ&#x2026;du (i(t)) i mocy (p(t)) dla lamp CFL: (a) lampa nr 5, (b) lampa nr 6
53
Energy Saving LED and CFL Lamps â&#x20AC;&#x201C; Rated vs. True Power and Current Consumption
Table 2. Energy parameters of lamps â&#x20AC;&#x201C; measurement results Tabela 2. Parametry energetyczne lamp â&#x20AC;&#x201C; wyniki pomiarĂłw RMS voltage
RMS current
Peak current
Active power
Apparent power
Power factor
Crest factor
U [V]
I [mA]
Imax [A]
P [W]
S [VA]
PF [â&#x20AC;&#x201C;]
CF [â&#x20AC;&#x201C;]
LED
227.3
113
542
13.16
25.64
0.513
4.81
2
LED
227.3
92
360
12.32
20.95
0.588
3.90
3
LED
227.3
123
503
15.81
28.03
0.564
4.08
4
LED
227.3
96
197
11.51
21.93
0.525
2.04
5
CFL
227.3
159
503
21.06
36.21
0.582
3.16
6
CFL
227.3
114
335
15.93
26.02
0.612
2.93
No.
Type
1
Such a current waveform is difficult to classify to any of the types of supply systems described in [3]. Table 2 presents the results of measurements of the actual energy parameters of lamps: RMS and peak value of current, active and apparent power, power factor and crest factor. These results were obtained on the basis of equations (2)â&#x20AC;&#x201C;(7). For all measurements, the RMS voltage value according to (3) was 227.3 V. The measured electrical parameters of the lamps that are collected in Table 2 reflect the large deformation of the current consumed by the energy-saving lamps shown in Figures 2 and 3. All lamps have a low power factor ranging from 0.513 to 0.612 and a high current crest factor: from 2.04 to 4.81. One can also notice large differences in the crest factor of individual lamps, despite the small differences between power factors (standard deviation is 0.035 for an average of 0.565). This is due to differences in the circuit design of the lamps supply systems that cause a different distribution of harmonics of the supply current. Tables 3 and 4 present the comparisons of rated and measured parameters of the lamps: active power and RMS current. The relative difference is calculated in relation to the rated value. The results presented in Table 3 show that the active power declared by producers differs from the measured by not more than Âą10%. The average of absolute values of relative difference is 6.8%, the standard deviation â&#x20AC;&#x201C; 2.8% and the maximum difference â&#x20AC;&#x201C; 9.6%. This differences allow to assume that the
nominal power of the lamp given by the manufacturer reflects the actual active power consumption taking into account the scatter of the parameters of the electronic components used for the production of lamps. Much bigger differences occur between declared and actual current (Table 4). The average of absolute values of differences is 23.6%, the standard deviation is 17.3%, and the maximum difference is 50.7%. Based on the available data, it is difficult to indicate the reason for such differences. One of the possible reasons is the use of various current measurement methods by manufacturers. Due to the high distortion of the current waveform form a sinusoid, simplified methods based on the measurement of average rectified and/or maximum value give erroneous results. The correct results can be obtained using a measurement based on the definition of the RMS value (True RMS).
|' 4 ! && .
Impact of energy-saving lamps on power reduction is obvious. Energy-saving lamps take less power vs. traditional incandescent bulbs offering the same luminous flux. But there is one more hidden advantage. Also losses of the power line caused by current flow are reduced because the current is reduced. The authors have made some calculations to estimate the effect of reduction of power losses of the grid.
Table 3. Comparison of rated and actual power of lamp Tabela 3. PorĂłwnanie znamionowej i rzeczywistej mocy lamp
54
Rated power
Actual power
Relative difference
[W]
[W]
[%]
LED
12
13.16
9.6
2
LED
12
12.32
2.7
3
LED
14.5
15.81
9.0
4
LED
12
11.51
â&#x20AC;&#x201C;4.1
5
CFL
23
21.06
â&#x20AC;&#x201C;8.4
6
CFL
15
15.93
6.2
No.
Type
1
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
&' % % " H = < :
Table 4. Comparison of rated and actual RMS current of lamps Tabela 4. PorĂłwnanie znamionowej i rzeczywistej wartoĹ&#x203A;ci skutecznej prÄ&#x2026;du lamp Rated current
Actual current
Relative difference
[mA]
[mA]
[%]
LED
90
113
25.3
2
LED
150
92
â&#x20AC;&#x201C;38.6
3
LED
120
123
2.8
4
LED
64
96
50.7
5
CFL
200
159
â&#x20AC;&#x201C;20.4
6
CFL
150
114
â&#x20AC;&#x201C;23.7
No.
Type
1
Table 5 presents the selected rated data of the studied energy lamps and incandescent lamps that produce a similar rated luminous flux. The reference incandescent lamps were chosen from standard 230 V bulbs with E27 mounting manufactured by Osram. The rated luminous flux of these incandescent lamps differs no more than Âą10% from the luminous flux of the corresponding energy-saving lamps.
Table 6 presents the change in energy consumption and change in energy losses in the power grid. Column 3 of Table 6 shows the relative reduction in energy consumption (saving) for each energy-saving lamp in relation to the incandescent light source assuming the same exposure time. The reduction in energy consumption was calculated according to (8).
Table 5. LED and CFL lamps and their incandescent equivalent Tabela 5. Lampy LED i CFL i ich odpowiedniki Ĺźarowe No.
LED or CFL lamp Type
Incandescent lamp
Rated power
Luminous flux
Rated power
Current
[W]
[lm]
[W]
[A]
1
LED
12
1050
75
0.33
2
LED
12
1050
75
0.33
3
LED
14.5
1520
100
0.43
4
LED
12
1100
75
0.33
5
CFL
23
1600
100
0.43
6
CFL
15
900
60
0.26
Table 6. Changes in energy consumption and energy losses Tabela 6. Zmiany zuĹźycia energii i start energii w sieci Relative
Relative changes in energy losses in grid for â&#x20AC;Ś [%]
reduction No.
Type
of energy consumption
real PF
PF = 1.0
PF = 0.95
[%]
1
2
3
4
5
6
1
LED
84.0
â&#x20AC;&#x201C;88.0
â&#x20AC;&#x201C;96.8
â&#x20AC;&#x201C;96.5
2
LED
84.0
â&#x20AC;&#x201C;92.0
â&#x20AC;&#x201C;97.2
â&#x20AC;&#x201C;96.9
3
LED
85.5
â&#x20AC;&#x201C;92.0
â&#x20AC;&#x201C;97.4
â&#x20AC;&#x201C;97.2
4
LED
84.0
â&#x20AC;&#x201C;91.2
â&#x20AC;&#x201C;97.6
â&#x20AC;&#x201C;97.3
5
CFL
77.0
â&#x20AC;&#x201C;86.6
â&#x20AC;&#x201C;95.5
â&#x20AC;&#x201C;95.0
6
CFL
75.0
â&#x20AC;&#x201C;80.7
â&#x20AC;&#x201C;92.8
â&#x20AC;&#x201C;92.0
55
Energy Saving LED and CFL Lamps – Rated vs. True Power and Current Consumption
ΔE =
PnIL − PnESL ⋅ 100 PnIL
}' *
(8)
Despite a small sample of energy-saving lamps tested, the high similarity of the results of measurements of individual lamps allow to draw some more general conclusions. The power of lamps declared by the manufacturer correspond to the active power consumed from the grid with a relative difference not exceeding ±10%. This result can be considered satisfactory. Most lamps (4 out of six) consumed more than declared power. Such a result is difficult to classify as positive or negative, because no measurements of the luminous flux were made to determine whether the higher power absorbed from the grid gives a greater flux of light than declared by the manufacturer. The actual current consumed by 5 lamps (out of six) showed a value different than the declared value of more than ±20%. The biggest difference was 50%. Some producers (lamps 2, 6 and 7) declare a current greater than the actual measured current. The difference is from 20% to 50% relative to the rated current of the lamps. In one case (lamp 5), the manufacturer’s data can be considered unreliable. A simple calculation shows that the power factor of this lamp would have to be over 0.8. The lamp of such power factor value requires to use the supply system with a power factor correction. The power factor of the lamps is low and ranges from 0.5 to 0.65, and the current crest factor is from 2.0 to 4.8. These values indicate a very big distortions of the current waveform from a sinusoid, which is visible in Fig. 2–8. The values of power factor and crest factor indicate the adverse impact of lamps on the power grid. Despite the small power of the single load, the large number of installed lamps and their synchronous operation forced by line voltage waveform can cause a low power factor of building power network in which such lighting is used. By analyzing qualitatively voltage and current waveforms of lamps (Fig. 2, 3), one can notice that the shape and position of the current waveform in relation to the voltage waveform are very similar for all lamps. This causes the lamp currents in large lighting installations are added “almost” algebraically. As a result, the power factor of the entire installation approximately equals to the power factor of individual lamps. On the other hand, it can be seen that the first harmonic of the current is shifted relative to the voltage waveform by a negative angle, so it is “ahead of” the voltage. The installation of more lamps may reduce the inductive reactive power consumption generated by the first harmonic current. The conclusions presented in this paragraph are based on qualitative observation of waveforms and require quantitative confirmation. Using the energy-saving LED and/or CFL light sources significantly increase the energy efficiency of lighting in relation to incandescent lighting. This is due to the following reasons: − several times smaller (5–8 times) power of energy-saving lamps needed to obtain the required luminous flux compared to the power of incandescent lamps. For the compared lamps this gives a reduction in energy consumption in the range of 70–85%. − significant reduction of losses in the power grid caused by the flow of the lamp supplying current. For the tested lamps, these losses decrease by 80–92% in relation to the losses caused by the flow of current to the equivalent incandescent lamps. Further reduction of losses in the power grid (by about 10%) is possible under the condition of using the lamps with power supplies with a power factor of 1.0. The energy-saving lamps would then take a sinusoidal current in the phase with the supply voltage. Two ways of further losses reduction can be considered: − the use of lamps equipped with power supplies with a power factor close to 1.0. The reasonable value of the power factor seems to be 0.9–0.95. Comparing the reduction of the loses in power line by the lamps with the power factor equals to 1.0
where: ΔE – relative reduction of energy consumption, PnESL – rated power of an energy-saving lamp, PnIL – rated power of an equivalent incandescent lamp. Columns 4 and 5 of Table 6 show the relative change in losses of power dissipated on the resistance of the power line caused by the energy-saving lamp current flow (related to an equivalent incandescent source). Data in column 4 show the change of energy losses (ΔEL1) caused by the flow of real, distorted current, and in columns 5 and 6 the change of losses (ΔEL2) that would be generated by the energy-saving lamp if the power factor of the lamp was 1.0 and 0.95. Values in columns 4, 5 and 6 were calculated in accordance with (9), (10) and (11).
Δ EL1 =
Δ EL 2 =
Δ EL 3 =
2 2 I ESL − I IL 2 I IL
⋅ 100
2 2 I ESL 100 − I IL 2 I IL
2 2 I ESL 095 − I IL 2 I IL
(9)
⋅ 100
(10)
⋅ 100
(11)
where: ΔEL1 – relative change of power losses in the power line caused by the actual lamp current, ΔEL2, ΔEL3 – relative change of power losses in the power line caused by the current of the lamp with power factor 1.0 and 0.95, IESL – real RMS current of the energy-saving lamp, IESL100, IESL095 – RMS current of the energy-saving lamp with a power factor 1.0 and 0.95, IIL – RMS current of an equivalent incandescent lamp The reduction of energy consumption results directly from the much better efficiency of LED and CFL energy-saving lamps. For LED and CFL lamps it is 60–100 lm/W, and for incandescent lamps – 10–15 lm/W. The results in column 4 of Table 6 also show significant reduction in losses of power dissipated on the resistance of the power line. Losses on the resistance of the power line depend on the square of the RMS value of the current, which is several times less than the current of the equivalent incandescent lamp. The values in column 5 show the limit to which the losses in the power line can be reduced (if the power supply of the energy-saving lamps consumes the sinusoidal current in phase with the supply voltage, i.e. the lamp power factor equals to 1.0). These values have rather theoretical meanings. To reach the power factor of 1.0 it is necessary to use sophisticated and complex power supplies for the lamps. That would not be economically viable. Differences in values in columns 4 and 5 inform about power losses caused by the higher harmonics of the lamp current. The values in column 6 present the reduction of the power line loses if the lamp power factor is 0.95. Thanks to many and low cost integrated circuits to control power supplies with power factor correction, it is much easier to construct the power supply with power factor in range 0.9–0.95 than with 1.0. This solution is more economically justified although the price of the lamp will probably be higher. Comparing the values in columns 5 and 6 you can see that the reduction of the loses in power line is practically the same for power factor of 1.0 and 0.95.
56
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR 2/ 20 20
&' % % " H = < :
and 0.95 (Table 6 columns 5, 6) you will notice a very little reduction of loses with the power factor rising from 0.95 to 1.0. The lamps the power factor better than 0.9 are currently not widely available. Most likely the price of lamp with such power supplies will be higher than the prices of lamps with standard power supplies. â&#x2C6;&#x2019; the use of local harmonic filters for the lamp group so that the higher harmonic current components do not flow across the entire network. The use of energy-saving LED or CFL type lamps brings high energy benefits as a result of a significant reduction in energy consumption. The main disadvantage of todayâ&#x20AC;&#x2122;s LED and CFL lamps is a very non-linear current consumption that cause disturbances in the grid an additional energy loses. It can be improved by using better power supplies in this kind of lamps by the manufacturers.
DOI: 10.1109/IFEEC.2017.7992380. 7. Galla S., WĹ&#x201A;as M., WpĹ&#x201A;yw systemĂłw oĹ&#x203A;wietleniowych LED na zaburzenia nisko czÄ&#x2122;stotliwoĹ&#x203A;ciowe, â&#x20AC;&#x17E;PrzeglÄ&#x2026;d Elektrotechnicznyâ&#x20AC;?, Vol. 95, No. 3, 2019, 29â&#x20AC;&#x201C;32, DOI: 10.15199/48.2019.03.07. 8. Oliveira G.D., de Oliveira E.P., da Silva A.P., Carvalho C.C.M.D., Power Quality of LED Lamps, 2016 17th International Conference on Harmonics and Quality of Power (ICHQP), 16â&#x20AC;&#x201C;19 Oct. 2016, Belo Horizonte, Brazil. DOI: 10.1109/ICHQP.2016.7783359.
6 & 1. Zeb A., de Andrade Romero M., Baiguskarov D., Aitbayev S., Strelets K., LED Lightbulbs as a Source of Electricity Saving in Buildings, â&#x20AC;&#x153;MATEC Web of Conferencesâ&#x20AC;?, Vol. 73, 2016, DOI: 10.1051/matecconf/20167302004. 2. WiĹ&#x203A;niewski A., Oprawy oĹ&#x203A;wietleniowe LED z moĹźliwoĹ&#x203A;ciÄ&#x2026; regulacji mocy, â&#x20AC;&#x17E;PrzeglÄ&#x2026;d Elektrotechnicznyâ&#x20AC;?, Vol. 94, No. 7, 2018, 196â&#x20AC;&#x201C;199, DOI: 10.15199/48.2018.07.48. 3. Xu X., Collin A., Djokic S.Z., Langella R., Testa A., Drapela J., Experimental Evaluation and Classification of LED Lamps for Typical Residential Applications, 2017 IEEE PES Innovative Smart Grid Technologies Conference Europe (ISGT-Europe), Torino, Italy. DOI: 10.1109/ISGTEurope.2017.8260292. 4. Natthanon P., Chaiyan J., Atthapol N., Harmonics and Reduction of Energy Consumption in Lighting Systems by Using LED Lamps, â&#x20AC;&#x153;Energiesâ&#x20AC;?, Vol. 11, No. 11, 2018, DOI: 10.3390/en11113169. 5. Adoghe A.U., Eberechukwu O.C., Sanni T.F., The Effect of low power factor Led Lamp Invasion on the Utility Grid: A Case Study of Nigerian Market, 2017 IEEE PES PowerAfrica, 27-30 June 2017, Accra, Ghana. DOI: 10.1109/PowerAfrica.2017.7991260. 6. Bunjongjit S., Ngaopitakkul A., Leelajindakrairerk M., Analysis of harmonics in indoor Lighting System with LED and fluorescent luminaire, 2017 IEEE 3rd International Future Energy Electronics Conference and ECCE Asia, 3-7 June 2017, Kaohsiung, Taiwan.
= . ' V=- <V P ' GJ H' $ $ . Na rynku moĹźna zauwaĹźyÄ&#x2021; bardzo duĹźÄ&#x2026; dostÄ&#x2122;pnoĹ&#x203A;Ä&#x2021; lamp energooszczÄ&#x2122;dnych przeznaczonych do zastosowaĹ&#x201E; konsumenckich. Producenci, chcÄ&#x2026;c dotrzeÄ&#x2021; do jak najszerszego krÄ&#x2122;gu odbiorcĂłw, prezentujÄ&#x2026; na opakowaniach róşne dane, ktĂłre nie informujÄ&#x2026; uĹźytkownika o rzeczywistych wĹ&#x201A;asnoĹ&#x203A;ciach energetycznych lampy. Autorzy wykonali pomiary parametrĂłw energetycznych kilku, przypadkowo wybranych lamp LED oraz CFL dostÄ&#x2122;pnych w sieciach handlowych i porĂłwnali otrzymane dane pomiarowe z parametrami deklarowanymi przez producentĂłw. % V V=-% <V% . % ] .
57
Energy Saving LED and CFL Lamps â&#x20AC;&#x201C; Rated vs. True Power and Current Consumption
3 # *+ <
# 9 ( + <
& . ' ORCID: 0000-0001-9962-4726
& . ' ORCID: 0000-0002-5787-5671
Z ' $ ' . . . ?B)* ' F - ' . ?BBB # < # = = . E .% M ' = # MRZ # ' 0 . " Z G . MRZ # ' 0 . ?B)*% # - # F = ' = . Z ' E % . G ' ' G '' ' Z ' # % . # # ' G % E # Y ' # ' # ' . G ' FV AFM '
Z . ' ' # < # = E = . .% M ' = E # MRZ # ' 0 . " ?B)) P ' . Z G ' ' ' . (!!* . ' [ ' # ' . ' # . G \ Z ' MRZ ?B))% ' - # F = ' = . Z ' # . G # ' ' G ' . % ' . E ' ' . . . . # ' FV AFM Z G # # G % ' '
' $ ; !+ <+ < G & . ' ORCID: 0000-0001-9409-2169 F # M ' 4 Q . ' ' # < # = = . E .% M ' = # MRZ # ' 0 . ?BTB Z ' # # ' . ' # . ' E ' 0 # ' E ' . . % G . # 8 Z G ' ?+! # ' . Z # ) # Z G # # # . / =F% F0=0 ' 6=== F # ' ' % 0 !* Z E ' .
58
P
O
M
I
A
R
Y
â&#x20AC;¢
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;¢
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 2/2020, 59â&#x20AC;&#x201C;62, DOI: 10.14313/PAR_236/59
0 # 6X ' . F # - G . 4RM F . . Piotr Witkowski F S % ; ' = % M 6 # % 6 = . = . S' % " ' 6 O 4 ' % F J T+ KG ' (L% *@ET@) S
Abstract: This article presents the definition of a soldering profile and its division into individual phases. For the purpose of this article, an experiment was performed in which the influence of various factors such as â&#x20AC;&#x201C; BGA package size, PCB size, the type of solder â&#x20AC;&#x201C; on the temperature profile of a soldering process was investigated. The article is an overview and can serve as a guidebook for people who use soldering stations in their daily work to disassemble systems in BGA packages, or who plan to use such machines in their research. 3 V < 4RM% 6X ' . % ' G '% a ' .% ' G
1. Introduction Current technological development, the pursuit of miniaturization while increasing operational capabilities, have forced engineers to continue developing innovative packaging types for integrated circuit meeting the above requirements. At present, circuits in BGA (Ball Grid Array) packages are very popular when it comes to solutions meeting certain criteria. The connection system are located underneath the package. Tin balls are used to connect the system to the laminate. The installation of this type of systems allows manufacturers to meet newer and more advanced criteria, but also poses some disadvantages, as specified below. A model system executed in a FCBGA (Flip Chip Ball Grid Array) package is shown in Figure 1 [1, 11â&#x20AC;&#x201C;13, 16, 18]. In addition, the RoHS Directive (2002/95/EC), including its amendments, which have been in force in the European Union Member States since 2006, prohibit the manufacturers of electronic and electrical equipment from using lead-type materials, which had been in use as an admixture in adhesives for many years [2, 6, 7, 15, 17]. Ongoing works have aimed at developing innovative alloy types which would be resistant to soldering defects whilst complying with EU regulations. At the same time, systems which generate less heat and consume less energy have been installed, which also affects the life of the solder metal found underneath the system.
Fig. 1. A circuit in FCBGA packaging Rys. 1. UkĹ&#x201A;ad w obudowie FCBGA
) " V F ; % &' '
Lead-free soldering of any of the previously used alloys led to defects in production and service processes. To some extent, they have been limited in current solutions. Such defects appear spontaneously, i.e. the occurrence of whiskers (threaded hair shapes up to 5 m in diameter and several millimeters long), short circuits caused by connecting several leads of the element with the solder metal as a result of the soldering process, and also due to human fault: incorrect selection of the soldering profile, which affects the quality of the connection, or a rapid increase in temperature, which, combined with moisture, leads to the formation of bubbles on the packaging (i.e. steam and other gases trapped in the packaging walls are the cause of delamination and cracking) [3â&#x20AC;&#x201C;5, 14]. This article presents the definition of a soldering profile and its division into individual phases. For the purpose of the article, an experiment was conducted and consisted in soldering four BGA circuits with different packaging surfaces attached to different PCB surfaces. Apart from the differences in the size of the systems, the influence of the solder material type used on the course of the profile was observed (the first two systems were fixed with a lead-free solder, and the other two â&#x20AC;&#x201C; with a tin-lead solder).
) ' (! !( (!(! % ' ' (* !@ (!(!
X' +
&
!
A temperature (soldering) profile represents the relationship between the temperature rise and the duration of the reflow
59
The Use of IR Soldering Stations in the Process of Disassembling Circuits in BGA Packaging
coatings type OSP of dimensions 210 mm × 265 mm. The test package on the underside of the enclosure have 899 ball joints. They are distributed evenly in 0.60 mm steps, distributed over the entire surface of the die. Balls of 0.50 mm diameter, made of alloys, were used: Sn63Pb37, hereinafter referred to as tin-lead solder, and SnAg3Cu05 (SAC), hereinafter referred to as lead-free solder. BGA packages of dimensions 40 mm × 40 mm were mounted on the multilayer PCBs with organic protective coatings type OSP of dimensions 245 mm × 270 mm. The test package on the underside of the enclosure have 1042 ball joints. Distributed according to the shape of the manufacturer’s proprietary matrix, spaced every 0.60 mm, distributed over the entire surface of the system. Balls of 0.60 mm diameter, made of alloys, were used: Sn63Pb37, hereinafter referred to as tin lead solder, and SnAg3Cu05 (SAC), hereinafter referred to as lead-free solder.
soldering process. The soldering profile is divided into four phases: preheat, soak, reflow, cooling. It is important to select an appropriate profile for the soldered elements in order to ensure their proper assembly in service processes [8–10, 19, 20]. For the purpose of the experiment, four standard phases with the temperature thresholds described below were used: − Preheat – pre-heating of the PCB (Printed Circuit Board) to prevent deformations and moisture evaporation to prevent delamination. The phase takes place in the temperature range of 0–150 °C. The flux must be applied when 140–150 °C is reached. − Soak – activation of the flux, cleaning of the solder and soldering pads is performed at 150–180 °C for lead-free solder and at 150–170 °C for tin-lead solder. − Reflow – the purpose of proper soldering is to reach the solder reflow temperature. It is in this phase that proper metallurgical processes take place. 180–217 °C, depending on the lead-free solder alloy used, or 170–183 °C for tin-lead solder. − Cooling – the purpose of the cooling phase is to dissipate the heat after the soldering process and to bring it to the initial temperature.
[' + The testing station (Fig. 2) was equipped with a Jovy Systems RE-7500 IR station. The selection of the testing station was based on its specifications – the station allows full control of the created soldering profile by controlling the lower and upper heater by means of power adjustment (bottom: 350 W, 450 W, 540 W; top: 225 W, 270 W). The following equipment were also used: a BGA reballing kit consisting of a special stand, screens for applying balls on the system, a vacuum gripper and a silicone stand for hot systems. Temperature measurements were recorded using a computer connected to the soldering station, and then analysed. In the experiment used a flux, genus: ROL0 – mild, low-active, colophony-based flux. Type: No Clean. Compliant with standards: ANSI J-STD-004 ROL0, Bellcore GR78 Core. Four BGA packages with a 65 nm CMOS silicon technology dies flip-chipped in them were used for the test. BGA packages of dimensions 30 mm × 30 mm were assembled on the multilayer PCBs with organic protective
60
P
O
M
Fig. 2. Presentation of the testing station Rys. 2. Prezentacja stanowiska testowego
Fig. 3. Temperature increase in the first 5 minutes after the beginning of the soldering process Rys. 3. Wzrost temperatury w pierwszych 5 minutach od momentu rozpoczęcia procesu
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
Fig. 4. Achievement of flow temperatures for each system and a presentation of the cooling phase Rys. 4. Osiągnięcie temperatury rozpływu oraz prezentacja fazy chłodzenia
•
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Piotr Witkowski
Table 1. Experiment results Tabela 1. Wyniki eksperymentu
Lead-free technology
Lead-doped technology
Tested system no. 1: 30 mm Ă&#x2014; 30 mm PCB: 210 mm Ă&#x2014; 265 mm
Tested system no. 2: 40 mm Ă&#x2014; 40 mm PCB: 245 mm Ă&#x2014; 270 mm
Tested system no. 3: 30 mm Ă&#x2014; 30 mm PCB: 210 mm Ă&#x2014; 265 mm
Tested system no. 4: 40 mm Ă&#x2014; 40 mm PCB: 245 mm Ă&#x2014; 270 mm
Total disassembly time [s]
1515
1615
1250
1360
Cooling time [s]
300
410
390
420
Average temperature rise during disassembly [°C/s]
~0.12
~0.13
~0.14
~0.16
Temperature drop [°C/s]
~0.46
~0.42
~0.35
~0.40
\' +! & ! {
6 &
\']' & ! `,)
1. Anicai L., Petica A., Costovici S., Moise C., Brincoveanu O., Visan T., Electrodeposition of Snâ&#x20AC;&#x201C;In Alloys Involving Deep Eutectic Solvents, â&#x20AC;&#x153;Coatingsâ&#x20AC;?, 2019, DOI: 10.3390/coatings9120800. 2. Yang W., Du Z., Yu S., Li Y., Feng J., Wei X., Li Q., Zhan Y., The Effect of Rare Earths Additions on the Microstructure and the Corrosion Behavior of Sn-0.7Cu-0.075Al Solder Alloy, â&#x20AC;&#x153;Materialsâ&#x20AC;?, 2019, DOI: 10.3390/ma12223731. 3. Koncz-HorvĂĄth D., Gergely G., GĂĄcsi Z., Whisker-Like Formations in Sn-3.0Ag-Pb Alloys, Archives of Metallurgy and Materials, Vol. 62, No. 2B, 2017, 1027â&#x20AC;&#x201C;1031, DOI: 10.1515/amm-2017-0147. 4. Ren G., Collins M.N., Improved Reliability and Mechanical Performance of Ag Microalloyed Sn58Bi Solder Alloys, â&#x20AC;&#x153;Metalsâ&#x20AC;?, 2019, DOI: 10.3390/met9040462. 5. Sidhu R.S., Aspandiar R., Vandervoort S., Amir D., Murtagian G., Impact of processing conditions and solder materials on surface mount assembly defects. â&#x20AC;&#x153;JOMâ&#x20AC;?, 63, 2011, 47â&#x20AC;&#x201C;51, DOI: 10.1007/s11837-011-0174-3. 6. Wang K., Wang F., Huang Y., Qi K., Comprehensive Properties of a Novel Quaternary Sn-Bi-Sb-Ag Solder: Wettability, Interfacial Structure and Mechanical Properties, â&#x20AC;&#x153;Metalsâ&#x20AC;?, 2019, DOI: 10.3390/met9070791. 7. Kobayashi T., Shohji I., Evaluation of Microstructures and Mechanical Properties of Sn-10Sb-Ni Lead-Free Solder Alloys with Small Amount of Ni Using Miniature Size Specimens, â&#x20AC;&#x153;Metalsâ&#x20AC;?, 2019, DOI: 10.3390/met9121348. 8. Atieh A.M., Abedalaziz T.J., AlHazaa A., Weser M., Al-Kouz W.G., Sari M.S., Alhoweml I., Soldering of Passive Components Using Sn Nanoparticle Reinforced Solder Paste: Influence on Microstructure and Joint Strength, â&#x20AC;&#x153;Nanomaterialsâ&#x20AC;?, 2019, DOI: 10.3390/nano9101478. 9. Huang Y.E., Hagen D., Dody G., Burnette T., Effect of solder reflow temperature profile on plastic package delamination, Proceedings of 23rd IEEE/CPMT International Electronics Manufacturing Technology Symposium, 1998, 105â&#x20AC;&#x201C;111, DOI: 10. 1109/IEMT.1998.731047. 10. Corbin S.F., High-temperature variable melting point Sn-Sb lead-free solder pastes using transient liquid-phasepowder processing, â&#x20AC;&#x153;Journal of Electronic Materialsâ&#x20AC;?, 2005, Vol. 34, 1016â&#x20AC;&#x201C;1025, DOI: 10.1007/s11664-005-0089-2. 11. Kariya Y., Niimi T., Suga T., Otsuka M., Isothermal fatigue properties of Sn-Ag-Cu alloy evaluated by micro size spec-
Before starting the experiment, two test packages were prepared by changing the solder metal. The old solder layer was removed by means of: a copper braid line, a soldering iron with the T-S3 tip and flux. When the old solder was removed from the packages, they were cleaned of flux residues using isopropanol. The packages were then dried in a PCB furnace, which heated the systems at 100 °C for 30 minutes. When the packages were dried, a system stand and stencil for direct heating were used. A tin-lead solder alloy was applied. Then, using the soldering station, the package was heated to 183 °C, which resulted in the flow of the solder and its connection with the circuit fields of the package. Next, the packages were soldered using a soldering station. To check the correctness of the assembly performed. First, basic measurements were taken with a multimeter and then heat sinks were mounted on the soldered packages, after which the plates were turned on and the soldered packages were tested by stress test durant 5 heures.
\'X' *
# & !
The course of the experiment is illustrated in Table 1.
^' This experiment has shown that an important factor to consider before starting the soldering process is the size of the surface of the board, to which the system is fixed. A significant difference between the time it takes to reach the individual temperature thresholds has become apparent. The heat dissipation through the PCB surface is an important factor for the reflow soldering process using the BGA repair soldering station. Another important factor in the development of the profile by the technician should be to determine the type of solder used for assembling the system, which will result in the proper selection of the flow temperature. Other factors which should be taken into account when creating the temperature profile for the soldering station are the division of the profile into individual phases - taking into account the processes taking place in each phase. Following the above recommendations will certainly facilitate the development or selection of an adequate profile for the material obtained.
61
The Use of IR Soldering Stations in the Process of Disassembling Circuits in BGA Packaging
12.
13.
14.
15.
16.
imen. â&#x20AC;&#x153;Materials Transactionsâ&#x20AC;?, Vol. 46, 2005, 2309â&#x20AC;&#x201C;2315, DOI: 10.2320/matertrans.46.2309. Intel Information Packaging Databook, Chapter 14, â&#x20AC;&#x153;Ball Grid Array (BGA) Packagingâ&#x20AC;?, www.intel.com/design/packtech/ch_14.pdf Forsyth M., Seter M., Tan M.Y., Hinton B., Recent developments in corrosion inhibitors based on rare earth metal compounds. â&#x20AC;&#x153;Corrosion Engineering Science and Technologyâ&#x20AC;?, Vol. 49, No. 2, 2014, 130â&#x20AC;&#x201C;135, DOI: 10.1179/1743278214Y.0000000148. Malaquias J.C., Steichen M., Thomassey M., Dale P.J., Electrodeposition of Cuâ&#x20AC;&#x201C;In alloys from a choline chloride based deep eutectic solvent for photovoltaic applications, â&#x20AC;&#x153;Electrochimica Actaâ&#x20AC;?, Vol. 103, 2013, 15â&#x20AC;&#x201C;22, DOI: 10.1016/j.electacta.2013.04.068. Directive 2002/95/EC of The European Parliament and of the Council of 27 January 2003, On the restriction of the use of certain hazardous substances in electrical and electronic equipment. Lai Z., Ye D., Microstructure and fracture behavior of non eutectic Snâ&#x20AC;&#x201C;Bi solder alloys. â&#x20AC;&#x153;Journal of Materials
17.
18.
19.
20.
Science: Materials in Electronicsâ&#x20AC;?, Vol. 27, 2016, 3182â&#x20AC;&#x201C;3192, DOI: 10.1007/s10854-015-4143-4. Wang F., Li D., Zhang Z., Wu M., Yan C., Improvement on interfacial structure and properties of Snâ&#x20AC;&#x201C;58Bi/Cu joint using Snâ&#x20AC;&#x201C;3.0Agâ&#x20AC;&#x201C;0.5Cu solder as barrier, â&#x20AC;&#x153;Journal of Materials Science: Materials in Electronicsâ&#x20AC;?, Vol. 28, 19051â&#x20AC;&#x201C;19060, DOI: 10.1007/s10854-017-7859-5. OsĂłrio W.R., Spinelli J.E., Afonso C.R.M., Peixoto L.C., Garcia A., Microstructure, corrosion behavior and microhardness of a directionally solidified Snâ&#x20AC;&#x201C;Cu solder alloy. â&#x20AC;&#x153;Electrochimica Actaâ&#x20AC;?, Vol. 56, No. 24, 2011, 8891â&#x20AC;&#x201C;8899, DOI: 10.1016/j.electacta.2011.07.114. Drienovsky M., Trnkova L.R., Martinkovic M., Ozvold M., Cernickova I., Palcut M., Janovec J., Influence of cerium addition on microstructure and properties of Sn-Cu-(Ag) solder alloys. â&#x20AC;&#x153;Materials Science and Engineering Aâ&#x20AC;?, Vol. 623, 2015, 83â&#x20AC;&#x201C;91, DOI: 10.1016/j.msea.2014.11.033. Liu M., Yang W., Ma Y., Tang C., Tang H., Zhan Y., The electrochemical corrosion behavior of Pb-free Sn-8.5Zn-XCr solders in 3.5 wt.% NaCl solution. â&#x20AC;&#x153;Materials Chemistry and Physicsâ&#x20AC;?, Vol. 168, 2015, 27â&#x20AC;&#x201C;34, DOI: 10.1016/j.matchemphys.2015.10.003.
6X ' O 'J G ' 4RM Streszczenie: W artykule przedstawiono definicjÄ&#x2122; profilu lutowniczego oraz jego podziaĹ&#x201A; na poszczegĂłlne fazy. Na potrzeby artykuĹ&#x201A;u przeprowadzono eksperyment, w ktĂłrym zbadano wpĹ&#x201A;yw róşnych czynnikĂłw na proces demontaĹźu/montaĹźu, takich jak: wielkoĹ&#x203A;Ä&#x2021; ukĹ&#x201A;adu BGA, wielkoĹ&#x203A;Ä&#x2021; pĹ&#x201A;ytki drukowanej, rodzaj spoiwa, dobrany profil temperaturowy. ArtykuĹ&#x201A; ma charakter poglÄ&#x2026;dowy i moĹźe sĹ&#x201A;uĹźyÄ&#x2021; jako przewodnik dla osĂłb, ktĂłre w codziennej pracy wykorzystujÄ&#x2026; stacje lutownicze do demontaĹźu ukĹ&#x201A;adĂłw w obudowach BGA lub planujÄ&#x2026; wykorzystanie takich maszyn w swoich badaniach. % V < 4RM% % . ' Q% ' % ' O 'J
( , &' ' ORCID: 0000-0002-2293-6462 MG ; ' = % M E 6 # % F S / 6 # SG ' E 66 ' J 666 E / = ; ' = E % M 6 # % F S / . J % # E ' % G E ' H ' J H O
62
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 2/2020, 63â&#x20AC;&#x201C;68, DOI: 10.14313/PAR_236/63
G < $ $ + - * F X 6. . U % " ' $ X G % M F Q J ; )% @EB@B X J
Streszczenie: Do niedawna wirtualna rzeczywistoĹ&#x203A;Ä&#x2021; kojarzyĹ&#x201A;a siÄ&#x2122; gĹ&#x201A;Ăłwnie z grami komputerowymi. Technologia ta to jednak przyszĹ&#x201A;oĹ&#x203A;Ä&#x2021; nie tylko branĹźy rozrywkowej â&#x20AC;&#x201C; coraz czÄ&#x2122;Ĺ&#x203A;ciej znajduje zastosowanie w obszarze IT, medycynie oraz przemyĹ&#x203A;le. Wirtualna rzeczywistoĹ&#x203A;Ä&#x2021; ma generowaÄ&#x2021; zupeĹ&#x201A;nie nowy cyfrowy Ĺ&#x203A;wiat. To rzeczywistoĹ&#x203A;Ä&#x2021; zaprojektowana przy uĹźyciu narzÄ&#x2122;dzi komputerowych, dziÄ&#x2122;ki ktĂłrym uĹźytkownik czuje siÄ&#x2122; tak, jakby byĹ&#x201A; w niej realnie obecny. Obecnie wirtualna rzeczywistoĹ&#x203A;Ä&#x2021; ma wiele do zaoferowania branĹźy przemysĹ&#x201A;owej â&#x20AC;&#x201C; pozwala na trĂłjwymiarowe projektowanie stacji zrobotyzowanych, tworzenie modeli symulacyjnych, dziÄ&#x2122;ki ktĂłrym moĹźna dokĹ&#x201A;adnie zobaczyÄ&#x2021;, jak bÄ&#x2122;dzie wyglÄ&#x2026;daĹ&#x201A;a i funkcjonowaĹ&#x201A;a nowa stacja jeszcze przed jej uruchomieniem. W artykule przedstawiono proces projektowania i programowania stacji zrobotyzowanych z wykorzystaniem wirtualnej rzeczywistoĹ&#x203A;ci. $ V - $ $ *=+ $ $ + ( - ;;+ - 6 - 4 >
1. Wprowadzenie BiorÄ&#x2026;c pod uwagÄ&#x2122; szeroki zakres nowoczesnych technologii, ktĂłre wspomagajÄ&#x2026; prace projektowe zwiÄ&#x2026;zane z budowÄ&#x2026; stanowisk produkcyjnych, stacji zrobotyzowanych naleĹźy wyróşniÄ&#x2021; technologie wirtualne, tj.: systemy Virtual Reality â&#x20AC;&#x201C; VR, Augumented Reality â&#x20AC;&#x201C; AR (rzeczywistoĹ&#x203A;ci rozszerzonej) oraz technologie dotykowe [3]. Pierwsze badania dotyczÄ&#x2026;ce technologii wirtualnej rozpoczÄ&#x2122;to w 1997 r. Wprowadzono wĂłwczas oprogramowanie do symulacji robotyki 3D GRASPVRI. Aplikacja zostaĹ&#x201A;a zbudowana specjalnie dla przemysĹ&#x201A;u stoczniowego, w celu przyĹ&#x203A;pieszenia procesu spawania [5]. Wirtualna rzeczywistoĹ&#x203A;Ä&#x2021; (VR) polega na zastosowaniu technologii komputerowej do zbudowania symulowanego stanowiska. Aplikacje VR zanurzajÄ&#x2026; uĹźytkownika w Ĺ&#x203A;rodowisku komputerowym, ktĂłre symuluje rzeczywistoĹ&#x203A;Ä&#x2021; za pomocÄ&#x2026; interaktywnych urzÄ&#x2026;dzeĹ&#x201E;. Zdaniem ich jest wysyĹ&#x201A;anie i odbieranie informacji, noszone sÄ&#x2026; jako gogle, rÄ&#x2122;kawiczki, zestawy sĹ&#x201A;uchawkowe [18]. W wirtualnej rzeczywistoĹ&#x203A;ci moĹźliwa jest symulacja obecnoĹ&#x203A;ci i oddziaĹ&#x201A;ania uĹźytkownika a informacja zwrotna przesyĹ&#x201A;ana jest do jednego lub wiÄ&#x2122;kszej liczby zmysĹ&#x201A;Ăłw w taki sposĂłb, Ĺźe uĹźytkownik ma poczucie zanurzenia siÄ&#x2122; w symulacji (Rys. 1) [1]. System wirtualnej rzeczywistoĹ&#x203A;ci eksponuje obiekty uĹźytkownikowi za pomocÄ&#x2026; obrazu, dĹşwiÄ&#x2122;ku i bodĹşcĂłw czuciowych oraz pozwala na interakcjeÄ&#x2122;, sprawiajÄ&#x2026;c wraĹźenie przebywania
) " V F F % & ' ) ' !B ?( (!?B % ' ' !T !@ (!(!
!
Rys. 1. PrzykĹ&#x201A;ad sposobu korzystania z rzeczywistoĹ&#x203A;ci wirtualnej Fig. 1. An example of how to use virtual reality
wewnÄ&#x2026;trz symulowanej rzeczywistoĹ&#x203A;ci. Sensoryczne sprzÄ&#x2122;Ĺźenie zwrotne dostarcza uĹźytkownikom bezpoĹ&#x203A;redniÄ&#x2026; informacjÄ&#x2122; sensorycznÄ&#x2026; w zaleĹźnoĹ&#x203A;ci od ich fizycznej lokalizacji w wirtualnym Ĺ&#x203A;rodowisku. Informacje sensoryczne sÄ&#x2026; przesyĹ&#x201A;ane przez bodĹşce syntetyczne, czyli generowane komputerowo informacje wizualne, dĹşwiÄ&#x2122;kowe lub dotykowe. WiÄ&#x2122;kszoĹ&#x203A;Ä&#x2021; sprzÄ&#x2122;Ĺźenia zwrotnego jest realizowana za poĹ&#x203A;rednictwem informacji wizualnych, chociaĹź niektĂłre Ĺ&#x203A;rodowiska wykorzystujÄ&#x2026; tylko informacje dotykowe. System wirtualnej rzeczywistoĹ&#x203A;ci oprĂłcz symulacji wymaga zastosowania interfejsu pozwalajÄ&#x2026;cego uĹźytkownikom na â&#x20AC;&#x17E;wejĹ&#x203A;cieâ&#x20AC;? do wirtualnej rzeczywistoĹ&#x203A;ci. Jednym z pierwszych tego typu urzÄ&#x2026;dzeĹ&#x201E; byĹ&#x201A; wynalazek Mortona Heiliga â&#x20AC;&#x17E;Sensorama Simulatorâ&#x20AC;? z 1962 r., ktĂłry byĹ&#x201A; pierwszÄ&#x2026; grÄ&#x2026; video pozwalajÄ&#x2026;cÄ&#x2026; na zanurzenie siÄ&#x2122; w wirtualnej
63
& " " = % " % 8 = " %= ' % rzeczywistoĹ&#x203A;ci [1]. UrzÄ&#x2026;dzenie wyĹ&#x203A;wietlaĹ&#x201A;o kolorowy, trĂłjwymiarowy obraz na stereoskopowym wyĹ&#x203A;wietlaczu, byĹ&#x201A;o wyposaĹźone w system dĹşwiÄ&#x2122;ku stereo, generator zapachĂłw, wentylatory symulujÄ&#x2026;ce powiew wiatru oraz ruchome siedzisko. Gra polegaĹ&#x201A;a na jeĹźdĹźeniu motocyklem po ulicach Nowego Yorku. Gracze odczuwali nierĂłwnoĹ&#x203A;ci drogi, zapachy jedzenia z restauracji oraz ruch powietrza wynikajÄ&#x2026;cy z ruchu motocykla. Nie byĹ&#x201A;o jednak moĹźliwoĹ&#x203A;ci wejĹ&#x203A;cia w interakcjÄ&#x2122; z obiektami wirtualnego Ĺ&#x203A;rodowiska. Heilig rozpoczÄ&#x2026;Ĺ&#x201A; takĹźe prace nad montowanymi na gĹ&#x201A;owie okularami do wirtualnej rzeczywistoĹ&#x203A;ci, wyposaĹźonymi w sĹ&#x201A;uchawki. Nie ukoĹ&#x201E;czyĹ&#x201A; swojego wynalazku, lecz dostrzeĹźono potencjaĹ&#x201A; jego rozwiÄ&#x2026;zaĹ&#x201E;. RozwĂłj technologii pozwoliĹ&#x201A; na budowÄ&#x2122; i udoskonalenie interfejsĂłw wirtualnej rzeczywistoĹ&#x203A;ci. W dzisiejszych czasach urzÄ&#x2026;dzenia VR sÄ&#x2026; powszechnie dostÄ&#x2122;pne i systematycznie wzrasta liczba ich zastosowaĹ&#x201E;, zarĂłwno komercyjnych jak i specjalistycznych. Inne przykĹ&#x201A;ady zastosowaĹ&#x201E; przedstawiono w kolejnym rozdziale.
(ktĂłre wyglÄ&#x2026;dajÄ&#x2026; jak rzeczywiste narzÄ&#x2122;dzia chirurgiczne) do wykonywania procedur chirurgicznych na róşnych pacjentach. Wirtualni pacjenci niekoniecznie muszÄ&#x2026; byÄ&#x2021; wymyĹ&#x203A;lonymi obiektami. MoĹźna wykorzystaÄ&#x2021; nowoczesne metody obrazowania â&#x20AC;&#x201C; jak tomografia komputerowa (CT) lub rezonans magnetyczny (MRI), do utworzenia trĂłjwymiarowego obrazu ciaĹ&#x201A;a czĹ&#x201A;owieka. Przed prawdziwÄ&#x2026; operacjÄ&#x2026; chirurdzy mogÄ&#x2026; Ä&#x2021;wiczyÄ&#x2021; na wirtualnym pacjencie o bardzo podobnych cechach do rzeczywistego pacjenta przygotowywanego do operacji. Symulatory chirurgiczne staĹ&#x201A;y siÄ&#x2122; szczegĂłlnie rozpowszechnione dziÄ&#x2122;ki stworzeniu robotĂłw chirurgicznych, ktĂłre umoĹźliwiajÄ&#x2026; przeprowadzenie caĹ&#x201A;ej operacji za pomocÄ&#x2026; interfejsu dotykowego i ekranu. Obecnie technologia VR jest wykorzystywana przez producentĂłw samochodĂłw General Motors i Ford do tworzenia oraz sprawdzania planĂłw projektowych, tolerancji oraz zabezpieczeĹ&#x201E; w Ĺ&#x203A;rodowiskach wirtualnych. Przedstawione rozwiÄ&#x2026;zanie dla General Motors wykorzystuje Ĺ&#x203A;rodowisko CAVE (specjalna komora), w ktĂłrym projektanci i inĹźynierowie noszÄ&#x2026; okulary 3D, dziÄ&#x2122;ki czemu dostrzegajÄ&#x2026; obraz zewnÄ&#x2122;trzny oraz wewnÄ&#x2122;trzny pojazdu (Rys. 4). Zastosowanie CAVE umoĹźliwia ocenÄ&#x2122; rozmieszczenia elementĂłw sterujÄ&#x2026;cych, jakoĹ&#x203A;ci projektu, wykoĹ&#x201E;czenia oraz pasowania [11]. Producenci samochodĂłw marki Ford wykorzystujÄ&#x2026; technologiÄ&#x2122; wirtualnej rzeczywistoĹ&#x203A;ci celem poprawy jakoĹ&#x203A;ci jeszcze przed budowÄ&#x2026; fizycznego prototypu [13]. WstÄ&#x2122;pnie oceniane sÄ&#x2026; materiaĹ&#x201A;y, kolory, estetyka oraz ergonomia (Rys. 5). ReasumujÄ&#x2026;c zaprezentowane rozwiÄ&#x2026;zania moĹźna zauwaĹźyÄ&#x2021;, Ĺźe zastosowanie VR w przemyĹ&#x203A;le ciÄ&#x2026;gle wzrasta. Jest to spowodowane znaczÄ&#x2026;cymi udogodnieniami podczas projektowania oraz oszczÄ&#x2122;dnoĹ&#x203A;ciÄ&#x2026; wynikajÄ&#x2026;ca ze wstÄ&#x2122;pnych analiz w wirtualnym Ĺ&#x203A;rodowisku. Inne przykĹ&#x201A;ady zastosowania VR przedstawiono w pracach [9, 14â&#x20AC;&#x201C;16]. W pracy [4] autorzy zaproponowali zastosowanie wirtualnej rzeczywistoĹ&#x203A;ci do szkolenia pracownikĂłw na stanowiskach, gdzie wspĂłĹ&#x201A;pracujÄ&#x2026; z robotami. Powodem takiego podejĹ&#x203A;cia byĹ&#x201A;a poprawa bezpieczeĹ&#x201E;stwa. DziÄ&#x2122;ki VR niedoĹ&#x203A;wiadczony pracownik bÄ&#x2122;dzie mĂłgĹ&#x201A; poznaÄ&#x2021; zasady bezpiecznej wspĂłĹ&#x201A;pracy z maszynami. W artykule [8] przedstawiono aplikacjÄ&#x2122; VR do szkolenia z zakresu zarzÄ&#x2026;dzania procedurami przemysĹ&#x201A;owymi, ze szczegĂłlnym uwzglÄ&#x2122;dnieniem systemĂłw pneumatyki. Wirtualna aplikacja skĹ&#x201A;ada siÄ&#x2122; z wirtualnego laboratorium oraz wirtualnego zakĹ&#x201A;adu przemysĹ&#x201A;owego. Kolejnym przykĹ&#x201A;adem zastosowania VR jest projekt systemu treningowego do wspĂłĹ&#x201A;pracy czĹ&#x201A;owieka z robotem w zadaniach produkcyjnych. Wykorzystano tutaj aplikacje â&#x20AC;&#x17E;BeWare of the robotâ&#x20AC;?, ktĂłra zostaĹ&#x201A;a opracowana na podstawie gry Unity3d. Platforma systemowa skĹ&#x201A;ada siÄ&#x2122; z nastÄ&#x2122;pujÄ&#x2026;cych komponentĂłw: aplikacja â&#x20AC;&#x17E;beWare of the robotâ&#x20AC;?, komputer z systemem Windows XP wyposaĹźony w kartÄ&#x2122; graficznÄ&#x2026; nVidia Quadro FX1700, 3DVisor HMD ze sĹ&#x201A;uchawkami stereo, czujnikiem Microsoft
X' ) " ! " 9 Obecnie pojÄ&#x2122;cie wirtualnej rzeczywistoĹ&#x203A;ci jest coraz bardziej popularne. Znajduje ona zastosowanie w wielu dziedzinach, jak przemysĹ&#x201A; motoryzacyjny, lotniczy, zbrojeniowy, przemysĹ&#x201A; maszynowy, medycyna, prototypowanie, logistyka. Jednym z najczÄ&#x2122;Ĺ&#x203A;ciej podawanych przykĹ&#x201A;adĂłw praktycznego zastosowania wirtualnej rzeczywistoĹ&#x203A;ci sÄ&#x2026; symulatory lotu [7]. Systemy symulujÄ&#x2026; awarie, na ktĂłre piloci muszÄ&#x2026; zareagowaÄ&#x2021;. Zastosowanie wirtualnej rzeczywistoĹ&#x203A;ci w branĹźy lotniczej prezentuje firma Rolls-Royce Germany, ktĂłra wykorzystuje VR wspierajÄ&#x2026;c wszystkie fazy projektu â&#x20AC;&#x201C; od budowy silnika przez produkcjÄ&#x2122; oraz konserwacjÄ&#x2122; (Rys. 2). Obecnie prowadzone sÄ&#x2026; teĹź badania z wykorzystaniem VR nad zmniejszeniem emisji spalin oraz poziomu haĹ&#x201A;asu podczas pracy silnika [12]. Firma MiddleVR opracowaĹ&#x201A;a oprogramowanie Improov umoĹźliwiajÄ&#x2026;ce wspĂłĹ&#x201A;pracÄ&#x2122; z VR. Zastosowanie Improov umoĹźliwia wykonywanie przeglÄ&#x2026;dĂłw projektĂłw, konserwacjÄ&#x2122; oraz montaĹź maszyn, elementĂłw wchodzÄ&#x2026;cych w skĹ&#x201A;ad stanowiska itp. (Rys. 3). Jednym z gĹ&#x201A;Ăłwnych zastosowaĹ&#x201E; oprogramowania Improov jest budowa ukĹ&#x201A;adu wnÄ&#x2122;trza fabryki, stanowiska produkcyjnego itp. MoĹźliwoĹ&#x203A;Ä&#x2021; planowania przestrzeni wirtualnie pozwala na modyfikacjÄ&#x2122; ukĹ&#x201A;adu przestrzennego pomieszczenia, przenoszenie elementĂłw wchodzÄ&#x2026;cych w skĹ&#x201A;ad stanowiska oraz optymalizacjÄ&#x2122; zagospodarowanej przestrzeni [10]. Kolejnym waĹźnym przykĹ&#x201A;adem sÄ&#x2026; symulatory operacji chirurgicznych [2]. Operacja jest niebezpiecznÄ&#x2026; sytuacjÄ&#x2026; dla pacjenta, poniewaĹź pojedynczy bĹ&#x201A;Ä&#x2026;d moĹźe prowadziÄ&#x2021; do jego Ĺ&#x203A;mierci. PodÄ&#x2026;ĹźajÄ&#x2026;c za przykĹ&#x201A;adem symulatorĂłw lotu, symulatory chirurgiczne udostÄ&#x2122;pniajÄ&#x2026; wirtualne Ĺ&#x203A;rodowisko, w ktĂłrych chirurg moĹźe wykorzystywaÄ&#x2021; realistyczne interfejsy dotykowe
Rys. 2. Projekt budowy silnika w Rolls-Royce Germany wykorzystujÄ&#x2026;cy VR [13] Fig. 2. Engine construction project in Rolls-Royce Germany using VR [13]
64
P
O
M
I
A
R
Y
â&#x20AC;˘
A
Rys. 3. MoĹźliwoĹ&#x203A;ci programu Improov: a) rozmieszczenie ukĹ&#x201A;adu zakĹ&#x201A;adu produkcyjnego, b) konserwacja i montaĹź [10] Fig. 3. The possibilities of the Improov program: a) layout of the production plant, b) maintenance and assembly [10]
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
j " ' % * *
3. Projekt oraz oprogramowanie # "
Rys. 4. Zastosowanie Virtual Reality w General Motor [11] Fig. 4. Application of Virtual Reality in General Motor [11]
Rys. 5. Ocena oraz modyfikacja projektu zastosowanie VR w branĹźy motoryzacyjnej â&#x20AC;&#x201C; Ford [13] Fig. 5. Assessment and modification of the application of VR in the automotive industry â&#x20AC;&#x201C; Ford [13]
Kinect, klawiatura i mysz. Na Rys. 6 przedstawiono schemat systemu oraz przepĹ&#x201A;ywu danych miÄ&#x2122;dzy jego gĹ&#x201A;Ăłwnymi elementami [6]. Budowa zaprezentowanej platformy testowej przedstawia szczegĂłĹ&#x201A;y Ĺ&#x203A;rodowiska wirtualnego, zastosowane techniki oraz narzÄ&#x2122;dzia interakcji. Obecnie prowadzone sÄ&#x2026; badania dotyczÄ&#x2026;ce akceptowalnoĹ&#x203A;ci wspĂłĹ&#x201A;pracy czĹ&#x201A;owiek â&#x20AC;&#x201C; robot w odniesieniu do kwestii bezpieczeĹ&#x201E;stwa.
Na podstawie przeprowadzonej analizy istniejÄ&#x2026;cych rozwiÄ&#x2026;zaĹ&#x201E; moĹźna stwierdziÄ&#x2021;, Ĺźe VR jest wykorzystywana w wielu dziedzinach techniki. W dalszej czÄ&#x2122;Ĺ&#x203A;ci artykuĹ&#x201A;u zastosowano VR do do projektowania stacji zrobotyzowanych w Ĺ&#x203A;rodowisku Robot Studio.
Rys. 6. Schemat systemu oraz przepĹ&#x201A;yw danych dla systemu â&#x20AC;&#x17E;beWare of robotâ&#x20AC;? Fig. 6. System and data flow diagram for the â&#x20AC;&#x153;beWare of robotâ&#x20AC;? system
ProjektujÄ&#x2026;c oraz programujÄ&#x2026;c stacjÄ&#x2122; zrobotyzowanÄ&#x2026; zdecydowano siÄ&#x2122; wykorzystaÄ&#x2021; dostÄ&#x2122;pne narzÄ&#x2122;dzia projektowania i programowania robotĂłw off-line. Programowanie off-line jest rekomendowane do stosowania w trakcie budowy i modyfikacji zĹ&#x201A;oĹźonych systemĂłw zrobotyzowanych. BezpoĹ&#x203A;rednie korzyĹ&#x203A;ci stosowania programowania off-line: â&#x2C6;&#x2019; skrĂłcenie czasu przerwy w produkcji; â&#x2C6;&#x2019; automatyczne generowanie kodu NC; â&#x2C6;&#x2019; graficzna (CAD) reprezentacja elementĂłw stanowiska â&#x20AC;&#x201C; Ĺ&#x201A;atwiejsza i szybsza integracja stanowiska zrobotyzowanego; â&#x2C6;&#x2019; wykorzystanie edytora graficznego w testowaniu (weryfikacji) i optymalizowaniu programu pracy; â&#x2C6;&#x2019; uĹ&#x201A;atwiona wymienialnoĹ&#x203A;Ä&#x2021; programĂłw miÄ&#x2122;dzy robotami; â&#x2C6;&#x2019; moĹźliwoĹ&#x203A;Ä&#x2021; tworzenia zĹ&#x201A;oĹźonych programĂłw pracy, zĹ&#x201A;oĹźonej logiki stanowiska oraz zaawansowanych, duĹźych systemĂłw sensorycznych. StosujÄ&#x2026;c wspĂłĹ&#x201A;czesne programy komputerowe do programowania robotĂłw przemysĹ&#x201A;owych, moĹźna uzyskaÄ&#x2021; szybkie i dokĹ&#x201A;adne generowanie programĂłw sterujÄ&#x2026;cych. MoĹźna testowaÄ&#x2021; róşne warianty organizacyjne stanowiska i scenariusze pracy przy zachowaniu Ĺ&#x201A;atwego i szybkiego wprowadzania poprawek z zachowaniem bezpieczeĹ&#x201E;stwa testowania (np. wykrywanie kolizji) programu, dziÄ&#x2122;ki symulacji w Ĺ&#x203A;rodowisku wirtualnym. Po przeglÄ&#x2026;dzie dostÄ&#x2122;pnych rozwiÄ&#x2026;zaĹ&#x201E; do projektowania oraz programowania stacji zrobotyzowanej wykorzystano narzÄ&#x2122;dzie firmy ABB, czyli RobotStudio (Rys. 7).
65
& " " = % " % 8 = " %= ' %
Rys. 7. Widok stacji zaprojektowanej w oprogramowaniu RobotStudio Fig. 7. View of the station designed in RobotStudio software
Rys. 8. Idea wspĂłĹ&#x201A;pracy oprogramowania RobotStudio z narzÄ&#x2122;dziami do VR Fig. 8. Idea of cooperation between RobotStudio software and VR tools
Rys. 9. Zestaw HTV Vive Virtul Reality [17] Fig. 9. HTC Vive Virtual Reality Kit [17]
DostÄ&#x2122;pne od 2017 r. wersje oprogramowania RobotStudio wspĂłĹ&#x201A;pracujÄ&#x2026; z okularami do VR, pozwalajÄ&#x2026; projektowaÄ&#x2021; i programowaÄ&#x2021; roboty w Ĺ&#x203A;wiecie wirtualnym (rys. 8). W zestawie dostÄ&#x2122;pne sÄ&#x2026; kontrolery rÄ&#x2122;czne pozwalajÄ&#x2026;ce na oddziaĹ&#x201A;ywanie na elementy Ĺ&#x203A;wiata wirtualnego. Do projektowania i programowania stacji zrobotyzowanej wykorzystano komputer PC z oprogramowaniem RobotStudio oraz okulary do VR Oculus Rift. Okulary wyĹ&#x203A;wietlajÄ&#x2026; przed oczami uĹźytkownika obraz wygenerowanego komputerowo Ĺ&#x203A;rodowiska pracy. MoĹźna siÄ&#x2122; w nich rozglÄ&#x2026;daÄ&#x2021; w naturalny sposĂłb, poruszajÄ&#x2026;c gĹ&#x201A;owÄ&#x2026; lub caĹ&#x201A;ym ciaĹ&#x201A;em. UĹźyty model Oculus Rift ma ekran wyĹ&#x203A;wietlajÄ&#x2026;cy dla kaĹźdego oka niezaleĹźny obraz o rozdzielczoĹ&#x203A;ci 1080 Ă&#x2014; 1200 px. Ĺ Ä&#x2026;cznoĹ&#x203A;Ä&#x2021; z komputerem moĹźe byÄ&#x2021; realizowana przewodowo za pomocÄ&#x2026; interfejsĂłw HDMI i USB bÄ&#x2026;dĹş bezprzewodowo. Za Ĺ&#x203A;ledzenie ruchĂłw gĹ&#x201A;owy uĹźytkownika odpowiadajÄ&#x2026; dwa zestawy czujnikĂłw, odpowiadajÄ&#x2026;ce za wykrywanie obrotĂłw oraz pozycji gĹ&#x201A;owy w przestrzeni. W zaprezentowanym przykĹ&#x201A;adzie mogÄ&#x2026; zostaÄ&#x2021; wykorzystane okulary HTC Vive VR. Gogle HTV Vive Virtual Reality (Rys. 9) umoĹźliwiajÄ&#x2026; odwzorowanie w programie RobotStudio ruchu gĹ&#x201A;owy, rÄ&#x2026;k oraz moĹźliwoĹ&#x203A;Ä&#x2021; poruszania siÄ&#x2122; po pomieszczeniu. Za odwzorowanie ruchu odpowiedzialne sÄ&#x2026; cztery czujniki (akcelerometr, Ĺźyroskop oraz dwa czujniki laserowe), ktĂłre rejestrujÄ&#x2026; polecenia wydawane przez trzymane w dĹ&#x201A;oniach kontrolery bezprzewodowe. OkreĹ&#x203A;lenie poĹ&#x201A;oĹźenia w Ĺ&#x203A;wiecie rzeczywistym oraz przesĹ&#x201A;anie ich do Ĺ&#x203A;wiata wirtualnego jest moĹźliwe poprzez dwa wyposaĹźone w sensory kontrolery rÄ&#x2122;czne oraz dwie stacje bazowe. Przedsta-
wione gogle wyposaĹźone sÄ&#x2026; w dwa ekrany OLED, wyĹ&#x203A;wietlajÄ&#x2026;ce obraz o rozdzielczoĹ&#x203A;ci 1080 Ă&#x2014; 1200 px dla kaĹźdego oka. ZasiÄ&#x2122;g pola widzenia to 110°. Podobnie jak gogle Oculus Rift Ĺ&#x201A;Ä&#x2026;cznoĹ&#x203A;Ä&#x2021; z komputerem PC moĹźe odbywaÄ&#x2021; siÄ&#x2122; z wykorzystaniem interfejsĂłw HDMI oraz USB przewodowo [17]. W zaprezentowanym przykĹ&#x201A;adzie zdecydowano siÄ&#x2122; wykorzystaÄ&#x2021; gogle Oculus Rift ze wzglÄ&#x2122;du na cenÄ&#x2122;. Bardzo przydatnÄ&#x2026; opcjÄ&#x2026; uĹźywanÄ&#x2026; podczas projektowania stacji okazaĹ&#x201A; siÄ&#x2122; Virtual Reality Meeting. To rozwiÄ&#x2026;zanie, bÄ&#x2122;dÄ&#x2026;ce funkcjÄ&#x2026; oprogramowania RobotStudio pozwala na wirtualne spotkanie kilku osĂłb w jednej stacji zrobotyzowanej. Osoby mogÄ&#x2026; znajdowaÄ&#x2021; siÄ&#x2122; w róşnych lokalizacjach, odlegĹ&#x201A;oĹ&#x203A;Ä&#x2021; nie ma tutaj znaczenia. DziÄ&#x2122;ki Virtual Reality Meeting moĹźna zobaczyÄ&#x2021; swoje awatary w postaci kolorowych okularĂłw, rozmawiaÄ&#x2021;, rysowaÄ&#x2021; i robiÄ&#x2021; adnotacje w wirtualnym modelu stacji zrobotyzowanej (Rys. 10). Zastosowanie RobotStudio z opcjÄ&#x2026; Virtual Reality Meeting pozwala uruchomiÄ&#x2021; ,,symulacjÄ&#x2122; na Ĺźywoâ&#x20AC;?: roboty realizujÄ&#x2026; zaprogramowane wczeĹ&#x203A;niej Ĺ&#x203A;cieĹźki, przedmioty przemieszczajÄ&#x2026; siÄ&#x2122;, ponadto rzeczywistoĹ&#x203A;Ä&#x2021; wirtualna zachowuje relacje przestrzenne miÄ&#x2122;dzy modelami wirtualnymi obiektĂłw umieszczonych na scenie. MoĹźliwa jest kontrola Ĺ&#x203A;rodowiska dziaĹ&#x201A;ania operatora ze wzglÄ&#x2122;du na kryteria ergonomiczne oraz dostÄ&#x2122;pnoĹ&#x203A;Ä&#x2021; do czyszczenia i serwisowania sprzÄ&#x2122;tu. Funkcja spotkania pomaga w analizie projektu i korygowaniu bĹ&#x201A;Ä&#x2122;dĂłw na wczesnym etapie. To skutkuje znacznie krĂłtszÄ&#x2026; fazÄ&#x2026; instalacji i rozruchu. Jako przykĹ&#x201A;ad projektu zrealizowanego z wykorzystaniem omĂłwionych narzÄ&#x2122;dzi projektowania off-line, wirtualnej rzeczy-
66
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
j " ' % * *
Rys. 10. Widok stacji projektowanej z wykorzystaniem Virtual Reality Meeting Fig. 10. View of the station designed using Virtual Reality Meeting
Rys. 11. Widok stacji zaprojektowanej do obrĂłbki elementĂłw silnikĂłw lotniczych Fig. 11. View of the station designed for processing aircraft engine components
wistoĹ&#x203A;ci oraz Virtual Reality Meeting moĹźna wskazaÄ&#x2021; zrobotyzowanÄ&#x2026; stacjÄ&#x2122; do obrĂłbki elementĂłw silnikĂłw lotniczych. SpĂłĹ&#x201A;ka Pratt & Whitney RzeszĂłw wchodzÄ&#x2026;ca w skĹ&#x201A;ad United Technologies Corporation, w ramach swojej dziaĹ&#x201A;alnoĹ&#x203A;ci wykonuje operacje technologiczne polegajÄ&#x2026;ce na obrĂłbce odlewĂłw dyfuzorĂłw silnika V2500. JednÄ&#x2026; z wielu operacji technologicznych jest zatÄ&#x2122;pianie krawÄ&#x2122;dzi. W procesie wykonywania dyfuzora istnieje szereg krawÄ&#x2122;dzi wymagajÄ&#x2026;cych zatÄ&#x2122;pienia, ktĂłrÄ&#x2026; to operacjÄ&#x2122; realizuje siÄ&#x2122; rÄ&#x2122;cznie. W zwiÄ&#x2026;zku z powyĹźszym postanowiono zaprojektowaÄ&#x2021; oraz zbudowaÄ&#x2021; stacjÄ&#x2122; zrobotyzowanÄ&#x2026; do obrĂłbki elementĂłw silnikĂłw lotniczych, ktĂłra umoĹźliwia realizacjÄ&#x2122; procesu obrĂłbki odlewĂłw dyfuzora (Rys. 11). Funkcjonowanie stacji podzielone jest na trzy etapy, usuniÄ&#x2122;cia naddatku (wypĹ&#x201A;ywki), wykonania fazy oraz szlifowania obrobionych powierzchni. CaĹ&#x201A;y proces realizowany jest przez robota ABB IRB 140, a realizacja kolejnych etapĂłw obrĂłbki moĹźliwa jest dziÄ&#x2122;ki wymianie narzÄ&#x2122;dzi usytuowanych w czteropozycyjnej zmieniarce. W ramach prowadzonych prac, z wykorzystaniem VR, przygotowano dokĹ&#x201A;adny model stacji, wspĂłlnie z partnerem przemysĹ&#x201A;owym omĂłwiono rozmieszczenie elementĂłw stacji, sposĂłb zaĹ&#x201A;adunku detali, analizowano scenariusze awarii, napraw oraz przeglÄ&#x2026;dĂłw serwisowych. Ze wzglÄ&#x2122;du na koniecznoĹ&#x203A;Ä&#x2021; spotkaĹ&#x201E; z inĹźynierami z USA oraz Kanady przydatna okazaĹ&#x201A;a siÄ&#x2122; funkcja Virtual Reality Meeting.
oraz moĹźliwoĹ&#x203A;ci Virtual Reality Meeting pozwala projektowaÄ&#x2021; i planowaÄ&#x2021; w sposĂłb dotychczas nieosiÄ&#x2026;galny.
4. Wnioski W artykule zaprezentowano dostÄ&#x2122;pne moĹźliwoĹ&#x203A;ci oraz przykĹ&#x201A;ad zastosowania wirtualnej rzeczywistoĹ&#x203A;ci w projektowaniu stacji zrobotyzowanych. Przedstawiono historiÄ&#x2122; oraz idee zwiÄ&#x2026;zane z zastosowaniem VR. Pokazano dostÄ&#x2122;pne narzÄ&#x2122;dzia sprzÄ&#x2122;towe oraz programowe. Na konkretnym przykĹ&#x201A;adzie przedstawiono proces budowy wirtualnego Ĺ&#x203A;rodowiska, wymagany sprzÄ&#x2122;t oraz moĹźliwoĹ&#x203A;ci uĹźycia. Zaprezentowany w ramach artykuĹ&#x201A;u sposĂłb projektowania stacji zrobotyzowanych jest moĹźliwy do zastosowania przy projektowaniu róşnych stacji zrobotyzowanych i systemĂłw zautomatyzowanych. Wykorzystanie narzÄ&#x2122;dzi projektowania i programowania off-line, wirtualnej rzeczywistoĹ&#x203A;ci
` # & 1. Burdea G.C., Coiffet P., Virtual reality technology. John Wiley & Sons, 2003. 2. Gallagher A.G., Ritter E.M., Champion H., Higgins G., Fried M.P., Moses G., Smith D., Satava R.M., Virtual reality simulation for the operating room: proficiency-based training as a paradigm shift in surgical skills training. â&#x20AC;&#x153;Annals of Surgeryâ&#x20AC;?, Vol. 241, No. 2, 2005, 364â&#x20AC;&#x201C;372, DOI: 10.1097/01.sla.0000151982.85062.80. 3. Grajewski D., GĂłrski F., Zawadzki P., Hamrol A., Application of virtual reality techniques in design of ergonomic manufacturing workplaces. â&#x20AC;&#x153;Procedia Computer Scienceâ&#x20AC;?, Vol. 25, 2013, 289â&#x20AC;&#x201C;301, DOI: 10.1016/j.procs.2013.11.035. 4. KoĹşlak M., Kurzeja A., Nawrat A., Virtual Reality Technology for Military and Industry Training Programs. [in:] Nawrat A., KuĹ&#x203A; Z. (eds) Vision Based Systems for UAV Applications. Studies in Computational Intelligence, Vol. 481, 2013, 327â&#x20AC;&#x201C;334, Springer, Heidelberg, DOI: 10.1007/978-3-319-00369-6_21. 5. Juan Li Wen, et al. Analysis and simulation of a 6R robot in virtual reality. IFAC-PapersOnLine, Vol. 49, No. 16, 2016, 426â&#x20AC;&#x201C;430, DOI: 10.1016/j.ifacol.2016.10.078. 6. Matsas E., Vosniakos G.-Ch., Design of a virtual reality training system for humanâ&#x20AC;&#x201C;robot collaboration in manufacturing tasks. â&#x20AC;&#x153;International Journal on Interactive Design and Manufacturingâ&#x20AC;?, Vol. 11, No. 2, 2017, 139â&#x20AC;&#x201C;153, DOI: 10.1007/s12008-015-0259-2. 7. Mihelj M., Novak D., BeguĹĄ S., Virtual Reality Technology and Applications. Intelligent Systems, Control and Automation: Science and Engineering. Springer, 2014. 8. Ortiz J.S. et al., Virtual Training for Industrial Automation Processes Through Pneumatic Controls. [in:] De Paolis L., Bourdot P. (eds) Augmented Reality, Virtual Reality, and Computer Graphics. AVR 2018. Lecture Notes in Computer Science, Vol. 10851. Springer, Cham, DOI: 10.1007/978-3-319-95282-6_37.
67
& " " = % " % 8 = " %= ' % 14. Factory 4.0 â&#x20AC;&#x201C; Renault Experiment With Mixed Reality To Control Quality, 2017 [https://metrology.news/renaulttrucks-experiment-with-mixed-reality-control-quality]. 15. 3D AR App Mercedes cAR and VR goggles: Mercedes-Benz is accelerating digitalisation in Sales, 2018 [https:// medium.com/xrbootcamp/3d-ar-app-mercedes-car-andvr-goggles-mercedes-benz-is-accelerating-digitalisation-insales-d32c72f1d25a]. 16. Francois de Bodinat, Virtual reality in the driverâ&#x20AC;&#x2122;s seat, 2016 [www.itproportal.com/features/virtual-reality-in-the-drivers-seat].pl/?gclid=EAIaIQobChMIyryAjZCx4gIVi5I YCh3lxwzgEAAYASAAEgKPW_D_BwE]. 17. Lowood H.E. for The Encyclopedia Britannica. Virtual reality (VR) [www.britannica.com/technology/virtual-reality].
9. Shao F., Robotham A.J., Hon K.K., Development of a 1:1 Scale True Perception Virtual Reality System for design review in automotive industry. â&#x20AC;&#x153;Advances in Manufacturing Technologyâ&#x20AC;?, Vol. 2, 2012, 468â&#x20AC;&#x201C;743. 10. Improov3: Collaborate in VR around your CAD model [www.improovr.com/home-v2/?gclid=EAIaIQobChMIg d35972s4QIVBcqyCh3OVAOHEAAYAyAAEgL3KPD_ BwE&fbclid=IwAR2POrwBrMh-1j4v0mjn67VER9LXkK SKZcL6NFDSQo21a2KL4os0o-r1u6U]. 11. Manufacturing Cars with Virtual Reality, 2017 [www.asme. org/topics-resources/content/manufacturing-cars-with-virtual-reality]. 12. Virtual Reality Im Triebwerksbau Wird Realität, 2016 [www.bdli.de/innovation-der-woche/virtual-reality-im-triebwerksbau-wird-realitaet]. 13. Auf dem Weg zur Industrie 4.0 | Rolls-Royce Deutschland [www.youtube.com/watch?v=mhk-maMWJkg].
0 # ^ X - . # X G . Until recently, virtual reality was associated mainly with computer games. However, this technology is not only the future of the entertainment industry â&#x20AC;&#x201C; it is increasingly used in IT, medicine and industry. Virtual reality generates a completely new digital world. It is a reality designed using computer tools, thanks to which the user feels as if he was really present in it. Currently, the virtual reality has a lot to offer the industry â&#x20AC;&#x201C; allows for the three-dimensional design of robotic stations, creating simulation models, through which you can see exactly what the new station will look like and functioning before its launch. The article presents the process of designing and programming robotic stations using virtual reality. KeywordsV % G % M44 % S X f .
( - *
< $ $
& ' ORCID: 0000-0002-6428-0959
' G & ' ORCID: 0000-0003-3648-9808
' X ' O Q F X 6. . U ; E ' (!?+A(!?T ' ' ' E ; ' 4 ' $ V F X ; " ' $ X G % .' G E N P % E . G J
' F ' O Q F X 6. . U ; (!!BP(!? G ' J ' $ ; ' 4 ' $ V F X ; (!?* G ' H ' $ S' (!?* ' ' " ' $ X G N . ' H ; J G ' G . G J
68
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 2/2020, 69â&#x20AC;&#x201C;76, DOI: 10.14313/PAR_236/69
; G HO 'J ' . ;>A > ; ' ( - $ F X % ; ' = 6 # % ; . F (% @E!(? X J
$ $ . ArtykuĹ&#x201A; stanowi wprowadzenie do zagadnienia jakoĹ&#x203A;ci energii elektrycznej w sieciach elektroenergetycznych WN/SN zasilajÄ&#x2026;cych zakĹ&#x201A;ady przemysĹ&#x201A;owe. W artykule na wstÄ&#x2122;pie zostaĹ&#x201A;a omĂłwiona problematyka zwiÄ&#x2026;zana z wpĹ&#x201A;ywem nieliniowych odbiornikĂłw energii elektrycznej na przemysĹ&#x201A;owe sieci elektroenergetyczne. Kolejno przedstawiona zostaĹ&#x201A;a charakterystyka badanej sieci 110/6 kV, jej kluczowe elementy, a takĹźe zasilane zakĹ&#x201A;ady oraz konfiguracja torĂłw pomiarowych i analizatorĂłw sieci. W punkcie tym przedstawiony zostaĹ&#x201A; schemat zasilania GPZ na potrzeby zakĹ&#x201A;adĂłw przemysĹ&#x201A;owych, w ktĂłrego polach zasilajÄ&#x2026;cych dokonano pomiarĂłw po stronie 6 kV. NastÄ&#x2122;pnie w celu lepszego zrozumienia praktycznych pomiarĂłw przytoczony zostaĹ&#x201A;, symetryczny ukĹ&#x201A;ad napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw sĹ&#x201A;uĹźÄ&#x2026;cy za model teoretyczny. Przy tym zdefiniowane i omĂłwione zostaĹ&#x201A;y takie parametry jak: wspĂłĹ&#x201A;czynniki asymetrii napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw, moc czynna, bierna i pozorna wedĹ&#x201A;ug definicji Budeanu, wspĂłĹ&#x201A;czynniki zawartoĹ&#x203A;ci harmonicznych THD oraz TTHD dla napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw oraz wskaĹşniki krĂłtko- i dĹ&#x201A;ugookresowego migotania Ĺ&#x203A;wiatĹ&#x201A;a. WpĹ&#x201A;yw wszystkich parametry zostanie przeanalizowane przy omawianiu wynikĂłw pomiarĂłw badaĹ&#x201E; przeprowadzonych w zakĹ&#x201A;adach przemysĹ&#x201A;owych. ArtykuĹ&#x201A; koĹ&#x201E;czy siÄ&#x2122; zebraniem wnioskĂłw oraz podsumowaniem. $ V RF ??!A+ ^% ] . % J % 'J
1. Wprowadzenie JakoĹ&#x203A;Ä&#x2021; dostaw energii elektrycznej jest waĹźnym kryterium dotyczÄ&#x2026;cym energii elektrycznej. Ma kluczowe znaczenie po stronie dostawcy oraz odbiorcy. Dostawca musi speĹ&#x201A;niÄ&#x2021; szereg kryteriĂłw zwiÄ&#x2026;zanych z parametrami energii elektrycznej, ktĂłre okreĹ&#x203A;la rozporzÄ&#x2026;dzenie [11]. Odbiorca musi dotrzymywaÄ&#x2021; warunkĂłw umowy z dostawcÄ&#x2026;. Warunki te sÄ&#x2026; uzaleĹźnione od tego, do jakiej grupy przyĹ&#x201A;Ä&#x2026;czeniowej zaliczany jest zarĂłwno dostawca jak i odbiorca. RozpatrujÄ&#x2026;c aspekt duĹźych zakĹ&#x201A;adĂłw przemysĹ&#x201A;owych naleĹźÄ&#x2026;cych do II czy III grupy przyĹ&#x201A;Ä&#x2026;czeniowej zasilanych z sieci dystrybucyjnej 110 kV lub 1â&#x20AC;&#x201C;110 kV, para-
) " V " " ' % (((( & ) ' () !B (!?B % ' ' () !@ (!(!
!
metry jakoĹ&#x203A;ciowe energii elektrycznej odgrywajÄ&#x2026; istotne znaczenie w procesie rozliczania z dostawcÄ&#x2026; energii elektrycznej. Drugim istotnym zagadnieniem zwiÄ&#x2026;zanym z jakoĹ&#x203A;ciÄ&#x2026; energii elektrycznej, patrzÄ&#x2026;c z perspektywy przedsiÄ&#x2122;biorstwa przemysĹ&#x201A;owego, jest duĹźa liczba maszyn i urzÄ&#x2026;dzeĹ&#x201E; zainstalowanych na ich obszarze, ktĂłre czÄ&#x2122;sto podlegajÄ&#x2026; skomplikowanym algorytmom sterowania. Ma to na celu np. poprawÄ&#x2122; efektywnoĹ&#x203A;ci energetycznej danego urzÄ&#x2026;dzenia, czy zwiÄ&#x2122;kszenie jego funkcjonalnoĹ&#x203A;ci i wydajnoĹ&#x203A;ci. Obecnie znaczna czÄ&#x2122;Ĺ&#x203A;Ä&#x2021; z nich zbudowana jest na bazie elementĂłw pĂłĹ&#x201A;przewodnikowych. UrzÄ&#x2026;dzenia te sÄ&#x2026; czÄ&#x2122;sto nieliniowymi odbiornikami energii elektrycznej czy mocy biernej. Oznacza to, Ĺźe pobierajÄ&#x2026; z linii elektroenergetycznej prÄ&#x2026;dy odksztaĹ&#x201A;cone o duĹźej zawartoĹ&#x203A;ci harmonicznych. OdksztaĹ&#x201A;cenia prÄ&#x2026;dĂłw oraz ich asymetria powodujÄ&#x2026; z kolei odksztaĹ&#x201A;cenia napiÄ&#x2122;Ä&#x2021; zasilajÄ&#x2026;cych oraz wzrost strat mocy w urzÄ&#x2026;dzeniach elektroenergetycznych. PrzepĹ&#x201A;yw mocy biernej (gĹ&#x201A;Ăłwnie indukcyjnej) wpĹ&#x201A;ywa na pogorszenie wspĂłĹ&#x201A;czynnika mocy. Dodatkowo dla niektĂłrych typĂłw maszyn i urzÄ&#x2026;dzeĹ&#x201E; wystÄ&#x2122;pujÄ&#x2026; krĂłtkotrwaĹ&#x201A;e piki prÄ&#x2026;dowe znacznych wartoĹ&#x203A;ci, ktĂłre powodujÄ&#x2026; dodatkowe zakĹ&#x201A;Ăłcenia i fluktuacje napiÄ&#x2122;cia w danej sieci elektroenergetycznej. Wszystko to skĹ&#x201A;ada siÄ&#x2122; na pogor-
69
8 % '% ); L 8 " % 8
= % " % = ((( szenie parametrĂłw zasilania, czym stwarza realne zagroĹźenie nieprawidĹ&#x201A;owÄ&#x2026; pracÄ&#x2026; a nawet uszkodzeniem urzÄ&#x2026;dzeĹ&#x201E; wraĹźliwych na zakĹ&#x201A;Ăłcenia. Coraz wiÄ&#x2122;ksze znaczenie dla zakĹ&#x201A;adĂłw przemysĹ&#x201A;owych majÄ&#x2026; rĂłwnieĹź aspekty jakoĹ&#x203A;ciowe. Jest to szczegĂłlnie waĹźne wszÄ&#x2122;dzie tam, gdzie prowadzony jest skomplikowany proces produkcyjny lub obrĂłbczy z zadanÄ&#x2026; dokĹ&#x201A;adnoĹ&#x203A;ciÄ&#x2026;, ktĂłrego zakĹ&#x201A;Ăłcenie bÄ&#x2026;dĹş przerwanie jest nieodwracalne w skutkach i przekĹ&#x201A;ada siÄ&#x2122; na straty finansowe zakĹ&#x201A;adu produkcyjnego. ZakĹ&#x201A;ady produkcyjne decydujÄ&#x2026; siÄ&#x2122; wiÄ&#x2122;c na szereg dziaĹ&#x201A;aĹ&#x201E; majÄ&#x2026;cych na celu analizÄ&#x2122; jakoĹ&#x203A;ci energii elektrycznej. DziaĹ&#x201A;ania te polegajÄ&#x2026; na ciÄ&#x2026;gĹ&#x201A;ym monitorowaniu, wykrywaniu oraz ostrzeganiu o ewentualnych zakĹ&#x201A;Ăłceniach oraz ĹşrĂłdĹ&#x201A;ach ich powstawania, a takĹźe na monitoringu podstawowych parametrĂłw i ich dopuszczalnych wartoĹ&#x203A;ci odchyleĹ&#x201E;. Analizy prowadzone sÄ&#x2026; od GPZ (gĹ&#x201A;Ăłwny punkt zasilania) o napiÄ&#x2122;ciu np. 110 kV aĹź do rozdzielni gĹ&#x201A;Ăłwnych, oddziaĹ&#x201A;owych czy poszczegĂłlnych odbiornikĂłw nN (niskie napiÄ&#x2122;cie) 0,4 kV. W tym celu wykorzystywane sÄ&#x2026; analizatory sieci, ktĂłre dokonujÄ&#x2026; zaawansowanej analizy parametrĂłw iloĹ&#x203A;ciowych i jakoĹ&#x203A;ciowych przepĹ&#x201A;ywajÄ&#x2026;cego prÄ&#x2026;du. DziÄ&#x2122;ki protokoĹ&#x201A;om komunikacyjnym (Modbus TCP/IP, RTU, Profinet) dane z urzÄ&#x2026;dzeĹ&#x201E; przesyĹ&#x201A;ane sÄ&#x2026; do gĹ&#x201A;Ăłwnego serwera z dedykowanym oprogramowaniem, gdzie sÄ&#x2026; obrabiane i przechowywane. W przypadku rozbudowanych systemĂłw dane te mogÄ&#x2026; byÄ&#x2021; zbierane jednoczeĹ&#x203A;nie z duĹźej liczby urzÄ&#x2026;dzeĹ&#x201E;. Pozwala to na lepsze zarzÄ&#x2026;dzanie systemem oraz wykrywanie anomalii [1]. ArtykuĹ&#x201A; ten stanowi wprowadzenie teoretyczne do analizy praktycznych pomiarĂłw parametrĂłw zasilania dla zakĹ&#x201A;adĂłw przemysĹ&#x201A;owych. ZakĹ&#x201A;ady te zasilane sÄ&#x2026; z sieci dystrybucyjnej 110 kV przez trzy transformatory 110/6 kV o Ĺ&#x201A;Ä&#x2026;cznej mocy 48 MVA. Praktyczna analiza tych pomiarĂłw zawarta zostanie w kolejnym artykule.
Rys. 1. Schemat zasilania GPZ na potrzeby zakĹ&#x201A;adĂłw przemysĹ&#x201A;owych Fig. 1. GPZ power supply diagram for industrial plants
48 MVA (tab. 1). Transformatory sÄ&#x2026; poĹ&#x201A;Ä&#x2026;czone w grupÄ&#x2122; Yd11 o napiÄ&#x2122;ciu zwarcia 11,5%. PrÄ&#x2026;d nominalny strony pierwotnej kaĹźdego z transformatorĂłw wynosi 84 A natomiast strony wtĂłrnej 1466,3 A. Od strony wtĂłrnej transformatorĂłw tory prÄ&#x2026;dowe sÄ&#x2026; wprowadzone do budynku stacji trzema liniami na pola zasilajÄ&#x2026;ce zespoĹ&#x201A;y szynowe, ktĂłre zasilajÄ&#x2026; Ĺ&#x201A;Ä&#x2026;cznie 53 pola. Kolejno pola odpĹ&#x201A;ywowe przez kable ziemne SN zasilajÄ&#x2026; na poszczegĂłlnych obiektach zainstalowane w nich transformatory 6/0,4 kV, ktĂłre odpowiadajÄ&#x2026; za dostarczanie energii do rozdzielni gĹ&#x201A;Ăłwnych. Rozdzielnie gĹ&#x201A;Ăłwnie z kolei poprzez szynoprzewody i tory silnoprÄ&#x2026;dowe zasilajÄ&#x2026; wszystkie odbiorniki zainstalowane na obiektach. RozpatrujÄ&#x2026;c stacjÄ&#x2122; GPZ, w czÄ&#x2122;Ĺ&#x203A;ci praktycznej przedstawione zostanÄ&#x2026; dane pomiarowe zebrane z torĂłw prÄ&#x2026;dowych 6 kV, na zasilaniu zespoĹ&#x201A;Ăłw szynowych sekcji I, II oraz III kaĹźdego z transformatorĂłw. Pomiar oraz rozliczanie zakĹ&#x201A;adĂłw przemysĹ&#x201A;owych z dostawcÄ&#x2026; energii elektrycznej realizowany jest po stronie 110 kV, a poniĹźsze zakĹ&#x201A;ady traktowane sÄ&#x2026; jako caĹ&#x201A;oĹ&#x203A;Ä&#x2021;. Podczas analizy istotnym czynnikiem wpĹ&#x201A;ywajÄ&#x2026;cym na róşnicÄ&#x2122; w jakoĹ&#x203A;ci zasilania na poszczegĂłlnych torach byĹ&#x201A; charakter poszczegĂłlnych odbiorcĂłw energii elektrycznej: ZakĹ&#x201A;ad 1 â&#x20AC;&#x201C; obrabiarki CNC, spawarki laserowe, piece do wygrzewania, zgrzewarki â&#x20AC;&#x201C; odbiorniki nieliniowe â&#x20AC;&#x201C; pomiar w polu zasilajÄ&#x2026;cym 12;
X' ! # ]]Â Â&#x201A;| / #
! W dobie wysoko zautomatyzowanych zakĹ&#x201A;adĂłw przemysĹ&#x201A;owych o skomplikowanych procesach produkcyjnych pewnoĹ&#x203A;Ä&#x2021;, niezawodnoĹ&#x203A;Ä&#x2021; oraz ciÄ&#x2026;gĹ&#x201A;oĹ&#x203A;Ä&#x2021; zasilania jak rĂłwnieĹź jego odpowiednia jakoĹ&#x203A;Ä&#x2021; jest podstawowym wymaganiem stawianym sieci zasilajÄ&#x2026;cej. Ze wzglÄ&#x2122;du na znaczne moce przyĹ&#x201A;Ä&#x2026;czeniowe dochodzÄ&#x2026;ce do kilkudziesiÄ&#x2122;ciu MVA zakĹ&#x201A;ady te zasilane sÄ&#x2026; najczÄ&#x2122;Ĺ&#x203A;ciej z sieci WN (wysokie napiÄ&#x2122;cie) lub SN (Ĺ&#x203A;rednie napiÄ&#x2122;cie) najczÄ&#x2122;Ĺ&#x203A;ciej 110 kV lub 15 kV (rys. 1). GPZ zasilany jest z dwĂłch linii 110 kV nr 1 oraz 2 (dla celĂłw ochrony danych rys. 1 zostaĹ&#x201A; uogĂłlniony). Linie wysokiego napiÄ&#x2122;cia stanowiÄ&#x2026; linie napowietrzne jednotorowe na stalowych konstrukcjach wsporczych, chronione przewodami odgromowymi na caĹ&#x201A;ej dĹ&#x201A;ugoĹ&#x203A;ci. Obydwie linie majÄ&#x2026; przewody robocze 3 Ă&#x2014; AFLâ&#x20AC;&#x201C;6 240 mm2. PowyĹźsza stacja GPZ transformuje napiÄ&#x2122;cie 110 kV na 6 kV przy wykorzystaniu trzech transformatorĂłw o Ĺ&#x201A;Ä&#x2026;cznej mocy
Tab. 1. Charakterystyka transformatorĂłw w stacji GPZ Tab. 1. Characteristics of transformers in the GPZ station
Nazwa stacji
Oznaczenie transformatora
PrzekĹ&#x201A;adnia transformatora [kV/kV]
Moc transformatora [MVA]
T1
110/6
16
T2
110/6
16
T3
110/6
16
Stacja GPZ
70
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
= Tab. 2. Podstawowe parametry pomiarowe analizatora UMG 511 wedĹ&#x201A;ug normy EN61000 [2] Tab. 2. Basic measurement parameters of the UMG 511 analyzer according to EN61000 [2]
ZakĹ&#x201A;ad 1 jw. â&#x20AC;&#x201C; odbiorniki nieliniowe- pomiar w polu zasilajÄ&#x2026;cym 32; ZakĹ&#x201A;ad 2 â&#x20AC;&#x201C; zakĹ&#x201A;ad metalurgiczny â&#x20AC;&#x201C; piec hutniczy indukcyjny â&#x20AC;&#x201C; odbiorniki nieliniowe â&#x20AC;&#x201C; pomiar w polu zasilajÄ&#x2026;cym 4.
Podstawowe pomiary
DokĹ&#x201A;adnoĹ&#x203A;Ä&#x2021; pomiaru napiÄ&#x2122;cia
0,1%
DokĹ&#x201A;adnoĹ&#x203A;Ä&#x2021; pomiaru prÄ&#x2026;du
0,2%
DokĹ&#x201A;adnoĹ&#x203A;Ä&#x2021; pomiaru energii czynnej (kWh,â&#x20AC;Ś/5 A)
0,2 S
CzÄ&#x2122;stotliwoĹ&#x203A;Ä&#x2021; prĂłbkowania
20 kHz
RMS â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; chwilowa
NapiÄ&#x2122;cie, prÄ&#x2026;d, czÄ&#x2122;stotliwoĹ&#x203A;Ä&#x2021;
â&#x20AC;˘
Moc czynna, bierna, pozorna/caĹ&#x201A;kowita i na fazÄ&#x2122;
â&#x20AC;˘
WspĂłĹ&#x201A;czynnik mocy/caĹ&#x201A;kowity i na fazÄ&#x2122;
â&#x20AC;˘
Pomiar energii
Energia czynna, bierna i pozorna [L1, L2, L3, L4, ÎŁ L1â&#x20AC;&#x201C;L3, ÎŁ L1â&#x20AC;&#x201C;L4]
â&#x20AC;˘
Liczba taryf
8
Rejestracja wartoĹ&#x203A;ci Ĺ&#x203A;rednich
NapiÄ&#x2122;cie, prÄ&#x2026;d/ aktualna i maksymalna
â&#x20AC;˘
Czynna, bierna i pozorna moc/aktualna i maksymalna
â&#x20AC;˘
CzÄ&#x2122;stotliwoĹ&#x203A;Ä&#x2021;/ aktualna i maksymalna
â&#x20AC;˘
Do celĂłw pomiarowych w polach zasilajÄ&#x2026;cych sekcje I, II oraz III stosowane sÄ&#x2026; analizatory sieci, do ktĂłrych podĹ&#x201A;Ä&#x2026;czone sÄ&#x2026; dzielniki napiÄ&#x2122;ciowe (pomiar dla SN) oraz przekĹ&#x201A;adniki prÄ&#x2026;dowe TPU 44.23 1500/5A. W omĂłwionym przypadku dla kaĹźdego z torĂłw zainstalowane sÄ&#x2026; analizatory sieci klasy A Janitza UMG 511, ktĂłre stanowiÄ&#x2026; zaawansowane narzÄ&#x2122;dzia pomiarowe dostarczajÄ&#x2026;ce duĹźej iloĹ&#x203A;ci danych potrzebnych do oceny parametrĂłw iloĹ&#x203A;ciowych oraz jakoĹ&#x203A;ciowych energii elektrycznej. NajwaĹźniejsze parametry pomiarowe tego typu analizatora zestawiono w tabeli 2.
[' ) Â&#x20AC; !
[']' $
Â&#x192; " Analiza parametrĂłw sieci energetycznej wymaga zdefiniowania ich modeli matematycznych. Konieczne jest zdefiniowanie ukĹ&#x201A;adu symetrycznego napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw, ktĂłry posĹ&#x201A;uĹźy za model teoretyczny w praktycznych rozwaĹźaniach.
JakoĹ&#x203A;Ä&#x2021; energii
Harmoniczne/ napiÄ&#x2122;cie i prÄ&#x2026;d
1â&#x20AC;&#x201C;63
Harmoniczne/ moc czynna i bierna
1â&#x20AC;&#x201C;63
WspĂłĹ&#x201A;czynnik znieksztaĹ&#x201A;ceĹ&#x201E; THD-U w %
â&#x20AC;˘
WspĂłĹ&#x201A;czynnik znieksztaĹ&#x201A;ceĹ&#x201E; THD-I w %
â&#x20AC;˘
Asymetria napiÄ&#x2122;cia
â&#x20AC;˘
SkĹ&#x201A;adowa prÄ&#x2026;du i napiÄ&#x2122;cia, zgodna, przeciwna i zerowa
â&#x20AC;˘
Migotanie krĂłtko i dĹ&#x201A;ugookresowe
â&#x20AC;˘
Stany przejĹ&#x203A;ciowe
> 50 Îźs
Rys. 2. Wykres wektorowy symetrycznego ukĹ&#x201A;adu napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw [1, 3] Fig. 2. Vector diagram of the symmetrical voltage and current system [1, 3]
Z rysunku 2 wynikajÄ&#x2026; podstawowe zaleĹźnoĹ&#x203A;ci:
â&#x20AC;˘
UL1 = UL1
(1)
20 ms
UL2 = a2UL1
(2)
UL3 = aUL1
(3)
UL1L2 = UL1L2
(4)
UL2L3 = a2UL1L2
(5)
256 MB
UL3L1 = aUL1L2
(6)
Ĺ&#x161;rednie, minimalne, maksymalne wartoĹ&#x203A;ci
â&#x20AC;˘
IL1 = IL1
(7)
Liczba kanaĹ&#x201A;Ăłw pomiarowych
8
IL2 = a2IL1
(8)
Komunikaty alarmowe
â&#x20AC;˘
IL3 = aIL1
(9)
Znaczniki czasu
â&#x20AC;˘
UĹ&#x203A;rednianie RMS, arytmetyka
â&#x20AC;˘
Zdarzenia/funkcja rejestratora bĹ&#x201A;Ä&#x2122;dĂłw KrĂłtkotrwaĹ&#x201A;e przerwy Funkcja oscylacyjna (ksztaĹ&#x201A;t fali U i I)
â&#x20AC;˘
TÄ&#x2122;tnienia napiÄ&#x2122;cia
â&#x20AC;˘
Zapis pod- i nadnapiÄ&#x2122;cia
â&#x20AC;˘
Rejestracja danych pomiarowych
PamiÄ&#x2122;Ä&#x2021; (Flash)
gdzie: UL1, UL2, UL3 â&#x20AC;&#x201C; napiÄ&#x2122;cia fazowe, UL1L2, UL2L3, UL3L1 â&#x20AC;&#x201C; napiÄ&#x2122;cia miÄ&#x2122;dzyfazowe, IL1, IL2, IL3 â&#x20AC;&#x201C; prÄ&#x2026;dy fazowe, a â&#x20AC;&#x201C; operator obrotu o 120°, a2 â&#x20AC;&#x201C; operator obrotu o 240°.
71
8 % '% ); L 8 " % 8
= % " % = (((
UkĹ&#x201A;ad trĂłjfazowy jest symetryczny napiÄ&#x2122;ciowo, jeĹ&#x203A;li wektory napiÄ&#x2122;Ä&#x2021; fazowych sÄ&#x2026; przesuniÄ&#x2122;te wzglÄ&#x2122;dem siebie o 120° oraz ich wartoĹ&#x203A;ci skuteczne sÄ&#x2026; sobie rĂłwne. Wynika z tego, Ĺźe w ukĹ&#x201A;adzie symetrycznym suma wartoĹ&#x203A;ci zespolonych napiÄ&#x2122;Ä&#x2021; fazowych jest rĂłwna 0. Identyczne warunki moĹźna zapisaÄ&#x2021; dla napiÄ&#x2122;Ä&#x2021; miÄ&#x2122;dzyfazowych oraz prÄ&#x2026;dĂłw fazowych pĹ&#x201A;ynÄ&#x2026;cych w obwodzie elektrycznym.
gdzie: Um1, Um2 â&#x20AC;&#x201C; skĹ&#x201A;adowe wartoĹ&#x203A;ci skutecznych napiÄ&#x2122;cia kolejnoĹ&#x203A;ci zgodnej i przeciwnej, aum â&#x20AC;&#x201C; wspĂłĹ&#x201A;czynniki asymetrii napiÄ&#x2122;Ä&#x2021; miÄ&#x2122;dzyfazowych. ZaleĹźnoĹ&#x203A;ci te umoĹźliwiajÄ&#x2026; opisanie asymetrii napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw badanej sieci.
['[' + ` Aby dokonaÄ&#x2021; opisu przesyĹ&#x201A;anej energii naleĹźy skorzystaÄ&#x2021; z jednej z teorii mocy. Jedna z najpowszechniej dotychczas stosowanych teorii to teoria mocy wedĹ&#x201A;ug I. Budeanu. Opiera siÄ&#x2122; na rozĹ&#x201A;oĹźeniu przebiegĂłw napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw przy wykorzystaniu szeregu Fouriera. Przebiegi odksztaĹ&#x201A;cone okresowe napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw opisujÄ&#x2026; nastÄ&#x2122;pujÄ&#x2026;ce szeregi trygonometryczne:
['X' )
Â&#x192; " Z zaleĹźnoĹ&#x203A;ci (1)â&#x20AC;&#x201C;(9) wynika, Ĺźe ukĹ&#x201A;ad jest niesymetryczny, gdy napiÄ&#x2122;cia lub prÄ&#x2026;dy nie sÄ&#x2026; przesuniÄ&#x2122;te w fazie o wartoĹ&#x203A;ci operatorĂłw obrotu a i a2 lub gdy ich wartoĹ&#x203A;ci skuteczne nie sÄ&#x2026; sobie rĂłwne [1, 3]. Aby opisaÄ&#x2021; iloĹ&#x203A;ciowo zjawisko asymetrii napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw stosuje siÄ&#x2122; wspĂłĹ&#x201A;czynniki asymetrii. Jednym ze sposobĂłw ich wyznaczenia jest analityczny rozkĹ&#x201A;ad ukĹ&#x201A;adu trĂłjfazowego wektorĂłw napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw na sumÄ&#x2122; skĹ&#x201A;adajÄ&#x2026;cÄ&#x2026; siÄ&#x2122; z trzech symetrycznych ukĹ&#x201A;adĂłw: kolejnoĹ&#x203A;ci zgodnej, przeciwnej oraz zerowej. Zazwyczaj wspĂłĹ&#x201A;czynniki te odnoszÄ&#x2026; wartoĹ&#x203A;ci skĹ&#x201A;adowej kolejnoĹ&#x203A;ci przeciwnej lub/i zerowej do wartoĹ&#x203A;ci skĹ&#x201A;adowej symetrycznej kolejnoĹ&#x203A;ci zgodnej [1, 3]. Dla napiÄ&#x2122;Ä&#x2021; wspĂłĹ&#x201A;czynniki asymetrii okreĹ&#x203A;lajÄ&#x2026; nastÄ&#x2122;pujÄ&#x2026;ce zaleĹźnoĹ&#x203A;ci:
Îąu2 =
U2 â&#x2039;&#x2026; 100% U1
(10)
Îą u0 =
U0 â&#x2039;&#x2026; 100% U1
(11)
Îąu =
U 2 + U0
â&#x2039;&#x2026; 100%
U1
(
)
u = U 0 + 2 â&#x2C6;&#x2018; h =1U h cos hĎ&#x2030;t + Ψ h = U 0 + 2 Re â&#x2C6;&#x17E;
(â&#x2C6;&#x2018;
â&#x2C6;&#x17E;
U he jhĎ&#x2030;t
h =1
)
(17)
(
)
i = I 0 + 2 â&#x2C6;&#x2018; h =1 I h cos hĎ&#x2030;t + Ψ h â&#x2C6;&#x2019; Ď&#x2022;h = I 0 + 2 Re â&#x2C6;&#x17E;
(â&#x2C6;&#x2018;
â&#x2C6;&#x17E;
I e jhĎ&#x2030;t
h =1 h
(18) gdzie: h â&#x20AC;&#x201C; rzÄ&#x2026;d harmonicznej, Uh, Ih â&#x20AC;&#x201C; kolejno skuteczna wartoĹ&#x203A;Ä&#x2021; napiÄ&#x2122;cia i prÄ&#x2026;du h-tej harmonicznej, U0, I0 â&#x20AC;&#x201C; skĹ&#x201A;adowe staĹ&#x201A;e w napiÄ&#x2122;ciu i prÄ&#x2026;dzie, Ψh â&#x20AC;&#x201C; faza poczÄ&#x2026;tkowa h-tej harmonicznej napiÄ&#x2122;cia, h â&#x20AC;&#x201C; przesuniÄ&#x2122;cie fazowe miÄ&#x2122;dzy h-tÄ&#x2026; harmonicznÄ&#x2026; napiÄ&#x2122;cia i prÄ&#x2026;du [5]. W przypadku braku skĹ&#x201A;adowych staĹ&#x201A;ych w chwilowych wartoĹ&#x203A;ciach napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw dla odbiornika jednofazowego wzory na moc czynnÄ&#x2026;, biernÄ&#x2026; i pozornÄ&#x2026; wedĹ&#x201A;ug teorii Budeanu przyjmujÄ&#x2026; postaÄ&#x2021;:
(12)
â&#x2C6;&#x17E;
â&#x2C6;&#x2018;U I
P =
h h
cos Ď&#x2022;h
(19)
sin Ď&#x2022;h
(20)
h =1
gdzie: U1, U2, U0 â&#x20AC;&#x201C; skĹ&#x201A;adowe wartoĹ&#x203A;ci skutecznych napiÄ&#x2122;cia kolejnoĹ&#x203A;ci zgodnej, przeciwnej i zerowej, au2, au0, au â&#x20AC;&#x201C; kolejno wspĂłĹ&#x201A;czynniki asymetrii przeciwnej, zerowej i caĹ&#x201A;kowitej napiÄ&#x2122;Ä&#x2021; fazowych.
QB =
â&#x2C6;&#x17E;
â&#x2C6;&#x2018;U I
h h
h =1
Analogicznie moĹźna opisaÄ&#x2021; wspĂłĹ&#x201A;czynniki asymetrii prÄ&#x2026;dĂłw:
Îąi2 =
I2 â&#x2039;&#x2026; 100% I1
Dla przebiegĂłw sinusoidalnych, tak zdefiniowana moc bierna, bÄ&#x2122;dzie zawieraĹ&#x201A;a jedynie skĹ&#x201A;adowÄ&#x2026; podstawowÄ&#x2026;, ktĂłra bÄ&#x2122;dzie stanowiĹ&#x201A;a czÄ&#x2122;Ĺ&#x203A;Ä&#x2021; urojonÄ&#x2026; zespolonej mocy pozornej:
(13)
(21)
Îą i0 =
Îąi =
I0 â&#x2039;&#x2026; 100% I1
I 2 + I0 I1
â&#x2039;&#x2026; 100%
(14)
gdzie: U1, I1 â&#x20AC;&#x201C; kolejno skuteczna wartoĹ&#x203A;Ä&#x2021; napiÄ&#x2122;cia i prÄ&#x2026;du skĹ&#x201A;adowej podstawowej, j1 â&#x20AC;&#x201C; przesuniÄ&#x2122;cie fazowe miÄ&#x2122;dzy skĹ&#x201A;adowÄ&#x2026; podstawowÄ&#x2026; napiÄ&#x2122;cia i prÄ&#x2026;du.
(15)
ModuĹ&#x201A; mocy zespolonej z rĂłwnania (21) speĹ&#x201A;nia natomiast zaleĹźnoĹ&#x203A;Ä&#x2021;:
gdzie: I1, I2, I0 â&#x20AC;&#x201C; skĹ&#x201A;adowe wartoĹ&#x203A;ci skutecznych prÄ&#x2026;du kolejnoĹ&#x203A;ci zgodnej, przeciwnej i zerowej, ai2, ai0, ai â&#x20AC;&#x201C; kolejno wspĂłĹ&#x201A;czynniki asymetrii przeciwnej, zerowej i caĹ&#x201A;kowitej prÄ&#x2026;dĂłw fazowych [1,4].
(22) Dla przebiegu niesinusoidalnego moc pozornÄ&#x2026; jednofazowego odbiornika okreĹ&#x203A;la iloczyn skutecznych wartoĹ&#x203A;ci napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw:
W przypadku napiÄ&#x2122;Ä&#x2021; miÄ&#x2122;dzyfazowych zaburzenie ich symetrii jest powodowane przez wystÄ&#x2026;pienie skĹ&#x201A;adowej symetrycznej przeciwnej, skĹ&#x201A;adowa zerowa nie wystÄ&#x2122;puje. Wprowadza siÄ&#x2122; tylko jeden wspĂłĹ&#x201A;czynnik asymetrii napiÄ&#x2122;Ä&#x2021; miÄ&#x2122;dzyfazowych.
Îą um =
72
P
O
I
A
â&#x2C6;&#x17E;
â&#x2C6;&#x17E;
â&#x2C6;&#x2018;U â&#x2C6;&#x2018; I 2 h
h =1
2 h
(23)
h =1
Z porĂłwnania wzorĂłw (22) i (23) wynika, Ĺźe:
Um 2 â&#x2039;&#x2026; 100% Um1 M
S =U â&#x2039;&#x2026;I =
(16) S â&#x20AC;&#x201C; S1 â&#x2030;Ľ 0 R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
(24) K
A
NR 2/ 20 20
)
=
Jedynie dla przebiegów nieodkształconych relacja (24) staje się równością i tylko w takim przypadku moc pozorna jest równa modułowi mocy zespolonej. Dla przebiegów odkształconych teoria Budeanu przewiduje wielkość nazwaną deformacją D: D = S 2 − P 2 − QB2
Moduł mocy zespolonej spełnia zależność:
(25) (32)
W przypadku ogólnym zachodzi równość: S = P 2 + QB2 + D 2 = P 2 + K 2
(26)
Dla przebiegów niesinusoidalnych moc pozorną trójfazowego odbiornika można opisać iloczynem skutecznych wartości napięć i prądów:
K = QB2 + D 2
(27)
(33)
gdzie: K – moc dystorsji, D – moc deformacji [5]. Realizacja obowiązująca dla układów symetrycznych z przebiegami sinusoidalnymi
(34)
nie sprawdza się dla wartości mocy biernej QB1, L1 −L 3 opisanej zależnością (30), gdyż
(35) Rys. 3. Wielościan mocy, według Budeanu, jednofazowego obwodu z przebiegami sinusoidalnymi i odkształconymi [5] Fig. 3. Power polyhedron, according to Budeanu, of a single-phase circuit with sinusoidal and distorted waveforms [5]
Między kątami wielościanu mocy jednofazowego odbiornika nieliniowego zasilanego ze źródła napięcia okresowego zachodzi zależność: cos ϕ =
P1 , S1
PF =
P , S
cos γ =
S1 S
(28)
Podobnie jak dla obwodu jednofazowego – moc czynną, bierną i pozorną dla obwodu trójfazowego definiują zależności:
(29)
QB L1 ÷L 3 =
L3
∞
∑ ∑U
I sin ϕ hn
hn hn
(30)
n =L1 h =1
Dla przebiegów sinusoidalnych moc zespolona przyjmuje postać:
(31) gdzie: n – numer kolejnej fazy, U1, I1 – kolejno skuteczna wartość napięcia i prądu składowej podstawowej, j1 – przesunięcie fazowe między składową podstawową napięcia i prądu [5].
Dla układu wielofazowego symetrycznego podobnie jak dla układu jednofazowego można wprowadzić analogiczne zależności na wartość mocy odkształcenia (deformacji) D. Z przedstawionych rozważań wynika, że moc bierna (wzór 20, 30) nie prowadzi do bilansu mocy czynnej, biernej i pozornej jak w układach jednofazowych z przebiegami sinusoidalnymi lub wielofazowych symetrycznych z przebiegami sinusoidalnymi. W układach generujących wyższe harmoniczne prądu o niewielkich względnych wartościach prowadzi się kompensację tylko podstawowej harmonicznej prądu biernego, czyli kompensację mocy biernej. Jeżeli zawartość wyższych harmonicznych w prądach fazowych przekracza dopuszczalny poziom wynikający z dopuszczalnego odkształcenia napięcia lub nadmiernej wartości skutecznej prądu fazowego, stosuje się filtry wyższych harmonicznych prądu [12]. Teoria mocy Budeanu dla jednofazowych lub trójfazowych symetrycznych zasilanych sinusoidalnie obwodów nieliniowych poprawnie opisuje z wystarczającą dokładnością bilans energetyczny oraz rozdziela moc dystorsji na dwa różne technicznie minimalizowane składniki, moc bierną związaną z podstawową harmoniczną prądu i moc odkształcenia związaną z wyższymi harmonicznymi prądów. Poza teorią Budeanu istnieją inne opracowania tego zagadnienia związane z teorią mocy chwilowych, które przedstawiają inny opis danego problemu. [5]. Ze względu jednak na objętość i cel artykułu nie będą one omawiane.
['\' +0* " Współczynnik THD jest to względna skuteczna wartość wszystkich wyższych harmonicznych odniesiona do podstawowej harmonicznej. Dla przebiegu niesinusoidalnego jest opisana zależnością:
THDU =
∑
∞
U h2
h =2
U1
⋅ 100%
(36)
73
8 % '% ); L 8 " % 8
= % " % = (((
â&#x2C6;&#x2018;
THDI =
â&#x2C6;&#x17E; 2 h =2 h
I
I1
P1 â&#x20AC;&#x201C;
â&#x2039;&#x2026; 100%
poziom przekroczony w trakcie 1% czasu obserwacji; wspĂłĹ&#x201A;czynnik wagi k1 = 0,00525; P3 â&#x20AC;&#x201C; poziom przekroczony w trakcie 3% czasu obserwacji; wspĂłĹ&#x201A;czynnik wagi k3 = 0,0657; P10 â&#x20AC;&#x201C; poziom przekroczony w trakcie 10% czasu obserwacji; wspĂłĹ&#x201A;czynnik wagi k10 = 0,28; P50 â&#x20AC;&#x201C; poziom przekroczony w trakcie 50% czasu obserwacji; wspĂłĹ&#x201A;czynnik wagi k50 = 0,08. WskaĹşnik Pst wyznaczany jest z krĂłtkim okresem obserwacji wynoszÄ&#x2026;cym dziesiÄ&#x2122;Ä&#x2021; minut. Jest to czas dostatecznie dĹ&#x201A;ugi, aby krĂłtkotrwaĹ&#x201A;e, sporadycznie wystÄ&#x2122;pujÄ&#x2026;ce zmiany napiÄ&#x2122;cia nie miaĹ&#x201A;y zbyt znaczÄ&#x2026;cego wpĹ&#x201A;ywu na ostateczny wynik pomiaru, a wystarczajÄ&#x2026;co krĂłtki, aby umoĹźliwiÄ&#x2021; szczegĂłĹ&#x201A;owy opis odbiornika zaburzajÄ&#x2026;cego o dĹ&#x201A;ugim cyklu pracy. W wyniku przeprowadzonych badaĹ&#x201E; przez MiÄ&#x2122;dzynarodowÄ&#x2026; UniÄ&#x2122; ZastosowaĹ&#x201E; Elektrotechniki (UIE) stwierdzono, Ĺźe wahania napiÄ&#x2122;cia odpowiadajÄ&#x2026;ce wskaĹşnikowi Pst = 1% napiÄ&#x2122;cia zasilania stanowiÄ&#x2026; dopuszczalny limit ze wzglÄ&#x2122;du na negatywne skutki na organizm ludzki (rys. 4 [10]).
(37)
gdzie: U1, I1 â&#x20AC;&#x201C; kolejno skuteczna wartoĹ&#x203A;Ä&#x2021; napiÄ&#x2122;cia i prÄ&#x2026;du skĹ&#x201A;adowej podstawowej, Uh, Ih â&#x20AC;&#x201C; kolejno skuteczna wartoĹ&#x203A;Ä&#x2021; napiÄ&#x2122;cia i prÄ&#x2026;du h-tej harmonicznej.
['^' ++0* Â&#x192; " W przypadku wystÄ&#x2122;powania w przebiegach skĹ&#x201A;adowych nieokresowych lub skĹ&#x201A;adowych o czÄ&#x2122;stotliwoĹ&#x203A;ciach niebÄ&#x2122;dÄ&#x2026;cych peĹ&#x201A;nymi wielokrotnoĹ&#x203A;ciami podstawowej czÄ&#x2122;stotliwoĹ&#x203A;ci napiÄ&#x2122;cia skuteczna wartoĹ&#x203A;Ä&#x2021; napiÄ&#x2122;cia (prÄ&#x2026;du) jest wiÄ&#x2122;ksza niĹź to wynika z zawartoĹ&#x203A;ci wyĹźszych harmonicznych. W takim przypadku miarÄ&#x2026; odksztaĹ&#x201A;cenia przebiegu jest TTHD:
TTHDU =
TTHDI =
2 U RMS â&#x2C6;&#x2019; U 12 â&#x2039;&#x2026; 100% U1
(38)
2 I RMS â&#x2C6;&#x2019; I 12 â&#x2039;&#x2026; 100% I1
(39)
gdzie: U1, I1 â&#x20AC;&#x201C; kolejno skuteczna wartoĹ&#x203A;Ä&#x2021; napiÄ&#x2122;cia i prÄ&#x2026;du skĹ&#x201A;adowej podstawowej, URMS, IRMS â&#x20AC;&#x201C; kolejno skuteczna wartoĹ&#x203A;Ä&#x2021; napiÄ&#x2122;cia i prÄ&#x2026;du wyĹźszych harmonicznych i interharmonicznych [1, 5, 7].
['|' +** " WspĂłĹ&#x201A;czynnik caĹ&#x201A;kowitego znieksztaĹ&#x201A;cenia zapotrzebowania prÄ&#x2026;du okreĹ&#x203A;la stosunek wartoĹ&#x203A;ci skutecznej sumy skĹ&#x201A;adowych harmonicznych prÄ&#x2026;du bez udziaĹ&#x201A;u skĹ&#x201A;adowej podstawowej do maksymalnej wartoĹ&#x203A;Ä&#x2021; skutecznej prÄ&#x2026;du obciÄ&#x2026;Ĺźenia. WspĂłĹ&#x201A;czynnik ten jest wyraĹźany jako:
â&#x2C6;&#x2018;
TDDI =
â&#x2C6;&#x17E;
2 h =2 h
I
IL
Rys. 4. Krzywa Pst = 1 (dla prostokÄ&#x2026;tnych rĂłwnoodlegĹ&#x201A;ych zmian napiÄ&#x2122;cia) [10] Fig. 4. Curve Pst = 1 (for rectangular equidistant voltage changes) [10]
['Â&#x2026;' 7 Â&#x201E; â&#x2039;&#x2026; 100%
(40)
WskaĹşnik dĹ&#x201A;ugookresowego migotania Ĺ&#x203A;wiatĹ&#x201A;a Plt moĹźna przedstawiÄ&#x2021; za pomocÄ&#x2026; zaleĹźnoĹ&#x203A;ci:
gdzie: IL â&#x20AC;&#x201C; maksymalna wartoĹ&#x203A;Ä&#x2021; skuteczna prÄ&#x2026;du obciÄ&#x2026;Ĺźenia, Ih â&#x20AC;&#x201C; skuteczna wartoĹ&#x203A;Ä&#x2021; prÄ&#x2026;du h-tej harmonicznej.
Plt =
Przez Plt naleĹźy rozumieÄ&#x2021; wskaĹşnik obliczany na podstawie sekwencji 12 kolejnych wartoĹ&#x203A;ci wskaĹşnikĂłw krĂłtkookresowego migotania Ĺ&#x203A;wiatĹ&#x201A;a Pst (mierzonych przez 10 minut) wystÄ&#x2122;pujÄ&#x2026;cych w okresie 2 godzin [11].
WskaĹşnik krĂłtkookresowego migotania Ĺ&#x203A;wiatĹ&#x201A;a Pst moĹźna przedstawiÄ&#x2021; za pomocÄ&#x2026; zaleĹźnoĹ&#x203A;ci:
\'
(41) ArtykuĹ&#x201A; jest wprowadzeniem teoretycznym do praktycznej analizy jakoĹ&#x203A;ci energii elektrycznej w sieci zasilajÄ&#x2026;cej WN/SN dla zakĹ&#x201A;adĂłw przemysĹ&#x201A;owych. W czÄ&#x2122;Ĺ&#x203A;ci tej omĂłwiono podstawowe parametry odnoszÄ&#x2026;ce siÄ&#x2122; do jakoĹ&#x203A;ci energii elektrycznej oraz sposoby ich analitycznego opisu. WychodzÄ&#x2026;c od symetrycznego ukĹ&#x201A;adu napiÄ&#x2122;Ä&#x2021; i prÄ&#x2026;dĂłw moĹźna dojĹ&#x203A;Ä&#x2021; do opisu np. wspĂłĹ&#x201A;czynnikĂłw asymetrii. W przypadku teorii mocy w artykule tym zdecydowano siÄ&#x2122; na opis teorii wedĹ&#x201A;ug I. Budeanu ze wzglÄ&#x2122;du na prawdopodobne jej zastosowanie w analizatorach parametrĂłw sieci elektroenergetycznej. Niestety teoria mocy Budeanu ma rĂłwnieĹź istotne bĹ&#x201A;Ä&#x2122;dy, ktĂłre zostaĹ&#x201A;y zauwaĹźone przez pro-
gdzie: k0,1 â&#x20AC;Ś k50 â&#x20AC;&#x201C; wspĂłĹ&#x201A;czynniki wagowe, ktĂłrych wartoĹ&#x203A;ci wynikajÄ&#x2026; z przyjÄ&#x2122;tych procedur obliczeniowych; P0,1 â&#x20AC;Ś P50 â&#x20AC;&#x201C; poziomy migotania, dla ktĂłrych okreĹ&#x203A;lone jest prawdopodobieĹ&#x201E;stwo ich przekroczenia. Jako wystarczajÄ&#x2026;ce (z praktycznego punktu widzenia) uznano piÄ&#x2122;Ä&#x2021; poziomĂłw lub inaczej percentyli, ktĂłre wynoszÄ&#x2026;: P0,1 â&#x20AC;&#x201C; poziom przekroczony w trakcie 0,1% czasu obserwacji; wspĂłĹ&#x201A;czynnik wagi k0,1 = 0,0314;
P
O
M
I
A
R
Y
â&#x20AC;˘
A
(42)
gdzie: Pstn â&#x20AC;&#x201C; kolejne wartoĹ&#x203A;ci wskaĹşnika krĂłtkookresowego migotania Ĺ&#x203A;wiatĹ&#x201A;a Pst.
['}' 7 Â&#x201E;
74
3 Pstn
â&#x2C6;&#x2018; 12 n =1
WspĂłĹ&#x201A;czynnik ten jest wyznaczany jako Ĺ&#x203A;rednia za okres 15 lub 30 minut [11]. Taka wersja wskaĹşnika, w przeciwieĹ&#x201E;stwie do THD, generuje poprawne wyniki nawet dla sygnaĹ&#x201A;Ăłw niezawierajÄ&#x2026;cych skĹ&#x201A;adowej podstawowej (np. prÄ&#x2026;du w przewodzie neutralnym) [6, 8, 9].
Pst = k0,1P0,1 + k1P1 + k3P3 + k10P10 + k50P50
12
3
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
=
fesora Czarneckiego [13] w końcu XX wieku. Istnieją bowiem szczególne przypadki, które wskazują na niejednoznaczność teorii mocy Budeanu. Według tej teorii, zgodnie z (19) i (20), moc bierna QB jest sumą mocy biernych pojedynczych harmonicznych dla h-tej harmonicznej. Wiadomo natomiast, że w rzeczywistych obwodach elektrycznych przesunięcie fazowe może przyjmować wartości z zakresu −π / 2 ≥ ϕh ≥ π / 2. Zatem wywnioskować można, że moc P może osiągać wartości nieujemne, natomiast QB zarówno dodatnie jak i ujemne wartości. Wynika z tego przypadek, w którym sumaryczna moc QB osiągnie zero nawet wtedy, gdy zauważalne będą oscylacje mocy dla pewnych harmonicznych między źródłem a odbiornikiem. W teorii tej nie występuje więc związek między oscylacją energii w obwodach z przebiegami niesinusoidalnymi a mocą bierną QB. Wartość QB dla poszczególnych harmonicznych rozpatrywana indywidualnie określa amplitudę oscylacji energii związanej z istnieniem h-tej harmonicznej prądu. Rozpatrując natomiast sumę h-tych harmonicznych nie można uzyskać informacji o tych oscylacjach. Dr inż. Konrad Zajkowski w swoim artykule [14] podaje kilka matematycznych przypadków, które udowadniają niespójności tej teorii. Mimo tych wad do dnia dzisiejszego nie przedstawiono innej interpretacji mocy QB. Nie udało się także przyporządkować żadnego zjawiska fizycznego adekwatnego do tej mocy. Ze względu jednak na dużą popularność tej teorii jest ona stosowana do dnia dzisiejszego w wielu urządzeniach pomiarowych. Wykorzystano ją również w urządzeniach, których użyto podczas realizowanych pomiarów w GPZ dla obiektów przemysłowych. Oczywiście istnieją również inne opracowania teorii mocy, takie jak teoria Fryzego czy opracowanie IEEE 1459-2010 [15]. Teoria Fryzego, podobnie jak teoria mocy Budeanu w pewnych szczególnych przypadkach prowadzi do błędnych interpretacji, co również omawia dr Zajkowski w swoim artykule [14]. Opracowanie IEEE 1459-2010 stanowi jedynie standard, który przez część naukowców nie został uznany za ostateczną i adekwatną formę opisu danego zagadnienia. Tak więc forma oraz poprawność opisu teorii mocy jest wciąż tematem otwartym i szeroko omawianym. W pracy tej mimo wskazanych niejednoznaczności teorii mocy Budeanu zdecydowano się na jej omówienie ze względu na wykorzystane urządzenia pomiarowe, które dokonują pomiarów w oparciu o tę teorię. W artykule przedstawiono i opisano takie parametry, jak współczynniki zawartości harmonicznych THD oraz TTHD dla napięć i prądów oraz wskaźniki krótko- i długookresowego migotania światła. Wartości tych parametrów stanowią istotną informację podczas eksploatacji sieci zasilającej. Ich ciągły monitoring pozwala na wykrywanie istotnych zmian czy zakłóceń w badanej sieci.
6. Canturk S., Balci M.E., Hocaoglu M.H., On the definition of apparent power, “Electrical Power Quality and Utilisation, Journal”, Vol. XVIII, No. 2, 2015. 7. Bolkowski S., Teoria obwodów elektrycznych, Wyd. X, PWN, Warszawa 2017. 8. Hanzelka Z., Jakość energii elektrycznej, część 4 – Wyższe harmoniczne napięć i prądów, Akademia Górniczo-Hutnicza, Kraków 2001. 9. Karafotis P.A., Christodoulou-Galanopoulos K.N., Siagkas D.O., Georgilakis P.S., Power Quality Indices for Electrical Power Systems under Non-Stationary Disturbances, National Technical University of Athens, 2018, DOI: 10.1109/ICHVE.2018.8642257. 10. Baranecki A., Płatek T., Niewiadomski M., Harmoniczne prądu: problemy pomiarowe, „Elektro info”, Nr 7, 2003, 60–63. 11. Dz. U. z 2007 r. Nr 93, poz. 623, Rozporządzenie Ministra Gospodarki z dnia 4 maja 2007 r. w sprawie szczegółowych warunków funkcjonowania systemu elektroenergetycznego. 12. PN-EN 50160: 2010, Parametry napięcia zasilającego w publicznych sieciach rozdzielczych. 13. Czarnecki L.S., What is wrong with the Budeanu concept of reactive and distortion powers and why it should be abandoned, “IEEE Transactions on Instrumentation and Measurement”, Vol. IM-36, No. 3, 1987, 834–837, DOI: 10.1109/TIM.1987.6312797. 14. Zajkowski K., Wady teorii mocy w obwodach jednofazowych według Budeanu i Fryzego, „Autobusy: eksploatacja i testy”, R. 17, Nr 12, 2016, 1500–1504. 15. IEEE 1459-2010 standard, New York 2010.
` # & 1. Kołodziej K., Analiza parametrów sieci wewnątrzzakładowej przy wykorzystaniu systemu BMS i PME, „Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki Politechniki Gdańskiej”, Nr 61, 2018, 35–40, DOI: 10.32016/1.61.07. 2. Nota katalogowa analizatora sieci Janitza UMG511, Janitza electronics GmbH, Lahnau 2011. 3. Kowalski Z., Jakość energii elektrycznej, Wydawnictwo Politechniki Łódzkiej, Łódź 2007. 4. Robak S., Pawlicki A., Pawlicki B., Asymetria napięć i prądów w elektroenergetycznych układach przesyłowych, Politechnika Warszawska, Instytut Elektroenergetyki, 2014. 5. Piróg S., Energoelektronika: układy o komutacji sieciowej i o komutacji twardej, Uczelniane Wydawnictwa Naukowo-Dydaktyczne Akademii Górniczo-Hutniczej, Kraków 2006.
75
8 % '% ); L 8 " % 8
= % " % = (((
6 # V ' # 6 ' F # g F # = # Z^A$^ V 0 6 ' . This article, as part 1, is an introduction to the issue of electricity quality in HV/MV power networks supplying industrial plants. In the beginning, the article discusses issues related to the impact of non-linear loads on industrial power networks. The characteristics of the 110/6 kV network tested were presented subsequently, its essential elements, as well as powered plants and configuration of measurement tracks and network analyzers. This section presents the scheme for supplying GPZ for the needs of industrial plants, in which supply fields measurements were taken on the 6 kV side. Then, to better understand practical measurements, a symmetrical voltage and current system were used as a theoretical model. At the same time, such parameters as voltage and current asymmetry coefficients, active, reactive and apparent power according to the Budeanu definition, THD and TTHD harmonic coefficients for voltages and currents as well as short and long-term flickering indicators have been defined and discussed. All these parameters will be subjected to in-depth analysis in part 2 when discussing the measurement results from the industrial plants tested. The article ends with the collection of conclusions and a summary. KeywordsV ??!A+ ^% 8 # % # % # '
( ( - $ (((( & ORCID: 0000-0002-3086-5801 MG ; ' = 6 # F X ; (!?* O E = 0 ; (!?+ . E = S' (!?+ ' ; ' = E 6 # F X E ' S' (!?* H G OH H . H R J G H . ' H H . % # E
H . H O ' M-M% 4$ % F$= G .
76
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Pomiary Automatyka Robotyka, ISSN 1427-9126, R. 24, Nr 2/2020, 77â&#x20AC;&#x201C;90, DOI: 10.14313/PAR_236/77
$ G . H $< Jacek Dunaj, Kamil Bojanek ] 4 ' U P F 6 M F J F6MF% M N (!(% !(E*)+ ;
Streszczenie: W artykule przedstawiono sposĂłb realizacji transmisji sieciowej miÄ&#x2122;dzy komputerem PC a robotem przemysĹ&#x201A;owym. Aplikacje komputera PC zrealizowano w jÄ&#x2122;zyku C++ z wykorzystaniem bibliotek MFC. Przedstawiono, jak w praktyczny sposĂłb wykorzystaÄ&#x2021; klasÄ&#x2122; CAsyncSocket do programowania transmisji miÄ&#x2122;dzy komputerem a innym urzÄ&#x2026;dzeniem, np. robotem przemysĹ&#x201A;owym. Druga czÄ&#x2122;Ĺ&#x203A;Ä&#x2021; artykuĹ&#x201A;u koncentruje siÄ&#x2122; na moĹźliwoĹ&#x203A;ciach programowych robota w zakresie udostÄ&#x2122;pniania informacji dotyczÄ&#x2026;cych jego stanu (m.in. poĹ&#x201A;oĹźenia osi, aktualnego wyboru ukĹ&#x201A;adu wspĂłĹ&#x201A;rzÄ&#x2122;dnych i narzÄ&#x2122;dzia). Na przykĹ&#x201A;adzie robota firmy KUKA omĂłwiono sposĂłb odczytywania informacji, kodowania, a nastÄ&#x2122;pnie transmitowana do wspĂłĹ&#x201A;pracujÄ&#x2026;cego komputera PC. Przedstawiono takĹźe sposĂłb dziaĹ&#x201A;ania i opis dwĂłch przykĹ&#x201A;adowych aplikacji komputera PC do testowania transmisji sieciowej oraz prezentacji danych odbieranych z robota. $ V $< % H = % G G $< % M % G % $ f ^ ' % " "M ; ^
1. Wprowadzenie Jednym z zadaĹ&#x201E; stawianych wspĂłĹ&#x201A;czeĹ&#x203A;nie przed aplikacjami przemysĹ&#x201A;owymi jest integracja systemĂłw i sprzÄ&#x2122;Ĺźenie maszyny z Internetem. UmoĹźliwia to Ĺ&#x203A;ledzenie procesu technologicznego oraz generowanie róşnych komunikatĂłw prezentowanych na urzÄ&#x2026;dzeniach oddalonych takich jak laptopy, smartfony czy sprzÄ&#x2122;cie wirtualnej rzeczywistoĹ&#x203A;ci. Na poziomie pojedynczego stanowiska robotowego zadanie to obejmuje m.in. monitorowanie stanĂłw robota oraz informacji generowanej przez jego aplikacjÄ&#x2122;. Pod pojÄ&#x2122;ciem stanĂłw robota naleĹźy tutaj rozumieÄ&#x2021; wszystko to, co udostÄ&#x2122;pnia jego oprogramowanie systemowe, a wiÄ&#x2122;c w jakim trybie pracy znajduje siÄ&#x2122; robot, jakie sÄ&#x2026; poĹ&#x201A;oĹźenia jego osi, jakie sÄ&#x2026; wartoĹ&#x203A;ci dostÄ&#x2122;pnych zmiennych systemowych itp. PrzemysĹ&#x201A;owy Instytut Automatyki i PomiarĂłw PIAP w swoich wdroĹźeniach przemysĹ&#x201A;owych wykorzystywaĹ&#x201A; roboty m.in. firmy KUKA i ABB. WykonywaĹ&#x201A;y one czynnoĹ&#x203A;ci bezpoĹ&#x203A;rednio zwiÄ&#x2026;zane z procesami produkcyjnymi takimi jak paletyzacja czy spawanie, ale nie byĹ&#x201A;y sprzÄ&#x2122;Ĺźone z urzÄ&#x2026;dzeniami zewnÄ&#x2122;trznymi umoĹźliwiajÄ&#x2026;cymi prezentacjÄ&#x2122; odbieranej informacji. Ich jÄ&#x2122;zyki programowania zawierajÄ&#x2026; instrukcje umoĹźliwiajÄ&#x2026;ce transmisjÄ&#x2122; danych sieciÄ&#x2026; Ethernet z wykorzystaniem protokoĹ&#x201A;u TCP/IP. Jednak utrudnieniem pozostaje to, Ĺźe oprogramowanie realizu-
) " V N - % ' & . ) ' ?) !@ (!(! % ' ' (+ !+ (!(!
!
jÄ&#x2026;ce transmisjÄ&#x2122; informacji o stanie robota musi byÄ&#x2021; wykonywane jako rodzaj tzw. â&#x20AC;&#x17E;wÄ&#x2026;tkuâ&#x20AC;?, a wiÄ&#x2122;c niezaleĹźnie od aktualnego trybu pracy robota (tryb testowy, tryb pracy automatycznej) i nie moĹźe ingerowaÄ&#x2021; w pracÄ&#x2122; jego dowolnej aplikacji. Osobnym zagadnieniem pozostaje, gdzie i w jaki sposĂłb informacja odbierana z robota ma byÄ&#x2021; interpretowana i prezentowana. Praktycznym rozwiÄ&#x2026;zaniem jest wykorzystanie komputera PC z systemem Windows. Jest to uzasadnione tym, Ĺźe aplikacje przeznaczone dla tego systemu mogÄ&#x2026; byÄ&#x2021; bardzo rozbudowane pod wzglÄ&#x2122;dem funkcjonalnym, wykorzystujÄ&#x2026;c elementy grafiki, zapisu do plikĂłw, baz danych i arkuszy kalkulacyjnych, tworzenie statystyk, a takĹźe Ĺźe oprogramowanie narzÄ&#x2122;dziowe do tworzenia aplikacji zawiera wiele gotowych podprogramĂłw bibliotecznych. Podstawowym zagadnieniem pozostaje jednak realizacja samej transmisji informacji. W powszechnym uĹźyciu sÄ&#x2026; róşne aplikacje komputerowe pracujÄ&#x2026;ce pod kontrolÄ&#x2026; systemĂłw operacyjnych Windows, ktĂłre do wymiany danych wykorzystujÄ&#x2026; sieÄ&#x2021; Ethernet i protokĂłĹ&#x201A; TCP/IP. SÄ&#x2026; to jednak gotowe aplikacje, ktĂłrych nie moĹźna modyfikowaÄ&#x2021; pod konkretne potrzeby ani wykorzystywaÄ&#x2021; fragmentĂłw ich kodu ĹşrĂłdĹ&#x201A;owego do tworzenia wĹ&#x201A;asnych opracowaĹ&#x201E;, poniewaĹź kod ten z reguĹ&#x201A;y nie jest dostÄ&#x2122;pny, albo pozostaje objÄ&#x2122;ty prawami autorskimi. W ramach prac rozwojowych powadzonych w PIAP majÄ&#x2026;cych na celu m.in. poszerzenie oferty na funkcjonalnoĹ&#x203A;Ä&#x2021; potencjalnych aplikacji przemysĹ&#x201A;owych opracowano wĹ&#x201A;asne rozwiÄ&#x2026;zania programistyczne, kodowane w jÄ&#x2122;zyku wysokiego poziomu C/C++. PozwalajÄ&#x2026; one na budowanie oprogramowania komunikujÄ&#x2026;cego siÄ&#x2122; z innymi urzÄ&#x2026;dzeniami, w tym z robotami przemysĹ&#x201A;owymi, za poĹ&#x203A;rednictwem sieci Ethernet. Za pomocÄ&#x2026; tych rozwiÄ&#x2026;zaĹ&#x201E; moĹźna tworzyÄ&#x2021; aplikacje, ktĂłre nie tylko sÄ&#x2026; w stanie transmitowaÄ&#x2021; informacje do/z tych urzÄ&#x2026;dzeĹ&#x201E;, ale mogÄ&#x2026; wykorzystywaÄ&#x2021; moĹźliwoĹ&#x203A;ci funkcjonalne systemu operacyjnego, pod kontrolÄ&#x2026; ktĂłrego pracujÄ&#x2026;.
77
" ' 8 " 8 % 8 %= v
W artykule tym opisano w jaki sposĂłb zrealizowano oprogramowanie komunikacyjne z wykorzystaniem dostÄ&#x2122;pnych bibliotecznych funkcji MFC (ang. Microsoft Foundation Class Library) [1]. Przedstawiono przykĹ&#x201A;ad uniwersalnej aplikacji komputera PC pracujÄ&#x2026;cego pod kontrolÄ&#x2026; systemu operacyjnego Windows (XP, 7, 10) umoĹźliwiajÄ&#x2026;cej transmisjÄ&#x2122; informacji miÄ&#x2122;dzy komputerem a innym urzÄ&#x2026;dzeniem zewnÄ&#x2122;trznym (drugi komputer, robot) z wykorzystaniem sieci Ethernet i protokoĹ&#x201A;u TCP/IP. W dalszej czÄ&#x2122;Ĺ&#x203A;ci artykuĹ&#x201A;u pokazano, co i w jaki sposĂłb robot przemysĹ&#x201A;owy, dostÄ&#x2122;pny w PIAP, moĹźe udostÄ&#x2122;pniaÄ&#x2021; dla urzÄ&#x2026;dzenia zewnÄ&#x2122;trznego w zakresie danych dotyczÄ&#x2026;cej stanu jego pracy, poĹ&#x201A;oĹźenia poszczegĂłlnych osi i komunikatĂłw generowanych przez aplikacjÄ&#x2122;. KoĹ&#x201E;cowa czÄ&#x2122;Ĺ&#x203A;Ä&#x2021; artykuĹ&#x201A;u przedstawia kolejnÄ&#x2026; aplikacjÄ&#x2122; dla komputera PC, bezpoĹ&#x203A;rednio wspĂłĹ&#x201A;pracujÄ&#x2026;cÄ&#x2026; z oprogramowaniem robota w zakresie odbioru, interpretacji i czytelnej prezentacji informacji odbieranej z niego. Przedstawione oprogramowanie dla komputera PC napisano w jÄ&#x2122;zyku C++ i uruchomiono w Ĺ&#x203A;rodowisku Microsoft Visual Studio. AplikacjÄ&#x2122; robota zrealizowano w jÄ&#x2122;zyku KRL (ang. Kuka Robot Language) i uruchomiono na robocie za pomocÄ&#x2026; oprogramowania KUKA Work Visual.
Inicjatywa nawiÄ&#x2026;zania poĹ&#x201A;Ä&#x2026;czenia wychodzi zawsze od klienta. WysyĹ&#x201A;anie informacji przy pomocy funkcji typu Send() i odbiĂłr informacji przy pomocy funkcji typu Receive() nie zaleĹźÄ&#x2026; juĹź od tego czy aplikacja dziaĹ&#x201A;a jako klient czy jako serwer, poniewaĹź oba punkty konwersacji sieciowej mogÄ&#x2026; nadawaÄ&#x2021; i odbieraÄ&#x2021; niezaleĹźnie od siebie. Podobnie poĹ&#x201A;Ä&#x2026;czenie moĹźe byÄ&#x2021; zerwane zarĂłwno przez gniazdo pracujÄ&#x2026;ce jako serwer lub jako klient. Wymienione funkcje: Connect(), Listen(), Send() oraz Receive() sÄ&#x2026; elementami klasy obsĹ&#x201A;ugi gniazda. Tak wyglÄ&#x2026;da teoria, w praktyce realizacja tego schematu jest bardziej zĹ&#x201A;oĹźona.
\' 3 ) $ ) $ OpracowujÄ&#x2026;c wĹ&#x201A;asne rozwiÄ&#x2026;zania dla komputera PC do komunikacji sieciowej z innymi urzÄ&#x2026;dzeniami, w tym z robotami przemysĹ&#x201A;owymi, zdecydowano siÄ&#x2122; wykorzystaÄ&#x2021; klasÄ&#x2122; CAsyncSocket dostÄ&#x2122;pnÄ&#x2026; w bibliotekach MFC [1]. Jest to klasa umoĹźliwiajÄ&#x2026;ca dostÄ&#x2122;p do funkcji sieciowych na bardzo niskim poziomie, skutkujÄ&#x2026;cych m.in. wygodÄ&#x2026; wywoĹ&#x201A;aĹ&#x201E; zwrotnych do powiadamiania o zdarzeniach sieciowych. Dobrze siÄ&#x2122; wiÄ&#x2122;c nadaje do tworzenia oprogramowania testowego, szczegĂłlnie tam, gdzie z gĂłry nie wiadomo, z jakimi problemami przyjdzie siÄ&#x2122; zmierzyÄ&#x2021;. OczywiĹ&#x203A;cie moĹźliwoĹ&#x203A;ci funkcjonalne klasy CAsyncSocket znacznie przekraczajÄ&#x2026; to co jest potrzebne do zbudowania komunikacji komputer â&#x20AC;&#x201C; robot. TworzÄ&#x2026;c jakiekolwiek oprogramowanie komunikacyjne naleĹźy pamiÄ&#x2122;taÄ&#x2021;, Ĺźe nie moĹźe siÄ&#x2122; ono ograniczaÄ&#x2021; tylko do funkcji typu â&#x20AC;&#x17E;odbierz informacjÄ&#x2122; i zapisz jÄ&#x2026; do bufora odbiorczegoâ&#x20AC;? lub â&#x20AC;&#x17E;wpisz informacjÄ&#x2122; do bufora nadawczego i wyĹ&#x203A;lij jÄ&#x2026;â&#x20AC;?. Oprogramowanie takie musi takĹźe zawieraÄ&#x2021; elementy pozwalajÄ&#x2026;ce sprawdziÄ&#x2021; czy transmisja z/do urzÄ&#x2026;dzenia wspĂłlpracujÄ&#x2026;cego jest w danym momencie moĹźliwa. Klasa CAsyncSocket zawiera szeĹ&#x203A;Ä&#x2021; funkcji bibliotecznych, wywoĹ&#x201A;ywanych przez oprogramowanie systemowe (ang. framework, znaczenie tzw. bitĂłw maski bÄ&#x2122;dzie wyjaĹ&#x203A;nione w dalszej czÄ&#x2122;Ĺ&#x203A;ci artykuĹ&#x201A;u): 1. virtual void OnAccept (int ErrorCode); â&#x2C6;&#x2019; funkcja wywoĹ&#x201A;ywana jako powiadomienie, Ĺźe gniazdo wspĂłĹ&#x201A;pracujÄ&#x2026;ce odpowiedziaĹ&#x201A;o na ĹźÄ&#x2026;danie nawiÄ&#x2026;zania poĹ&#x201A;Ä&#x2026;czenia. Z funkcjÄ&#x2026; zwiÄ&#x2026;zany jest bit maski FD_ACCEPT. 2. virtual void OnClose (int ErrorCode); â&#x2C6;&#x2019; funkcja wywoĹ&#x201A;ywana jako powiadomienie, Ĺźe gniazdo wspĂłĹ&#x201A;pracujÄ&#x2026;ce zamknÄ&#x2122;Ĺ&#x201A;o poĹ&#x201A;Ä&#x2026;czenie. Z funkcjÄ&#x2026; zwiÄ&#x2026;zany jest bit maski FD_CLOSE. 3. virtual void OnConnect (int ErrorCode); â&#x2C6;&#x2019; funkcja wywoĹ&#x201A;ywana jako powiadomienie, Ĺźe gniazdo wspĂłĹ&#x201A;pracujÄ&#x2026;ce odpowiedziaĹ&#x201A;o na wysĹ&#x201A;ane ĹźÄ&#x2026;danie nawiÄ&#x2026;zania poĹ&#x201A;Ä&#x2026;czenia bez wzglÄ&#x2122;du na to, czy zostaĹ&#x201A;o ono zaakceptowane, czy odrzuciĹ&#x201A;o to ĹźÄ&#x2026;danie. Z funkcjÄ&#x2026; zwiÄ&#x2026;zany jest bit maski FD_CONNECT. 4. virtual void OnOutOfBandData (int ErrorCode); â&#x2C6;&#x2019; funkcja wywoĹ&#x201A;ywana jako powiadomienie, Ĺźe gniazdo wspĂłĹ&#x201A;pracujÄ&#x2026;ce wysĹ&#x201A;aĹ&#x201A;o tzw. informacjÄ&#x2122; pozapasmowÄ&#x2026; (ang. out-of-band data). Z funkcjÄ&#x2026; zwiÄ&#x2026;zany jest bit maski FD_OOB. 5. virtual void OnReceive (int ErrorCode); â&#x2C6;&#x2019; funkcja wywoĹ&#x201A;ywana jako powiadomienie, Ĺźe odebrano informacjÄ&#x2122; z gniazda wspĂłĹ&#x201A;pracujÄ&#x2026;cego. Z funkcjÄ&#x2026; zwiÄ&#x2026;zany jest bit maski FD_READ. 6. virtual void OnSend (int ErrorCode); â&#x2C6;&#x2019; funkcja wywoĹ&#x201A;ywana jako powiadomienie, Ĺźe moĹźliwe jest wysĹ&#x201A;anie informacji do gniazda wspĂłĹ&#x201A;pracujÄ&#x2026;cego. Z funkcjÄ&#x2026; zwiÄ&#x2026;zany jest bit maski FD_WRITE.
X' 3 7 System operacyjny Windows zawiera wbudowany interfejs programistyczny WinAPI (ang. Windows Application Programming Interface), ktĂłry jest zbiorem standardowych staĹ&#x201A;ych, zmiennych i podprogramĂłw bibliotecznych umoĹźliwiajÄ&#x2026;cych wykonywanie aplikacji w Ĺ&#x203A;rodowisku tego systemu. Z punktu widzenia programisty wymienione elementy moĹźna podzieliÄ&#x2021; na grupy w zaleĹźnoĹ&#x203A;ci od funkcji, jakie realizujÄ&#x2026; (np. grupa funkcji do tworzenia i obsĹ&#x201A;ugi okna dialogowego, grupa funkcji do obsĹ&#x201A;ugi plikĂłw). W jÄ&#x2122;zyku C++ takie grupy funkcji okreĹ&#x203A;la siÄ&#x2122; terminem klasa. KaĹźda klasa zdefiniowana w MFC zawiera Ĺ&#x203A;ciĹ&#x203A;le okreĹ&#x203A;lonÄ&#x2026; liczbÄ&#x2122; elementĂłw, ktĂłrych nie moĹźna modyfikowaÄ&#x2021; ani dopisywaÄ&#x2021; do klasy nowych elementĂłw. JÄ&#x2122;zyk C++ umoĹźliwia na podstawie danej klasy definiowaÄ&#x2021; klasy potomne, ktĂłre â&#x20AC;&#x17E;dziedziczÄ&#x2026;â&#x20AC;? funkcjonalnoĹ&#x203A;Ä&#x2021; klasy ĹşrĂłdĹ&#x201A;owej i do ktĂłrych moĹźna dopisywaÄ&#x2021; kolejne elementy. TÄ&#x2122; wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;Ä&#x2021; wykorzystano do tworzenia wĹ&#x201A;asnego oprogramowania komunikacyjnego komputer â&#x20AC;&#x201C; robot.
[' 3 Komunikacja sieciowa polega na poĹ&#x201A;Ä&#x2026;czeniu dwĂłch lub wiÄ&#x2122;cej urzÄ&#x2026;dzeĹ&#x201E; (komputera, sterownika itp.) za pomocÄ&#x2026; sieci w celu wymiany informacji. KaĹźdy z koĹ&#x201E;cĂłw takiej sieciowej konwersacji nazywany jest gniazdem (ang. socket) lub punktem koĹ&#x201E;cowym. OgĂłlne zasady tworzenia gniazd i ich wykorzystywania do komunikacji sieciowej opisano m.in. w [2]. Aby przez interfejs gniazda mogĹ&#x201A;o dojĹ&#x203A;Ä&#x2021; do komunikacji sieciowej, a wiÄ&#x2122;c do wymiany informacji miÄ&#x2122;dzy dwoma gniazdami wymagane jest sprzÄ&#x2122;Ĺźenie lokalnego gniazda z gniazdem wspĂłĹ&#x201A;pracujÄ&#x2026;cym. W tym celu tworzÄ&#x2026;c aplikacjÄ&#x2122; naleĹźy najpierw zadeklarowaÄ&#x2021; klasÄ&#x2122; do obsĹ&#x201A;ugi gniazda, a nastÄ&#x2122;pnie zdefiniowaÄ&#x2021; to gniazdo za pomocÄ&#x2026; funkcji Create() bÄ&#x2122;dÄ&#x2026;cej jednym z elementĂłw klasy obsĹ&#x201A;ugi gniazda. Definiowanie gniazda polega na wyszczegĂłlnieniu kilku parametrĂłw opisujÄ&#x2026;cych jego wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci i uzyskania od oprogramowania sieciowego identyfikatora wskazanego gniazdo. W kolejnym kroku, jeĹ&#x203A;li wymiana informacji odbywaÄ&#x2021; siÄ&#x2122; bÄ&#x2122;dzie w architekturze klient â&#x20AC;&#x201C; serwer, to: â&#x2C6;&#x2019; jeĹ&#x203A;li aplikacja ma dziaĹ&#x201A;aÄ&#x2021; jako serwer to ustawia swoje lokalne gniazdo w tryb nasĹ&#x201A;uchu ĹźÄ&#x2026;dania nawiÄ&#x2026;zania poĹ&#x201A;Ä&#x2026;czenia przez klienta wykorzystujÄ&#x2026;c funkcjÄ&#x2122; Listen(), â&#x2C6;&#x2019; jeĹ&#x203A;li aplikacja ma dziaĹ&#x201A;aÄ&#x2021; jako klient to wysyĹ&#x201A;a ze swojego lokalnego gniazda do gniazda wspĂłĹ&#x201A;pracujÄ&#x2026;cego ĹźÄ&#x2026;danie nawiÄ&#x2026;zania poĹ&#x201A;Ä&#x2026;czenia wykorzystujÄ&#x2026;c funkcjÄ&#x2122; Connect().
78
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
% j = < =
Wymienione funkcje sÄ&#x2026; uruchamiane przez oprogramowanie systemowe z parametrem ErrorCode okreĹ&#x203A;lajÄ&#x2026;cym kod potencjalnego bĹ&#x201A;Ä&#x2122;du. JeĹ&#x203A;li ErrorCode = 0, to oznacza, Ĺźe nie stwierdzono bĹ&#x201A;Ä&#x2122;du podczas rejestracji zdarzenia, ktĂłrego efektem jest wywoĹ&#x201A;anie funkcji. Taka reakcja na wystÄ&#x2026;pienie zdarzenia powoduje, Ĺźe w aplikacji nie moĹźna umieĹ&#x203A;ciÄ&#x2021; instrukcji wywoĹ&#x201A;ania kaĹźdej z tych funkcji w celu sprawdzenia, czy zdarzenie z niÄ&#x2026; zwiÄ&#x2026;zane rzeczywiĹ&#x203A;cie wystÄ&#x2026;piĹ&#x201A;o. Ĺťadna z nich nie zwraca bowiem wartoĹ&#x203A;ci (wszystkie sÄ&#x2026; typu void), nie ma takĹźe bezpoĹ&#x203A;redniej moĹźliwoĹ&#x203A;ci dopisania fragmentĂłw kodu do kaĹźdej z nich (np. instrukcji ustalajÄ&#x2026;cej wartoĹ&#x203A;Ä&#x2021; dodatkowej flagi). NiedogodnoĹ&#x203A;Ä&#x2021; tÄ&#x2122; moĹźna jednak ominÄ&#x2026;Ä&#x2021; wykorzystujÄ&#x2026;c jednÄ&#x2026; z moĹźliwoĹ&#x203A;ci jakie oferuje jÄ&#x2122;zyk C++, poprzez zdefiniowanie klasy potomnej do klasy CAsyncSocket. W Ĺ&#x203A;rodowisku Microsoft Visual Studio dostÄ&#x2122;pne jest narzÄ&#x2122;dzie Class Wizzard do tworzenia klas potomnych. Zdefiniowanie przy jego pomocy nowej klasy wymaga okreĹ&#x203A;lenia jej nazwy (w przypadku aplikacji opisanych w dalszej czÄ&#x2122;Ĺ&#x203A;ci tego artykuĹ&#x201A;u uĹźyto nazwy CMyAsyncSocket) oraz wskazania bazowej klasy MFC jakÄ&#x2026; jest CAsyncSocket. W wyniku tego narzÄ&#x2122;dzie Class Wizzard utworzy i dopisze do aktualnego projektu Visual Studio dwa nowe pliki: CMyAsyncSocket.cpp oraz CMyAsyncSocket.h zawierajÄ&#x2026;ce odpowiednio definicjÄ&#x2122; (.cpp) oraz deklaracjÄ&#x2122; (.h) nowej klasy. Nazwy wspomnianych plikĂłw mogÄ&#x2026; byÄ&#x2021; dowolne, jednak program domyĹ&#x203A;lnie tworzy je na podstawie nazwy klasy. NastÄ&#x2122;pnie w pliku CMyAsyncSocket.cpp trzeba dopisaÄ&#x2021; kody â&#x20AC;&#x17E;wĹ&#x201A;asnychâ&#x20AC;? funkcji OnAccept(), ..., OnSend() (poniĹźej przykĹ&#x201A;ad funkcji OnAccept()): void CMyAsyncSocket::OnAccept (int nErrorCode) { CAsyncSocket::OnAccept (nErrorCode); } a w pliku CMyAsyncSocket.h umieĹ&#x203A;ciÄ&#x2021; deklaracjÄ&#x2122; prototypu tej funkcji: void OnAccept (int);
\']' $ # ! ) $ ) $ CzÄ&#x2122;Ĺ&#x203A;Ä&#x2021; funkcji zdefiniowanych w klasach CAsyncSocket i CMyAsyncSocket zwraca wartoĹ&#x203A;ci typu BOOL. JeĹ&#x203A;li wartoĹ&#x203A;Ä&#x2021; zwracana przez funkcjÄ&#x2122; jest róşna od zera (TRUE) to oznacza, Ĺźe jej wykonanie zakoĹ&#x201E;czyĹ&#x201A;o siÄ&#x2122; sukcesem, jeĹ&#x203A;li zwracanÄ&#x2026; wartoĹ&#x203A;ciÄ&#x2026; jest FALSE, to oznacza bĹ&#x201A;Ä&#x2026;d wykonania. W celu zidentyfikowania bĹ&#x201A;Ä&#x2122;du, bezpoĹ&#x203A;rednio po wywoĹ&#x201A;aniu procedury ktĂłra zwrĂłciĹ&#x201A;a wartoĹ&#x203A;Ä&#x2021; FALSE, naleĹźy wywoĹ&#x201A;aÄ&#x2021; bezparametrowÄ&#x2026; funkcjÄ&#x2122; GetLastError(). Funkcja ta, takĹźe bÄ&#x2122;dÄ&#x2026;cÄ&#x2026; elementem klas CAsyncSocket i CMyAsyncSocket, zwraca kod bĹ&#x201A;Ä&#x2122;du. Trzeba jednak pamiÄ&#x2122;taÄ&#x2021;, Ĺźe nie wszystkie bĹ&#x201A;Ä&#x2122;dy sÄ&#x2026; bĹ&#x201A;Ä&#x2122;dami krytycznymi, wymagajÄ&#x2026;cymi dodatkowej obsĹ&#x201A;ugi, poniewaĹź mogÄ&#x2026; oznaczaÄ&#x2021;, Ĺźe w danym momencie nie ma warunkĂłw do poprawnego wykonania danej procedury, ale jej kolejne wywoĹ&#x201A;anie moĹźe zakoĹ&#x201E;czyÄ&#x2021; siÄ&#x2122; sukcesem.
\'X' + 9 Â&#x2020; Â&#x2021; Po zdefiniowaniu klasy CMyAsyncSocket moĹźna utworzyÄ&#x2021; gniazdo lokalne (komputer) i gniazdo oddalone (np. robot) deklarujÄ&#x2026;c dwa obiekty: CMyAsyncSocket AsyncLocalSocket; // gniazdo lokalne CMyAsyncSocket AsyncRemoteSocket; // gniazdo oddalone
Bez wzglÄ&#x2122;du na to, czy aplikacja ma pracowaÄ&#x2021; jako serwer czy jako klient, nastÄ&#x2122;pnym krokiem jest zdefiniowanie wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci lokalnego punktu koĹ&#x201E;cowego (gniazda). Do tego celu sĹ&#x201A;uĹźy 4-parametrowa funkcja Create(..) obiektu AsyncLocalSocket: BOOL BoolVar; BoolVar = AsyncLocalSocket.Create (SockPort, SockType, Event,SockAddress); Parametr SockPort okreĹ&#x203A;la numer portu, parametr SockAddress jest ciÄ&#x2026;giem znakowym okreĹ&#x203A;lajÄ&#x2026;cym adres sieciowy gniazda w formacie â&#x20AC;&#x17E;kropkowanymâ&#x20AC;? (np. 128.53.22.14). JeĹ&#x203A;li do komunikacji sieciowej ma zostaÄ&#x2021; uĹźyty protokĂłĹ&#x201A; TCP, to parametr SockType musi mieÄ&#x2021; wartoĹ&#x203A;Ä&#x2021; staĹ&#x201A;ej ! zdefiniowanej w jednym z plikĂłw nagĹ&#x201A;Ăłwkowych .h. Parametr Event jest sumÄ&#x2026; logicznÄ&#x2026; od 0 do 6 bitĂłw maski: FD_ACCEPT, FD_CLOSE. FD_CONNECT. FD_OOB. FD_READ. FD_WRITE. JeĹ&#x203A;li dany bit maski wystÄ&#x2026;pi jako skĹ&#x201A;adnik sumy logicznej Event, to zwiÄ&#x2026;zana z nim funkcja OnAccept(), ..., OnSend() klasy CMyAsyncSocket zostanie automatycznie uruchomiona przez oprogramowanie systemowe po zarejestrowaniu zdarzenia odpowiadajÄ&#x2026;cej tej funkcji. Dalsze postÄ&#x2122;powanie zwiÄ&#x2026;zane z wymianÄ&#x2026; informacji z urzÄ&#x2026;dzeniem wspĂłlpracujÄ&#x2026;cym jest uzaleĹźnione od tego, czy aplikacja (lokalny punkt koĹ&#x201E;cowy) ma pracowaÄ&#x2021; jako serwer czy jako klient.
\'[' 5 " "
Z inicjatywÄ&#x2026; nawiÄ&#x2026;zania poĹ&#x201A;Ä&#x2026;czenia miÄ&#x2122;dzy dwoma punktami koĹ&#x201E;cowymi sieciowej transmisji wystÄ&#x2122;puje zawsze klient. Aby poĹ&#x201A;Ä&#x2026;czenie mogĹ&#x201A;o zostaÄ&#x2021; zrealizowane aplikacja dziaĹ&#x201A;ajÄ&#x2026;ca jako serwer musi pozostawaÄ&#x2021; w stanie nasĹ&#x201A;uchu, a nastÄ&#x2122;pnie zaakceptowaÄ&#x2021; ĹźÄ&#x2026;danie poĹ&#x201A;Ä&#x2026;czenia od klienta. Ustawienie aplikacji pracujÄ&#x2026;cej jako serwer w stan nasĹ&#x201A;uchu realizuje funkcja Listen() obiektu AsyncLocalSocket wywoĹ&#x201A;ywana instrukcjÄ&#x2026;: BOOL BoolVar; BoolVar = AsyncLocalSocket.Listen (int ConnectionBack); W jej wyniku gniazdo lokalne (punkt koĹ&#x201E;cowy) jest przeĹ&#x201A;Ä&#x2026;czane w tryb, w ktĂłrym poĹ&#x201A;Ä&#x2026;czenia przychodzÄ&#x2026;ce sÄ&#x2026; potwierdzane i ustawiane w kolejce do czasu akceptacji przez proces. Parametr ConnectionBack okreĹ&#x203A;la iĹ&#x201A;e oczekujÄ&#x2026;cych poĹ&#x201A;Ä&#x2026;czeĹ&#x201E; moĹźe byÄ&#x2021; przechowywanych w kolejce oczekiwania. Dozwolona wartoĹ&#x203A;Ä&#x2021; naleĹźy do przedziaĹ&#x201A;u od 1 do 5. Funkcja Listen() nie blokuje dziaĹ&#x201A;ania aplikacji do czasu zarejestrowania ĹźÄ&#x2026;dania poĹ&#x201A;Ä&#x2026;czenia od klienta, nie musi takĹźe byÄ&#x2021; cyklicznie wywoĹ&#x201A;ywana aĹź takie ĹźÄ&#x2026;danie nadejdzie. AkceptacjÄ&#x2122; poĹ&#x201A;Ä&#x2026;czenia realizuje funkcja Accept() obiektu AsyncLocalSocket wywoĹ&#x201A;ywana instrukcjÄ&#x2026;: BOOL BoolVar;
BoolVar = AsyncLocalSocket.Accept (AsyncRemoteSocket, &AsyncRemoteSocketAddr, &SizeOfSockAddr); Pierwszy parametr jest o dwoĹ&#x201A;aniem do obiektu CMyAsyncSocket AsyncRemoteSocket, pozostaĹ&#x201A;e parametry sÄ&#x2026; opcjonalne: Drugi jest wskaĹşnikiem do struktury typu , a trzeci wskaĹşnikiem do zmiennej typu int, do ktĂłrych funkcja Accept() w p i s u j e o d p ow i e d n i o : i n f o r m a c j e o p o Ĺ&#x201A; Ä&#x2026; c z e n i u (w tym adres gniazda wysyĹ&#x201A;ajÄ&#x2026;cego ĹźÄ&#x2026;danie poĹ&#x201A;Ä&#x2026;czenia) i rozmiar struktury w bajtach.
79
" ' 8 " 8 % 8 %= v JeĹ&#x203A;li w kolejce nie ma oczekujÄ&#x2026;cych poĹ&#x201A;Ä&#x2026;czeĹ&#x201E;, to funkcja Accept() zwraca wartoĹ&#x203A;Ä&#x2021; FALSE, a funkcja AsyncLocalSocket.GetLastError() bĹ&#x201A;Ä&#x2026;d o kodzie " . WĂłwczas wywoĹ&#x201A;ywanie funkcji Accept() moĹźna ponawiaÄ&#x2021; aĹź do zarejestrowania ĹźÄ&#x2026;dania poĹ&#x201A;Ä&#x2026;czenia od klienta lub odczytu bĹ&#x201A;Ä&#x2122;du innego niĹź " . W aplikacjach opisanych w dalszej czÄ&#x2122;Ĺ&#x203A;ci artykuĹ&#x201A;u funkcja AsyncLocalSocket.Accept() wywoĹ&#x201A;ywana jest w procedurze OnTimer() obsĹ&#x201A;ugi komunikatĂłw WM_TIMER gĹ&#x201A;Ăłwnego okna dialogowego. W przypadku aplikacji dziaĹ&#x201A;ajÄ&#x2026;cej jako klient do nawiÄ&#x2026;zania poĹ&#x201A;Ä&#x2026;czenia naleĹźy uĹźyÄ&#x2021; funkcji Connect() obiektu AsyncLocalSocket wywoĹ&#x201A;ywanej instrukcjÄ&#x2026;: BOOL BoolVar; BoolVar = AsyncLocalSocket.Connect (LPCTSTR RemoteSocketAddress, UINT RemoteSocketPortNumber);
Zerwanie poĹ&#x201A;Ä&#x2026;czenia skutkuje automatycznym uruchomieniem funkcji AsyncRemoteSocket.OnClose(). â&#x2C6;&#x2019; jeĹ&#x203A;li aplikacja pracuje jako klient to nawiÄ&#x2026;zanie poĹ&#x201A;Ä&#x2026;czenia z serwerem jest sygnalizowane wywoĹ&#x201A;aniem funkcji AsyncLocalSocket.OnConnect() i dodatkowo wywoĹ&#x201A;ywaniem funkcji AsyncLocalSocket.OnSend(). Zerwanie poĹ&#x201A;Ä&#x2026;czenia skutkuje automatycznym uruchomieniem funkcji AsyncLocal.OnClose(). W obu przypadkach funkcja OnSend() nie powinna byÄ&#x2021; uĹźywana do oceny, czy poĹ&#x201A;Ä&#x2026;czenie zostaĹ&#x201A;o faktycznie nawiÄ&#x2026;zane, poniewaĹź jej podstawowe przeznaczenie jest inne. NaleĹźy pamiÄ&#x2122;taÄ&#x2021;, Ĺźe wywoĹ&#x201A;anie kaĹźdej z funkcji wymienionych powyĹźej jest uzaleĹźnione od wartoĹ&#x203A;ci parametru Event funkcji AsyncLocalSocket.Create() omĂłwionej w punkcie dotyczÄ&#x2026;cym tworzenia gniazda.
\'|' 1 # & "
Parametr RemoteSocketAddress jest wskaĹşnikiem (ang. pointer) do ciÄ&#x2026;gu znakowego okreĹ&#x203A;lajÄ&#x2026;cego adres sieciowy gniazda (w tym przypadku urzÄ&#x2026;dzenia dziaĹ&#x201A;ajÄ&#x2026;cego jako serwer), np. 128.53.22.14, a parametr RemoteSocketPortNumber okreĹ&#x203A;la numer portu. JeĹ&#x203A;li serwer zaakceptuje ĹźÄ&#x2026;danie poĹ&#x201A;Ä&#x2026;czenia, to funkcja Connect() zwraca wartoĹ&#x203A;Ä&#x2021; TRUE. Zwracana wartoĹ&#x203A;Ä&#x2021; FALSE oznacza, Ĺźe poĹ&#x201A;Ä&#x2026;czenie nie moĹźe zostaÄ&#x2021; nawiÄ&#x2026;zane, a przyczynÄ&#x2122; odrzucenia ĹźÄ&#x2026;dania moĹźna ustaliÄ&#x2021; wywoĹ&#x201A;ujÄ&#x2026;c funkcjÄ&#x2122; AsyncLocalSocket.GetLastError(). BĹ&#x201A;Ä&#x2026;d o kodzie WSAEISCONN oznacza, Ĺźe uprzednio nawiÄ&#x2026;zano poĹ&#x201A;Ä&#x2026;czenie z serwerem, natomiast bĹ&#x201A;Ä&#x2026;d o kodzie " oznacza, Ĺźe sekwencja nawiÄ&#x2026;zywania poĹ&#x201A;Ä&#x2026;czenia w tym momencie nie moĹźe zostaÄ&#x2021; ukoĹ&#x201E;czona. W tym drugim przypadku wywoĹ&#x201A;ywanie funkcji Connect() moĹźna wielokrotnie ponawiaÄ&#x2021; aĹź do zaakceptowania nawiÄ&#x2026;zania poĹ&#x201A;Ä&#x2026;czenia przez serwer lub odczytu bĹ&#x201A;Ä&#x2122;du innego niĹź " . W aplikacjach funkcja AsyncLocalSocket.Connect() wywoĹ&#x201A;ywana jest w procedurze realizowanej jako wÄ&#x2026;tek (uruchamiany z poziomu gĹ&#x201A;Ăłwnego okna dialogowego.
Po nawiÄ&#x2026;zaniu poĹ&#x201A;Ä&#x2026;czenia odbiĂłr informacji w gnieĹşdzie lokalnym odbywa siÄ&#x2122; na podobnej zasadzie jak dziaĹ&#x201A;ajÄ&#x2026; procedury uruchamiane w trybie przerwaniowym. Polega to na tym, Ĺźe w momencie odbioru informacji oprogramowanie systemowe inicjuje wykonywanie funkcji OnReceive() aplikacji rĂłwnolegle do realizacji samej aplikacji: â&#x2C6;&#x2019; jeĹ&#x203A;li aplikacja pracuje jako serwer to odbiĂłr informacji od klienta jest sygnalizowane wywoĹ&#x201A;aniem funkcji AsyncRemoteSocket.OnReceive(). â&#x2C6;&#x2019; jeĹ&#x203A;li aplikacja pracuje jako klient to odbiĂłr informacji z serwera jest sygnalizowane wywoĹ&#x201A;aniem funkcji AsyncLocalSocket. OnReceive(). Samo wywoĹ&#x201A;anie funkcji OnReceive() nie zapewnia jednak dostÄ&#x2122;pu do odebranej informacji. WĹ&#x201A;aĹ&#x203A;ciwy odczyt wykonuje siÄ&#x2122; przy pomocy funkcji Receive(), takĹźe bÄ&#x2122;dÄ&#x2026;cej elementem klas CAsyncSocket i CMyAsyncSocket. Jej parametrami sÄ&#x2026; wskaĹşnik (ang. pointer) do bufora odbiorczego #$ "%' * gdzie odczytana informacja ma zostaÄ&#x2021; umieszczona oraz wymiar tego bufora. Sama funkcja zwraca liczbÄ&#x2122; bajtĂłw zapisanych przez niÄ&#x2026; w buforze odbiorczym. Wspomniano, Ĺźe funkcja OnReceive() jest wykonywana wspĂłĹ&#x201A;bieĹźnie z samÄ&#x2026; aplikacjÄ&#x2026;. Istnieje wiÄ&#x2122;c zagroĹźenie, Ĺźe aktualna zawartoĹ&#x203A;Ä&#x2021; bufora odbiorczego #$ "%' * zostanie utracona w wyniku kolejnego uruchomienia OnReceive() zanim aplikacja jÄ&#x2026; odczyta i zinterpretuje. W przypadku aplikacji omĂłwionych w dalszej czÄ&#x2122;Ĺ&#x203A;ci tego artykuĹ&#x201A;u problem ten rozwiÄ&#x2026;zano wykorzystujÄ&#x2026;c dodatkowy bufor +# 0 #1 "%' * obsĹ&#x201A;ugiwany przez dwa indeksy: 3 45 0 #5% i IndeksOdczytu oraz # 6 #4 7 8 # #0. ObsĹ&#x201A;uga tego bufora odbywa siÄ&#x2122; w nastÄ&#x2122;pujÄ&#x2026;cy sposĂłb: Po wykonaniu funkcji Receive() zawartoĹ&#x203A;Ä&#x2021; bufora #$ "%' * zostaje przepisana bajt po bajcie do +# 0 #1 "%' * od komĂłrki o indeksie 3 45 0 #5%, jednoczeĹ&#x203A;nie zwiÄ&#x2122;kszajÄ&#x2026;c 3 45 0 #5% i # 6 #4 7 8 # #0 o liczbÄ&#x2122; przepisanych bajtĂłw. Aplikacja odczytuje zawartoĹ&#x203A;Ä&#x2021; +# 0 #1 "%' * od komĂłrki o indeksie IndeksOdczytu jednoczeĹ&#x203A;nie zwiÄ&#x2122;kszajÄ&#x2026;c IndeksOdczytu i zmniejszajÄ&#x2026;c # 6 #4 7 8 # #0 o liczbÄ&#x2122; odczytanych bajtĂłw. ZwiÄ&#x2122;kszanie obu indeksĂłw 3 45 0 #5% i IndeksOdczytu odbywa siÄ&#x2122; do rozmiaru bufora +# 0 #1 "%' *, nastÄ&#x2122;pnie sÄ&#x2026; one zerowanie i zliczanie powtarza siÄ&#x2122;.
\'\' "
Programowe zerwanie poĹ&#x201A;Ä&#x2026;czenia gniazda lokalnego z gniazdem oddalonym nastÄ&#x2122;puje po wykonaniu funkcji Close(). Jednak w zaleĹźnoĹ&#x203A;ci od tego czy aplikacja dziaĹ&#x201A;a jako serwer czy jako klient jest to wykonywane w róşny sposĂłb. â&#x2C6;&#x2019; jeĹ&#x203A;li aplikacja dziaĹ&#x201A;a jako serwer to zerwanie poĹ&#x201A;Ä&#x2026;czenia z klientem nastÄ&#x2122;puje po wywoĹ&#x201A;aniu funkcji AsyncRemoteSocket.Close(). W tym przypadku serwer zrywa poĹ&#x201A;Ä&#x2026;czenie tylko z gniazdem, ktĂłremu odpowiada obiekt AsyncRemoteSocket. Gdyby aplikacja miaĹ&#x201A;a takĹźe otwarte poĹ&#x201A;Ä&#x2026;czenie z innym gniazdem, np. opisanym obiektem AsyncRemoteSocket2, to poĹ&#x201A;Ä&#x2026;czenie z nim nadal byĹ&#x201A;oby otwarte, â&#x2C6;&#x2019; jeĹ&#x203A;li aplikacja dziaĹ&#x201A;a jako klient, to zerwanie poĹ&#x201A;Ä&#x2026;czenia z serwerem nastÄ&#x2122;puje po wywoĹ&#x201A;aniu funkcji AsyncLocalSocket.Close(). W tym przypadku aby powtĂłrnie nawiÄ&#x2026;zaÄ&#x2021; poĹ&#x201A;Ä&#x2026;czenie z serwerem musi zostaÄ&#x2021; powtĂłrzona sekwencja wykonywana funkcjami Create() i Connect().
\'^' $ " " Oprogramowanie systemowe sygnalizuje nawiÄ&#x2026;zanie i zerwanie poĹ&#x201A;Ä&#x2026;czenia miÄ&#x2122;dzy dwoma wspĂłlpracujacymi punktami koĹ&#x201E;cowymi (gniazdami) w nastÄ&#x2122;pujÄ&#x2026;cy sposĂłb: â&#x2C6;&#x2019; jeĹ&#x203A;li aplikacja pracuje jako serwer to nawiÄ&#x2026;zanie poĹ&#x201A;Ä&#x2026;czenia z klientem jest sygnalizowane wywoĹ&#x201A;aniem funkcji AsyncLocalSocket.OnAccept() i dodatkowo wywoĹ&#x201A;ywaniem funkcji AsyncRemoteSocket.OnSend().
80
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
\'}' 7 & " FunkcjÄ&#x2122; OnSend() klas CAsyncSocket i CMyAsyncSocket oprogramowanie systemowe wywoĹ&#x201A;uje jako powiadomienie o moĹźliwoĹ&#x203A;ci wysĹ&#x201A;ania informacji do gniazda wspĂłĹ&#x201A;pracujÄ&#x2026;-
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
% j = < = cego. SamÄ&#x2026; transmisjÄ&#x2122; inicjuje funkcja Send(), ktĂłrej parametrami sÄ&#x2026; wskaĹşnik (ang. pointer) do bufora nadawczego *0 59# "%' * zawierajÄ&#x2026;cego dane oraz liczbÄ&#x2122; bajtĂłw do wysĹ&#x201A;ania. W momencie wywoĹ&#x201A;ania OnSend()aplikacja moĹźe nie mieÄ&#x2021; Ĺźadnych danych do transmisji, a wiÄ&#x2122;c doĹ&#x201A;Ä&#x2026;czanie do procedury OnSend() instrukcji Send() wiÄ&#x2026;Ĺźe siÄ&#x2122; ze sprawdzaniem dodatkowych warunkĂłw o aktualnym wypeĹ&#x201A;nieniu bufora *0 59# "%' *. Zamiast tego wygodniej jest sterowaÄ&#x2021; wysyĹ&#x201A;kÄ&#x2026; informacji poprzez wartoĹ&#x203A;Ä&#x2021; dodatkowej flagi typu BOOL, ktĂłra byĹ&#x201A;aby wysterowywana (TRUE) przez funkcjÄ&#x2122; OnSend(), a zerowana (FALSE) przez gĹ&#x201A;ĂłwnÄ&#x2026; czÄ&#x2122;Ĺ&#x203A;Ä&#x2021; aplikcji po instrukcji wywoĹ&#x201A;ujÄ&#x2026;cej Send(). Naturalnie wywoĹ&#x201A;anie Send() jest moĹźliwe tylko wtedy, gdy wspomniana flaga ma wartoĹ&#x203A;Ä&#x2021; TRUE i w buforze *0 59# "%' * znajdujÄ&#x2026; siÄ&#x2122; dane do transmisji. TransmisjÄ&#x2122; do gniazda wspĂłĹ&#x201A;pracujÄ&#x2026;cego aplikacja moĹźe realizowaÄ&#x2021; tylko wtedy, gdy nawiÄ&#x2026;zano poĹ&#x201A;Ä&#x2026;czenie z docelowym gniazdem oddalonym. W zaleĹźnoĹ&#x203A;ci od trybu pracy aplikacji róşny jest sposĂłb obsĹ&#x201A;ugi tej transmisji: â&#x2C6;&#x2019; jeĹ&#x203A;li aplikacja pracuje jako serwer to moĹźliwoĹ&#x203A;Ä&#x2021; wysyĹ&#x201A;ania informacji do klienta sygnalizuje funkcja AsyncRemoteSocket.OnSend(), a samÄ&#x2026; transmisjÄ&#x2122; wykonuje funkcja AsyncRemoteSocket.Send(), â&#x2C6;&#x2019; jeĹ&#x203A;li aplikacja pracuje jako klient to moĹźliwoĹ&#x203A;Ä&#x2021; wysyĹ&#x201A;ania informacji do serwera sygnalizuje funkcja AsyncLocalSocket.OnSend(), a samÄ&#x2026; transmisjÄ&#x2122; wykonuje funkcja AsyncLocalSocket.Send(),
^' - ! + ' { " - !
"
W PrzemysĹ&#x201A;owym Instytucie Automatyki i PomiarĂłw PIAP zrealizowano kilka aplikacji, ktĂłre wymagaĹ&#x201A;y sprzÄ&#x2122;Ĺźenia ze sobÄ&#x2026; dwĂłch róşnych urzÄ&#x2026;dzeĹ&#x201E; za pomocÄ&#x2026; sieci Ethernet. JednÄ&#x2026;
z nich byĹ&#x201A;a praca, gdzie punktami koĹ&#x201E;cowymi byĹ&#x201A; robot ABB i kamera wizyjna firmy Sick [8]. W trakcie realizacji podobnych aplikacji czÄ&#x2122;stym problemem jest uruchomienie samej transmisji, poniewaĹź w przypadku gdy dziaĹ&#x201A;a ona niewĹ&#x201A;aĹ&#x203A;ciwie zazwyczaj nie od razu wiadomo, ktĂłrego urzÄ&#x2026;dzenia to dotyczy i jakie bĹ&#x201A;Ä&#x2122;dy sÄ&#x2026; tego przyczynÄ&#x2026;. DobrÄ&#x2026; praktykÄ&#x2026; jest kolejne zastÄ&#x2122;powanie jednego z urzÄ&#x2026;dzeĹ&#x201E; komputerem PC z poprawnie dziaĹ&#x201A;ajÄ&#x2026;cÄ&#x2026; aplikacjÄ&#x2026; sieciowÄ&#x2026; i przy jej pomocy uruchomienie transmisji na drugim urzÄ&#x2026;dzeniu. W zwiÄ&#x2026;zku z tym przydatna jest uniwersalna aplikacja, ktĂłrÄ&#x2026; moĹźna testowaÄ&#x2021; transmisjÄ&#x2122; sieciowÄ&#x2026; miÄ&#x2122;dzy komputerem a urzÄ&#x2026;dzeniem zewnÄ&#x2122;trznym takim jak sterownik robota, kamera wizyjna lub drugi komputer. Aplikacja taka powinna mieÄ&#x2021; moĹźliwoĹ&#x203A;Ä&#x2021; zamiennej pracy jako serwer i jako klient, a jej kod byĹ&#x201A;by wzorcem do realizacji innych programĂłw uĹźytkowych, np. monitorujÄ&#x2026;cych stan robota. TakÄ&#x2026; aplikacjÄ&#x2026; jest EthernetTest.exe, wykorzystujÄ&#x2026;ca elementy klasy CMyAsyncSocket. Jej gĹ&#x201A;Ăłwne okno dialogowe przedstawiono na rysunku 1. Aplikacja dziaĹ&#x201A;a w nastÄ&#x2122;pujÄ&#x2026;cy sposĂłb: â&#x2C6;&#x2019; po uruchomieniu analizowany jest doĹ&#x201A;Ä&#x2026;czony tekstowy plik konfiguracyjny. Zawiera on m.in. informacje o adresie sieciowym i numerze portu komputera, na ktĂłrym uruchomiono aplikacjÄ&#x2122;, a takĹźe te same informacje dotyczÄ&#x2026;ce urzÄ&#x2026;dzenia wspĂłĹ&#x201A;pracujÄ&#x2026;cego (drugiego komputera lub robota). W pliku konfiguracyjnym jest takĹźe informacja, czy aplikacja ma dziaĹ&#x201A;aÄ&#x2021; jako serwer lub jako klient. Wspomniane parametry mogÄ&#x2026; byÄ&#x2021; zmieniane z poziomu samej aplikacji (przyciski â&#x20AC;&#x17E;Dane local socketâ&#x20AC;? i â&#x20AC;&#x17E;Dane remote socketâ&#x20AC;?, â&#x20AC;&#x17E;Praca w trybie SERVERâ&#x20AC;?, â&#x20AC;&#x17E;Praca w trybie CLIENT)â&#x20AC;?). â&#x2C6;&#x2019; po wyĹ&#x203A;wietleniu okna dialogowego przyciskiem â&#x20AC;&#x17E;Create local socketâ&#x20AC;? naleĹźy zdefiniowaÄ&#x2021; gniazdo, â&#x2C6;&#x2019; jeĹ&#x203A;li aplikacja ma dziaĹ&#x201A;aÄ&#x2021; jako serwer, to naleĹźy jÄ&#x2026; ustawiÄ&#x2021; w tryb nasĹ&#x201A;uchu kanaĹ&#x201A;u transmisyjnego przy pomocy przycisku â&#x20AC;&#x17E;LISTEN by local socketâ&#x20AC;?. PoĹ&#x201A;Ä&#x2026;czenie bÄ&#x2122;dzie nawiÄ&#x2026;zane, jeĹ&#x203A;li na urzÄ&#x2026;dzeniu wspĂłĹ&#x201A;pracujÄ&#x2026;cym zostanie wykonana funkcja Connect, â&#x2C6;&#x2019; jeĹ&#x203A;li aplikacja ma dziaĹ&#x201A;aÄ&#x2021; jako klient, to naleĹźy wybraÄ&#x2021; przycisk â&#x20AC;&#x17E;CONNECT to remote socketâ&#x20AC;?. PoĹ&#x201A;Ä&#x2026;czenie bÄ&#x2122;dzie
Rys. 1. GĹ&#x201A;Ăłwne okno dialogowe aplikacji EthernetTest.exe do testowania transmisji sieciÄ&#x2026; Ethernet miÄ&#x2122;dzy komputerem PC a dowolnym urzÄ&#x2026;dzeniem zewnÄ&#x2122;trznym (np. robotem) Fig. 1. The main dialog window of the EthernetTest.exe application for testing Ethernet transmission between a PC and any external device (e.g. a robot)
81
" ' 8 " 8 % 8 %= v â&#x20AC;˘ Nowa linia â&#x20AC;&#x201C; jego wybranie spowoduje rozpoczÄ&#x2122;cie wyĹ&#x203A;wietlania od nowego wiersza, â&#x20AC;˘ Display char â&#x20AC;&#x201C; odebrana informacja bÄ&#x2122;dzie wyĹ&#x203A;wietlana w postaci znakowej, â&#x20AC;˘ Display hex â&#x20AC;&#x201C; odebrana informacja bÄ&#x2122;dzie wyĹ&#x203A;wietlana w postaci kodĂłw hexadecymalnych poszczegĂłlnych znakĂłw, â&#x20AC;˘ Start zapisu do pliku â&#x20AC;&#x201C; odebrana informacja bÄ&#x2122;dzie dodatkowo zapisywana do pliku zgodnie z wybranym formatem zapisu, tj. znakowo albo jako kod hexadecymalny poszczegĂłlnych znakĂłw, â&#x20AC;˘ Stop zapisu do pliku â&#x20AC;&#x201C; zatrzymanie zapisu do pliku odbieranej informacji. Okienko 16: â&#x2C6;&#x2019; informacja wysyĹ&#x201A;ana do urzÄ&#x2026;dzenia zewnÄ&#x2122;trznego, np. do robota. MoĹźe byÄ&#x2021; ona wyĹ&#x203A;wietlana w postaci znakowej lub jako kody hexadecymalne poszczegĂłlnych znakĂłw. Pod okienkiem umieszczono piÄ&#x2122;Ä&#x2021; przyciskĂłw: â&#x20AC;˘ Kasuj okno â&#x20AC;&#x201C; jego wybranie spowoduje wyczyszczenie zawartoĹ&#x203A;ci okienka, â&#x20AC;˘ Nowa linia â&#x20AC;&#x201C; jego wybranie powoduje, Ĺźe wyĹ&#x203A;wietlanie informacja rozpocznie siÄ&#x2122; od nowego wiersza, â&#x20AC;˘ Test â&#x20AC;&#x201C; aplikacja bÄ&#x2122;dzie automatycznie wysyĹ&#x201A;aĹ&#x201A;a ciÄ&#x2026;g znakowy jak poniĹźej: 123456789 123456789 123456789 123456789 123456789 12345 23456789 123456789 123456789 123456789 123456789 12345 3456789 123456789 123456789 123456789 123456789 12345 1 ........................................ ............... 9 123456789 123456789 123456789 123456789 123456789 123 123456789 123456789 123456789 123456789 123456789 1234 123456789 123456789 123456789 123456789 123456789 12345 Test ten jest wykonywany w sposĂłb ciÄ&#x2026;gĹ&#x201A;y do monentu aĹź zostaje zakoĹ&#x201E;czony przez operatora przez wybranie przycisku funkcyjnego â&#x20AC;˘ WyĹ&#x203A;lij plik â&#x20AC;&#x201C; jego wybranie spowoduje otwarcie okienka dialogowego do wskazania pliku, ktĂłrego zawartoĹ&#x203A;Ä&#x2021; zostanie wysĹ&#x201A;ana do urzÄ&#x2026;dzenia zewnÄ&#x2122;trznego. â&#x20AC;˘ Retransmisja â&#x20AC;&#x201C; informacja odbierana z urzÄ&#x2026;dzenia zewnÄ&#x2122;trznego jest wysyĹ&#x201A;ana do nadawcy. Test ten jest wykonywany w sposĂłb ciÄ&#x2026;gĹ&#x201A;y do monentu aĹź zostaje zakoĹ&#x201E;czony przez operatora poprzez wybranie przycisku funkcyjnego
nawiÄ&#x2026;zane, jeĹ&#x203A;li uprzednio urzÄ&#x2026;dzenie wspĂłĹ&#x201A;pracujÄ&#x2026;ce zostanie ustawione w stan nasĹ&#x201A;uchu Listen. â&#x2C6;&#x2019; po nawiÄ&#x2026;zaniu poĹ&#x201A;Ä&#x2026;czenia caĹ&#x201A;a odbierana informacja bÄ&#x2122;dzie wyĹ&#x203A;wietlana w okienku nr 15. Aby wysĹ&#x201A;aÄ&#x2021; informacjÄ&#x2122; naleĹźy wybraÄ&#x2021; kursorem myszy okienko nr 16, a nastÄ&#x2122;pnie posĹ&#x201A;uĹźyÄ&#x2021; siÄ&#x2122; klawiaturÄ&#x2026;. MoĹźliwe jest takĹźe wysyĹ&#x201A;anie informacji generowanej przez samÄ&#x2026; aplikacjÄ&#x2122;, wysyĹ&#x201A;anie informacji odczytanej z pliku tekstowego lub w trybie retransmisji, tzn. to co zostaje odebrane, jest wysyĹ&#x201A;ane do nadawcy. â&#x2C6;&#x2019; przycisk â&#x20AC;&#x17E;CLOSE local socketâ&#x20AC;? bez wzglÄ&#x2122;du na wybrany tryb pracy aplikacji zamyka poĹ&#x201A;Ä&#x2026;czenie. Dla uĹ&#x201A;atwienia obsĹ&#x201A;ugi niektĂłre przyciski sÄ&#x2026; blokowane, jeĹ&#x203A;li w danym trybie pracy aplikacji funkcje uruchamiane tymi przyciskami sÄ&#x2026; niedostÄ&#x2122;pne (np. blokowanie przycisku â&#x20AC;&#x17E;LISTEN by local socketâ&#x20AC;?, jeĹ&#x203A;li aplikacja pracuje jako klient). Okienko 1: â&#x2C6;&#x2019; komunikaty informacyjne dla operatora wyĹ&#x203A;wietlane przez aplikacjÄ&#x2122; EthernetTest.exe Okienko 2: â&#x2C6;&#x2019; komunikat o aktualnym stanie aplikacji EthernetTest.exe Okienko 3: â&#x2C6;&#x2019; odczyt wskazaĹ&#x201E; zegara komputera na ktĂłrym pracuje aplikacja EthernetTest.exe Okienko 4: â&#x2C6;&#x2019; numer podstanu aplikacji EthernetTest.exe Okienko 5: â&#x2C6;&#x2019; odczyt wskazaĹ&#x201E; kalendarza komputera, na ktĂłrym pracuje aplikacja EthernetTest.exe Okienko 6: â&#x2C6;&#x2019; informacja o stanie poĹ&#x201A;Ä&#x2026;czenia komputera PC z urzÄ&#x2026;dzeniem zewnÄ&#x2122;trznym (np. z robotem) Okienko 7: â&#x2C6;&#x2019; adres sieciowy komputera PC Okienko 8: â&#x2C6;&#x2019; numer portu komputera PC Okienko 9: â&#x2C6;&#x2019; adres sieciowy zewnÄ&#x2122;trznego urzÄ&#x2026;dzenia wspĂłĹ&#x201A;pracujÄ&#x2026;cego (np. robota) Okienko 10: â&#x2C6;&#x2019; numer portu zewnÄ&#x2122;trznego urzÄ&#x2026;dzenia wspĂłĹ&#x201A;pracujÄ&#x2026;cego (robota) Okienko 11: â&#x2C6;&#x2019; wybrany tryb pracy aplikacji EthernetTest.exe (serwer lub klient) Okienko 12: â&#x2C6;&#x2019; informacja, czy utworzono kanaĹ&#x201A; transmisyjny do urzÄ&#x2026;dzenia zewnÄ&#x2122;trznego (robota) Okienko 13: â&#x2C6;&#x2019; komunikat wygenerowany przez ostatniÄ&#x2026; wykonanÄ&#x2026; funkcjÄ&#x2122; bÄ&#x2122;dÄ&#x2026;cÄ&#x2026; elementem obiektu lokalnego. Funkcja ta jest automatycznie uruchamiana przez oprogramowanie systemowe (dotyczy szeĹ&#x203A;ciu funkcji: AsyncLocalSocket.OnFunction()) Okienko 14: â&#x2C6;&#x2019; komunikat wygenerowany przez ostatniÄ&#x2026; wykonanÄ&#x2026; funkcjÄ&#x2122; bÄ&#x2122;dÄ&#x2026;cÄ&#x2026; elementem obiektu oddalonego. Funkcja ta jest automatycznie uruchamiana przez oprogramowanie systemowe (dotyczy szeĹ&#x203A;ciu funkcji: AsyncRemoteSocket.OnFunction()) Okienko 15: â&#x2C6;&#x2019; informacja odebrana z urzÄ&#x2026;dzenia zewnÄ&#x2122;trznego, np. z robota. MoĹźe byÄ&#x2021; ona wyĹ&#x203A;wietlana w postaci znakowej lub jako kody hexadecymalne poszczegĂłlnych znakĂłw. Pod okienkiem umieszczono piÄ&#x2122;Ä&#x2021; przyciskĂłw: â&#x20AC;˘ Kasuj okno â&#x20AC;&#x201C; jego wybranie spowoduje wyczyszczenie zawartoĹ&#x203A;ci okienka,
82
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
Aplikacja EthernetTest.exe moĹźe wspĂłlpracowaÄ&#x2021; z oprogramowaniem robota KUKA opisanym poniĹźej. Jednak nie zawiera ona fragmentĂłw kodu sĹ&#x201A;uĹźÄ&#x2026;cego do interpretacji informacji zawartych w przesyĹ&#x201A;kach z robota, a wiÄ&#x2122;c jej dziaĹ&#x201A;anie ogranicza siÄ&#x2122; tylko do wyĹ&#x203A;wietlenia w okienku nr 15 zawartoĹ&#x203A;ci przesyĹ&#x201A;ek. Na podstawie tej aplikacji wykonano program EthernetRobot.exe interpretujÄ&#x2026;cy przesyĹ&#x201A;ki z robota, ale uboĹźszy w zakresie funkcjonalnoĹ&#x203A;ci transmisji sieciowej. Program ten opisano w dalszej czÄ&#x2122;Ĺ&#x203A;ci tej publikacji.
|' #
PIAP dysponuje trzema obotami firmy KUKA: jednym z ukĹ&#x201A;adem sterowania KRC2 i dwoma z ukĹ&#x201A;adem sterowania KRC4. Bez wzglÄ&#x2122;du na ukĹ&#x201A;ad sterowania sposĂłb programowania tych robotĂłw jest jednakowy. UkĹ&#x201A;ady te róşniÄ&#x2026; siÄ&#x2122; jednak zasobami bibliotecznymi jakie sÄ&#x2026; do dyspozycji programisty. A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
% j = < = â&#x2C6;&#x2019; ukĹ&#x201A;ad KRC2 zawiera pojedynczy interfejs RS-232 i pojedynczy port Ethernet, ale aby byĹ&#x201A;o moĹźliwe wykorzystanie portu Ethernet, to dodatkowo naleĹźy osadziÄ&#x2021; w sterowniku robota pakiet oprogramowania do jego obsĹ&#x201A;ugi, â&#x2C6;&#x2019; ukĹ&#x201A;ad KRC4 nie zawiera interfejsu RS-232, ale standardowo zostaĹ&#x201A; wyposaĹźony w dwa porty Ethernet oznaczone jako KLI i KONI. Port KLI jest wykorzystywany do wspĂłĹ&#x201A;pracy z oprogramowaniem Kuka WorkVisual przeznaczonym do konfigurowania i tworzenia aplikacji na zewnÄ&#x2122;trznym komputerze PC. Dlatego oprogramowanie systemowe robota zawiera wszystkie funkcje biblioteczne zawarte w pakiecie o nazwie EKI (ang. Ethernet KRL Interface) pozwalajÄ&#x2026;ce na wymianÄ&#x2122; informacji z dowolnym urzÄ&#x2026;dzeniem zewnÄ&#x2122;trznym przy pomocy sieci Ethernet i protokoĹ&#x201A;u TCP/IP. Na temat portu KONI autorzy pracy nie znaleĹşli Ĺźadnych informacji w dostÄ&#x2122;pnych dla nich podrÄ&#x2122;cznikach firmy KUKA. Z wymienionych powodĂłw do realizacji tej pracy wybrano jeden z robotĂłw z ukĹ&#x201A;adem sterowania KRC4, a jako port transmisyjny wykorzystano zĹ&#x201A;Ä&#x2026;cze KLI. Ten ostatni wybĂłr narzuciĹ&#x201A; jednak pewne ograniczenie. Aby oprogramowanie systemowe robota mogĹ&#x201A;o wspĂłĹ&#x201A;pracowaÄ&#x2021; z oprogramowaniem Kuka WorkVisual port ten musi mieÄ&#x2021; ustawiony sieciowy adres IP i numer portu ze Ĺ&#x203A;cisle okreĹ&#x203A;lonego zakresu, a dowolna inna aplikacja komputera PC wspĂłĹ&#x201A;pracujÄ&#x2026;ca z robotem powinna uwzglÄ&#x2122;dniaÄ&#x2021; te ustawienia. Przy pomocy panelu programowania robota moĹźna modyfikowaÄ&#x2021; parametry poza narzucony zakres w sposĂłb â&#x20AC;&#x17E;wygodnyâ&#x20AC;? dla innej aplikacji, ale wtedy nie ma moĹźliwoĹ&#x203A;ci korzystania z pakietu Kuka WorkVisual. W trakcie realizacji pracy okazaĹ&#x201A;o siÄ&#x2122;, Ĺźe na zewnÄ&#x2122;trznym komputerze obie aplikacje, tj. Kuka WorkVisual i program zrealizowany w ramach tej pracy mogÄ&#x2026; pracowaÄ&#x2021; wspĂłĹ&#x201A;bieĹźnie i bezkonfliktowo.
|']'
! # Oprogramowanie aplikacyjne robotĂłw Kuka tworzy siÄ&#x2122; w jÄ&#x2122;zyku KRL (ang. Kuka Robot Language). Jak kaĹźdy jÄ&#x2122;zyk wysokiego poziomu w swojej skĹ&#x201A;adni zawiera on definicje czterech podstawowych typĂłw danych: â&#x2C6;&#x2019; INT â&#x20AC;&#x201C; jest to typ danych o dĹ&#x201A;ugoĹ&#x203A;ci 2 bajtĂłw do definiowania zmiennych typu liczba caĹ&#x201A;kowita ze znakiem, â&#x2C6;&#x2019; REAL â&#x20AC;&#x201C; jest to typ danych o dĹ&#x201A;ugoĹ&#x203A;ci 4 bajtĂłw do definiowania zmiennych typu liczba zmiennoprzecinkowa, â&#x2C6;&#x2019; BOOL â&#x20AC;&#x201C; jest to typ danych o dĹ&#x201A;ugoĹ&#x203A;ci 1 bajtu do definiowania zmiennych logicznych o wartoĹ&#x203A;ciach TRUE lub FALSE, â&#x2C6;&#x2019; CHAR â&#x20AC;&#x201C; jest typ danych o dĹ&#x201A;ugoĹ&#x203A;ci 1 bajtu do definiowania zmiennych â&#x20AC;&#x17E;znakowychâ&#x20AC;?. WykorzystujÄ&#x2026;c te cztery podstawowe typy danych moĹźna definiowaÄ&#x2021; tablice wielowymiarowe i zmienne typu â&#x20AC;&#x17E;strukturaâ&#x20AC;?, ktĂłre najczÄ&#x2122;Ĺ&#x203A;ciej wykorzystuje siÄ&#x2122; do: â&#x2C6;&#x2019; zdefiniowania poĹ&#x201A;oĹźenia osi manipulatora: STRUC AXIS REAL A1,A2,A3,A4,A5,A6 STRUC E6AXIS REAL A1,A2,A3,A4,A5,A6, E1,E2,E3,E4,E5,E6 Oba wymienione w tym podpunkcie typy zmiennych zawierajÄ&#x2026; informacje, jakie sÄ&#x2026; poĹ&#x201A;oĹźenia poszczegĂłlnych osi manipulatora (w stopniach), aby robot znalazĹ&#x201A; siÄ&#x2122; w okreĹ&#x203A;lonym poĹ&#x201A;oĹźeniu. Nie ma tutaj odwoĹ&#x201A;ania do Ĺźadnego ukĹ&#x201A;adu wspĂłĹ&#x201A;rzÄ&#x2122;dnych prostokÄ&#x2026;tnych i do Ĺźadnego narzÄ&#x2122;dzia. Typ E6AXIS jest rozszerzeniem typu AXIS i odnosi siÄ&#x2122; do przypadku, kiedy robot zawiera od 1 do 6 dodatkowych osi zewnÄ&#x2122;trznych zwiÄ&#x2026;zanych, np. z torem jezdnym. â&#x2C6;&#x2019; poĹ&#x201A;oĹźenia punktu TCP w wybranym ukĹ&#x201A;adzie wspĂłĹ&#x201A;rzÄ&#x2122;dnych prostokÄ&#x2026;tnych: Z[ [ [ ["[ [ [ \ Z[ [ [ ["[ [ ][ ^[ E3,E4,E5,E6, INT S,T
Oba wymienione w tym podpunkcie typy zmiennych zawierajÄ&#x2026; informacje o wspĂłĹ&#x201A;rzÄ&#x2122;dnych punktu TCP i orientacji narzÄ&#x2122;dzia w wybranym ukĹ&#x201A;adzie wspĂłĹ&#x201A;rzÄ&#x2122;dnych prostokÄ&#x2026;tnych. Typ E6POS jest rozszerzeniem typu POS i odnosi siÄ&#x2122; do przypadku, kiedy robot zawiera od 1 do 6 dodatkowych osi zewnÄ&#x2122;trznych zwiÄ&#x2026;zanych, np. z torem jezdnym. UkĹ&#x201A;ad sterowania robota KUKA i jÄ&#x2122;zyk KRL zapewniajÄ&#x2026; dostÄ&#x2122;p do tzw. zmiennych systemowych. Zmienne te sÄ&#x2026; dostÄ&#x2122;pne w trybie programowania â&#x20AC;&#x17E;expertâ&#x20AC;? i umoĹźliwiajÄ&#x2026; zintegrowanie programu aplikacyjnego robota z informacjami dostÄ&#x2122;pnymi w jego ukĹ&#x201A;adzie sterowania. Przy ich pomocy moĹźliwy jest m.in. odczyt aktualnej pozycji robota, odczyt aktualnych pozycji kaĹźdej z osi, odczyt aktualnych wartoĹ&#x203A;ci prÄ&#x2122;dkoĹ&#x203A;ci i przyspieszeĹ&#x201E; oraz informacji o tym czy robot znajduje siÄ&#x2122; w pozycji HOME. W jÄ&#x2122;zyku KRL nazwy zmiennych systemowych rozpoczynajÄ&#x2026; siÄ&#x2122; od znaku â&#x20AC;&#x17E;$â&#x20AC;?. PeĹ&#x201A;nÄ&#x2026; listÄ&#x2122; zmiennych systemowych wraz z ich opisem moĹźna znaleĹşÄ&#x2021; w [4]. W artykule przedstawiono podstawowe informacje na temat zmiennych, ktĂłre wykorzystano przy realizacji pracy. Zmiennymi tymi sÄ&#x2026;: â&#x2C6;&#x2019; zmienna $AXIS_ACT typu E6AXIS zawierajÄ&#x2026;ca informacjÄ&#x2122; o aktualnym poĹ&#x201A;oĹźeniu w stopniach wszystkich osi manipulatora. Pozwala ona na przyporzÄ&#x2026;dkowanie informacji o poĹ&#x201A;oĹźeniu osi do dowolnej zmiennej zadeklarowanej w programie jako zmienna typu E6AXIS: E6AXIS _AxisPos ; deklaracja zmiennej _AxisPos _AxisPos = $AXIS_ACT ; przyporzÄ&#x2026;dkowanie â&#x2C6;&#x2019; zmienna $H_POS typu E6AXIS zawierajÄ&#x2026;ca informacjÄ&#x2122; o poĹ&#x201A;oĹźeniu w stopniach wszystkich osi manipulatora znajdujÄ&#x2026;cego siÄ&#x2122; w wyjĹ&#x203A;ciowej pozycji HOME. Pozwala ona na przyporzÄ&#x2026;dkowanie informacji o poĹ&#x201A;oĹźeniu osi robota znajdujÄ&#x2026;cego siÄ&#x2122; w pozycji HOME do dowolnej zmiennej zadeklarowanej w programie jako zmienna typu E6AXIS: E6AXIS _HomePos ; deklaracja zmiennej _HomePos _HomePos = $H_POS ; instrukcja przyporzÄ&#x2026;dkowania â&#x2C6;&#x2019; zmienna $POS_ACT typu E6POS zawierajÄ&#x2026;ca informacjÄ&#x2122; o wspĂłĹ&#x201A;rzÄ&#x2122;dnych punktu TCP i orientacji wybranego narzÄ&#x2122;dzia w wybranym ukĹ&#x201A;adzie wspĂłĹ&#x201A;rzÄ&#x2122;dnych prostokÄ&#x2026;tnych. Pozwala ona na przyporzÄ&#x2026;dkowanie tej informacji do dowolnej zmiennej zadeklarowanej w programie jako zmienna typu E6POS: E6AXIS _CartesianPos ; deklaracja zmiennej _CartesianPos CartesianPos = $POSACT ; przyporzÄ&#x2026;dkowanie â&#x2C6;&#x2019; zmienna $ACT_BASE typu INT zawierajÄ&#x2026;ca informacjÄ&#x2122; o numerze aktualnie wybranego ukĹ&#x201A;adu wspĂłĹ&#x201A;rzÄ&#x2122;dnych. Pozwala ona na przyporzÄ&#x2026;dkowanie tej informacji do dowolnej zmiennej zadeklarowanej w programie jako zmienna typu INT: INT _NrUkladu ; deklaracja zmiennej _NrUkladu _NrUkladu = $ACT_BASE ; przyporzÄ&#x2026;dkowanie â&#x2C6;&#x2019; zmienna $ACT_TOOL typu INT zawierajÄ&#x2026;ca informacjÄ&#x2122; o numerze aktualnie wybranego narzÄ&#x2122;dzia. Pozwala ona na przyporzÄ&#x2026;dkowanie tej informacji do dowolnej zmiennej zadeklarowanej w programie jako zmienna typu INT: INT _NrNarzedzia ; deklaracja zmiennej _NrNarzedzia _NrNarzedzia = $ACT_TOOL ; przyporzÄ&#x2026;dkowanie â&#x2C6;&#x2019; zmienna $PHGTEMP typu INT zawierajÄ&#x2026;ca informacjÄ&#x2122; o aktualnej temperaturze we wnÄ&#x2122;trzu szafy sterowniczej robota. Pozwala ona na przyporzÄ&#x2026;dkowanie tej informacji do dowolnej zmiennej zadeklarowanej w programie jako zmienna typu INT: ! 9 ; deklaracja zmiennej ! 9 ! 9 j q |~ ; przyporzÄ&#x2026;dkowanie â&#x2C6;&#x2019; zmienna $MOVE_OP typu ENUM (typ wyliczeniowy) okreĹ&#x203A;lajÄ&#x2026;ca aktualny tryb pracy robota: T1, T2, AUT, EX:
83
" ' 8 " 8 % 8 %= v ZawartoĹ&#x203A;Ä&#x2021; pliku â&#x20AC;&#x17E; % 0Â? ! +# Â&#x17D;Â?9+â&#x20AC;? zamieszczono poniĹźej:
SWITCH $MODE_OP CASE #T1 ; â&#x2020;&#x2019;Â robot jest w trybie testowym T1 CASE #T2 ; â&#x2020;&#x2019;Â robot jest w trybie testowym T1 CASE #AUT ; â&#x2020;&#x2019;Â robot jest w trybie automatyki AUT CASE #EX ; â&#x2020;&#x2019;Â robot jest w trybie zewnÄ&#x2122;trznej automatyki EXT DEFAULT ; â&#x2020;&#x2019;Â Â robot jest w nieokreĹ&#x203A;lonym trybie pracy (bĹ&#x201A;Ä&#x2026;d) ENDSWITCH â&#x2C6;&#x2019; zmienna $IN_HOME typu SIGNAL (lub BOOL) okreĹ&#x203A;lajÄ&#x2026;ca czy manipulator robota znajduje siÄ&#x2122; w wyjĹ&#x203A;ciowej pozycji HOME: IF ($IN_HOME == TRUE) THEN ; â&#x2020;&#x2019;Â manipulator robota jest w pozycji HOME ELSE ; â&#x2020;&#x2019;Â manipulator robota nie jest w pozycji HOME ENDIF â&#x2C6;&#x2019; zmienna $MOVE_ENABLE typu SIGNAL (lub BOOL) okreĹ&#x203A;lajÄ&#x2026;ca czy manipulator robota ma zezwolenie na ruch: IF ($MOVE_ENABLE == TRUE) THEN ; â&#x2020;&#x2019;Â manipulator robota ma zezwolenie na ruch ELSE ; â&#x2020;&#x2019;Â manipulator robota nie ma zezwolenia na ruch ENDIF â&#x2C6;&#x2019; zmienna $ROBTRAFO[32] bÄ&#x2122;dÄ&#x2026;ca tablicÄ&#x2026; 32-wymiarowÄ&#x2026; typu CHAR zawierajcÄ&#x2026; nazwÄ&#x2122; robota: CHAR _RobotName[32] ; deklaracja zmiennej _RobotName _RobotName = $ROBTRAFO[] ; przyporzÄ&#x2026;dkowanie Dodatkowo w pliku konfiguracyjnym umieszczono deklaracjÄ&#x2122; 50-elementowej tablicy typu CHAR o nazwie UserMessage[50] i â&#x20AC;&#x17E;wstÄ&#x2122;pnieâ&#x20AC;? przyporzÄ&#x2026;dkowano jej tekst Â&#x192; ~ Â&#x201E;: DECL CHAR UserMessage[50] 5 * 550Â&#x2026; Â&#x2020;Â&#x2021;jÂ&#x201E; ~ Â&#x201E;
Â&#x2018;Â&#x2019;Â?9+ $ *5#1 jÂ&#x201E;]Â&#x17D;Â&#x201C;Â&#x201E; 13# Â&#x2026;jÂ&#x201E;% Â&#x201D;Â&#x2022;]\Â&#x201E;Â&#x2019;Â&#x2013; Â&#x2018; | Â&#x2013; Â&#x2018; ~ Â&#x2013; Â&#x2018; Z Â&#x2013; Â&#x2018; Â&#x2013;]Â&#x2014;^Â&#x17D;]\Â&#x2DC;Â&#x17D;]Â&#x201C;Â&#x17D;]Â&#x201C;Â&#x2122;Â&#x2018; Â&#x2013; Â&#x2018; Â&#x2013;Â&#x2122;Â&#x201C;Â&#x201C;Â&#x201C;Â&#x201C;Â&#x2018; Â&#x2013; Â&#x2018; Z Â&#x2013; Â&#x2018; Â&#x2013; Â&#x2018; Â&#x161; Â&#x2013; *1Â&#x2026;*09Â&#x2018; Â&#x161; Â&#x2013; Â&#x2018; ~ #5 +07jÂ&#x201E;3#50Â&#x160;+ 3Â&#x201E; 1Â&#x2026;Â&#x2026;# Â&#x2026;jÂ&#x201E;3#50Â&#x160;+ 3Â&#x201E; Â&#x2013; Â&#x2018; Â&#x161; ! +0Â&#x2026;jÂ&#x201E;Â&#x2014;Â&#x2014;Â&#x2014;Â&#x201E; # Â&#x2026;jÂ&#x201E;]Â&#x201C;Â&#x201E; Â&#x2013; Â&#x2018;" ~ #9# jÂ&#x201E;]Â&#x201E; Â&#x2013; Â&#x2018; Â&#x2013; Â&#x2018; ~ Â&#x2013; Â&#x2018; Â&#x161; Â&#x2013; Â&#x2018;Z Â&#x2013; Â&#x2018; 0Â&#x2026;jÂ&#x201E; Â&#x203A; 7 Â&#x201E; 7 jÂ&#x201E; ~Â&#x201E; Â&#x2013; Â&#x2018; 0Â&#x2026;jÂ&#x201E; *Â&#x201E; 7 jÂ&#x201E; ~Â&#x201E; Â&#x2013; Â&#x2018; 0Â&#x2026;jÂ&#x201E; Â&#x201E; 7 jÂ&#x201E; Â&#x201E; Â&#x2013; Â&#x2018; 0Â&#x2026;jÂ&#x201E; 13 Â&#x203A; Â&#x201E; 7 jÂ&#x201E; Â&#x201E; Â&#x2013; Â&#x2018; 0Â&#x2026;jÂ&#x201E; Â&#x201E; ! +0Â&#x2026;jÂ&#x201E;Â&#x2014;Â&#x2014;Â&#x2DC;Â&#x201E; Â&#x2013; Â&#x2018; Z Â&#x2013; Â&#x2018; Â&#x161; Â&#x2013; Â&#x2018; Â&#x2013; Â&#x2018; Â&#x2013; Â&#x2018; 0Â&#x2026;jÂ&#x201E;"%' *Â&#x201E; 7 jÂ&#x201E; ~Â&#x201E; Â&#x2013; Â&#x2018; Â&#x2013; Â&#x2018; Â&#x2013; Â&#x2018; | Â&#x2013;
Tablica UserMessage[50] zostaĹ&#x201A;a zadeklarowana jako zmienna o zasiÄ&#x2122;gu GLOBAL, a wiÄ&#x2122;c jest dostÄ&#x2122;pna z dowolnego programu aplikacyjnego robota. W zwiÄ&#x2026;zku z tym kaĹźda taka aplikacja moĹźe umieszczaÄ&#x2021; w niej swĂłj dowolny tekst, ale nie dĹ&#x201A;uĹźszy niĹź 50 znakĂłw.
W pliku tym moĹźna wyróşniÄ&#x2021; trzy sekcje: 1. Sekcja Â&#x2018; ~ Â&#x2013; Â&#x2018; ~ Â&#x2013; zawierajÄ&#x2026;ca informacje o adresie IP i numerze portu urzÄ&#x2026;dzenia wspĂłĹ&#x201A;pracujÄ&#x2026;cego. PrzyjÄ&#x2122;to, Ĺźe urzÄ&#x2026;dzenie wspĂłĹ&#x201A;pracujÄ&#x2026;ce bÄ&#x2122;dzie pracowaĹ&#x201A;o w trybie SERVER (sterownik robota jest klientem), w zwiazku z tym w pliku konfiguracyjnym zgodnie z opisem zawartym w [5] pominiÄ&#x2122;to sekcjÄ&#x2122; Â&#x2018; Â&#x2013; Â&#x2018; Â&#x2013;. NaleĹźy takĹźe zwrĂłciÄ&#x2021; uwagÄ&#x2122; na polecenie Â&#x2018; Â&#x161; Â&#x2013; zawarte w sekcji Â&#x2018; Â&#x2013;. OkreĹ&#x203A;la ona numer flagi (w tym przypadku jest to flaga $FLAG[999]), ktĂłra zostaje automatycznie wysterowana przez oprogramowanie systemowe robota (wartoĹ&#x203A;Ä&#x2021; TRUE), jeĹ&#x203A;li istnieje poĹ&#x201A;Ä&#x2026;czenie z urzÄ&#x2026;dzeniem zewnÄ&#x2122;trznym. Parametr Ping okreĹ&#x203A;la interwaĹ&#x201A; czasowy w sekundach miÄ&#x2122;dzy wysĹ&#x201A;aniem kolejnego â&#x20AC;&#x17E;pinguâ&#x20AC;? monitorujacego poĹ&#x201A;Ä&#x2026;czenie z urzÄ&#x2026;dzeniem zewnÄ&#x2122;trznym. 2. Sekcja Â&#x2018; Â&#x161; Â&#x2013; Â&#x2018; Â&#x161; Â&#x2013; zawierajÄ&#x2026;ca informacje o formacie przesyĹ&#x201A;ek odbieranych przez robota z urzÄ&#x2026;dzenia zewnÄ&#x2122;trznego. W przykĹ&#x201A;adowym oprogramowaniu wykonanym w ramach tej pracy przyjÄ&#x2122;to, Ĺźe urzÄ&#x2026;dzenie zewnÄ&#x2122;trzne (w tym przypadku komputer PC) nie bÄ&#x2122;dzie wysyĹ&#x201A;aĹ&#x201A; do robota Ĺźadnej informacji, wiÄ&#x2122;c informacja zawarta w tej sekcji moĹźe byÄ&#x2021; dowolna, pod warunkiem zachowania jej formalnej poprawnoĹ&#x203A;ci. 3. Sekcja Â&#x2018; Â&#x2013; Â&#x2018; Â&#x2013; zawierajÄ&#x2026;ca informacje o formacie przesyĹ&#x201A;ek z robota do urzÄ&#x2026;dzenia zewnetrznego. PrzyjÄ&#x2122;to, Ĺźe robot bÄ&#x2122;dzie wysyĹ&#x201A;aĹ&#x201A; informacjÄ&#x2122; w postaci zbu-
|'X' & -32 Aby byĹ&#x201A;a moĹźliwa wymiana informacji miÄ&#x2122;dzy robotem a urzÄ&#x2026;dzeniem zewnÄ&#x2122;trznym za pomocÄ&#x2026; sieci Ethernet i protokoĹ&#x201A;u TCP/IP naleĹźy uporzednio skonfigurowaÄ&#x2021; poĹ&#x201A;Ä&#x2026;czenie sieciowe i okreĹ&#x203A;liÄ&#x2021; format kodowania tej informacji [5]. Odpowiedni plik konfiguracyjny w formacie .XML pod dowolnÄ&#x2026; nazwÄ&#x2026; obligatoryjnie musi znajdowaÄ&#x2021; siÄ&#x2122; w pamiÄ&#x2122;ci masowej robota w katalogu: Â&#x2C6;Â&#x2030; Â&#x2030; 1Â&#x160;1 *Â&#x2030; 1 Â&#x2039;Â&#x2026;Â&#x2030; 5 *Â&#x2030; 1991 Â&#x2030; Â&#x152; * W katalogu tym moĹźna zapisaÄ&#x2021; wiele plikĂłw konfiguracyjnych. O tym, ktĂłry z nich bÄ&#x2122;dzie wykorzystany decyduje parametr funkcji bibliotecznej ! # inicjujÄ&#x2026;cej w programie aplikacyjnym transmisjÄ&#x2122;. Parametrem tym jest nazwa pliku konfiguracyjnego. W przykĹ&#x201A;adowym oprogramowaniu dla robota, wykonanym na potrzeby tej pracy, plikiem konfiguracyjnym jest plik o nazwie â&#x20AC;&#x17E; % 0Â? ! +# Â&#x17D;Â?9+â&#x20AC;?, a odpowiednie wywoĹ&#x201A;anie funkcji ! # ma postaÄ&#x2021;: ! ! â&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Śâ&#x20AC;Ś j ! # Â&#x192; % 0Â? ! +# Â&#x201E; gdzie _RET jest zmiennÄ&#x2026; typu ! pod ktĂłrÄ&#x2026; zostanie podstawiona wartoĹ&#x203A;Ä&#x2021; zwracana przez funkcjÄ&#x2122; ! # .
84
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
% j = < = forowanego ciÄ&#x2026;gu znakowego (Â&#x2018; 0Â&#x2026;jÂ&#x201E;"%' *Â&#x201E; 2. Start podprogramu: 7 jÂ&#x201E; ~Â&#x201E; Â&#x2013;) Program wykorzystuje timer $TIMER[12] do odliczania 200 milisekundowych interwaĹ&#x201A;Ăłw czasowych miÄ&#x2122;dzy wysĹ&#x201A;a|'[' _ # " niem kolejnego pakietu przesyĹ&#x201A;ek. JeĹ&#x203A;li $TIMER[12] zliczyĹ&#x201A; 200 ms, to jest powtĂłrnie uruchamiany, a nastÄ&#x2122;pnie Na potrzeby realizacji tej pracy przyjÄ&#x2122;to nastÄ&#x2122;pujÄ&#x2026;ce zaĹ&#x201A;oĹźenia sprawdzany jest stan flagi $FLAG[999]. WartoĹ&#x203A;Ä&#x2021; tej flagi, co do formatu przesyĹ&#x201A;ek generowanych przez robota: zgodnie z deklaracjÄ&#x2026; zawartÄ&#x2026; w pliku konfiguracyjnym â&#x2C6;&#x2019; kaĹźda przesyĹ&#x201A;ka ma format tekstowy i skĹ&#x201A;ada siÄ&#x2122; z ciÄ&#x2026;gu znaDunajEKI_Client.xml, okreĹ&#x203A;la czy otwarty jest kanaĹ&#x201A; kĂłw ASCII o kodach od 0x20 (spacja) do 0x7E (znak â&#x20AC;&#x17E;~â&#x20AC;?), transmisyjny miÄ&#x2122;dzy robotem a urzÄ&#x2026;dzeniem zewnÄ&#x2122;trznym. â&#x2C6;&#x2019; kaĹźda przesyĹ&#x201A;ka rozpoczyna siÄ&#x2122; od znaku â&#x20AC;&#x17E;[â&#x20AC;? a koĹ&#x201E;czy W przypadku, gdy kanaĹ&#x201A; jest zamkniÄ&#x2122;ty, tzn. jeĹ&#x203A;li wartoĹ&#x203A;Ä&#x2021; flagi $FLAG[999] jest rĂłwna FALSE, podprogram w pÄ&#x2122;tli znakiem â&#x20AC;&#x17E;]â&#x20AC;?. Dodatkowo po znaku wyznaczajacym koniec przesyĹ&#x201A;ki do bufora nadawczego dodawane sÄ&#x2026; dwa znaki: kolejno inicjuje jego otwarcie (funkcja EKI_Init (â&#x20AC;&#x17E;Dunacarriage return o kodzie hexadecymalnym 0x0D jEKI_Clientâ&#x20AC;?). ZakoĹ&#x201E;czenie pÄ&#x2122;tli programowej nastÄ&#x2122;i line feed o kodzie haexadecymalnym 0x0A. Znaki te puje albo po otwarciu kanaĹ&#x201A;u, albo po zliczeniu przez nie sÄ&#x2026; interpretowane przez program aplikacyjny komputera, $TIMER[12] 200 ms. W tym drugim uznaje siÄ&#x2122;, Ĺźe nie ma zostaĹ&#x201A;y dodane po to, aby uĹ&#x201A;atwiÄ&#x2021; wyĹ&#x203A;wietlanie odebranych moĹźliwoĹ&#x203A;ci otwarcia kanaĹ&#x201A;u transmisyjnego do urzÄ&#x2026;dzenia zewnÄ&#x2122;trznego i podprogram koĹ&#x201E;czy dziaĹ&#x201A;anie. przesyĹ&#x201A;ek lub ich rejestracje do pliku tekstowego podczas uruchamiania oprogramowania. IF ($TIMER_FLAG[12] == TRUE) OR â&#x2C6;&#x2019; po znaku â&#x20AC;&#x17E;[â&#x20AC;? rozpoczynajÄ&#x2026;cym przesyĹ&#x201A;kÄ&#x2122; wystÄ&#x2122;puje dwuli($TIMER_STOP[12] == TRUE) THEN terowy kod przesyĹ&#x201A;ki, a nastÄ&#x2122;pnie ciÄ&#x2026;g znakowy z informacjÄ&#x2026; $TIMER [12] = -200 stanowiÄ&#x2026;cÄ&#x2026; â&#x20AC;&#x17E;zawartoĹ&#x203A;Ä&#x2021;â&#x20AC;? przesyĹ&#x201A;ki. $TIMER_STOP [12] = FALSE â&#x2C6;&#x2019; formatowanie przesyĹ&#x201A;ek odbywa siÄ&#x2122; w buforze nadawczym zadeklarowanym jako 64-wymiarowa tablica znakowa: IF $FLAG[999] == FALSE THEN | !"%' *Â&#x2020;\Â?Â&#x2021; ! j ! # Â&#x; % 0Â? ! +# Â&#x201E; â&#x2C6;&#x2019; przed wpisaniem przesyĹ&#x201A;ki do bufora nadawczego jego zawarWHILE $FLAG[999] == FALSE toĹ&#x203A;Ä&#x2021; jest kasowana poprzez jego wypeĹ&#x201A;nienie znakami o kodzie ! j ! Â&#x; % 0Â? ! +# Â&#x201E; hexadecymalnym 0x00: IF ($TIMER_FLAG[12] == TRUE) THEN INT _IDX ! j ! +15 Â&#x; % 0Â? ! +# Â&#x201E; ........ ! j ! + 0* Â&#x; % 0Â? ! +# Â&#x201E; FOR _IDX=1 TO 64 GOTO THE_END "%' * Â&#x2020; ZÂ&#x2021; j Â&#x201C;Â&#x17E; ENDIF ENDFOR ENDWHILE â&#x2C6;&#x2019; do formatowania przesyĹ&#x201A;ek najczÄ&#x2122;Ĺ&#x203A;ciej jest wykorzystywana ENDIF instrukcja SWRITE. Format tej instrukcji oraz sposĂłb jej wykorzystania opisano w [7]. â&#x2C6;&#x2019; wysĹ&#x201A;anie zawartoĹ&#x203A;ci bufora jest realizowane funkcjÄ&#x2026; biblioJeĹ&#x203A;li timer $TIMER[12] zliczyĹ&#x201A; 200 ms i wartoĹ&#x203A;Ä&#x2021; flagi tecznÄ&#x2026; ! 3 o nastÄ&#x2122;pujÄ&#x2026;cym formacie: $FLAG[999] wynosi TRUE, to moĹźna realizowaÄ&#x2021; transmi ! ! sjÄ&#x2122; przesyĹ&#x201A;ek do urzÄ&#x2026;dzenia zewnÄ&#x2122;trznego ........ 3. Podstawienie pod zmienne pomocnicze _CR i _NL war! j ! 3 Â&#x; % 0Â? ! +# Â&#x201E;[ !"%' *Â&#x2020;Â&#x2021; Â&#x17E; toĹ&#x203A;ci odpowiednio: 0x0D (carriage return) i 0x0A gdzie pierwszy parametr â&#x20AC;&#x17E; % 0Â? ! +# â&#x20AC;? okreĹ&#x203A;la (line feed) nazwÄ&#x2122; pliku konfiguracyjnego, drugi parametr â&#x20AC;&#x17E;!"%' *Â&#x2020;Â&#x2021;â&#x20AC;? _CR = 13 â&#x20AC;&#x201C; nazwÄ&#x2122; bufora nadawczego _NL = 10
|'\' $ Â&#x2C6;$ 2 & ` - ! Â&#x2020;Â&#x2021;Â&#x2030; "
W rozdziale o zmiennych systemowych robota opisano, w jaki sposĂłb moĹźna odczytywaÄ&#x2021; informacjÄ&#x2122; o róşnych stanach robota KUKA. W tym punkcie opisano jak informacja ta jest formatowana i transmitowana do urzÄ&#x2026;dzenia zewnÄ&#x2122;trznego. 1. PoczÄ&#x2026;tek podprogramu: Deklaracje uĹźywanych zmiennych: DECL CHAR _CR DECL CHAR _NL | !"%' *Â&#x2020;\Â?Â&#x2021; DECL CHAR _RobotName[32] DECL INT _NrNarzedzia DECL INT _NrUkladu ! 9 DECL INT _IDX ! '5 DECL E6AXIS _AxisPos DECL E6AXIS _HomePos DECL E6POS _CartesianPos ! ! DECL STATE_T _State
4. Formatowanie i wysĹ&#x201A;anie przesyĹ&#x201A;ki zawierajÄ&#x2026;cej nazwÄ&#x2122; robota. PrzesyĹ&#x201A;ka ma format: [NRxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] gdzie parametr â&#x20AC;&#x17E;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxâ&#x20AC;? okreĹ&#x203A;lajÄ&#x2026;cy nazwÄ&#x2122; robota jest ustalany na podstawie odczytu zmiennej systemowej $ROBTRAFO[]: _RobotName[] = $ROBTRAFO[] ; â&#x2020;&#x2019;Â Tablica ROBTRAFO ma wymiar 32 ! '5 j Â&#x201C;Â&#x17E; !"%' *Â&#x2020;Â&#x2021;[ ! 0 [ ! '5 [ Â&#x;Â&#x2020; Â 5Â&#x2021;Â Â Â&#x201E;[! 1Â&#x160;1 09 Â&#x2020;Â&#x2021;[! [! ! j ! 3 Â&#x; % 0Â? ! +# Â&#x201E;[ !"%' *Â&#x2020;Â&#x2021; Â&#x17E; 5. Formatowanie i wysĹ&#x201A;anie przesyĹ&#x201A;ki zawierajÄ&#x2026;cej dwie informacje: â&#x2C6;&#x2019; o ustawieniu manipulatora robota w pozycji HOME, â&#x2C6;&#x2019; o ustawionym zezwoleniu na ruch manipulatora. PrzesyĹ&#x201A;ka ma format: [FLxy] gdzie:
85
" ' 8 " 8 % 8 %= v PrzesyĹ&#x201A;ka ma format: [DAxxxx:yyyy:zzzz] gdzie: â&#x2C6;&#x2019; â&#x20AC;&#x17E;xxxxâ&#x20AC;? jest informacjÄ&#x2026; o numerze aktualnie wybranego ukĹ&#x201A;adu wspĂłĹ&#x201A;rzÄ&#x2122;dnych prostokÄ&#x2026;tnych, â&#x2C6;&#x2019; â&#x20AC;&#x17E;yyyyâ&#x20AC;? jest informacjÄ&#x2026; o numerze aktualnie wybranego narzÄ&#x2122;dzia, â&#x2C6;&#x2019; â&#x20AC;&#x17E;zzzzâ&#x20AC;? jest informacjÄ&#x2026; o tempreraturze we wnÄ&#x2122;trzu szafy sterowniczej KCP robota, Parametry te sÄ&#x2026; 4-cyfrowymi liczbami dziesiÄ&#x2122;tnymi z zerami wiodÄ&#x2026;cymi, oddzielonymi od siebie dwukropkiem. Ich wartoĹ&#x203A;ci sÄ&#x2026; ustalane na podstawie odczytu zmiennych systemowych $ACT_BASE, $ACT_TOOL i $PHGTEMP: _NrUkladu = $ACT_BASE _NrNarzedzia = $ACT_TOOL ! 9 j q |~ ! '5 j Â&#x201C;Â&#x17E; !"%' *Â&#x2020;Â&#x2021;[ ! 0 [ ! '5 [ Â&#x;Â&#x2020;  ¼Â&#x201C;Â?3Â&#x2C6; ¼Â&#x201C;Â?3Â&#x2C6; ¼Â&#x201C;Â?3Â&#x2021;  Â&#x201E;[ ! * 4+03%[ ! * 0*6 36#0[ ! 9 [ _CR, _NL) ! j ! 3 Â&#x; % 0Â? ! +# Â&#x201E;[ !"%' *Â&#x2020;Â&#x2021; Â&#x17E;
â&#x2C6;&#x2019; x jest informacjÄ&#x2026; Ĺźe manipulator jest w pozycji HOME (]Â&#x2022; , 0â&#x20AC;&#x201C;NIE) â&#x2C6;&#x2019; y jest informacjÄ&#x2026;, Ĺźe jest zezwolenie na ruch manipulatora (]Â&#x2022; , 0â&#x20AC;&#x201C;NIE) WartoĹ&#x203A;ci tych parametrĂłw sÄ&#x2026; ustalane na podstawie odczytu zmiennych systemowych $IN_HOME i $MOVE_ENABLE: !"%' *Â&#x2020;]Â&#x2021; j Â&#x;Â&#x2020;Â&#x; !"%' *Â&#x2020;^Â&#x2021; j Â&#x; Â&#x201E; !"%' *Â&#x2020;¢Â&#x2021; j Â&#x; Â&#x201E; IF ($IN_HOME == TRUE) THEN !"%' *Â&#x2020;Â?Â&#x2021; j Â&#x;]Â&#x201E; ELSE !"%' *Â&#x2020;Â?Â&#x2021; j Â&#x;Â&#x201C;Â&#x201E; ENDIF IF ($MOVE_ENABLE == TRUE) THEN !"%' *Â&#x2020;Â&#x2122;Â&#x2021; j Â&#x;]Â&#x201E; ELSE !"%' *Â&#x2020;Â&#x2122;Â&#x2021; j Â&#x;Â&#x201C;Â&#x201E; ENDIF !"%' *Â&#x2020;\Â&#x2021; j Â&#x;Â&#x2021;Â&#x201E; !"%' *Â&#x2020;ÂŁÂ&#x2021; j ! !"%' *Â&#x2020;Â&#x2DC;Â&#x2021; j ! ! j ! 3 Â&#x; % 0Â? ! +# Â&#x201E;[ !"%' *Â&#x2020;Â&#x2021; Â&#x17E;
JeĹ&#x203A;li odczytana wartoĹ&#x203A;Ä&#x2021; zmiennej systemowej $ACT_BASE lub/i $ACT_TOOL jest ujemna, to oznacza, Ĺźe nie wybrano Ĺźadnego ukĹ&#x201A;adu wspĂłĹ&#x201A;rzÄ&#x2122;dnych prostokÄ&#x2026;tnych lub/i nie wybrano Ĺźadnego narzÄ&#x2122;dzia.
6. Formatowanie i wysĹ&#x201A;anie przesyĹ&#x201A;ki zawierajÄ&#x2026;cej informacjÄ&#x2122; o wybranym trybie pracy robota. PrzesyĹ&#x201A;ka ma format: [MOxxxxxxx] gdzie tekstowy parametr â&#x20AC;&#x17E;xxxxxxxâ&#x20AC;? o zmiennej dĹ&#x201A;ugoĹ&#x203A;ci moĹźe mieÄ&#x2021; nastÄ&#x2122;pujace wartoĹ&#x203A;ci: â&#x2C6;&#x2019; â&#x20AC;&#x17E;T1â&#x20AC;? â&#x20AC;&#x201C; robot jest w testowym trybie pracy T1, â&#x2C6;&#x2019; â&#x20AC;&#x17E;T2â&#x20AC;? â&#x20AC;&#x201C; robot jest w testowym trybie pracy T2, â&#x2C6;&#x2019; â&#x20AC;&#x17E;AUTâ&#x20AC;? â&#x20AC;&#x201C; robot jest w trybie automatyki, â&#x2C6;&#x2019; â&#x20AC;&#x17E;EXT_AUTâ&#x20AC;? â&#x20AC;&#x201C; robot jest w trybie zewnÄ&#x2122;trznej autoamtyki (sterowanie przez PLC), â&#x2C6;&#x2019; â&#x20AC;&#x17E;???â&#x20AC;? â&#x20AC;&#x201C; bĹ&#x201A;Ä&#x2026;d.
8. Formatowanie i wysĹ&#x201A;anie przesyĹ&#x201A;ki zawierajÄ&#x2026;cej informacjÄ&#x2122; o poĹ&#x201A;oĹźeniu punktu TCP i kÄ&#x2026;tach orientacji aktualnie wybranego narzÄ&#x2122;dzia w aktuualnie wybranym ukĹ&#x201A;adzie wspĂłĹ&#x201A;rzÄ&#x2122;dnych prostokÄ&#x2026;tnych. PrzesyĹ&#x201A;ka ma format: Â&#x2020; Âąxxxx.xxx:Âąyyyy.yyy:Âązzzz.zzz:Âąaaaa. aaa:Âąbbbb.bbb:Âącccc.ccc] gdzie: â&#x2C6;&#x2019; Âą oznacza znak liczby, â&#x2C6;&#x2019; xxxx.xxx â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; wspĂłĹ&#x201A;rzÄ&#x2122;dnej X, â&#x2C6;&#x2019; yyyy.yyy â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; wspĂłĹ&#x201A;rzÄ&#x2122;dnej , â&#x2C6;&#x2019; zzzz.zzz â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; wspĂłĹ&#x201A;rzÄ&#x2122;dnej , â&#x2C6;&#x2019; aaaa.aaa â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; kÄ&#x2026;ta A, â&#x2C6;&#x2019; bbbb.bbb â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; kÄ&#x2026;ta B, â&#x2C6;&#x2019; cccc.ccc â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; kÄ&#x2026;ta C. Wszystkie parametry, oddzielone od siebie dwukropkiem, sÄ&#x2026; 8-cyfrowymi liczbami zmiennoprzecinkowymi ze znakiem, kropkÄ&#x2026; dziesiÄ&#x2122;tnÄ&#x2026; i zerami wiodÄ&#x2026;cymi. Ich wartoĹ&#x203A;ci ustala siÄ&#x2122; na podstawie odczytu zmiennej systemowej $POS_ACT: ! * 4+03% Â&#x2013; Â&#x201C; 0 3 ! * 0*6 36#0 Â&#x2013; Â&#x201C; | _CartesianPos = $POS_ACT ! '5 j Â&#x201C;Â&#x17E; !"%' *Â&#x2020;Â&#x2021;[ ! 0 [ ! '5 [ Â&#x;Â&#x2020;  ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6; ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6; ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6;  ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6; ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6; ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2021;   Â&#x201E;[ ! 0* 5#0 15Â&#x17D;Z[ ! 0* 5#0 15Â&#x17D; [ ! 0* 5#0 15Â&#x17D; [ _CartesianPos.A, _CartesianPos.B, _CartesianPos.C, _CR, _NL) ! j ! 3 Â&#x; % 0Â? ! +# Â&#x201E;[ !"%' *Â&#x2020;Â&#x2021; Â&#x17E; ENDIF
WartoĹ&#x203A;Ä&#x2021; parametru â&#x20AC;&#x17E;xxxxxxxâ&#x20AC;? jest ustalana na podstawie odczytu zmiennej systemowej $MODE_OP: ! '5 j Â&#x201C;Â&#x17E; SWITCH $MODE_OP CASE #T1 !"%' *Â&#x2020;Â&#x2021;[ ! 0 [ ! '5 [ Â&#x;Â&#x2020; ]Â&#x2021;  Â&#x201E;[ ! [ ! CASE #T2 !"%' *Â&#x2020;Â&#x2021;[ ! 0 [ ! '5 [ Â&#x;Â&#x2020; ^Â&#x2021;  Â&#x201E;[ ! [ ! CASE #AUT !"%' *Â&#x2020;Â&#x2021;[ ! 0 [ ! '5 [ Â&#x;Â&#x2020; Â&#x2021;  Â&#x201E;[ ! [ ! CASE #EX !"%' *Â&#x2020;Â&#x2021;[ ! 0 [ ! '5 [ Â&#x;Â&#x2020; Z ! Â&#x2021;  Â&#x201E;[ ! [ ! DEFAULT !"%' *Â&#x2020;Â&#x2021;[ ! 0 [ ! '5 [ Â&#x;Â&#x2020; Â&#x2019;Â&#x2019;Â&#x2019;Â&#x2021;  Â&#x201E;[ ! [ ! ENDSWITCH ! j ! 3 Â&#x; % 0Â? ! +# Â&#x201E;[ !"%' *Â&#x2020;Â&#x2021; Â&#x17E; 7. Formatowanie i wysĹ&#x201A;anie przesyĹ&#x201A;ki zawierajÄ&#x2026;cej trzy informacje: â&#x2C6;&#x2019; o numerze aktualnie wybranego ukĹ&#x201A;adu wspĂłĹ&#x201A;rzÄ&#x2122;dnych prostokÄ&#x2026;tnych, â&#x2C6;&#x2019; o numerze aktualnie wybranego narzÄ&#x2122;dzia, â&#x2C6;&#x2019; o tempreraturze we wnÄ&#x2122;trzu szafy sterowniczej KCP robota.
86
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
Zmienna systemowa $POS_ACT odczytywana jest tylko wtedy, gdy uprzednio rÄ&#x2122;cznie za pomocÄ&#x2026; panelu sterowania bÄ&#x2026;dĹş w aplikacji robota wybrano numer ukĹ&#x201A;adu wspĂłĹ&#x201A;rzÄ&#x2122;dnych i numer narzÄ&#x2122;dzia. W przeciwnym razie oprogramowanie systemowe robota wygeneruje bĹ&#x201A;Ä&#x2026;d. A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
% j = < = 9. Formatowanie i wysĹ&#x201A;anie przesyĹ&#x201A;ki zawierajÄ&#x2026;cej informacjÄ&#x2122; o aktualnym poĹ&#x201A;oĹźeniu w stopniach kaĹźdej z szeĹ&#x203A;ciu osi manipulatora osi robota PrzesyĹ&#x201A;ka ma format: [APÂąaaaa.aaa:Âąbbbb.bbb:Âącccc.ccc:Âądddd. ddd:Âąeeee.eee:Âą''Â&#x17D;'Â&#x201D;Â&#x2021; gdzie: â&#x2C6;&#x2019; Âą oznacza znak liczby, â&#x2C6;&#x2019; aaaa.aaa â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; w stopniach aktualnego poĹ&#x201A;oĹźenia osi A1 manipulatora robota, â&#x2C6;&#x2019; bbbb.bbb â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; w stopniach aktualnego poĹ&#x201A;oĹźenia osi A2 manipulatora robota, â&#x2C6;&#x2019; cccc.ccc â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; w stopniach aktualnego poĹ&#x201A;oĹźenia osi A3 manipulatora robota, â&#x2C6;&#x2019; dddd.ddd â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; w stopniach aktualnego poĹ&#x201A;oĹźenia osi A4 manipulatora robota, â&#x2C6;&#x2019; eeee.eee â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; w stopniach aktualnego poĹ&#x201A;oĹźenia osi A5 manipulatora robota, â&#x2C6;&#x2019; ''Â&#x17D;'Â&#x201D; â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; w stopniach aktualnego poĹ&#x201A;oĹźenia osi A6 manipulatora robota. Wszystkie parametry, oddzielone od siebie dwukropkiem, sÄ&#x2026; 8-cyfrowymi liczbami zmiennoprzecinkowymi ze znakiem, kropkÄ&#x2026; dziesiÄ&#x2122;tnÄ&#x2026; i zerami wiodÄ&#x2026;cymi. Ich wartoĹ&#x203A;ci ustala siÄ&#x2122; na podstawie odczytu zmiennej systemowej $AXIS_ACT: _AxisPos = $AXIS_ACT ! '5 j Â&#x201C;Â&#x17E; !"%' *Â&#x2020;Â&#x2021;[ ! 0 [ ! '5 [ Â&#x;Â&#x2020;  ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6; ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6; ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6;  ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6; ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6; ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2021;   Â&#x201E;[ _AxisPos.A1, _AxisPos.A2, _AxisPos.A3,_AxisPos.A4, _AxisPos.A5, _AxisPos.A6,_CR, _NL) ! j ! 3 Â&#x; % 0Â? ! +# Â&#x201E;[ !"%' *Â&#x2020;Â&#x2021; Â&#x17E; 10. Formatowanie i wysĹ&#x201A;anie przesyĹ&#x201A;ki zawierajÄ&#x2026;cej informacjÄ&#x2122; o poĹ&#x201A;oĹźeniu w stopniach kaĹźdej z 6 osi manipulatora osi robota pozostajÄ&#x2026;cego w pozycji HOME. PrzesyĹ&#x201A;ka ma format: [HPÂąaaaa.aaa:Âąbbbb.bbb:Âącccc.ccc:Âądddd. ddd:Âąeeee.eee:Âą''Â&#x17D;'Â&#x201D;Â&#x2021; gdzie: â&#x2C6;&#x2019; Âą oznacza znak liczby, â&#x2C6;&#x2019; aaaa.aaa â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; w stopniach poĹ&#x201A;oĹźenia osi A1 manipulatora robota w pozycji HOME, â&#x2C6;&#x2019; bbbb.bbb â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; w stopniach poĹ&#x201A;oĹźenia osi A2 manipulatora robota w pozycji HOME, â&#x2C6;&#x2019; cccc.ccc â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; w stopniach poĹ&#x201A;oĹźenia osi A3 manipulatora robota w pozycji HOME, â&#x2C6;&#x2019; dddd.ddd â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; w stopniach poĹ&#x201A;oĹźenia osi A4 manipulatora robota w pozycji HOME, â&#x2C6;&#x2019; eeee.eee â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; w stopniach poĹ&#x201A;oĹźenia osi A5 manipulatora robota w pozycji HOME, â&#x2C6;&#x2019; ''Â&#x17D;'Â&#x201D; â&#x20AC;&#x201C; wartoĹ&#x203A;Ä&#x2021; w stopniach poĹ&#x201A;oĹźenia osi A6 manipulatora robota w pozycji HOME. Wszystkie parametry, oddzielone od siebie dwukropkiem, sÄ&#x2026; 8-cyfrowymi liczbami zmiennoprzecinkowymi ze znakiem, kropkÄ&#x2026; dziesiÄ&#x2122;tnÄ&#x2026; i zerami wiodÄ&#x2026;cymi.. Ich wartoĹ&#x203A;ci ustala siÄ&#x2122; na podstawie odczytu zmiennej systemowej $H_POS: _HomePos = $HPOS ! '5 j Â&#x201C;Â&#x17E; !"%' *Â&#x2020;Â&#x2021;[ ! 0 [ ! '5 [ Â&#x;Â&#x2020;|  ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6; ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6; ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6;  ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6; ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2C6; ¼Â&#x201C;Â&#x2DC;Â&#x17D;¢Â&#x201D;Â&#x2021;
  Â&#x201E;[ _HomePos.A1, _HomePos.A2, _HomePos.A3,_HomePos.A4, _HomePos.A5, _HomePos.A6, _CR, _NL) ! j ! 3 Â&#x; % 0Â? ! +# Â&#x201E;[ !"%' *Â&#x2020;Â&#x2021; Â&#x17E; 11.Formatowanie i wysĹ&#x201A;anie przesyĹ&#x201A;ki zawierajÄ&#x2026;cej komunikat wygenerowany przez dowolnÄ&#x2026; aplikacjÄ&#x2122; robota. PrzesyĹ&#x201A;ka ma format: [RMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxx] gdzie parametr â&#x20AC;&#x17E;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxâ&#x20AC;? o dĹ&#x201A;ugoĹ&#x203A;ci do 50 znakĂłw jest odczytywany z tablicy RobotEthernetMessage[50] zadeklarowanej jako zmienna globalna. TablicÄ&#x2122; tÄ&#x2122; moĹźe wypeĹ&#x201A;niaÄ&#x2021; dowolna aplikacja robota ! '5 j Â&#x201C;Â&#x17E; !"%' *Â&#x2020;Â&#x2021;[ ! 0 [ ! '5 [ Â&#x;Â&#x2020;  5Â&#x2021;  Â&#x201E;[ 1Â&#x160;1 Â&#x152; * 550Â&#x2026; Â&#x2020;Â&#x2021;[ _CR, _NL) ! j ! 3 Â&#x; % 0Â? ! +# Â&#x201E;[ !"%' *Â&#x2020;Â&#x2021; Â&#x17E;
|'^' 7 $ 2 & ` - ! Â&#x2020;Â&#x2021; " Podprogram SendInfoByEthernet() realizujÄ&#x2026;cy formatowanie i transmisjÄ&#x2122; informacji z robota moĹźe byÄ&#x2021; uruchamiany z poziomu jego dowolnej aplikacji. Jednak w takim przypadku caĹ&#x201A;a informacja dotyczyÄ&#x2021; bÄ&#x2122;dzie momentu jego uruchomienia, a wiÄ&#x2122;c np. podczas realizacji instrukcji ruchu caĹ&#x201A;a transmisja jest wstrzymana. JeĹ&#x203A;li nie uruchomiono Ĺźadnej aplikacji wywoĹ&#x201A;ujÄ&#x2026;cej SendInfoByEthernet(), to robot nie realizuje transmisji do urzÄ&#x2026;dzenia zewnÄ&#x2122;trznego. Oprogramowanie systemowe robota firmy KUKA ma jednak wbudowany mechanizm umoĹźliwiajÄ&#x2026;cy obejĹ&#x203A;cie tego problemu. Jest nim tzw. interpreter submitĂłw [6]. Jego dziaĹ&#x201A;anie polega na realizowaniu â&#x20AC;&#x17E;w tleâ&#x20AC;? dodatkowego programu aplikacyjnego, wykonywanego rĂłwnolegle i niezaleĹźnie od â&#x20AC;&#x17E;wĹ&#x201A;aĹ&#x203A;ciwejâ&#x20AC;? aplikacji, a takĹźe wtedy, gdy aplikacji tej nie uruchomiono. Program interpretrera submitĂłw moĹźe zawieraÄ&#x2021; wszystkie instukcje dostÄ&#x2122;pne w jÄ&#x2122;zyku KRL za wyjÄ&#x2026;tkiem instrukcji ruchu, moĹźe teĹź korzystaÄ&#x2021; ze wszystkich zasobĂłw sprzÄ&#x2122;towych i programowych robota. Powinien on dziaĹ&#x201A;aÄ&#x2021; tak jak program sterownika PLC tzn. nie oczekiwaÄ&#x2021; w pÄ&#x2122;tli na speĹ&#x201A;nienie okreĹ&#x203A;lonego warunku, tylko byÄ&#x2021; wykonywany w sposĂłb ciÄ&#x2026;gĹ&#x201A;y od pierwszej do ostatniej instrukcji. Jest on wiÄ&#x2122;c rodzajem â&#x20AC;&#x17E;wÄ&#x2026;tkuâ&#x20AC;? wykonywanym niezaleĹźnie od aktualnej aplikacji robota i rĂłwnolegle do niej. W pamiÄ&#x2122;ci masowej robota Kuka jest on zapisywany pod nazwÄ&#x2026; sps.sub. JeĹ&#x203A;li zostanie w nim zawarta instrukcja wywoĹ&#x201A;ujÄ&#x2026;ca podprogram SendInfoByEthernet(), to odczyt i transmisja informacji opisanej w poprzednim rozdziale jest realizowana niezaleĹźnie od aktualnego trybu pracy robota i wybrania (lub niewybrania) aplikacji do realizacji. Podprogram SendInfoByEthernet() moĹźna zapamiÄ&#x2122;taÄ&#x2021; w dowolnym katalogu pamiÄ&#x2122;ci masowej robota, ale dla zachowania przejrzystoĹ&#x203A;ci zapisu â&#x20AC;&#x201C; zaleca siÄ&#x2122; katalog Â&#x2030; Â&#x2030; ]Â&#x2030; 75 9.
}' ) - ! 6 # ' { & # # WykorzystujÄ&#x2026;c elementy aplikacji EthernetTest.exe oraz klasÄ&#x2122; CMyAsyncSocket zaprojektowano i uruchomiono aplikacjÄ&#x2122; EthernetTest.exe wspĂłlpracujÄ&#x2026;cÄ&#x2026; z opisanym oprogramowaniem robota KUKA. Interpretuje i dekoduje ona
87
" ' 8 " 8 % 8 %= v
Rys. 2. GĹ&#x201A;Ăłwne okno dialogowe aplikacji EthernetRobot.exe do wizualizacji informacji odbieranej z robota Fig. 2. Main dialog window of the EthernetRobot.exe application for visualization of information received from the robot
przesyĹ&#x201A;ki odebrane z robota, a nastÄ&#x2122;pnie wyĹ&#x203A;wietla je w oknie dialogowym (rys. 2): Aplikacja dziaĹ&#x201A;a w podobny sposĂłb jak EthernetTest. exe. PoniewaĹź moĹźe pracowaÄ&#x2021; tylko jako serwer, to w gĹ&#x201A;Ăłwnym oknie dialogowym pominiÄ&#x2122;to te przyciski obsĹ&#x201A;ugi, ktĂłre sÄ&#x2026; wymagane w trybie pracy klient. TakĹźe informacja wyĹ&#x203A;wietlana w okienkach od 1 do 14 jest identyczna jak w przypadku analogicznych okienek aplikacji EthernetTest.exe. Zadaniem aplikacji EthernetRobot.exe jest odbiĂłr i dekodowanie przesyĹ&#x201A;ek z robota, a nastÄ&#x2122;pnie wyĹ&#x203A;wietlanie zawartej w nich informacji na ekranie monitora. Okienko 15: â&#x2C6;&#x2019; komunikat wpisany do tablicy RobotEthernetMessage[] zdefiniowanej w pliku Â&#x2030; ]Â&#x2030; Â&#x2030;q 1 Â&#x2039;Â&#x2026;Â&#x17D;30 w pamiÄ&#x2122;ci masowej robota i przesĹ&#x201A;any do komputera nadrzÄ&#x2122;dnego przesyĹ&#x201A;kÄ&#x2026; [RMxxx....xxx] Okienko 16: â&#x2C6;&#x2019; nazwa robota odczytana ze zmiennej systemowej $ROBTRAFO[] i przesĹ&#x201A;ana do komputera nadrzÄ&#x2122;dnego przesyĹ&#x201A;kÄ&#x2026; [NRxxx....xxx] Okienka 17, 18, 19, 20, 21, 22: â&#x2C6;&#x2019; informacja o aktualnej pozycji w stopniach osi manipulatora robota, odpowienio: A1, A2, A3, A4, A5 i A6. Jest ona odczytywana ze zmiennej systemowej $AXIS_ACT i przesĹ&#x201A;ana do komputera nadrzÄ&#x2122;dnego przesyĹ&#x201A;kÄ&#x2026; [AP...] Okienka 23, 24, 25, 26, 27, 28: â&#x2C6;&#x2019; informacja o pozycji w stopniach osi robota manipulatora, odpowienio: A1, A2, A3, A4, A5 i A6 w przypadku gdy znajduje siÄ&#x2122; on w pozycji HOME. Jest ona odczytywana ze zmiennej systemowej $H_POS i przesĹ&#x201A;ana do komputera nadrzÄ&#x2122;dnego przesyĹ&#x201A;kÄ&#x2026; [HP...] Okienko 29: â&#x2C6;&#x2019; informacja, czy manipulator robota znajduje siÄ&#x2122; w pozycji HOME. Jest ona odczytywana ze zmiennej systemowej $IN_HOME i przesĹ&#x201A;ana do komputera nadrzÄ&#x2122;dnego przesyĹ&#x201A;kÄ&#x2026; [FL...]
88
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
Okienko 30: â&#x2C6;&#x2019; informacja o wybranym trybie pracy robota. Jest ona odczytywana ze zmiennej systemowej $MODE_OP i przesĹ&#x201A;ana do komputera nadrzÄ&#x2122;dnego przesyĹ&#x201A;kÄ&#x2026; [MO...] Okienko 31: â&#x2C6;&#x2019; informacja czy robot ma zezwolenie na ruch manipulatora. Jest ona odczytywana ze zmiennej systemowej $IN_HOME i przesĹ&#x201A;ana do komputera nadrzÄ&#x2122;dnego przesyĹ&#x201A;kÄ&#x2026; [FL...] Okienko 32: â&#x2C6;&#x2019; informacja o numerze aktualnie wybranego ukĹ&#x201A;adu wspĂłĹ&#x201A;rzÄ&#x2122;dnych prostokÄ&#x2026;tnych. Jest ona odczytywana ze zmiennej systemowej $ACT_BASE i przesĹ&#x201A;ana do komputera nadrzÄ&#x2122;dnego przesyĹ&#x201A;kÄ&#x2026; [DA...] Okienko 33: â&#x2C6;&#x2019; informacja o numerze aktualnie wybranego narzÄ&#x2122;dzia. Jest ona odczytywana ze zmiennej systemowej $ACT_TOOL i przesĹ&#x201A;ana do komputera nadrzÄ&#x2122;dnego przesyĹ&#x201A;kÄ&#x2026; [DA...] Okienka 34, 35, 36, 37, 38, 39: â&#x2C6;&#x2019; informacja o wspĂłĹ&#x201A;rzÄ&#x2122;dnych punktu TCP i kÄ&#x2026;tach orientacji aktualnie wybranego narzÄ&#x2122;dzia w aktualnie wybranym ukĹ&#x201A;adzie wspĂłĹ&#x201A;rzÄ&#x2122;dnych prostokÄ&#x2026;tnych. Jest ona odczytywana ze zmiennej systemowej $POS_ACT i przesĹ&#x201A;ana do komputera nadrzÄ&#x2122;dnego przesyĹ&#x201A;kÄ&#x2026; Â&#x2020; Â&#x17D;Â&#x17D;Â&#x17D;Â&#x2021; Okienko 40: â&#x2C6;&#x2019; informacja o temperaturze wewnÄ&#x2026;trz szafy sterowniczej robota. Jest ona odczytywana ze zmiennej systemowej $PHGTEMP i przesĹ&#x201A;ana do komputera nadrzÄ&#x2122;dnego przesyĹ&#x201A;kÄ&#x2026; [DA...].
Â&#x2026;' 9
Przedstawione w tym artykule rozwiÄ&#x2026;zania programowe zwiÄ&#x2026;zane z wymianÄ&#x2026; informacji robot â&#x20AC;&#x201C; komputer przy pomocy sieci Ethernet nie byĹ&#x201A;y dotychczas stosowane w aplikacjach przemysĹ&#x201A;owych zrealizowanych przez PIAP. Opisane oprogramowanie
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
% j = < =
dotyczy przesyĹ&#x201A;u danych, wybranych w sposĂłb dowolny i niekoniecznie trafnie jeĹ&#x203A;li chodzi o ich aktualnÄ&#x2026; stronÄ&#x2122; praktycznÄ&#x2026;. GĹ&#x201A;Ăłwnym celem tej pracy byĹ&#x201A;o jednak opracowanie i zrealizowanie niezawodnie dziaĹ&#x201A;ajÄ&#x2026;cych funkcji transmisyjnych, ktĂłre bÄ&#x2122;dzie moĹźna stosowaÄ&#x2021; w przyszĹ&#x201A;ych potencjalnych aplikacjach. Wydaje siÄ&#x2122;, Ĺźe cel ten osiÄ&#x2026;gniÄ&#x2122;to. W dalszych zamierzeniach przewiduje siÄ&#x2122; sprzÄ&#x2122;Ĺźenie robota z aplikacjami smartfonowymi i urzÄ&#x2026;dzeniami wirtualnej rzeczywistoĹ&#x203A;ci takimi jak okulary Microsoft HoloLens.
PublikacjÄ&#x2122; opracowano m.in. na podstawie wynikĂłw IV etapu programu wieloletniego: â&#x20AC;&#x17E;Poprawa bezpieczeĹ&#x201E;stwa i warunkĂłw pracyâ&#x20AC;?, finansowanego w latach 2017â&#x20AC;&#x201C;2019 w zakresie badaĹ&#x201E; naukowych i prac rozwojowych przez Ministerstwo Nauki i Szkolnictwa WyĹźszego/Narodowe Centrum BadaĹ&#x201E; i Rozwoju. Koordynator programu: Centralny Instytut Ochrony Pracy â&#x20AC;&#x201C; PaĹ&#x201E;stwowy Instytut Badawczyâ&#x20AC;?.
` # & 1. Microsoft Visual C++ 6.0 MFC Library Reference. 2. Leinecker R.C., Archer T., â&#x20AC;&#x201C; Visual C++ 6 Vademecum profesjonalisty, Wydawnictwo HELION 2000. 3. KUKA System Software KR C2 / KR C3: Expert Programming â&#x20AC;&#x201C; Release 5.2, KUKA Roboter GmbH 2003. 4. KUKA System Software KR C: System Variables â&#x20AC;&#x201C; KUKA Roboter GmbH. 5. â&#x20AC;&#x17E;KUKA System Technology â&#x20AC;Ś: KUKA.Ethernet KRL 2.1â&#x20AC;&#x153; for KUKA System Software 8.2, 2012 KUKA Roboter GmbH. 6. â&#x20AC;&#x17E;KUKA System Software KR C:Â Submit Interpreterâ&#x20AC;&#x153; Operation and Programming, 2005 KUKA Roboter GmbH 7. â&#x20AC;&#x17E;KUKA System Software:Â CREAD/CWRITEâ&#x20AC;&#x153; Programming CREAD/CWRITE and relatred statements, 2007 UKA Roboter GmbH. 8. Dunaj J., Positioning of Industrial Robot Using External Smart Camera Vision, R. Szewczyk and M. KaliczyĹ&#x201E;ska (eds.), Recent Advances in Systems, Control and Information Technology, Advances in Intelligent Systems and Computing 543, DOI: 10.1007/978-3-319-48923-0_35.
$ . # 6 ' X G . $< M Abstract: The article presents how to implement a network transmission between a PC and an industrial robot. PC applications were implemented in C ++ using MFC libraries. It shows how to use the CAsyncSocket class in a practical way to program transmission between a computer and another device, e.g. an industrial robot. The second part of the article focuses on the robotâ&#x20AC;&#x2122;s programming capabilities in providing information on its state (positions of axes, currently selected coordinate system and tool, etc.). The way of reading information, coding and then transmitting to a cooperating PC is discussed on the example of a KUKA robot. Also presented are the mode of operation and description of two sample PC applications for testing network transmission and presentation of data received from the robot. KeywordsV $< % = % $< G % M % ' G % $ f ^ ' % " ; ^
89
" ' 8 " 8 % 8 %= v
( 9 <
mgr Kamil Bojanek
' & . ORCID: 0000-0001-6812-1253
G & . ORCID: 0000-0002-4448-3302
; ?B)! Q ' ; ' = F ; % ' ?B)@ ' 4 ' E U P F6MF . JO . ' / J % J % E J G J % J O J F . E G A hh
' JO J ; J . ' H' Q F6MF% O ' O Q E % .J . H J JO HE ' Q . G . KG ' % L
' F ?B) - . $ . (!!) ; O F ' . . ; E " Q ' ' E (!?! R J R E ' ; . E $ ' 0 $ 'O P F E$4M (!?( ; O = 6 V G P ' ' [$ E 'O F > \ F 4 ' U P F6MF . J ' ' O $ . " [ F F6MF\
90
P
O
M
I
A
R
Y
â&#x20AC;¢
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;¢
R
O
B
O
T
Y
K
A
NR 2/ 20 20
*
H ! '
G B WQOVPgWOU !( OQ B O?ODOD
Informacje dla Autorรณw &
>
" B
% ;" Og =
ODWq ( "8 L ' %
% " 8 " % > ;
E
8 =)%
%
' : % 8 %
% % % '
% =)%
8 ' %=
" L %
A %=) 8 " =)%
' %
"
h ' : 8 '
8 % " ' % =
" 8 % % =
[' ' Ah\( j L
% % " h ; 8 '
% " 8 " % % 8 %
% A%
8 % ' 8 ) =
L ; "
' 8 % (
Wskazรณwki dla Autorรณw " ! # H
"
8 ' %= P % % Pomiary Automatyka Robotyka 8
"8 E " h8 =)%
# + > [ 8 % =)%
TD L \ =h 8 "
" > h " H ?H L "
P A %= [ " %= 8 ' %
% 8 % "\ > " " % [ '=h %
WCD>ODD " L \ =h 8 "
" > " % [C>T " \ =h
8 " =h
" " > " % % h E > =h
8 " [ ' =( " \ > 8 8 "
8 " =h
8 " =h " >
' =h 8 "
=h " > " %= ? A ? =h% = " '
8 # % ( 8" (% (=8 ' ( `
% % ( qDD 8 (
WDDD 8 " " % 8 "
%=) A % (
H 8 E '=h E L )
% = = D U " %
8 8 % E '=h %
W " % [QD DDD L
"8 %= ' qDDD % O " %=
L \ % = ( T " ;
" ( 8 8 L
8 % =)% % h '=h E "
= " 8 % h % ( Nie drukujemy komunikatรณw! j " ) ' E )%
' A% " " % H L
[ =h \ '=h %
CDD>VCD L % # A ( ! %= " " ' 8
" L L
=h =
" " % =
% % (
* 8 ' %=)
% 8 =)
:% ) 8 " E (
$
)6 6 " ย # ! !ย (
H
8 " ) % )
8 E E (
H
L " %
8 ' %= ") 8
8 " 8 " (
& L E 8 % = =
" %= =h% ' " ) " E
' "
H 8 %
" ) ' E 8 "
" % 8 " h
u L (
1 ) 6 $
6
L
= %=h (
8 L= 8 = % = ( * " =)%
% = ;
" )E "
" =)% 8 %
> H L % A %=h
' A% ( j 8 8 % = 8 8 %
" % 8 ! % L
= " #
8 =h " ( 8 8
; % 8 ' L 8 "
! %=)(
Kwartalnik naukowotechniczny Pomiary Automatyka Robotyka jest indeksowany w bazach BAZTECH, Google Scholar oraz INDEX COPERNICUS K6 ^ (!?)/ T %+BL% O w bazie naukowych G O MX6M>0M F H H ' realizacji idei Otwartej Nauki, ' G G naukowo-technicznym Pomiary Automatyka Robotyka. F $> ; G naukowe w kwartalniku Pomiary Automatyka Robotyka wynosi obecnie (! K naukowych i recenzowanych J # ' ' ' ? (!?B % (TB!(L F ' naukowe โ automatyka, elektrotechnika i elektronika.
gW
GBvb! H @ j H HY$b!Â&#x17E;
1 " & ! " ! # ! %= P % % Pomiary Automatyka Robotyka
; =)% 8 h " B
% ;" " )%)
" h %
H L
H ?H L L
8 8 " 8 8 =h%
% =)% + 1. &
Â&#x20AC; wymieniowego Autora # >
% = " % 8 8 L
( ^ " " 8_ =(
8 " "
H L
8 ' %= " "L' L %
8 " 8 ' %= '
' L
="% ( 2. & # ! #Â&#x2039; jej powstanie > % = " + > 8 ; " "
" '
=)%
8 " 8 %
"
h ' =
"8L
' = " '
L ?
h =)
8 % 8
8 % 8 ' %= > 8 ; " h8 =
8 8 ^ " _ (
" h8 = " %= L =
" ' " )% %
8 " "
= "8L
= =
8 h % "
8 8 " " " '
L " "
8 % 8 ' %= Â?
gO
P
O
M
I
A
! %= %
= % %=
8 "
8 ) " h8
) % ) ;
% ) 8
8 " %
" ' % = (
3. & Â&#x201E; ! # 9Â&#x2039; ! "
# > 8 8
A " 8 ' %= 8
" %= P' %
" " ' 8
= " 8 # %=
u L L 8 h; % (
^A % "% " _ > = "
# %= ' =
= % =
" % :% 8 ' %=
# %= ' 8 h
A " ' :(
*
8 ' =
L ;
# =)% % %
= # %= '
' %= " 8 # " ;
% 8 = % " %
> " " " % ;
" E E "
( & 8 "
% ? 8 % % % % %
" ); % (
przeniesienie praw
" ! # "
Y`Â&#x152; & % ) 8 =h%
8 ' %= " h8 = 8 "
=) % 8 " %
%h( Y = " 8 8 "
8 8
% = ( 8 8 %
% = %
) (
Redakcja kwartalnika Pomiary Automatyka Robotyka &
* % " % L 8 ' % P % %
*
H ! ' 8 "
8 " " " % L
8 ) h % " 8 " jbG 8(+
Krzysztof Malinowski, Control System Design: Think Broad and Be Inquisitive, ISSN 1427-9126, R. 24, Nr 2/2020, 5â&#x20AC;&#x201C;10, DOI: 10.14313/PAR_236/5.
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
czasopisma
pomiary
sprawdzian
miara
POLSPAR
eksperyment
automatyka PIAP
seminarium
kalendarium
szkolenie
kwartalnik
federacja
nauka
publikacje
automatyka
stowarzyszenie
HORIZON 2020 " ); innowacje organizacja projekt konkurs
konferencje
relacja
POLSPAR
POLSA
publikacje
AutoCAD streszczenie
agencja kosmiczna
dr h.c.
innowacje
IFAC
ZPSA
8 u
profesura
recenzje
relacja
szkolenie
doktorat
robotyka seminarium
sterowanie
H
esa
szkolenie
94
P
O
M
I
A
R
Y
•
A
U
T
O
M
A
T
Y
K
A
•
R
O
B
O
T
Y
K
A
NR
2/2020
cH<G G$H H H HB BHY b ¡
Dynamika i sterowanie wybranymi procesami biochemicznymi 4 $ ' , ) + 9 $ - ( 3 8 - $ 4 + $ $ - - 5$ ( $
* " " ) h% "
" h % 8 h% = ; =" % 8 ' %=
% % " 8 " % = =)% % " h
' ! 8 " [ !\ ( (
^ # * % "" _ %
^H88
% _( 8 ' %=
% = " h 8 ' %
= % = % " ' 8 % " ' % % L % L ) h =) ;
( h E " % L 8 " ; %
# % = % " % '
' # % % ( % L ) h " 8
8 % "L # %= =
[8 %= ' 8 \ % " % ' % % 8 =)% % " h L; 8
8 % ( 8 8
8 % "
") 8 % 8 8 %
[ 8( ' 8 8 \ ; '" E = " " )% % " P "% %= % 8 " h "% % =
% %= % %
8
" % % % = % % [ 8(
" h; 8 8 8
\( ; % 8
8 8 " h8 "% %=
"
8 = E 8 % " 8 ; = " ; ' E L; ( )
% " %= = %
8 % " ' % % % = " = " h8 %
'L " =)% ( % 8 8 % 8 % P' % % L % " ) h% " " h8 =)% + W( & 8 8 8 = % =)% % " )% %
" P "% %= 8 8 " '" [ E
" =)% \ ; 8 ; ( & ; ; ' " '"
=) " L ( O( &' 8 = %
" =)% = ' % 8 L
8 % " = %
) :
% ) 8 % " # %= = :% % A% 8 ( Y "
' # % = = 8 "
; E
8 ;) % "% %= 8 8 " '" 8
% " % % 8 " % 8 L 8 % " ( q( & 8 8
%
% ) 8 % " # %= = L '" = " h " h8 " )% % " P "% %= (
& 8 8
8 " h ; 8Lu # % ' %=
= % " = 8
' % "8 % ( Q( B " h8
" ' %
8 % " # %= 8Lu ) 8 ) L
" h; % )
E % " 8Lu 8 ; = L =
'" = " h " h8
" ' % % ( C( " =)% 8 8
8 % " # %= 8Lu 8 " ; E " )% % " P "% %= 8 8 " " " % %=
8 *G L
" ' = " h; (
* ; 8
8 ;
% h
= " " 8 % " '
% " 8Lu ( @# E " ; 8 ' % % " L 8 %
) A %=) % =( 8 8 L ; 8 " " 8 % ) " ' E h
% " 8Lu ( U( j ;
% % 8 8 % 8 L
; 8 " % 8
8 " % % h % 8 L' %
'=h % " Â ( * " ; ; E " -
MG ; ' M % = i Informatyki (kierunek automatyka i robotyka) F Â&#x153; H K(!!) L F . ( % . ' # X ' R . > G (!?( ' H K ' G L % % J G # $ $ . (@ . (!(! X ' - [M % = = \ F Â&#x153; H ' Q ' G . ' G SG . H J ' J G
" %= % = " ' % " L 8L P8 8 % "
% " " %
L " [ 8( %= 8 % = \( b L 8 '
' % =) # % # = 8 %= " h 8 " )( & 8 8
%
8 % "
# %= 8 8" 8 =
" % % % 8 % % ' = # % "
" ( Y " 8 " =)
; % %= 8 ;) % "% %= 8 % " # %= 8 8 " "
L%
" '" L =)% % " L ; ' E ; " " % 8 % " % ' % % % 8
8 (
$ . " Q Pomiary Automatyka Robotyka
95
bB Y! ÂĄ !@ H H
VI edycja Konkursu Konstrukcji ' ' G . Q Â&#x17E; - 6 6 * F $ ! $ " + ( $ ! 8 $ - 3 $ $ G + $ $ - ( G + G - $ $ - $ $ - + $ ( 5 5+ $ $ -F ' (F
=)% h ' 8 % :"
% " L b
" 8 =h
% =h = %= " " % 8L
" ( B 8 %
' " h " % : " )% % Zbij kokos z KOKOSem: Zdalne prelekcje w czasach zarazy 8 % " L = "8 % %
' " " h " =) ) % ( * %= " '
% " L
8 % ) h
; " '
"
" = % % % " % (
& 8 "
"
qD
ODOD ( % %= " h
8 h % '
" :(
B 8 " 8 " % L
%= % % = =hE A L Og v " L ¢ v " %= "
8 #
L " h8 = 8 # v % '
% = "
" %= (
= 8 " "
gU
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
8 %= '
" % 8 = L 8 "=) " ) % % ; "8 "L' ( * % " pG %= " " %=
% % ' )E v =( c > =
8 = > qD = 8 % " %
L " L ; = 8 h%
( & % h" " %=
L 8 " % C " h%
%
% ¢ & % h % pG %= " " %= % % " + > H!$ !b<b$ > FL u 8 b b£ B ! ' L * % " " =� %
8 = = " %= ' : 8 %
; 8 = % 8 " =)% % " h " Â? > Gv@ Y* !Hj@ > ' P "P
* " L * % " " = H * h % Â? = "
8 # %=
' "8
O
B
O
T
Y
K
A
NR 2/ 20 20
*
H ! '
G B WQOVPgWOU !( OQ B O?ODOD
8 %
" '
8 "8 =
% % " % ย
% ' %) 8 = = " 8 "8
% 8 % L
8 A 8 " E = " ย > p@cG @ > FL u $
% B L %= * % FL =ย
" % "8 ' =) " %
8h ) " % )ย @ $
8 = %
"
) 8 " ) # % % L
" = % % % ย > "8 %= = !HG Hยก > H
< ;
"8 b!* * %
:" = H % % ย
% 8 = = " % ' ;
8 ;) 8 8 8 " %
8 ' " 8 % % ย > b @! > B ; %
B % " %=
H H$b! H L % Pc % =
ย 8 = = " 8 )%
< % % ย 8 ; "8 " " %= " ;)% 8 8
L; = 8 " ( " " & % h % " % = ยข $ % %= " " %=
% % ' =) 8
h ( ! %= 8 " h h%
8 =)% % L "
" % " % = * = (
%= "8 ; % 8 '
" % = "
8 E % )
" h% % ) " h
8 % ( < " % h =h % "8
8 h%
% " ;
% 8 % = ( > = c = * = (
" " %= % %
L '
' E " h ' * L ( pG %=h
" b b "8 A * b (H(
* L * = '
* "
= * :" (H(
S ' J
. >
gV
¡jH!&@BGH bB Y!
$ ' 6 (!(! mÅ&#x201A;odzi mÅ&#x201A;odzi
innowacyjni innowacyjni yj yj
S.J " F - - [$ ' 6 \ . ' S . G ] 4 ' U P F 6 M F J F6MF " ' H H
. H G '
Ocenie konkursowej, jak co roku, poddano % = E 8 % " % 8 % [ " " % ; " % \
% % + 8 L
' " % L h
% L 8 % % %
8 " " 8 % % ; :(
" A
CW 8 % > U 8 % " % OO 8 % " " Oq 8 % ; " ( " =
%= % L %
" h * %
" " > 8 8 OW 8 %
H L % Pc % > "
8 %( * 8 '
%
< " [* % < " % \
:" [* % :" \ %
[* % ] )" \ [* %
" \ F [* % FL \
* [* % * :" \ ! "
[* % ! " " \ % %
[& % 8 " Y " $ % P % \ "
[ ="
H $ % % \(
â&#x20AC;¢ 8 #( ( '( ;( % = $ = % >
% L " ! ' % % * % " " = â&#x20AC;¢ 8 #( ( '( ;(
& :" >
H ! ' *HB = % 8 = 8" %
8 %
8 h; L;
[ % 8
P % % ^*
H ! ' _ " h % ' ;
HY$b H$¡ H ^ # H ' ! ' %" G " "_\( "= " " Wq "8 L
" % 8 % L
' E 8 WT % ODOD ( 8 % " mmGp # %= B P$ % % = ^H %= > B % * "8 _ HY$b H$GbB ODOD( "= % '" L
% "
" h " "
' " "= (
< " #
% : ; "8 "L' )
% = % 8 = u ( B " 8
' " h "
* "% 8 " bpGjPWg(
8 ' " h " =)%
8 % h % % : "
8 8
L; ( $ 8 % 8 % '
' " "
'
' ( & " % "
" h 8 % " " L
8 % "8 =)% % " h
8 " ) % ) " h " %
% % ; %
' ( B ' L
) % " % ) %=) % " % ) " ) * " Q(D(
"= " = " 8 " = %= " + â&#x20AC;¢ 8 #( '( ;( " %8 > G "
< : " % *HB > 8 % )% â&#x20AC;¢ 8 #( ;( " % " > P%
"( ' % P = % *GH* â&#x20AC;¢ ;( % :" > %=
*
H ! ' â&#x20AC;¢ 8 #( '( ;( &' B " >
G " < : " % *HB â&#x20AC;¢ 8 #( ( '( ;( " b " "
> % * % " " =
gT
P
O
M
I
A
R
j ;( H # 8 %
=
^ ' # "8 " % " #
% 8 8 " "_ ¥F)%
% L; % u L % " ) : 8 " % ¦
8 ' ; =)% ) " ) % h " 8 % " 8 " 8 " % 8 % )% % L; % u L ( < ' = =)
'L " %=h % % " L = =
8 " % L ' h L (
" %= % % ") ' 8 )
% 8 % "
8 ' L # =) % ( ! #v
" 8 "
%
8 " %= %=
% % ( b8 % L ) " 8 )
" h < " " ) L " " h
# = 8 % % # = L
# = 8 % = ( v = 8
% % = " 8
" A < " " ( 8 8 # = < " " = 8 % %
; ; E # %= % 8 %
8 % # %= % ""
" L =) % ' 8 % = % 8 % " L =) % ; % %
" " " ( v =
8 % = = " 8 8
; % #
" A
< " " 8 %) %
# = ( * 8 8 = " h
h ; % % % L
8 %
8
; % " 8 = "
< " " = L = " ;
" ( B
A L; % " " %
L% " L 8 8 =)% %
Y
â&#x20AC;¢
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;¢
R
O
B
O
T
Y
K
A
NR 2/ 20 20
*
H ! '
G B WQOVPgWOU !( OQ B O?ODOD 2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
AGH Akademia GĂłrniczo-Hutnicza
2
5
5
3
19
4
4
3
5
3
7
7
Akademia Morska w Gdyni Uniwersytet Morski w Gdyni
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
Akademia TechnicznoHumanistyczna w Bielsku-BiaĹ&#x201A;ej
1
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
4
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
Instytut BadaĹ&#x201E; Systemowych PAN
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
2
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
PaĹ&#x201E;stwowa WyĹźsza SzkoĹ&#x201A;a Zawodowa w Sanoku
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
PaĹ&#x201E;stwowa WyĹźsza SzkoĹ&#x201A;a Zawodowa w Tarnowie
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
2
â&#x20AC;&#x201C;
2
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
PaĹ&#x201E;stwowa WyĹźsza SzkoĹ&#x201A;a Zawodowa w ZamoĹ&#x203A;ciu
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
Politechnika BiaĹ&#x201A;ostocka
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
3
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
5
6
2
1
Politechnika CzÄ&#x2122;stochowska
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
Politechnika GdaĹ&#x201E;ska
5
3
8
7
12
5
4
6
3
7
9
6
Politechnika KoszaliĹ&#x201E;ska
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
Politechnika Krakowska
â&#x20AC;&#x201C;
5
6
1
3
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
2
Politechnika Lubelska
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
Politechnika Ĺ Ăłdzka
1
7
â&#x20AC;&#x201C;
4
8
1
5
1
2
â&#x20AC;&#x201C;
1
1
Politechnika Opolska
4
2
â&#x20AC;&#x201C;
1
2
1
6
â&#x20AC;&#x201C;
2
2
1
â&#x20AC;&#x201C;
Politechnika PoznaĹ&#x201E;ska
2
2
3
â&#x20AC;&#x201C;
10
1
6
2
5
1
1
1
Politechnika Rzeszowska
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
2
â&#x20AC;&#x201C;
2
â&#x20AC;&#x201C;
4
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
Politechnika Ĺ&#x161;lÄ&#x2026;ska
7
5
6
4
10
8
2
6
5
7
1
6
Politechnika Ĺ&#x161;wiÄ&#x2122;tokrzyska
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
2
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
Politechnika Warszawska
18
17
18
13
22
11
17
14
17
5
3
21
Politechnika WrocĹ&#x201A;awska
4
5
5
2
8
6
8
1
â&#x20AC;&#x201C;
7
â&#x20AC;&#x201C;
2
Polsko-JapoĹ&#x201E;ska Akademia Technik Komputerowych
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
Uniwersytet MikoĹ&#x201A;aja Kopernika w Toruniu
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
1
â&#x20AC;&#x201C;
1
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
Uniwersytet Rzeszowski
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
3
1
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
Uniwersytet TechnologicznoPrzyrodniczy w Bydgoszczy
â&#x20AC;&#x201C;
2
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
Uniwersytet WarmiĹ&#x201E;sko-Mazurski w Olsztynie
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
Uniwersytet Warszawski
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
Uniwersytet ZielonogĂłrski
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
2
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
Wojskowa Akademia Techniczna
â&#x20AC;&#x201C;
1
â&#x20AC;&#x201C;
1
2
1
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
4
2
WyĹźsza SzkoĹ&#x201A;a Informatyki Stosowanej i ZarzÄ&#x2026;dzania w Warszawie
4
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
Zachodniopomorski Uniwersytet Technologiczny w Szczecinie
1
2
â&#x20AC;&#x201C;
â&#x20AC;&#x201C;
3
1
2
2
5
3
3
1
Uczelnia
gg
B! q?ODWC
% " L
% = % # = " %= 8 8 =( 8 ;
8 8
= E " )%
" "
( ;( " 8 %
^ " {P"8 % ' " ` "
% " % # ' _
ÂĽ<
8 % 8 = % ) 8 h
{P8 " ' # = L
) " % ÂŚ 8 " h ) ) 8 %
%=) " ' " '
" # = !G "# " % % % # = ( & 8 8
8 8 '
" 8 L H*
[ ( 8 % P H88
* 8 \( " P "
" ) ' ) 8 E
; % "
" '" %= ' =
L = " = L% [ ' " '" %=
" =\ 8 " % " L ( b 8
" % 8 % H* ;
" E L ; = 8 % 8 L h " ) 8 h % )( * ;( & " 8 %h ) ^ "
% % = 8 %
" ' % 8
h' " % _( = % '
8 % 8 %= " " "8 % = 8 h' % " % % % 8
=)% % "8 E ' h % =
" " ( 'L = " ' = " 8 8
8 ) % ) " " % ' % ) :( % A
8 8 = " 8 8
' " % = % L % "8 " 'L ' ( j
= % = " % L "
8 %= " % % ' =)% ( 8 % % 8 (
8
'
8 L h "8 " ' " " % % ( b
% ; " " "
' 8 " 8 E " "
OC VT§ =)% " % E
8 %= 8 TQ WC§( !L ; ' = % 8
" % E
8 8 8 = % (
Prace doktorskie
I Nagroda
dr inĹź. MichaĹ&#x201A; Maciejewski â&#x20AC;&#x201C; Co-Simulation of Transient Effects in Superconducting Accelerator Magnets Politechnika Ĺ Ăłdzka, WydziaĹ&#x201A; Elektrotechniki, Elektroniki, Informatyki i Automatyki Promotor â&#x20AC;&#x201C; prof. dr hab. inĹź. Andrzej Bartoszewicz
II Nagroda
dr inĹź. Anna Stief â&#x20AC;&#x201C; Combining data from disparate sources for condition monitoring purposes AGH Akademia GĂłrniczo-Hutnicza, WydziaĹ&#x201A; Elektrotechniki, Automatyki, Informatyki i InĹźynierii Biomedycznej Promotor â&#x20AC;&#x201C; dr hab. inĹź. Jerzy Baranowski, prof. AGH
dr inĹź. MichaĹ&#x201A; MarzÄ&#x2122;cki â&#x20AC;&#x201C; Opracowanie konstrukcji i parametrĂłw technologicznych Zintegrowanego Detektora Punktu Rosy wykonanego Wyróşnienie w technice druku strumieniowego Politechnika Warszawska, WydziaĹ&#x201A; Elektroniki i Technik Informacyjnych Promotor â&#x20AC;&#x201C; prof. dr hab. inĹź. Ryszard Jachowicz
Wyróşnienie
dr inĹź. PaweĹ&#x201A; Mazurek â&#x20AC;&#x201C; Bayesian solutions of problems related to non-invasive and non-intrusive monitoring of elderly persons Politechnika Warszawska, WydziaĹ&#x201A; Elektroniki i Technik Informacyjnych Promotor â&#x20AC;&#x201C; prof. dr hab. inĹź. Roman Z. Morawski Prace dyplomowe magisterskie
I Nagroda
mgr inĹź. Piotr Falkowski â&#x20AC;&#x201C; Projekt konstrukcyjny egzoszkieletu wspomagajÄ&#x2026;cego podnoszenie ludzkiej koĹ&#x201E;czyny gĂłrnej, do badaĹ&#x201E; moĹźliwoĹ&#x203A;ci sterowania za pomocÄ&#x2026; sygnaĹ&#x201A;Ăłw EMG Politechnika Warszawska, WydziaĹ&#x201A; Mechaniczny Energetyki i Lotnictwa Promotor â&#x20AC;&#x201C; dr hab. inĹź. Cezary Rzymkowski, prof. PW
II Nagroda
mgr inĹź. Malwina Molendowska â&#x20AC;&#x201C; Single shell Q-space biomarkers in diffusion magnetic resonance imaging of the brain AGH Akademia GĂłrniczo-Hutnicza, WydziaĹ&#x201A; Elektrotechniki, Automatyki, Informatyki i InĹźynierii Biomedycznej Promotor â&#x20AC;&#x201C; dr inĹź. Tomasz PiÄ&#x2122;ciak
mgr inĹź. Fabian Bogusz â&#x20AC;&#x201C; PrĂłbkowanie oszczÄ&#x2122;dne w obrazowaniu dyfuzji metodÄ&#x2026; rezonansu magnetycznego na potrzeby oceny wĹ&#x201A;aĹ&#x203A;ciwoĹ&#x203A;ci mikrostruktury mĂłzgu Wyróşnienie AGH Akademia GĂłrniczo-Hutnicza, WydziaĹ&#x201A; Elektrotechniki, Automatyki, Informatyki i InĹźynierii Biomedycznej Promotor â&#x20AC;&#x201C; dr inĹź. Tomasz PiÄ&#x2122;ciak
Wyróşnienie
mgr inĹź. Mateusz CzyĹźniewski â&#x20AC;&#x201C; Wybrane metody odtwarzania stanu systemĂłw dynamicznych Politechnika GdaĹ&#x201E;ska, WydziaĹ&#x201A; Elektrotechniki i Automatyki Promotor â&#x20AC;&#x201C; dr inĹź. RafaĹ&#x201A; Ĺ angowski Prace dyplomowe inĹźynierskie
I Nagroda
inĹź. Dominik Trocki â&#x20AC;&#x201C; Opracowanie sterowania rÄ&#x2122;cznego oraz zrobotyzowanego stanowiska lakierniczego Politechnika Warszawska, WydziaĹ&#x201A; Mechatroniki Promotor â&#x20AC;&#x201C; prof. dr hab. inĹź. Mariusz Olszewski
II Nagroda
inĹź. Piotr MichaĹ&#x201A;owski â&#x20AC;&#x201C; Zastosowanie kamery termowizyjnej do nawigacji pojazdu typu UAV Wojskowa Akademia Techniczna, Instytut Optoelektroniki Promotor â&#x20AC;&#x201C; dr inĹź. Grzegorz Bieszczad
inĹź. Zuzanna Klawikowska â&#x20AC;&#x201C; Wykorzystanie metod tĹ&#x201A;umaczenia decyzji do opracowania strategii obronnych przed wrogimi atakami na gĹ&#x201A;Ä&#x2122;bokie Wyróşnienie sieci neuronowe Politechnika GdaĹ&#x201E;ska, WydziaĹ&#x201A; Elektrotechniki i Automatyki Promotor â&#x20AC;&#x201C; dr inĹź. MichaĹ&#x201A; Grochowski
' O $ . " Q inĹź. Mateusz PajÄ&#x2026;k, inĹź. Marcin RacĹ&#x201A;aw â&#x20AC;&#x201C; SzeĹ&#x203A;cioosiowy manipulator z chwytakiem Wyróşnienie Politechnika GdaĹ&#x201E;ska, WydziaĹ&#x201A; Elektrotechniki i Automatyki Promotor â&#x20AC;&#x201C; dr hab. inĹź. Robert Piotrowski inĹź. MiĹ&#x201A;osz Rzepecki â&#x20AC;&#x201C; Wspomaganie wybranych procesĂłw produkcyjnych specjalizowanymi rozwiÄ&#x2026;zaniami robotyki i automatyki Wyróşnienie Politechnika WrocĹ&#x201A;awska, WydziaĹ&#x201A; Elektroniki Promotor â&#x20AC;&#x201C; dr inĹź. Andrzej JabĹ&#x201A;oĹ&#x201E;ski
WDD
P
O
M
I
A
R
Y
â&#x20AC;˘
A
U
T
O
M
A
T
Y
K
A
â&#x20AC;˘
R
O
B
O
T
Y
K
A
NR 2/ 20 20
Kalendarium wybranych imprez Data konferencji $ " :
="%
Informacje dodatkowe
WO>WV ? DV ? ODOD qW ? WD ? ODWg
<
Niemcy
www: 8+?? ( # %ODOD(
CO( h %
# %= L
ODOD
DV>Dg ? Dg ? ODOD
* " %
* "
OO * @ % %"
H88 % "
@*@ ODOD @ @ pG!$YH
DV>WW ? Dg ? ODOD Wg ? WO ? ODWg
v %=
4th GvH " 8
H % %
@ % "
$ % "
H @ $ ODOD pG!$YH
WD>WW ? Dg ? ODOD
' <
WVth GvH # %
* ' j % "
@ ' " "
*j@ ODOW
WT>OD ? DC ? ODOW
= <
i Hercegowina
WVth GvH 8 "
G # * ' "
# %
GB b ODOW
DT>WW ? DU ? ODOW
* # "
8
WVth GvH 8 " v
j % 8 "
#
# $ % % * % "" "
Hv@*!b @ ODOW
DV>Dg ? DU ? ODOW
< 8 "
h
OQth G 8 "
% $
#
B " " "
$B ODOD
OQ>OT ? DT ? ODOD WO ? DW ? ODOD
'
<
qD(DT>Dq(Dg ? ODOW
Jokohama Japonia
www: 8+?? ( ODOW(
mail: ODOWX ( (% (=8
DV>Dg ? DU ? ODOW
< 8 "
h
www: 8"+?? % ODOW(
qD(DT>Dq(Dg ? ODOW
Jokohama Japonia
www: 8+?? ( ODOW(
mail: ODOWX ( (% (=8
Nazwa konferencji W" p GvH
""
GvH Pp ODOD
mmGGG "" #
G "
#
G @ b ODOW WVth GvH 8 "
G # * ' "
# %
GB b ODOW mmGGG "" #
G "
#
G @ b ODOW
www: 8"+?? ( ODOD(8 ?
mail: ( % = X ODOD(8
www: 8+?? ( 8 ODOD(% ?
mail: # X 8 ODOD(%
www: 8"+?? ( " ODOD( (% ( %(
www: 8"+?? ( # %P% ( ? "? 8 ' P % "P P ' P P" " "PWV P8 "PODOW
mail: = (= %X ' ( ('
www: 8"+?? % ODOW( ?
mail: # X % ODOW(
www: 8"+??" # 8 % ""ODOW( ??
www: 8"+?? "ODOD( (% ( %( ?
45 51
G * " " % $ " * B
7
&' % % " H = < :
- $ . 4-* _4 4 6 . ' +
59
* "
63
j " ' % * *
69
=
77
+! & 26 $ $ ! & *
# %`,)
# !
7 ! # "
!
75 $5' 7
% j = < =
#
" _