Masterproef PCS7 & SIMATIC BATCH
Studiegebied Industriële wetenschappen en technologie Opleiding Master of Science in de industriële wetenschappen: elektrotechniek Afstudeerrich ng Automa sering Academiejaar 2011-2012
Sven Schieteca e Academische bachelor- en masteropleidingen, Graaf Karel de Goedelaan 5, 8500 Kortrijk
Masterproef PCS7 & SIMATIC BATCH
Studiegebied Industriële wetenschappen en technologie Opleiding Master of Science in de industriële wetenschappen: elektrotechniek Afstudeerrich ng Automa sering Academiejaar 2011-2012
Sven Schieteca e Academische bachelor- en masteropleidingen, Graaf Karel de Goedelaan 5, 8500 Kortrijk
Voorwoord Alle materie binnen deze thesis is opgesteld vanuit de laatste versie van PCS7, namelijk PCS7 versie 7.1 Service Pack (SP)3. Hier bovenop is de laatste update van SIMATIC BATCH V7.1 geïnstalleerd, namelijk SP2. Deze versies waren nodig om de onderzoeksvragen tot een goed einde te brengen. Omdat de gebruikte so warepakke en nieuw waren voor mij, heb ik veel hulp gekregen van mijn externe promotor bij Actemium, Luc De Cloet, die gespecialiseerd is in het implementeren van projecten binnen PCS7 en Sima c Batch. Via deze weg wil ik hem bedanken voor de goede begeleiding en het bijstaan met vakkundige kennis gedurende deze masterproef. Daarnaast wil ik mijn interne promotor Dieter Vandenhoeke bedanken voor z'n goede begeleiding en advies. Ook wil ik het personeel van Actemium bedanken voor het verzorgen van opleidingen omtrent PCS7 en WinCC. In deze thesis wordt geprobeerd om SIMATIC BATCH op een eenvoudige manier uit te leggen zodat personen die geen ervaring hebben binnen dit vakgebied ook zouden verstaan waarover dit gaat. Aangezien het om een Engelstalig so warepakket gaat, zullen er veel termen in het Engels vermeld worden daar deze vaak geen goede Nederlandse vertaling hebben. Door deze termen onvertaald te gebruiken is het ook eenvoudiger om eenduidig te communiceren met andere gebruikers over deze materie. Veel lees- en leerplezier, Sven Schieteca e
i
Abstract Sima c Batch is so ware, created by Siemens, that is used to implement batch processes . It's an expansion on PCS7, a DCS (Distributed Control System) that allows the user to easily implement processes that are large in size. The advantages of this so ware is that the programmer doesn't need to write the code, but the implemen ng happens in a more visual style. It is also possible to automa cally generate a WinCC project, so that there is a standard SCADA applica on available. Sima c Batch uses this WinCC project to exchange data between the Batch server and the defined phases in PCS7. The Batch server contains the data that is needed to create recipes, which exists of the defined phases. An example of phase is the opening of a valve, controlling a motor,... . In the tradi onal way, each recipe phase needs to be send to the AS (Automa on System). This is a process that takes some me (up to a few seconds) and this slows down the crea on of a batch and also makes it inaccurate. To encounter these problems, there is a new feature available in the new version of Sima c Batch, called the AS based Batch mode. This mode makes it possible to download unit procedures in the AS, so that the phases, which are a part of these procedures, must not be send constantly to the AS. There is only communica on between the server and the AS when a procedure needs to be started or when a procedure is done. The execu on of a phase is thus reduced to a few miliseconds. Other new features that are available in the new version of Sima c Batch, are the OS controls for Batch within WinCC. These controls allows the operator to easily follow up batch data in WinCC, instead of using specific so ware, such as Batch Control Center. With these controls it's possible to create new batches, see which units are occupied, follow up orders, batches,... . These controls are also adaptable to the needs of the customer. The research of these new features is commisioned by Actemium. The other objec ve of this thesis is to implement Sima c Batch on a demo setup provided by Howest Kortrijk. This setup is used to show how a batch package works and what the possibili es and avantages are in comparisa on to tradi onal programming in STEP7.
ii
Lijst met a or ngen A AS
Automa on System
B BCC
Batch Control Center
C CFC
Con nuous Func on Chart
D DCS DB
Distributed Control System Data Block
F FB FC
Func on Block Func on
H Howest HI HMI
Hogeschool West-Vlaanderen Hold Index Human Machine Interface
I IEEE
Ins tute of Electrical and Electronics Engineers
iii
ISA I/O
Interna onal Society of Automa on Input/Output
M MES
Manufacturing Execu on System
O OS OB OSC
Opera ng System Organisa on Block Online Structure Changes
P PCS PLI PLC
Process Control System Phase Logic Interface Programmable Logic Controller
R RSB ROP RPH RUP
Reset Buffer Recipe Opera on Recipe Phase Recipe Unit Procedure
S SFC SP SCL SI SCADA
Sequen al Func on Chart Service Pack Structured Control Language Step Index Supervisory Control And Data Acquisi on
iv
Inhoudsopgave 1 Inleiding 1.1 Bedrijfsvoorstelling 1.1.1 Actemium . 1.1.2 Howest . . 1.2 Probleemstelling . 1.3 Doelstellingen . . 1.4 Projectaanpak . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
2 ISA-88 norm 2.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . 2.1.1 ISA . . . . . . . . . . . . . . . . . . . . 2.1.2 S88-norm . . . . . . . . . . . . . . . . . 2.2 Modellen en terminologie . . . . . . . . . . . . 2.2.1 Benodigdheden om een batch te creëren 2.2.2 Recepten . . . . . . . . . . . . . . . . . 2.2.3 Equipment . . . . . . . . . . . . . . . . 2.2.4 State model . . . . . . . . . . . . . . . . 2.3 Voordelen en nadelen . . . . . . . . . . . . . . . 3 Componenten van Sima c Batch 3.1 Inleiding . . . . . . . . . . . . . . . . . . . . 3.2 Sima c Logon . . . . . . . . . . . . . . . . . 3.2.1 Inleiding . . . . . . . . . . . . . . . . 3.2.2 Instellingen Windows Security . . . . 3.2.3 Instellingen Sima c Logon . . . . . . 3.3 PCS7 . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Inleiding . . . . . . . . . . . . . . . . 3.3.2 CFC . . . . . . . . . . . . . . . . . . 3.3.3 SFC . . . . . . . . . . . . . . . . . . 3.3.4 SFC-type . . . . . . . . . . . . . . . 3.3.5 Compileren en downloaden naar Sima 3.4 WinCC . . . . . . . . . . . . . . . . . . . . . 3.4.1 Inleiding . . . . . . . . . . . . . . . . 3.4.2 WinCC en PCS7 . . . . . . . . . . . . 3.4.3 WinCC en Sima c Batch . . . . . . . 3.5 Batch server . . . . . . . . . . . . . . . . . . 3.6 Batch Control Center . . . . . . . . . . . . . 3.6.1 Inleiding . . . . . . . . . . . . . . . . 3.6.2 Materialen . . . . . . . . . . . . . . 3.6.3 Recepten . . . . . . . . . . . . . . . 3.6.4 Formules . . . . . . . . . . . . . . . 3.6.5 Orders . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
1 1 1 3 3 3 3
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
4 4 4 4 5 5 6 11 14 15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c Batch server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
16 16 17 17 18 19 20 20 20 21 23 26 27 27 28 28 28 29 29 30 30 30 30
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
v
4 Onderzoek AS-based Batch en nieuwe OS-controls voor Batch binnen WinCC 4.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Opbouw proces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Fysisch proces . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.2 Sima c PCS7 . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.3 WinCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.4 Batch Control Center . . . . . . . . . . . . . . . . . . . . . . . 4.3 AS-based Batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Implementa e binnen het proces . . . . . . . . . . . . . . . . 4.4 OS-controls binnen WinCC . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Sima c Batch OS Master . . . . . . . . . . . . . . . . . . . . . 4.4.3 Sima c Batch OS Monitor . . . . . . . . . . . . . . . . . . . . 4.4.4 Sima c Batch OS Process Cell . . . . . . . . . . . . . . . . . . 4.4.5 Sima c Batch OS Alloca on . . . . . . . . . . . . . . . . . . . 4.4.6 Sima c Batch OS Batch Crea on . . . . . . . . . . . . . . . . . 4.4.7 Sima c Batch OS Proper es . . . . . . . . . . . . . . . . . . . 4.4.8 Controls personaliseren . . . . . . . . . . . . . . . . . . . . . 5 Demo-opstelling 5.1 Inleiding . . . . . . . . . . . 5.2 Opbouw proces . . . . . . . 5.2.1 PC WorX . . . . . . . 5.3 Sima c PCS7 . . . . . . . . . 5.3.1 WinCC . . . . . . . . 5.3.2 Batch Control Center 6 Conclusies
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . . . . . . . . . . . . . .
31 31 31 31 32 49 51 59 59 60 64 64 64 65 66 66 67 68 68
. . . . . .
70 70 70 71 77 80 81 82
vi
Lijst van tabellen 4.1 4.2
Overzicht CPU-geheugen voor AS-based Batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tijden voor het uitvoeren van een recipe unit procedure . . . . . . . . . . . . . . . . . . . . . .
62 62
5.1 5.2 5.3 5.4
Inputadressen van de ILC voor werkelijk proces en enkelvoudige simula eprocessen . Inputadressen van de ILC voor uitgebreidt simula eproces . . . . . . . . . . . . . . . Outputadressen van de ILC voor werkelijk proces en enkelvoudige simula eprocessen Outputadressen van de ILC voor uitgebreid simula eproces . . . . . . . . . . . . . . .
75 76 76 77
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
vii
Lijst van figuren 1.1 1.2 1.3
Logo Actemium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Situering Actemium binnen VINCI Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logo Howest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14
Logo ISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Voorbeeld van een typische batchinstalla e . . . . . . . . . . Model voor batchbenodigdheden . . . . . . . . . . . . . . . Recipe model . . . . . . . . . . . . . . . . . . . . . . . . . . Voordelen van een general recipe . . . . . . . . . . . . . . . Opbouw recept . . . . . . . . . . . . . . . . . . . . . . . . . General en site recipe volgen het process model . . . . . . . Master en control recipe volgen het procedural control model Onderscheid tussen procedures, opera es en fases . . . . . . Fysieke model . . . . . . . . . . . . . . . . . . . . . . . . . . Enkele verschillende paths binnen een process cell . . . . . . Opbouw process cell . . . . . . . . . . . . . . . . . . . . . . Interac viteit tussen recipe phase en equipment phase . . . . Het algemeen state model . . . . . . . . . . . . . . . . . . .
3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22
Overzicht van een Batch project . . . . . . . . . . . . Mogelijke opstelling van Sima c Batch . . . . . . . . . State model van Sima c Batch . . . . . . . . . . . . . Link tussen Sima c Logon en Windows Security . . . . Gebruikersgroepen binnen Windows Security . . . . . Sima c Logon inlogvenster . . . . . . . . . . . . . . . View modes PCS7 . . . . . . . . . . . . . . . . . . . . Voorbeeld van de grafische weergave binnen een CFC . I/O-instellingen van een func eblok binnen CFC . . . . Voorbeeld van een SFC . . . . . . . . . . . . . . . . . Startvoorwaarden van een SFC . . . . . . . . . . . . . Eigenschappen van een SFC . . . . . . . . . . . . . . . SFC-type binnen CFC (1) en als SFC (2) . . . . . . . . . Doel van SFC-type bepalen . . . . . . . . . . . . . . . Eigenschappen binnen een SFC-type . . . . . . . . . . Voorbeeld voor gebruik van control strategies . . . . . Gebruik van de IEPH-func eblok . . . . . . . . . . . . Voorbeeld van een WinCC project . . . . . . . . . . . Typisch gegenereerde WinCC bij een PCS7-project . . . Redundante Batch server . . . . . . . . . . . . . . . . Taakbalk iconen Sima c Batch en instellen opstart Sima Batch Control Center . . . . . . . . . . . . . . . . . .
4.1 4.2 4.3
1 1 3
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
4 5 6 7 7 8 9 10 10 11 12 13 14 15
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c Batch . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
16 16 17 18 19 19 20 21 21 22 22 23 24 24 25 25 26 27 28 29 29 30
Overzicht toegepaste proces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gebruikte AS-hardwareconfigura e voor PLCSim . . . . . . . . . . . . . . . . . . . . . . . . . . Instellingen voor Ethernet-communica e van de CP-kaart . . . . . . . . . . . . . . . . . . . . .
32 33 33
viii
4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 4.30 4.31 4.32 4.33 4.34 4.35 4.36 4.37 4.38 4.39 4.40 4.41 4.42 4.43 4.44 4.45 4.46 4.47 4.48 4.49 4.50 4.51 4.52
Instellen van het geheugen voor prioriteitsklassen . . . . . . . . . . . . . . Instellen van de PG/PC-interface voor het downloaden naar PLCsim . . . . . Selecteren van TCP/IP-communica e binnen PLCSim . . . . . . . . . . . . . Instellen van de Sta on Configurator . . . . . . . . . . . . . . . . . . . . . . Hardwareconfigura e van de OS . . . . . . . . . . . . . . . . . . . . . . . . Connec e met de applica es van de OS . . . . . . . . . . . . . . . . . . . . Definiëren van process cell (1), unit (2) of fase (3) in de hiërarchie-folders . . Hiërarchie binnen plant view van Sima c Manager . . . . . . . . . . . . . . Enumera on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Equipment property van unit 'mixer A' . . . . . . . . . . . . . . . . . . . . . Structuur voor het programmeren van fasen . . . . . . . . . . . . . . . . . . Loca e van de SFC-types binnen Sima c manager . . . . . . . . . . . . . . . Instellingen van de SFC-types . . . . . . . . . . . . . . . . . . . . . . . . . . Opbouw van de run sequence van de SFC-types . . . . . . . . . . . . . . . . Opbouw van het tabblad 'rest' binnen de SFC-types . . . . . . . . . . . . . . Invulling voor het holdcommando in het tabblad 'rest' . . . . . . . . . . . . De setpoint(1) en proceswaarde (2) voor het toevoegen van ingrediënt . . . Communica e tussen Batch en fases door middel van de PLI's . . . . . . . . SFC voor de running sequence . . . . . . . . . . . . . . . . . . . . . . . . . Afvraging van de RSB binnen de SFC's voor het herva en van een fase . . . . Wijzigen van de SI en RSB binnen de SFC's . . . . . . . . . . . . . . . . . . . SFC voor holding, abor ng en stopping statussen . . . . . . . . . . . . . . . Niveau van de units instellen voor WinCC . . . . . . . . . . . . . . . . . . . Genereren van de Batch types . . . . . . . . . . . . . . . . . . . . . . . . . Compileren van de Batch instances . . . . . . . . . . . . . . . . . . . . . . . Transfereren van de berichten naar OS en downloaden naar Batch Server . . Aangemaakte beelden binnen WinCC . . . . . . . . . . . . . . . . . . . . . Faceplate van een motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structuur binnen Picture Tree Manager . . . . . . . . . . . . . . . . . . . . WinCC beeld voor een mixer . . . . . . . . . . . . . . . . . . . . . . . . . . WinCC beeld voor een reactor . . . . . . . . . . . . . . . . . . . . . . . . . Roles management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Definiëren van de input en output materialen binnen BCC . . . . . . . . . . Header parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alloca e van de units aan de hand van equipment proper es . . . . . . . . . Input materiaal van de fase 'addingr1' . . . . . . . . . . . . . . . . . . . . . Parameters instellen voor de fase 'agitate' . . . . . . . . . . . . . . . . . . . volledig recept . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Aanmaken van een reeks batches volgens maximale beze ng . . . . . . . . Weergeven van een geannuleerd order binnen BCC . . . . . . . . . . . . . . Verschuiven van recept logica bij AS-based Batch . . . . . . . . . . . . . . . IUNIT_ BL-func eblok(1) en UNIT_ PLC-func eblok(2) . . . . . . . . . . . . . Sta on se ngs bij het compileren van de Batch process cell . . . . . . . . . Waarschuwing bij het niet toewijzen van werkgeheugen voor AS-based opera Instellen van AS-based Batch binnen BCC . . . . . . . . . . . . . . . . . . . . Voorstelling van de Sima c Batch OS Master control . . . . . . . . . . . . . . Sima c Batch OS Monitor control . . . . . . . . . . . . . . . . . . . . . . . . Dialoogvenster na het triggeren van een procesac e . . . . . . . . . . . . . Sima c Batch OS Process Cell control . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ons . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34 34 35 35 36 36 37 38 38 39 39 40 40 41 42 42 42 43 45 46 46 46 47 48 48 49 49 50 50 51 51 52 53 54 54 55 56 57 58 59 60 61 61 62 63 65 65 65 66
ix
4.53 4.54 4.55 4.56
Sima c Batch OS Alloca on control . . . . . . . . . . . . . . . . . Sima c Batch OS Alloca on control . . . . . . . . . . . . . . . . . Sima c Batch OS Proper es control . . . . . . . . . . . . . . . . Dynamisch maken van een eigenschap van een control via C-script
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
67 67 68 69
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12
Opbouw van het fysisch proces van de demo-opstelling . Uitgebreide simula eversie van het proces . . . . . . . . Opbouw PC-worx programma van het werkelijke proces . Code van de func ebouwsteen 'Gegevens ordenen' . . . Opbouw van het enkelvoudige simula eproces . . . . . Ordenen van de gegevens van de simula e . . . . . . . Opbouw van het uitgebreide simula eproces . . . . . . Koppeling tussen de processen en Profinet . . . . . . . . Hardwareconfigura e demo-opstelling . . . . . . . . . . Edit ethernet node tool . . . . . . . . . . . . . . . . . . WinCC beeld voor de unit mixer . . . . . . . . . . . . . WinCC beeld voor de unit transportband . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
70 71 72 72 73 74 74 75 78 79 80 81
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
x
1
Inleiding
1.1 Bedrijfsvoorstelling 1.1.1 Actemium Actemium: Dé marktleider in industriële toepassingen Actemium is een bedrijf dat zich specialiseert in industriële toepassingen, waarvan hoofdzakelijk het automa seren van processen binnen de procesindustrie. Het doel is het op maliseren van de presta es van het produc eproces waardoor een bedrijf een hoger rendement haalt. Als bedrijf kan Actemium geraadpleegd worden voor advies en/of voor het implementeren van een deel van een proces of een totaaloplossing. Daarnaast staat ook een serviceteam klaar dat zorgt voor ondersteuning op bestaande systemen. Service is een logische weg naar minder down me en meer beschikbaarheid van een proces. Hierdoor wordt er efficiënter geproduceerd.
Figuur 1.1: Logo Actemium
Actemium behoorde vroeger toe aan Proma c-group en werkte ook onder deze naam. Op 31 mei 2006 werd de volledig groep overgenomen door de Franse groep VINCI. Actemium België telt vijf filialen, namelijk: Aalter (hoofdzetel), Luik, Herentals, Nijvel en een nieuwe ves ging in Kortrijk.
Figuur 1.2: Situering Actemium binnen VINCI Group
1
Ac viteiten De belangrijkste ac viteiten van Actemium zijn: • Totaalprojecten binnen de industrie • Verkoop van hardware en so ware • Verzorgen van opleidingen Actemium doet zowat alles op gebied van industriële automa sering. Ze maken elektrische borden en zorgen voor de bekabeling, doen implementa e van PLC's en voorzien SCADA-systemen in processen. Daarnaast werken ze ook met Distributed Control System (DCS)-, batch en Manufacturing Execu on System (MES)-systemen Actemium verkoopt ook industrieel materiaal zoals PLC's, SCADA-so ware en drives. Dit zijn vooral producten van de merken Siemens, Rockwell en Danfoss. Voor industriële modems en Ethernetcommunica e bieden ze voornamelijk Westermo en Siemens producten aan. Als laatste ac viteit verzorgt Actemium opleidingen die zeer uiteenlopend zijn. Deze opleidingen kunnen zowel door externe bedrijven als interne werknemers gevolgd worden.
Sectoren Enkele industriële sectoren waarbinnen Actemium ac ef is: • Medische sector • Chemische sector • Water- en milieusector • IJzer- en staalsector • Tex el • Machinebouw • Bouwindustrie • Speciale know-how • ... Meer info omtrent Actemium is beschikbaar op www.actemium.be [1]
2
1.1.2 Hogeschool West-Vlaanderen (Howest) Howest is een groeiende hogeschool met campussen te Brugge en Kortrijk en is lid van de associa e Universiteit Gent. Howest biedt een ruim aanbod van bachelor- en masteropleidingen aan. Op de campus Graaf Karel de Goedelaan te Kortrijk worden de opleidingen tot industrieel ingenieur verzorgt. Deze thesis werd deels in opdracht van de opleiding Automa sering uitgevoerd.
Figuur 1.3: Logo Howest
Meer informa e over Howest is terug te vinden op www.howest.be [2]
1.2 Probleemstelling Deze masterproef werd voorgesteld door Actemium Aalter en Howest Kortrijk. Onlangs zijn er nieuwe versies van PCS7 en Sima c Batch uitgebracht. De vraag van Actemium is om uit te zoeken wat de extra mogelijkheden zijn met deze nieuwe versies. Binnen Howest is er geen ervaring met procesindustrie en dus ook niet met deze twee so warepakke en. De bedoeling is kennis rond deze materie te vergaren.
1.3 Doelstellingen De doelstellingen voor deze masterproef zijn: • vanuit Actemium – Onderzoeken hoe de implementa e van Automa on System (AS)-based Batch gebeurt en controleren of dit effec ef sneller werkt dan de klassieke oplossing waarbij de Batch server alle gegevens moet versturen naar de PLC. – Onderzoeken wat de nieuwe WinCC-controls zijn die opgenomen zijn binnen de nieuwe versie van Sima c Batch. Wat zijn de voordelen van deze controls naar de gebruiker (operator) toe en hoe worden deze op een op male manier geconfigureerd. • vanuit Howest – Het implementeren van Sima c Batch op een testopstelling waarmee de mogelijkheden en voordelen van dit so warepakket worden aangetoond.
1.4 Projectaanpak Vooraleer met Sima c Batch gewerkt kan worden, is een basiskennis van PCS7 en WinCC vereist. Sima c Batch werkt immers samen met deze systemen. Om deze so warepakke en onder de knie te krijgen, zijn cursussen gevolgd bij Actemium. Daarna volgt zelfstudie om het batchpakket te beheersen. Eens dit pakket voldoende gekend is, kan overgegaan worden naar het onderzoek van AS-based Batch en de nieuwe WinCC-controls voor Batch. Als laatste wordt de vergaarde kennis geïmplementeerd op de reeds bestaande testopstelling, waarbij zo goed mogelijk de voordelen en mogelijkheden van Sima c Batch naar voren gebracht worden.
3
2
ISA-88 norm
2.1 Inleiding 2.1.1 ISA Interna onal Society of Automa on (ISA) is opgericht in 1945 in de Verenigde Staten onder de naam Instrument Society of America. Het is een globaal, non-profit organisa e die zich bezig houdt met het ontwikkelen van standaarden en normen voor de industriële automa sering. Enkele van hun bekendste normen zijn de ISA-95 en de ISA-88 norm. Meer informa e over ISA en over hun normen zijn terug te vinden op www.isa.org [3].
Figuur 2.1: Logo ISA
Omdat de norm niet gra s te verkrijgen is en er reeds studie gedaan werd omtrent deze norm in een vorige masterproef, is voor het bestuderen van de S88-norm gebruik gemaakt van de beschikbare thesis [4]. Ook is gebruik gemaakt van informa e omtrent deze norm die beschikbaar is bij Actemium [5].
2.1.2 S88-norm De S88-norm bevat richtlijnen voor de flexibilisering van batchprocessen. Dit betekent dat deze norm niet strikt gevolgd dient te worden, maar dat het een denkwijze beschrij om tot een oplossing te komen. De norm is abstract opgesteld zodat er weinig afwijkingen nodig zijn in concrete situa es. De norm bestaat tegenwoordig uit vier delen: • Deel 1: Modellen en terminologie (Models and Terminology) • Deel 2: Data structuren en richtlijnen voor taalgebruik (Data Structures and Guidelines for Languages) • Deel 3: Algemene en site-a ankelijke receptmodellen en voorstellingen (General and Site Recipe Models and Representa on) • Deel 4: Batch produc erapporten (Batch Produc on Records) Daarnaast is zijn er publica es beschikbaar met voorbeelden van implementa es van de S88-norm en om ISA-88 en ISA-95 samen te gebruiken. Wat is een batchproces? Een batchproces gee als resultaat één grote hoeveelheid product die uiteindelijk verdeeld wordt over meerdere eindproducten. Een voorbeeld van een batchproces is de produc e van bier. Hierbij worden verschillende ingrediënten toegevoegd en behandeld om later in één grote tank van enkele entallen liters opgeslagen te worden.
4
Uiteindelijk wordt de inhoud van deze tank verdeeld over kleine flessen. De inhoud van de tank wordt één batch genoemd.
Figuur 2.2: Voorbeeld van een typische batchinstalla e
Naast batchprocessen bestaan er nog discrete processen en con nue processen. Discrete processen resulteren in stuk per stuk tastbare producten. Dit kunnen unieke stukken zijn of serieproducten, bijvoorbeeld auto's. Bij con nue processen worden producten gemaakt waarbij het proces niet s lgelegd wordt. Een typisch voorbeeld hiervan is de produc e van kabels. Waarom gebruik maken van de S88-norm? Batchprocessen zijn gebaseerd op recepten waarin vastligt hoe een product gemaakt wordt. Een installa e wordt vaak voor verschillende recepten gebruikt en daardoor is er nood aan een snelle omwisseling tussen deze verschillende recepten. Dit komt vooral omdat afnemers steeds kleinere hoeveelheden bestellen die sneller geleverd moeten worden. Vroeger was het omwisselen van een recept een jdrovend, omslach g en ook duur gebeuren omdat de installa e volledig opnieuw geprogrammeerd moest worden. De nood naar een flexibelere manier drong zich op. De S88-norm bevat naast het besturingsmodel ook een fysiek model, zodat de procesapparatuur opgesplitst kan worden in ona ankelijk van elkaar func onerende componenten. Op deze manier kunnen fabrieken ontworpen worden waarin zowel de procesbesturing als de procesapparatuur flexibel zijn en ona ankelijk van elkaar kunnen ontworpen worden. De filosofie achter de norm is om verschillende producten te kunnen maken zonder de installa e opnieuw te moeten programmeren.
2.2 Modellen en terminologie 2.2.1 Benodigdheden om een batch te creëren Om een batch te creëren dienen de volgende zaken op voorhand bepaald te worden: • Hoe wordt het product gemaakt (Process considera on) • Welke middelen zijn nodig om het product te maken (Equipment considera on)
5
De manier om deze te bepalen wordt vastgelegd in een model (zie figuur 2.3).
Figuur 2.3: Model voor batchbenodigdheden
Het recept beschrij hoe het product gemaakt wordt, terwijl het path de volgorde van de apparatuur vastlegt, die gebruikt wordt om een planning op te stellen. In een batchrapport wordt de informa e bijgehouden omtrent de planning, gebruikte hoeveelheden, eventuele problemen,... .
2.2.2 Recepten Een recept omschrij de manier waarop een product gemaakt wordt. Hierin staan de volumes van de grondstoffen die nodig zijn voor het product te maken en worden de stappen vermeld die na elkaar genomen moeten worden zoals ingrediënten toevoegen, mengen, verwarmen,... . Hierbij worden parameter meegegeven zoals wenstemperatuur, wenshoeveelheid,... . Een recept voor het maken van een batch is het best te vergelijken met een recept in een kookboek. Hierin staat ook vermeld welke ingrediënten en welke handelingen nodig zijn. Aangezien niet iedereen in een organisa e in detail hoe te weten hoe een product gemaakt wordt, zijn er vier verschillende recepten gedefinieerd in de S88-norm, elk met een bepaald niveau van details (zie figuur 2.4).
6
Figuur 2.4: Recipe model
General recipe Het eerste soort recept wordt general recipe genoemd. Dit is een zeer algemeen recept dat equipment-ona ankelijk is en gelijk is voor verschillende fabrieken van een onderneming. Het recept wordt gebruikt om investeringsbeslissingen op lange termijn te nemen en om op lange termijn te kunnen plannen. Het voordeel van dit recept kan afgeleid worden uit figuur 2.5. Hierbij is te zien dat ona ankelijk van de plaats en beschikbare transportmogelijkheden één recept kan gebruikt worden die voor alle ves gingen gelijk is.
Figuur 2.5: Voordelen van een general recipe
7
Site recipe Het site recipe is in grote lijnen hetzelfde als het general recipe, dat uitgebreid is met enkele site-specifieke aanvullingen zoals plaatselijke wetgevingen of milieumaatregelen. Het spreekt voor zich dat een fabriek in China aan andere voorwaarden moet voldoen dan een fabriek in België. Op basis van dit recept worden site-specifieke planningen opgesteld en investeringsbeslissingen genomen. Dit recept is nog steeds equipment-ona ankelijk. Master recipe Het master recipe bevat de specifica es die nodig zijn om een product op één bepaalde produc elijn (process cell) te maken. Hierbij wordt vertrokken van het site recipe, waarbij er een aantal zaken veranderd worden aangezien dit soort recept wel equipment-a ankelijk is. Dit recept wordt gebruikt om een batch schedule op te stellen. Control recipe Het control recipe wordt doorlopen door één specifieke batch. Dit recept start als een kopie van het master recipe, waaraan er kleine veranderingen kunnen aangebracht worden naargelang de batch vordert door het systeem. Deze veranderingen kunnen door de operator worden uitgevoerd wanneer hij merkt dat er iets moet wijzigen jdens de uitvoering van de batch. Ieder recept wordt opgebouwd uit volgende elementen (zie figuur 2.6): • Header • Equipment requirements • Formula • Procedure • Other informa on
Figuur 2.6: Opbouw recept
Header De header van een recept bevat administra eve informa e zoals recept-en produc den fica e, de maker van het recept, versie, samenva ng,...
8
Equipment requirements Equipment requirements bepalen de eigenschappen die het equipment nodig hee om het recept te maken. Dit kan zowel over het type machine gaan als over het soort materiaal waaruit deze dienen vervaardigd te zijn. Formula De formula bevat parameters die gebruikt worden door de procedure. Op deze manier kan een onderscheid gemaakt worden tussen verschillende producten met dezelfde procedures. Er kunnen gemakkelijk varianten gemaakt worden van éénzelfde product. Een formule bestaat uit process inputs, process outputs en process parameters. Procedure De procedure legt de te volgen strategie vast om een product te maken en de sequen es van de procesac viteiten. Other informa on Other informa on bevat alle info die niet ondergebracht kan worden in bovenstaande onderdelen, zoals gelijkvormigheidsa esten en recepta ankelijke veiligheidsinforma e. De modellen van de recepten zijn gebaseerd het process model en het procedural control model, dat een afleiding is van het process model. Het general recipe en het site recipe maken gebruik van het proces model (zie figuur 2.7) en het master recipe en control recipe maken gebruik van het procedural control model (zie figuur 2.8). Het verschil tussen deze twee modellen is dat het process model geen informa e verscha over de fysieke installa e, details van het proces,... . Het gee alleen informa e over de procestechnologie.
Figuur 2.7: General en site recipe volgen het process model
9
Figuur 2.8: Master en control recipe volgen het procedural control model
Een recipe procedure bestaat uit een aantal unit procedures, die op hun beurt uit een geordende set van enkele opera es bestaan. De grens van een opera e ligt meestal daar waar het produc eproces veilig gestopt of gepauzeerd kan worden. Die opera es bestaan op hun beurt uit een geordende set van fases (phases). Een fase is het kleinst aanstuurbare deel van een batchproces en doet al het werk. De bovenliggende niveaus dienen eerder om fases te groeperen en te controleren. Tijdens een proces kunnen er meerdere fases ac ef zijn op hetzelfde moment. Figuur 2.9 toont de onderverdeling aan aan de hand van een simpel voorbeeld:
Figuur 2.9: Onderscheid tussen procedures, opera es en fases
10
2.2.3 Equipment Voor equipment spitst de S88-norm zich vooral toe op de vier onderste laten van het het fysieke model.
Figuur 2.10: Fysieke model
Een process cell bevat alle equipment voor de produc e van een batch. Dit is typisch een produc elijn, maar kan opgedeeld worden in verschillende lijnen zoals een batchproduc elijn en een verpakkingslijn. De volgorde van gebruik van equipment door één batch wordt een path (of stream) genoemd. Er kunnen één of meerdere paths aanwezig zijn in een process cell. De paths kunnen onderverdeeld worden in drie soorten (zie figuur 2.11): • Single path • Mul ple path • Networked path
11
Figuur 2.11: Enkele verschillende paths binnen een process cell
Hoe is een process cell nu precies opgebouwd? Een process cell bestaat uit verschillende units. Een unit is een duidelijk aflijnbare stuk van een installa e, zoals een reactor of een mengvat. Een unit kan maar één batch tegelijk verwerken, maar hoe deze verwerking niet volledig voor zijn rekening te nemen. Er kunnen meerdere units samenwerken aan één batch. Een unit bestaat op zijn beurt uit equipment modules en control modules. Deze kunnen vast of jdelijk verbonden zijn aan een unit of kunnen losstaan van gelijk welke unit. Een equipment module bestaat uit andere equipment modules of uit één of meerdere control modules en kan procesac es uitvoeren zoals het toevoegen van ingrediënten, opwarmen,... . Een control module kan geen procesac es uitvoeren en staat als enige module rechtstreeks in verbinding met de installa es via sensoren en actoren. Een control module kan op zijn beurt ook andere control modules beva en. Enkele voorbeelden van control modules zijn een klep, motor, temperatuursensor,... . In control modules wordt vooral basic control toegepast zoals regelingen, interlocking en status monitoring. Daarnaast bestaan er ook nog procedural control en coordina on control. Procedural control is de controle over het batchproces zelf en is gebaseerd op het procedural control model. Coordina on control coördineert het gebruik van equipment en es. Dit wil zeggen dat wanneer verschillende batches hetzelfde equipment willen gebruiken, er een arbitrage nodig is om te beslissen welke batch dit equipment mag gebruiken. Deze arbitrage kan gebeuren op basis van het first-come first-serve principe, maar ook op basis van een reserveringssysteem, prioriteitensysteem of rule-based systeem. Zo kan het voorkomen dat een reeds gestarte batch onderbroken wordt door een andere batch (pre-emp on).
12
Het kan ook dat een batch kan kiezen tussen verschillende units. De equipment kan op verschillende manieren toegewezen worden: • Langst niet gebruikt (longest out of use) • Operator beslist op het moment zelf (operator choise) • De meest geschikte unit (bijvoorbeeld op basis van tankinhoud) • Op voorhand vastgelegd Er bestaan ook shared resources die door verschillende units (of equipment modules) kunnen gebruikt worden. Dit zijn bijvoorbeeld verwarmingseenheden of de toevoer van grondstoffen. Hierbij dient rekening gehouden te worden met een mogelijke capaciteitsbeperking.
Figuur 2.12: Opbouw process cell
Bij basic control dient opgemerkt te worden dat een control recipe procedure interac ef is en er feedforward en feedback mogelijk is (zie figuur 2.13). Een recipe phase gee enkel opdracht aan de equipment phase om de taak te laten uitvoeren. Deze func e gaat de equipment phase aansturen via het process management en de unit supervision, die in de batch engine draaien. Enkel de equipment phase weet wanneer een fase voltooid is, waarop een melding gegeven wordt aan de control recipe procedure zodat naar de volgende fase mag gegaan worden.
13
Figuur 2.13: Interac viteit tussen recipe phase en equipment phase
2.2.4 State model Volgens de S88-norm beschikt een equipment en teit of een procedural element op ieder moment een exact aan te duiden status of state. Deze verschillende statussen en hun onderlinge verband wordt weergegeven in het algemeen state model. Dit state model is opnieuw een richtlijn hoe een fabrikant deze kan implementeren. Er zijn twee soorten statussen te onderscheiden: • Transient state • Final state of quiescent state Transient state Een transient state is een overgangsstatus. Het hee aan dat er naar een vaste status wordt overgegaan. Transient states worden gekenmerkt door de suffix '-ing', zoals: running, holding, stopping, abor ng,... Quiescent state Een quiescent state is een status die een veilige pauze in het proces brengt, meestal met de bedoeling om later het proces te herva en waar het onderbroken werd. Enkele voorbeelden zijn: stopped, held, aborted, idle,... . Figuur 2.14 hee het algemene state model weer. De pijlen geven de mogelijke ac es weer die tussen statussen kunnen uitgevoerd worden. Een voorbeeld van een mogelijke sequen e is: vanuit idle wordt een startcommando gegeven, waardoor de status van de fase naar running verandert. Wanneer de fase klaar is, wordt naar de complete status overgegaan waarna een reset nodig is om de fase terug naar de status idle te krijgen.
14
Figuur 2.14: Het algemeen state model
2.3 Voordelen en nadelen De voordelen van de S88-norm zijn: • Gemakkelijker procesontwikkeling en implementa e • Snellere en goedkopere omschakel jd • Eenvoudiger equipment vervangen • Kortere cyclus jden van een batch • Minder down me • Efficiënter gebruik van grondstoffen • Efficiënter gebruik van de installa e • Beter beschikbaarheid van data • ... De nadeel aan het gebruik van de S88-norm is dat bij de eerste ingebruikname nog een bibliotheek van modules dient aangemaakt te worden, wat een jdsintensief werk is. Wanneer deze bibliotheek voor handen is, zijn er alleen nog maar voordelen aan het gebruik van een batchpakket die volgens de S88-norm is opgesteld.
15
3
Componenten van Sima c Batch
3.1 Inleiding Sima c Batch is een so warepakket uitgebracht door Siemens dat in grote lijnen de S88-norm volgt. Sima c Batch is aan te kopen als een uitbreiding op het PCS7-pakket (Process Control System) van Siemens. Dit betekent dat Sima c Batch enkel met een S7-400 PLC kan werken omdat dit de enige PLC-reeks is die overweg kan met PCS7. Naast PCS7 maakt Sima c Batch ook gebruik van Sima c Logon en WinCC. Het pakket voegt nog twee extra zaken op de PC toe, namelijk de Batch server so ware en Batch Control Center (BCC). Figuur 3.1 gee weer hoe een batchproject wordt aangemaakt. Van de installa e wordt het fysische model in PCS7 ingegeven en de nodige data gedownload naar de PLC en naar Sima c Batch, waar dan het procedural model ingevuld wordt. Figuur 3.2 toont hoe een opstelling van servers en clients kan gebeuren.
Figuur 3.1: Overzicht van een Batch project
Figuur 3.2: Mogelijke opstelling van Sima c Batch
16
Zoals reeds vermeld maakt Sima c Batch gebruik van de S88-norm. Dit betekent dat er een state model gebruikt wordt dat afgeleid is van deze standaard (zie figuur 3.3). De grootste verschillen met het algemene model is dat er vanuit elke toestand een abort en stop commando kan gegeven worden en dat het pauze commando niet geïmplementeerd is. Dit laatste wordt immers als een hold commando geïnterpreteerd.
Figuur 3.3: State model van Sima c Batch
Om Sima c Batch onder de knie te krijgen wordt gebruik gemaakt van een powerpointsessie van Siemens waarin alle aspecten van het programma aan bod komen [6].
3.2 Sima c Logon 3.2.1 Inleiding Sima c Logon is een op oneel pakket dat bij STEP7 of PCS7 kan aangekocht worden. Bij Sima c Batch wordt dit er standaard bijgevoegd omdat er gewerkt wordt met toegangs-privileges. Sima c Logon zal bepalen wie er toegang hee tot het project en welke func es de gebruiker kan gebruiken binnen de applica e. Sima c Logon werkt samen met Windows Security (zie figuur 3.4) waarbij de gebruikers die gedefinieerd zijn binnen Windows Security ook gebruikt worden voor Sima c Logon. Eenmaal de gebruikersgroepen en gebruikers gedefinieerd zijn binnen Windows Security kunnen deze voor de toekoms ge projecten ook gebruikt worden.
17
Figuur 3.4: Link tussen Sima c Logon en Windows Security
3.2.2 Instellingen Windows Security Binnen Windows Security worden de gebruikersgroepen en gebruikers gedefinieerd. Deze instellingen hoeven niet op dezelfde computer te gebeuren als waarop de applica es zullen draaien omdat er via Sima c Logon ook een link naar externe computers gelegd kan worden. Er zijn een aantal standaardgroepen voorgedefinieerd die zeker aanwezig moeten zijn: • Logon_ Administrator • Extended_ Logon_ Administrator • Super User De belangrijkste gebruikersgroep is Super User. De gebruikers binnen deze groep hebben de rechten voor alle func es van de Sima c applica es. Naast de standaardgroepen kan de gebruiker zelf gebruikersgroepen aanmaken, bijvoorbeeld de groep Operators. Bij het aanmaken van gebruikers kan gekozen worden om het wachtwoord op bepaalde jds ppen te laten verlopen, om zo een verhoogde beveiliging te verkrijgen.
18
Figuur 3.5: Gebruikersgroepen binnen Windows Security
3.2.3 Instellingen Sima c Logon Bij het opstarten van de Sima c Logon Configurator dient de gebruiker zich aan te melden. Hiervoor moet de gebruiker gedefinieerd zijn binnen minstens één van de drie standaardgroepen. Het inlogvenster dat tevoorschijn komt, is hetzelfde als dat bij WinCC en BCC.
Figuur 3.6: Sima c Logon inlogvenster
Als de gebruiker herkent wordt, kunnen een reeks instellingen gedaan worden: • Instellen van de taal • Selecteren van de server waar de inloggegevens op staan • Methode van inloggen: via toetsenbord, smart card reader, ... • Automa sch uitloggen • Diagnose op es
19
3.3 PCS7 3.3.1 Inleiding PCS7 is het DCS-pakket van Siemens. Het wordt gebruikt om grote processen op een eenvoudige manier te kunnen implementeren door gebruik te maken van herbruikbare so wareblokken. Op deze manier wordt jd bespaard tegenover het ontwikkelen van eenzelfde proces in STEP7. PCS7 maakt net zoals STEP7 gebruik van de Sima c Manager so ware met als verschil dat er een extra viewmode beschikbaar is naast de standaard component view, namelijk de plant view (zie figuur 3.7). Hierin kan de hiërarchische structuur van de installa e worden ingevuld. Binnen PCS7 dient er zelf geen code geschreven te worden, tenzij het om een nieuwe so wareblok gaat die nog niet in de bibliotheek is opgenomen.
Figuur 3.7: View modes PCS7
De opbouw van het proces gebeurt binnen drie types van charts: • Con nuous Func on Chart (CFC) • Sequen al Func on Chart (SFC) • SFC-type
3.3.2 CFC Een CFC is een manier om func es en func eblokken grafisch te linken aan andere func es of func eblokken of aan hardware in- of uitgangen (figuur 3.8). Binnen de PCS7-bibliotheek zijn er reeds een aantal veelgebruikte func eblokken beschikbaar zoals motorsturingen, klepsturingen,... . Ook basisfunc es zoals AND- en OR-blokken zijn hierin opgenomen. Indien een func e(blok) niet voorhanden is, kan deze via Structured Control Language (SCL)-code zelf aangemaakt worden of op dezelfde manier zoals een func e(blok) wordt aangemaakt via STEP7. Door deze func e(blok) in een bibliotheek te plaatsen, kan ze in andere projecten gemakkelijk hergebruikt worden.
20
Figuur 3.8: Voorbeeld van de grafische weergave binnen een CFC
Voor een overzichtelijke weergave van de func eblokken, bestaat de mogelijkheid om in- en uitgangen te verbergen (figuur 3.9) . Op deze manier worden enkel de noodzakelijke aansluitpunten weergegeven. Daarnaast kunnen de gewenste I/O opgevolgd worden door de op e watched aan te vinken. Bij het online monitoren van de func eblok worden de actuele waarden getoond van deze aansluitpunten.
Figuur 3.9: I/O-instellingen van een func eblok binnen CFC
Door de CFC-charts te compileren worden automa sch de benodigde Organisa on Block (OB)'s, Func on Block (FB)'s, Func on (FC)'s en Data Block (DB)'s gegenereerd. Deze blokken dienen uiteindelijk naar de PLC gedownload te worden.
3.3.3 SFC Een SFC is een chart waarin een aantal stappen doorlopen worden en is vergelijkbaar met GRAPH7 uit STEP7. De chart bestaat uit twee delen: stappen en afvragingen (zie figuur 3.10). Een stap manipuleert ingangen en/of uitgangen van een CFC en een afvraging zorgt ervoor dat er niet naar de volgende stap wordt gegaan zolang de voorwaarden niet voldaan zijn. Bij de stappen kunnen ook merkers en databasevariabelen aangesproken worden.
21
Figuur 3.10: Voorbeeld van een SFC
Een SFC start ook met afvragingen, de startvoorwaarden genoemd. Deze staan standaard ingesteld op de start van de SFC, omdat dit het meest gebruikt wordt (zie figuur 3.11). Dit wil zegggen dat van zodra de SFC in status 'run' komt te staan, de eerste stap van de SFC doorlopen wordt. Binnen een SFC kunnen meerdere stappenlijsten opgenomen worden onder verschillende tabs. Iedere tab hee zijn eigen startvoorwaarden.
Figuur 3.11: Startvoorwaarden van een SFC
Een SFC hee een paar eigenschappen (Figuur 3.12), waarvan de belangrijkste de volgende zijn zijn: • Cyclic opera on: wanneer deze eigenschap geselecteerd is, reset de SFC zichzelf op het eind zodat hij opnieuw kan starten. Het zorgt ervoor dat de SFC cyclisch kan doorlopen worden. • Opera on Mode: hierin kan gekozen worden om de SFC automa sch te laten starten, stoppen,... of om dit manueel te doen. • Autostart: wanneer deze eigenschap geselecteerd is, start de SFC zichzelf automa sch.
22
Figuur 3.12: Eigenschappen van een SFC
Deze charts worden gedownload naar en uitgevoerd door een (PCS7-)server. De PLC zal informa e uitwisselen met de server om zo uitgangen te manipuleren en waarden van ingangen af te vragen. Dit is de reden waarom het een paar seconden duurt vooraleer een stap effec ef uitgevoerd wordt. Bij iedere stap en afvraging is er communica e nodig tussen de PLC en server en neemt behoorlijk wat jd in beslag.
3.3.4 SFC-type Een SFC-type is een SFC die als een func eblok gebruikt kan worden binnen een CFC (Figuur 3.13). Binnen deze func eblok zit dus een stappenstructuur. Een SFC-type kan herkend worden binnen een CFC door enkele typische in- en uitgangen zoals star ng, running, holding, abor ng,... . Hierbij wordt opgemerkt dat deze in- en uitgangen ook voorkomen in het state model van Sima c Batch. Een SFC-type is een chart dat enkel voor Batch gebruikt kan worden en voorziet de link met de Batch server via deze typische in- en uitgangen. Voor iedere fase en opera e van een batchproces dient een SFC-type gebruikt te worden. In de eigenschappen van het SFC-type wordt bepaald of het voor een fase of opera e is (zie figuur 3.14). Eén SFC-type kan niet voor meerdere fases hergebruikt worden binnen één unit, maar wel over verschillende fases van verschillende units.
23
Figuur 3.13: SFC-type binnen CFC (1) en als SFC (2)
Figuur 3.14: Doel van SFC-type bepalen
Binnen een SFC-type kunnen verschillende parameters ingevuld worden zoals control strategies, setpoints, block contacts,... . De mogelijke parameters zijn in weergegeven in figuur 3.15.
24
Figuur 3.15: Eigenschappen binnen een SFC-type
De belangrijkste parameters worden hieronder kort toegelicht. Setpoints Hierin worden parameters aangemaakt die gebruikt worden binnen Sima c Batch. Hiermee kunnen bijvoorbeeld wenswaarden doorgestuurd worden vanuit BCC. Control strategies Door gebruik te maken van control strategies wordt ervoor gezorgd dat bijvoorbeeld een bepaald tabblad van de SFC-type start. Control strategies worden gedefinieerd aan de hand van een reeks setpoints. Een simpel voorbeeld waarbij het handig kan zijn om met control strategies te werken staat in figuur 3.16 weergegeven. Wanneer het product door de droger moet, dient een ander SFC-tabblad doorlopen te worden dan wanneer het product niet door de droger moet. In deze tabbladen dienen andere kleppen aangesproken te worden en dit kan simpel gerealiseerd worden door met control strategies het juiste tabblad te starten aan de hand van een setpoint.
Figuur 3.16: Voorbeeld voor gebruik van control strategies
Process values Hierin komen de parameters die van het proces a oms g zijn, bijvoorbeeld het actuele volume aan materiaal in een tank.
25
Control values Control values worden gebruikt om externe logica te besturen door gebruik te maken van het SFC-type. Note text en Posi on texts Dit zijn waarden die binnen een WinCC-faceplate kunnen weergegeven worden om de operator op de hoogte te houden van bepaalde eigenschappen. Block contacts Met block contacts wordt gedefinieerd aan welk type blok de SFC-type zal gekoppeld worden binnen een CFC. Hierbij worden automa sch de juiste in- en uitgangen gegenereerd. Wanneer er dan een in- of uitgang gekoppeld wordt met een blok van het juiste type, zullen de andere aangemaakte in- en uitgangen automa sch verbonden worden met deze blok. De aangemaakte in- en uitgangen kunnen hierbij gemakkelijk benaderd worden in de SFCtype bij het aanmaken van stappen. Binnen PCS7 bestaan er ook blokken die het gebruik van een SFC-type vervangen. Hierbij zijn er twee func eblokken die de communica e met Batch maken, namelijk de IEPH en IEOP. Aan deze func eblokken kunnen verschillende parameterblokken gekoppeld worden via de eigenschap EPE_ CONN. (zie figuur 3.17), waardoor deze parameters door de Batch server ingevuld kunnen worden. De werkelijke status van de fase dient via de ingang USTAT_ L meegegeven te worden volgens waarden die in de helpfunc e terug te vinden zijn. Indien dit niet correct gebeurt, zal het recept constant fouten genereren bij het uitvoeren.
Figuur 3.17: Gebruik van de IEPH-func eblok
3.3.5 Compileren en downloaden naar Sima c Batch server Om het project naar de Batch server te downloaden, dient eerst aan de hand van een paar stappen de process cell binnen PCS7 gecompileerd te worden. Hierbij worden de nodige Batch types en Batch instances ingelezen en wordt gecontroleerd op inconsisten es ten opzichte van de S88-norm. Wanneer dit in orde is, kan het project naar de Batch server en Batch database server gedownload worden.
26
3.4 WinCC 3.4.1 Inleiding WinCC is het Supervisory Control And Data Acquisi on (SCADA)-systeem van Siemens. Met dit so warepakket is het mogelijk om processen over verschillende vensters te visualiseren en aan te sturen via een Human Machine Interface (HMI). Het visualiseren van wijzigingen in een proces gebeurt aan de hand van tags, die een geheugenplaats in de PLC voorstellen of een interne waarde in het WinCC-project. Tags worden gebruikt om reële waarden voor te stellen, bijvoorbeeld het volume van een tank, of interne waarden die berekend of gesimuleerd worden binnen WinCC. Door gebruik te maken van C-scripts of VB-scripts kunnen controls dynamisch gemaakt worden. Dit betekent dat elementen van het venster veranderen als een bepaald event getriggerd wordt. Daarnaast maakt WinCC gebruik van Microso SQL Server voor het loggen van gegevens.
Figuur 3.18: Voorbeeld van een WinCC project
Binnen WinCC explorer zijn een tal van func es aanwezig om het WinCC project aan te passen naar de wensen van de klant. Enkele van de belangrijkste zijn: • Tag management: Hierin wordt vastgelegd welke tags er over welk medium moeten uitgelezen worden. Hier wordt bijvoorbeeld ingesteld dat tags over TCP/IP uit de PLC dienen gelezen te worden. • Graphic Designer: Hiermee kunnen nieuwe WinCC beelden aangemaakt worden en kunnen bestaande beelden aangepast worden. • Picture Tree Manager: Hierin kan de structuur van het WinCC project aangepast worden. • User Administrator: Hiermee wordt bepaald wat de mogelijkheden van de verschillende gebruikers zijn binnen de applica e. • ...
27
3.4.2 WinCC en PCS7 Een van de voordelen van PCS7 is dat er automa sch een WinCC-project gegenereerd kan worden. Dit gebeurt door pictures aan te maken in Sima c Manager. Per folder in plant view kan een picture worden aangemaakt die na het compileren van het Opera ng System (OS) als een venster binnen WinCC wordt weergegeven. Alle elementen die in dezelfde folder staan, en waar er een symbool voor handen is binnen WinCC, worden in dit venster weergegeven zoals motoren, kleppen,... .
Figuur 3.19: Typisch gegenereerde WinCC bij een PCS7-project
3.4.3 WinCC en Sima c Batch Om Sima c Batch te implementeren moet minstens één WinCC-client in de opstelling worden opgenomen. De data-uitwisseling tussen Sima c Batch en PCS7 gebeurt namelijk via de WinCC database. Hoe dit precies gebeurt, wordt in het volgend hoofdstuk uitgelegd. Binnen WinCC zijn er ook enkele func es voorzien voor Batch. Zo is het o.a. mogelijk om het BCC te openen via WinCC. Binnen de nieuwe versie van Sima c Batch zijn nieuwe controls bijgeleverd die in WinCC kunnen gebruikt worden om de Batch server te besturen en te monitoren. Deze worden verder uitvoerig besproken.
3.5 Batch server De Batch server beheert de data over de batchprocessen, zoals de statussen van de fasen, recepten,... . Deze kan op dezelfde computer werken als waarop de overige componenten werkzaam zijn (WinCC, PCS7,...) of kan een stand-alone server zijn. Daarnaast kan er ook een redundante Batch server aanwezig zijn in de opstelling (zie figuur 3.20).
28
Figuur 3.20: Redundante Batch server
Op de Batch server staat so ware geïnstalleerd die de gegevens beheert. Deze wordt op de taakbalk weergegeven als drie iconen. Twee iconen zijn programma's die de status van de server weergeven. Het derde icoon is om de manier van opstarten te configureren en wordt de Batch Launch Coordinator genoemd. Er zijn drie verschillende manieren mogelijk (zie figuur 3.21): • Start Sima c Batch automa sch nadat WinCC gestart is • Start Sima c Batch automa sch, ona ankelijk van WinCC • Start Sima c Batch manueel
Figuur 3.21: Taakbalk iconen Sima c Batch en instellen opstart Sima c Batch
Om recepten te kunnen uitvoeren, dient al jd de WinCC applica e ac ef te zijn en moet een connec e naar de PLC aanwezig zijn.
3.6 Batch Control Center 3.6.1 Inleiding BCC is een so warepakket dat dient om o.a. recepten en orders te beheren op de Batch server. Binnen BCC wordt de process cell ingeladen die in het PCS7-project gecompileerd is (zie 3.3.5). Dit kan enkel als de gebruiker voldoende rechten hee . Het inloggen van de gebruikers gebeurt via Sima c Logon. Wanneer de process cell correct is ingeladen, kunnen materialen, recepten, formules en orders worden aangemaakt. Deze elementen worden verder kort uitgelegd. Indien de ingeladen process cell afwijkt van de gecompileerde process cell in PCS7, wordt een waarschuwing weergegeven en dient deze opnieuw ingeladen te worden.
29
Figuur 3.22: Batch Control Center
3.6.2 Materialen Bij materialen worden alle grondstoffen ingevuld die gebruikt worden. Daarnaast worden ook alle tussenproducten en eindproducten gedefinieerd. Ieder materiaalsoort bestaat uit een naam, code en gebruikscode. Deze gebruikscode gee aan of het om inputmateriaal en/of outputmateriaal gaat. Daarnaast kan ook nog een kwaliteitscode aan het materiaal worden meegegeven.
3.6.3 Recepten Binnen Master recipes worden de gebruikte recepten gedefinieerd. Recepten geven stap voor stap weer welke aces er uitgevoerd dienen te worden en sturen fases aan binnen de PLC. Binnen recepten kunnen setpoint waarden en parameters meegegeven worden voor de PCS7 server. Een recept dient ook header parameters te beva en, zoals in de S88-norm vermeld staat. Hierin staat o.a. voor welke hoeveelheid het recept is gemaakt, welke ingrediënten er nodig zijn, de gewenste units,... Recepten kunnen op basis van twee soorten worden opgesteld namelijk, flat recipe of hierarchical recipe.
3.6.4 Formules Formules zijn ook recepten, maar waarin er gegevens variabel gemaakt zijn. Dit is handig wanneer er meerdere producten geproduceerd worden waarvan de werkwijze hetzelfde is, maar waarbij de verhoudingen van de materialen anders zijn, bijvoorbeeld light versies.
3.6.5 Orders Binnen deze sec e kunnen op basis van de binnengekomen orders, batches worden ingepland. Hierbij dient de hoeveelheid van de batches worden meegegeven en welk recept er moet gevolgd worden. Ook wordt het jds p meegegeven waarop de batch moet starten, maar het is ook mogelijk om via het BCC de batches manueel te starten. Eenmaal een batchorder gevalideerd is, kan het niet meer gewijzigd worden. Het is ook mogelijk om batches aan elkaar te linken, chaining genaamd. Dit zorgt ervoor dat een batch pas kan starten nadat een vorige batch, die in de ke ng is opgenomen, is afgelopen. Dit is handig wanneer meerdere batches dezelfde equipment gebruiken en om prioriteit aan batches toe te kennen.
30
4 Onderzoek AS-based Batch en nieuwe OS-controls voor Batch binnen WinCC 4.1 Inleiding Het proces dat in het volgend hoofdstuk beschreven staat, is gebruikt om het onderzoek rond AS-base Batch en de OS controls binnen WinCC op uit te voeren. Het beschrij een batchproces om verschillende soorten ketchup te maken en is gebaseerd op een voorbeeldproject dat door Actemium ter beschikking werd gesteld. Dit project is een duidelijk batchproces daar er een grote hoeveelheid ketchup aangemaakt wordt die over kleinere hoeveelheden zal verpakt worden. Dit project dient aangepast te worden naar de bedrijfsregels van Actemium zodat de opbouw van de fases op eenvoudigere manier kan gebeuren. Om AS-based Batch te kunnen implementeren en de nieuwe OS-controls voor Batch binnen WinCC te kunnen gebruiken, dient gebruik gemaakt te worden van PCS7 V7.1 SP3 met Batch V7.1 SP2. Alle informa e over het implementeren van deze twee nieuwe func es is ook terug te vinden in de gebruikershandleiding van Sima c Batch V7.1 SP2. [7].
4.2 Opbouw proces 4.2.1 Fysisch proces Figuur 4.1 toont de fysische elementen waaruit het proces is opgebouwd. Er zijn vijf voorraadtanks aanwezig met de volgende ingrediënten: • Tomatensaus • Tomatenstukken • Vinaigre e • Water • Speciale kruiden Daarnaast zijn er twee mixers, twee reactoren, een stoominstalla e en een verpakkingslijn aanwezig.
31
Figuur 4.1: Overzicht toegepaste proces
Als er een batch geproduceerd moet worden, moet een mixer en een reactor toegewezen worden aan de batch. De manieren waarop dit kan gebeuren wordt verder in dit hoofdstuk beschreven. Als bijvoorbeeld mixer A aan de batch wordt toegewezen, moeten de A-kleppen tussen de voorraadtanks en de mixer A worden geopend. Voor mixer B zijn dit dan de B-kleppen. Iedere mixer bevat ook een roer-element dat ervoor zorgt dat de verschillende ingrediënten vermengd worden. Eenmaal het product in de mixer klaar is, kan het product naar de toegewezen reactor worden geleid en kunnen ook extra kruiden aan het product worden toegevoegd. Ook hier geldt dat als het product naar reactor A moet, dat de nodige A-kleppen bediend moeten worden. Voor de reactor B zijn dit de B-kleppen. De reactors beva en een mengelement om de kruiden en het product uit één van de mixers te vermengen. Ook beva en deze een warmte-element dat gevoed wordt met stoom. Als het product in reactor A moet verwarmt worden, dan wordt de A-klep aangesproken die zich tussen de stoominstalla e en de reactor bevindt. Hetzelfde geldt voor reactor B, waar de B-klep nodig is. Het product kan ook a oelen in de reactors. Hiervoor wordt geen stoom toegevoerd, maar blij het product rusten binnen de reactors. Als de gewenste temperatuur bereikt is, kan het product worden doorstuurt naar de verpakkingslijn. Het vervolg van dit hoofdstuk beschrij de verschillende onderdelen van Sima c Batch om het proces werkend te krijgen.
4.2.2 Sima c PCS7 Om alle stappen in het proces, om een batchproject op te stellen, onder de knie te krijgen en de aanpassingen aan het voorbeeldproject uit te voeren, wordt gestart vanuit een leeg project.
32
Er wordt gestart met de hardware te configureren. Deze bestaat uit twee delen: • AS-hardwareconfigura e • OS-hardwareconfigura e De AS-hardwareconfigura e is de configura e van de PLC. Aangezien dit project gebeurt op PLCSim, de simula e PLC van Siemens, mogen de componenten van de PLC willekeurig gekozen worden. De PLC dient van de S7-400 reeks te zijn zoals eerder vermeld. De gekozen configura e bestaat uit volgende elementen (figuur 4.2): • Power supply : PS 405 10A • CPU 417-4 • Ethernet/Profinet communica ekaart: CP 443-1.
Figuur 4.2: Gebruikte AS-hardwareconfigura e voor PLCSim
Bij de instelling van de CP-kaart dient het IP-adres van de PLC meegegeven te worden. Deze wordt ingesteld op 192.168.0.12. Daarnaast wordt een subnet aangemaakt waarop de PLC verbonden is (figuur 4.3).
Figuur 4.3: Instellingen voor Ethernet-communica e van de CP-kaart
Bij de instellingen van de CPU moeten ook enkele aanpassingen gedaan worden opdat de PLC kan werken met PCS7. Het gaat over het toewijzen van geheugen aan prioriteitsklassen. Om te weten welke prioriteitsklassen er aangepast dienen te worden, moet het programma, in later stadium van het proces, gedownload worden. Hierbij zullen waarschuwingen of fouten gegenereerd worden omtrent een tekort aan geheugen van bepaalde prioriteitsklassen. Door de aangehaalde klassen te wijzigen naar de groo e die in de waarschuwingen en fouten staan weergegeven, kan de PLC het programma uitvoeren. Indien deze prioriteitsklassen standaard blijven staan, zal de CPU een system failure (SF) geven. In figuur 4.4 staan de geheugengroo es van de prioriteitsklassen voor dit project weergegeven. Hierbij zijn onder andere prioriteitsklassen 12, 24 en 27 aangepast.
33
Figuur 4.4: Instellen van het geheugen voor prioriteitsklassen
Nadat deze instellingen gebeurd zijn, kan de hardwareconfigura e gesaved, gecompileerd en naar PLCSim gedownload worden. Hierbij dient eerst de PG/PC-interface van Sima c manager juist ingesteld te worden op PLCSIM(TCP/IP)(zie figuur 4.5). Ook binnen PLCSim dient nog ingesteld te worden dat de communica e over TCP/IP gebeurd (zie figuur 4.6). Bij opstart van een nieuwe PLCSim hee deze standaard het IP-adres 192.168.0.1. Bij het downloaden naar PLCSim zal het IP-adres automa sch gewijzigd worden naar 192.168.0.12.
Figuur 4.5: Instellen van de PG/PC-interface voor het downloaden naar PLCsim
34
Figuur 4.6: Selecteren van TCP/IP-communica e binnen PLCSim
Voor de OS-configura e dient eerst de Sta on Configurator van de PC ingesteld te worden (Figuur 4.7). Hierbij worden de applica es bepaald die door de PC gebruikt worden. Deze worden op verschillende slots vastgelegd. Voor het gebruik van Sima c Batch worden de volgende applica es vastgelegd: • Slot 1: WinCC • Slot 2: Batch • Slot 3: IE General; gebruik van de Ethernet-kaart. Binnen de Sta on Configurator wordt ook de naam van het sta on meegegeven. Dit dient gekend te zijn omdat het nodig is voor de configura e binnen Sima c manager.
Figuur 4.7: Instellen van de Sta on Configurator
Binnen Sima c manager wordt voor de OS-configura e een PC-sta on toegevoegd. De naam van het PC-sta on dient gewijzigd te worden naar de sta on naam die vastgelegd is in de Sta on Configurator. Bij de hardwarecon-
35
figura e van het OS dienen de applica es dezelfde te zijn als deze binnen de Sta on Configurator en dienen op dezelfde slots te staan (zie figuur 4.8).
Figuur 4.8: Hardwareconfigura e van de OS
De hardwareconfigura e dient vervolgens gedownload te worden. Hiervoor dient de PG/PC-interface op PC Internal of TCP/IP ingesteld te worden. Wanneer de download correct is uitgevoerd en er connec e is met het sta on, wordt een gele pijl weergegeven bij de OS in de boomstructuur van Sima c manager. Binnen Sta on Configurator wordt aangegeven dat er een connec e is met de applica es (zie figuur 4.9). Nadat dit correct is uitgevoerd, is de hardwareconfigura e voltooid.
Figuur 4.9: Connec e met de applica es van de OS
De volgende stap bestaat erin om de hiërarchie van de process cell vast te leggen. Dit gebeurt door hiërarchiefolders aan te maken in plant view binnen Sima c manager. De hiërarchie ervan is opgebouwd zoals bepaald in de S88-norm. Onder de process cell bevinden zich units, die op zich bestaan uit fasen. Bij de instellingen van deze folders dient gedefinieerd te worden of het om een process cell, unit of fase gaat (zie figuur 4.10). Sima c manager weet automa sch door de structuur van de bovenliggende folders over welk type het gaat. Een fout type kan dus niet gekozen worden. Bij de unit-folders kan gekozen worden of deze vrijgegeven worden voor gebruik binnen Batch.
36
Figuur 4.10: Definiëren van process cell (1), unit (2) of fase (3) in de hiërarchie-folders
Er dient vooraf bepaald te worden wat de units en de fasen zijn van het proces. Deze worden hieronder kort opgesomd en in figuur 4.11 weergeven zoals ze worden voorgesteld in plant view van Sima c manager. De gedefinieerde units zijn: • Mixer A • Mixer B • Reactor A • Reactor B De fasen voor de mixers zijn de volgende: • Toevoegen van het eerste ingrediënt (ADDINGR1) • Toevoegen van het tweede ingrediënt (ADDINGR2) • Toevoegen van het derde ingrediënt (ADDINGR3) • Toevoegen van het vierde ingrediënt (ADDINGR4) • Roeren (AGITATE)
37
Voor de reactors zijn de volgende fasen bepaald: • Toevoegen van extra ingrediënt (ADDINGRX) • Roeren (AGITATE) • Draineren (DRAIN) • Verwarmen/a oelen (HEAT_COOL) • Toevoegen van mengsel uit mixer A (XFER_A) • Toevoegen van mengsel uit mixer B (XFER_B)
Figuur 4.11: Hiërarchie binnen plant view van Sima c Manager
Omdat het later in BCC mogelijk moet zijn om te kiezen tussen beide mixers en reactoren en te kunnen bepalen welke voorrang krijgt, moeten in Sima c manager equipment proper es vastgelegd worden. Dit gebeurt door het aanmaken van een shared declara on folder, waarin een nieuwe enumera on wordt aangemaakt (zie figuur 4.12). De gecreëerde enumera on bevat twee waarden, namelijk mixer en reactor. Bij de units zelf dient een equipment property aangemaakt te worden. De equipment property van mixer A staat weergegeven in figuur 4.13. Hierbij wordt bij waarde 'Mixer' gekozen, zoals gedeclareerd is binnen de enumera on.
Figuur 4.12: Enumera on
38
Figuur 4.13: Equipment property van unit 'mixer A'
Eenmaal de hiërarchie is aangemaakt, kan het programmeren van de fases gebeuren aan de hand van CFC's, SFC's en SFC-types. Actemium hanteert een bepaalde structuur om dit toe te passen (zie figuur 4.14). Per stap die door een fase dient uitgevoerd te worden, wordt een CFC aangemaakt. Hierbij krijgt de CFC de naam van de fase en het stapnummer mee. Dit is een goede manier om snel stappen te kunnen wijzigen en op een eenvoudige manier stappen te kunnen toevoegen. Er is één CFC opgenomen die zorgt voor de communica e tussen Batch en de aansturing van de fasen. Deze krijgt een naam met de suffix CTRL. Daarnaast zijn er twee SFC's opgenomen, één voor de running sequence en één voor de overige statussen van de fase.
Figuur 4.14: Structuur voor het programmeren van fasen
Per fase wordt ook een SFC-type gedefinieerd die de communica e verzorgt met Batch. Het aanmaken van de SFC-types gebeurt binnen component view in de map charts (zie figuur 4.15). Normaal zou het SFC-type voor het toevoegen van het eerste ingrediënt ook gebruikt kunnen worden voor het toevoegen van een tweede ingrediënt, maar het is niet toegelaten om één SFC-type meerdere malen te gebruiken binnen één unit. Daarom dient dit SFCtype gekopieerd te worden onder een andere naam.
39
Figuur 4.15: Loca e van de SFC-types binnen Sima c manager
Bij de instellingen van deze SFC-types dient de opera ng mode op automa sch te staan (figuur 4.16 (1)). Dit zorgt ervoor dat deze automa sch gestart, gestopt, gepauzeerd,... kan worden. Daarnaast dient gedefinieerd te worden dat het om een fase gaat (figuur 4.16 (2)).
Figuur 4.16: Instellingen van de SFC-types
De inhoud van deze SFC-types is voor alle fasen gelijk, op een paar setpoints na. De SFC-types bestaan uit twee tabbladen, één tabblad voor de run sequence en één tabblad voor de overige sequences. Het tabblad 'run' wordt doorlopen wanneer de fase zich in de status run bevindt en het tabblad 'rest' wordt doorlopen wanneer de fase zich niet in de status run of idle bevindt. Figuur 4.17 gee aan hoe het tabblad voor de run sequence is opgebouwd. Deze bestaat uit één afvraging, namelijk of de run sequence voldaan is. Dit is zo wanneer de ingang state gelijk is aan de waarde 70. Deze ingang moet zelf aangemaakt worden onder de charts I/O's. De waarde 70 is een door Actemium vastgelegde waarde die gebruikt wordt om aan te geven dat de fase running afgelopen is. Voor iedere status hebben ze statuswaarden vastgelegd om zo gemakkelijk tussen verschillende projecten te kunnen switchen. Deze statuswaarden worden door de control PLI teruggegeven naar de SFC-types. Wat deze PLI juist inhoudt komt later aan bod. De overige statuswaarden die gebruikt worden zijn: • Idle = 100 • Aborted = 90 • Stopped = 80 • Run completed = 70 • Held = 60
40
• Restart = 50 • Running = 40 • Stopping = 30 • Holding = 20 • Abor ng = 10
Figuur 4.17: Opbouw van de run sequence van de SFC-types
Het tabblad 'rest' bestaat ook enkel uit afvragingen van de ingang state (figuur 4.18). De bovenste afvragingen zijn afvragingen over de status van de fase, de onderste over de ingang state. De status held bijvoorbeeld wordt voorafgegaan door de transiënte status holding. Wanneer de fase in deze status is, zal gewacht worden tot de control PLI de statuswaarde 60 uitstuurt om naar end te gaan. Dit zal zo zijn wanneer alles veilig gestopt is.
41
Figuur 4.18: Opbouw van het tabblad 'rest' binnen de SFC-types
Figuur 4.19: Invulling voor het holdcommando in het tabblad 'rest'
Indien er setpoints en proceswaarden nodig zijn voor de fase, kunnen deze hier ook ingevuld worden. Bijvoorbeeld voor het toevoegen van een ingrediënt is een setpoint nodig om te weten hoeveel van het ingrediënt er nodig is (quan ty) en een proceswaarde om te weten hoeveel er werkelijk is toegevoegd (amount).
Figuur 4.20: De setpoint(1) en proceswaarde (2) voor het toevoegen van ingrediënt
Deze SFC-types dienen ingevoerd te worden binnen de CFC met suffix CTRL. Omdat een SFC-type de communica e tussen Batch en PCS7 voorziet, wordt deze daarom de Batch PLI genoemd. Binnen deze CFC staat ook de control Phase Logic Interface (PLI), die de aansturing van de fases zal voorzien. Dit is de aanpassing die gebeurd is aan het basisproject. In het basisproject is gebruik gemaakt van een SFC-type die zowel als Batch PLI en control PLI fungeert. Dit hee als nadeel dat voor iedere fase een apart SFC-type moet aangemaakt worden, omdat bijvoorbeeld de parameters niet hetzelfde zijn. Ook is in het basisproject maar één CFC en SFC per fase beschreven. Deze worden vervangen door meerdere CFC's en SFC's om overzichtelijker en modulair te kunnen werken waardoor er eenvoudiger aanpassingen kunnen doorgevoerd worden.
42
Figuur 4.21: Communica e tussen Batch en fases door middel van de PLI's
Figuur 4.21 toont de opbouw van control CFC die de communica e tussen Batch en de fases verzorgt. Links bevindt zich de Batch PLI, gevormd door de SFC-types en aan de rechterkant bevindt zich de control PLI, die door Actemium ontwikkelt is in SCL code. Deze code is bedrijfsgeheim en mag daarom niet worden weergegeven in deze thesis. De Batch PLI moet data uitwisselen met Sima c Batch en doet dit via WinCC. Omdat de Batch PLI een FB is, moet er een instance DB aan gekoppeld worden. Deze DB wisselt data uit met de WinCC Tag DB, die op zijn beurt gegevens uitwisselt met de Sima c Batch DB.
43
De lockhold en state worden teruggekoppeld vanuit de control PLI naar de Batch PLI. De lockhold zorgt ervoor dat de fase niet meer aangestuurd kan worden wanneer er een fout optreedt. De typische uitgangen van de SFC-type zoals idle, star ng, holding,... worden aan de control PLI aangeboden als requests. Intern in de control PLI zal de nodige statuswaarde berekend worden om terug te geven naar de Batch PLI. Zoals te zien op de figuur is er geen onderscheid gemaakt tussen abor ng en stopping. Deze twee zullen als eenzelfde commando behandeld worden binnen PCS7. De uitgang idle van de Batch PLI wordt via een flankdetec e gekoppeld aan de first scan ingang van de control PLI. Dit om een goede werking van de control PLI te behouden. Deze flankdetec e zou in principe ook in de SCL-code kunnen opgenomen worden. De control PLI hee naast de request ingangen ook enkele complete ingangen, zoals abor ng complete (AC), holding complete (HC), running complete (RC),... . Deze ingangen zullen via de SFC's worden gemanipuleerd en hebben daarom een rechthoekje aan de aansluitpootjes staan. Wanneer een complete ingang hoog komt en de juiste status wordt uitgestuurd, zal de control PLI de correcte statuswaarde uitsturen. Verder staat de state ingang van de control PLI ingesteld op de waarde 100. Dit omdat elke fase ini eel moet starten vanuit de idle status. Als laatste zijn er nog twee ingangen ter beschikking die gebruikt worden wanneer een fase gestopt of gepauzeerd wordt, namelijk de Hold Index (HI) en de Reset Buffer (RSB). De uitgangen van de control PLI worden afgevraagd binnen de SFC's en kunnen ook via andere blokken binnen de CFC's gebruikt worden om bijvoorbeeld een fase veilig te stoppen. Er is naast de statusuitgangen ook een Step Index (SI) uitgang voorzien, die de stappenteller binnen de SFC voorstelt. Deze wordt niet gemanipuleerd door de control PLI, maar wordt door de SFC's gewijzigd en wordt gebruikt om de fases te besturen. Voor de duidelijkheid wordt de werking van de PLI's aan de hand van een voorbeeld toegelicht. Stel dat een commando gegeven wordt vanuit BCC om de fase te pauzeren dan zal via de Sima c Batch DB en de WinCC DB dit commando bij de instance DB van de Batch PLI komen. De Batch PLI verwerkt dit commando in het interne tabblad 'rest'. De middelste tak van deze SFC zal doorlopen worden (zie figuur 4.18). Daarnaast wordt de uitgang holding hoog gemaakt. De control PLI neemt dit waar via de ingang 'RQ_ HOLD'. Intern zal gekeken worden welke statuswaarde er moet uitgestuurd worden. In dit geval is het de waarde 20 die uitgestuurd wordt. Daarnaast komt de uitgang holding (H) hoog. Op deze uitgang zit een SFC gekoppeld die de nodige stappen zal ondernemen om het proces veilig te onderbreken. Wanneer dit gebeurd is, zal de SFC de ingang 'hold complete' hoog maken. Hiermee wordt de uitgang H terug laag en wordt de uitgang idle (I) hoog. De statuswaarde wordt gewijzigd naar 60 om aan te geven dat de status held bereikt is. Deze wordt in de Batch PLI binnengelezen om in de interne SFC naar de eindstap te kunnen gaan. Via de WinCC database en Sima c Batch DB wordt waargenomen dat de fase correct in held is gegaan. Indien de fase voltooid of gestopt wordt, moet de statuswaarde 100 uitgestuurd worden om aan te geven dat de fase idle is. Indien dit niet gebeurt, zal binnen BCC een fout gedetecteerd worden en een waarschuwing weergegeven worden die vermeldt dat de fase niet correct gestopt of voltooid is. De fase dient in dit geval gereset en herstart te worden. Vooraleer de overige CFC's te bespreken die de fases effec ef besturen, worden eerst de twee SFC's besproken. De eerste SFC is deze voor de running sequence, aangeduid met de suffix R. In figuur 4.22 staat deze weergegeven voor het toevoegen van een ingrediënt. In de stap 'wacht op start' wordt de SI op 1 geplaatst en wordt gewacht tot de running uitgang van de control PLI hoog wordt. Dan wijzigt de SFC de waarde safe van de control PLI op false en wordt de SI op 2 geplaatst. Na deze stap komen een reeks van afvragingen. Wanneer het proces gestopt of gepauzeerd werd, zal via de afvragingen in de rechtertak naar de juiste stap gesprongen worden. Dit gebeurt door de RSB af te vragen, die in iedere stap op een andere waarde geplaatst wordt (zie figuur 4.23). Wanneer de fase geen RSB waarde bevat, zal overgegaan worden naar de stap 'check startvoorwaarden'. Hierin wordt de RSB veranderd naar een andere waarde en wordt de SI opnieuw veranderd. Hetgeen hiervoor besproken, is in principe voor alle fasen gelijk. Enkel het aantal afvragingen in verband met de RSB zal wijzigen naargelang het aantal stappen binnen de fasen. Vanaf nu is het doel van de stappen a ankelijk van de fasen. Voor de fase 'toevoegen van
44
een ingrediënt' moet eerst de klep in automode geplaatst worden. Wanneer dit voldaan is, wordt de klep geopend tot een gewenst niveau bereikt is en dan wordt de klep gesloten. Vervolgens wordt de automode uitgeschakeld zodat manuele mode terug mogelijk is en als laatst wordt een repor ng en completed stap toegevoegd. In iedere stap wordt de SI en de RSB gewijzigd naar de waarde van de stap (zie figuur 4.24). Bijvoorbeeld bij stap 20 wordt de SI en RSB op de waarde 20 geplaatst. Dit is de volledig opbouw van de running sequence. Er worden dus geen kleppen,... rechtstreeks aangesproken, maar er wordt een waarde bepaald die later gebruikt wordt om de aansturing te doen, namelijk de SI.
Figuur 4.22: SFC voor de running sequence
45
Figuur 4.23: Afvraging van de RSB binnen de SFC's voor het herva en van een fase
Figuur 4.24: Wijzigen van de SI en RSB binnen de SFC's
De tweede SFC is deze voor de overige sequences, namelijk holding, abor ng en stopping (zie figuur 4.25). Deze SFC wordt gestart als de status van de fase niet in run of idle staat. Wanneer de SFC gestart wordt, wordt in de linkse tak gekeken of de fase in een veilige status staat. Wanneer dit niet het geval is, wordt de nodige stapindex uitgestuurd die ervoor zorgt dat er veilig gestopt wordt. Daarna wordt gekeken welke status er vanuit Sima c Batch wordt uitgestuurd. Naargelang de uitgestuurde status wordt naar één van de overige takken gesprongen. In de eerste afvraging van deze takken wordt gekeken naar de transciente statussen. Daarna wordt een completed signaal gestuurd naar de control PLI en wordt een stapindex uitgestuurd. Het completed signaal op een inkomende status holding bijvoorbeeld is het held completed (HC) signaal dat een ingang is op de control PLI. Bij de holding tak wordt daarna gekeken of de fase herstart wordt of ofdat deze afgebroken wordt. In het geval van stopping en abor ng kan enkel verder gegaan worden wanneer de fase de status idle bereikt.
Figuur 4.25: SFC voor holding, abor ng en stopping statussen
46
Zoals reeds vermeld sturen de SFC's de control PLI aan door de stapindex te wijzigen. Deze stapindex zal binnen de CFC's gebruikt worden om de fases effec ef aan te sturen. Binnen de CFC's met in de suffix de stapwaarde, wordt de stapindex vergeleken met een vaste waarde. Indien deze twee waarden gelijk zijn, wordt een bepaalde ac e uitgevoegd aan de hardware. Zo wordt bijvoorbeeld een klep open geplaatst. Omdat het hier om een gesimuleerd proces binnen PCS7 gaat, wordt gebruik gemaakt van een func eblok die de werking van een mixer simuleert. Deze CFC bevindt zich ter hoogte van de unit en niet op faseniveau. Dit omdat er verschillende fases aan deze mixer gekoppeld worden. Ook is het belangrijk dat er op unitniveau een UNIT_PLC func eblok wordt toegevoegd. Dit is een verplicht in te voegen func eblok en wordt gebruikt om de status van een unit te kunnen opvangen. Zo zal deze blok zorgen dat wanneer er één order bezig is met de unit, een ander order deze unit niet kan gebruiken. In deze blok kan ook de unitnaam, batchnaam, batchID,... opgevraagd worden. In ieder hiërarchiefolder dient nu nog een picture te worden toegevoegd. Dit is nodig om de WinCC beelden automa sch te kunnen genereren. Deze picture verzamelt alle elementen die in de folder staan en zal ze dan in één venster binnen WinCC weergeven. De layout van de beelden dient zelf opgemaakt te worden. Als in alle folders een picture is toegevoegd, dient nog een instelling gewijzigd te worden zodat in de bovenste werkbalk van WinCC de verschillende units komen te staan. Deze instelling zegt op welk niveau er moet gekeken worden. Aangezien de folders met de units op het tweede niveau staan, wordt het tweede niveau geselecteerd.
Figuur 4.26: Niveau van de units instellen voor WinCC
Als laatste dient het OS gecompileerd worden waarbij alle data doorgestuurd wordt naar WinCC en de beelden aangemaakt worden. Eenmaal het project volledig uitgewerkt is in PCS7, moet de nodige data voor de Batch server aangemaakt worden. Dit gebeurt aan de hand van de volgende stappen: 1. Genereren van de Batch types 2. Compileren van de Batch instances 3. Controleren van de geldigheid van het project 4. Transfereren van de berichten naar OS
47
5. Downloaden naar de Batch server
Figuur 4.27: Genereren van de Batch types
Figuur 4.28: Compileren van de Batch instances
48
Figuur 4.29: Transfereren van de berichten naar OS en downloaden naar Batch Server
4.2.3 WinCC De aangemaakte beelden kunnen binnen WinCC terug gevonden worden onder Graphics Designer (Figuur 4.30). Zoals opmerkt kan worden, zijn er een groot aantal beelden aangemaakt. Dit komt omdat er voor ieder element een faceplate wordt gecreëerd. Omdat gewerkt wordt met de AP-Library zijn deze faceplates ook een stuk uitgebreider dan bij de standaardelementen. Een faceplate bestaat uit een reeks tabbladen en voor elk tabblad dient een nieuw beeld aangemaakt te worden.
Figuur 4.30: Aangemaakte beelden binnen WinCC
49
Figuur 4.31: Faceplate van een motor
Om te controleren of de structuur die gehanteerd wordt voor de bovenste werkbalk in WinCC in orde is, dient de Picture Tree Manager gestart te worden. De structuur die in dit project gebruikt wordt staat weergegeven in figuur 4.32.
Figuur 4.32: Structuur binnen Picture Tree Manager
Nu is er al een werkend WinCC-project voorhanden, maar alle elementen die automa sch gegenereerd zijn, staan nog door elkaar op de beelden. Volgende figuren geven het resultaat weer van de aangepaste de lay-out voor een mixer en voor een reactor. Hierbij zijn de tanks, pijplijnen,... zelf getekend. Enkel de symbolen voor een klep en motor zijn automa sch getekend.
50
Figuur 4.33: WinCC beeld voor een mixer
Figuur 4.34: WinCC beeld voor een reactor
4.2.4 Batch Control Center Om gebruik te kunnen maken van BCC, moet de gebruiker zich eerst aanmelden. Enkel wanneer de aangemelde gebruiker zich in de groep Super users bevindt, kan hij een process cell inladen. Het aanpassen van de rechten gebeurt via roles management.
51
Figuur 4.35: Roles management
Wanneer de process cell is ingeladen, dienen eerst de grondstoffen en materialen gedefinieerd te worden. De volgende elementen worden aangemaakt: • Input materiaal – Tomatenblokken – Tomatensaus – Vinaigre e – Water – Speciale kruiden – Spoelwater – Habenero – Jalepeno – Cayenne • Output materiaal – Ketchup – Chunky Ketchup – Salsa – Kajun Ketchup Bij het aanmaken van deze elementen dient telkens meegegeven te worden of het om een input en/of output materiaal gaat. Er dient telkens ook een code aan het element te worden meegegeven. Daarnaast kunnen nog een beschrijving en een kwaliteitslabel aan de producten worden toegekend.
52
Figuur 4.36: Definiëren van de input en output materialen binnen BCC
Vanaf nu kunnen recepten opgebouwd worden. Hieronder volgt de uitwerking van één recept volgens een flat recipe model. Om te beginnen dienen de header parameter ingevuld te worden, zoals ook vermeld staat in de S88-norm. Hierin worden de units vastgelegd die gebruikt worden, de input- en outputmaterialen, tussenproducten, eventuele parameters,... . Bij het definiëren van het eindproduct wordt ook vastgelegd voor welke hoeveelheid product het recept ontwikkeld is en voor welke minimum en maximum hoeveelheid het bedoeld is. Bij het alloceren van de units, komt het nut van de equipment proper es binnen PCS7 naar voor. Wanneer deze goed gedefinieerd zijn, worden ze gegroepeerd volgens soort weergegeven. Hierbij kan aangeduid worden welke units mogen gebruikt worden en welke units de voorkeur krijgen. In het voorbeeldproject is al jd één mixer en één reactor nodig en deze dienen dus gealloceerd te worden.
53
Figuur 4.37: Header parameters
Figuur 4.38: Alloca e van de units aan de hand van equipment proper es
In het project is een recept opgebouwd dat bestaat uit de volgende stappen: 1. Toevoegen ingrediënt 1
54
2. Motor mixer aan 3. Toevoegen ingrediënt 3 4. Toevoegen ingrediënt 4 5. Transfereren naar reactor 6. Motor mixer uit 7. Motor reactor aan 8. Verwarmen 9. Toevoegen speciaal ingrediënt 10. A oelen 11. Transfereren naar verpakkingslijn Deze stappen worden in het recept toegevoegd als Recipe Opera on (ROP)'s en Recipe Phase (RPH). Bij iedere stap dient vermeld te worden welke unit en welke fase van de unit er gebruikt wordt. Bij de eerste stap van het recept dient de unit 'Mixer' aangeduid te worden met de fase 'ADDINGR1'. Doordat er in de header parameters twee mixers onder de unit mixer zich bevinden, zal de juiste mixer geselecteerd worden aan de hand van de ingestelde regels. Daarnaast dienen de juiste input materialen, output materialen, parameters,... ingesteld te worden. Deze variabelen zijn aangemaakt in het PCS7 project bij de Batch PLI. Voor het toevoegen van een ingrediënt dient een hoeveelheid meegegeven te worden bij de input materialen en dient het juiste materiaal ingevuld te worden (zie figuur 4.39). Bij de fases agitate en hea ng dienen parameters meegegeven te worden om respec evelijk de status van de motor en een wenstemperatuur mee te geven (zie figuur 4.40).
Figuur 4.39: Input materiaal van de fase 'addingr1'
55
Figuur 4.40: Parameters instellen voor de fase 'agitate'
56
Figuur 4.41: volledig recept
Wanneer het recept volledig is aangemaakt, dient het eerst opgeslagen en daarna gevalideerd te worden. Na valida e kan gekozen worden om het recept vrij te geven voor testen of voor produc e. In het BCC kunnen nu orders worden toegevoegd. Hiervoor dient onder de map orders een nieuwe map aangemaakt te worden met daarin een lijst waaraan batches kunnen toegevoegd worden. Batches kunnen manueel één voor één worden toegevoegd aan de lijst, of er kan gekozen worden om automa sch batches te genereren aan de hand van de gewenste hoeveelheid. Hierbij kunnen twee strategieën gekozen worden, namelijk evenredige verdeling over de batches of volgens maximale beze ng. Bij het aanmaken van orders dient ook de startmode en de geplande star jd meegegeven te worden. Er zijn drie modes beschikbaar: • Immediate: de Batch wordt onmiddellijk uitgevoerd • Operator: de Batch wordt op commando van de operator uitgevoerd • Time-driven: de Batch wordt gestart op een bepaald jds p
57
Figuur 4.42: Aanmaken van een reeks batches volgens maximale beze ng
Voordat batches effec ef kunnen uitgevoerd worden, moeten deze nog vrijgegeven te worden. Het is ook mogelijk om batches te chainen. Dit betekent dat wanneer een batch gedaan is, automa sch de volgende batch in de ke ng begint. Op deze manier kan prioriteit gegeven worden aan batches zodat een order, dat niet dringend is, niet start voor een dringend order. Wanneer een batch gestart is, kan deze geannuleerd of gepauzeerd worden. De status van de fasen wordt visueel weergegeven in het BCC. Zo zal een geannuleerde fase of order een paarse kleur aannemen en een voltooid fase of order een groene kleur. Wanneer er een probleem is met een fase, zal dit weergegeven worden door middel van een rode bliksemschicht. Via WinCC kan opgevolgd worden welke units gealloceerd zijn en wat de status is van de kleppen,... .In figuur 4.43 staat een voorbeeld van een geannuleerd order met enkele voltooide fases.
58
Figuur 4.43: Weergeven van een geannuleerd order binnen BCC
Wanneer een batch afgewerkt is, kan er nog commentaar aan toegevoegd worden vooraleer het order afgesloten wordt. Daarna is er de mogelijkheid om de batch te archiveren in een shared folder op de server.
4.3 AS-based Batch 4.3.1 Inleiding Wanneer een proces geautoma seerd wordt met een oudere versie van Sima c Batch, dan worden de recepten op de server aangesproken. Er is con nue uitwisseling van gegevens nodig tussen de PLC en de Batch server om een recept uit te voeren. Deze uitwisseling gebeurt via TCP/IP communica e en neemt enkele seconden in beslag. Op het einde van een recept zijn hierdoor een aantal seconden of zelfs minuten verloren gegaan, enkel en alleen door de nodige communica e tussen beide componenten. Deze manier van werken wordt de PC-based Batch genoemd. Omdat er een con nue vraag is naar een hogere kwaliteit van produc e, wenst de klant determinis sche en snelle faseovergangen. Het kan immers zijn dat een lange stapovergang zorgt voor een lagere kwaliteit van het uitgangsproduct. Om de communica e tussen PLC en server te beperken, is er een nieuwe func e geïmplementeerd: AS-based Batch. Met AS-based Batch is het mogelijk om een volledig recept in de PLC te laten uitvoeren. Het is ook mogelijk om beide opera ng modes toe te passen op een recept. Deze mode wordt de mixed-mode genoemd. Om
59
AS-based Batch te kunnen gebruiken is er een extra licen e nodig die via de Automa on Licence Manager kan toegevoegd worden. Deze licen e wordt BATCH AS Execu on genoemd. Doordat de recept logica verschoven wordt, zijn er ook wijzigingen in de architectuur van het systeem. Zoals in figuur 4.44 te zien is, is de Batch server geconnecteerd op het AS via een direct communica ekanaal. Dit communica ekanaal is gebaseerd op S7DOS en leidt tot snellere communica e.
Figuur 4.44: Verschuiven van recept logica bij AS-based Batch
Dit communica ekanaal hee de volgende taken: • Downloaden van blokken met het control recept voor de sequen e van een unit • Commando's versturen naar het controle recept. • Uitwisselen van stapdata tussen het AS en de Batch server • Uitwisselen van setpoints, proceswaarden en gemeten waarden van de PLC naar de Batch server
4.3.2 Implementa e binnen het proces Voor het implementeren van AS-based Batch moet binnen PCS7 een andere unit-blok gebruikt worden dan bij PC-based Batch. Deze nieuwe unit-blok wordt UNIT_ PLC genoemd en is beschikbaar in de Sima c Batch Blocksbibliotheek (zie figuur 4.45). Deze is reeds aanwezig in het aangepaste voorbeeldproject omdat de IUNIT_ BL, die in de vroegere versies gebruikt werd, niet aanvaard wordt binnen Sima c Batch V7.1 SP2. Met deze nieuwe blok is het mogelijk om recepten te manipuleren die in het AS worden uitgevoerd.
60
Figuur 4.45: IUNIT_ BL-func eblok(1) en UNIT_ PLC-func eblok(2)
De belangrijkste parameter die ingesteld dient te worden bij de UNIT_ PLC blok is PLCRecipeExec on. Wanneer deze op 'true' geplaatst wordt, zal AS-based Batch voor deze unit beschikbaar zijn. Daarnaast is ook de naam die aan de blok toegewezen wordt belangrijk. Hierbij mogen geen twee dezelfde namen in het project voorkomen. Het best is om de naam voor de UNIT_ PLC blok dezelfde te nemen als de naam van de unit. Wanneer de Batch process cell gecompileerd wordt, wordt in de nieuwe versie van Sima c Batch de mogelijkheid gegeven om het sta on te configureren (zie figuur 4.46). Hierbij dient de grote van het CPU-geheugen mee gegeven te worden en hoeveel procent van dit werkgeheugen gebruikt wordt om de recepten uit te voeren. Belangrijk om op te merken is dat er maar één AS mag gebruikt worden om AS-based Batch toe te passen. Wanneer er meer dan één AS in het project opgenomen is, waarop equipment phases zijn geconfigureerd, moet AS-based Batch uitgeschakeld te worden. Dit betekent dat het percentage van het werkgeheugen op 0 % dient ingesteld te worden. Bij het CPU geheugen dient de groo e en de eenheid vermeld te worden, bijvoorbeeld 30 MB.
Figuur 4.46: Sta on se ngs bij het compileren van de Batch process cell
61
Wanneer er UNIT_ PLC blokken aanwezig zijn in het project waarbij de parameter voor AS-based Batch aan staat en er geen percentage toegewezen wordt voor AS-based Batch, dan zal in de configurator een gele bliksemschicht bij het sta on staan. Dit is een waarschuwing die meldt dat enkel PC-based opera ons mogelijk zijn (zie figuur 4.47).
Figuur 4.47: Waarschuwing bij het niet toewijzen van werkgeheugen voor AS-based opera ons
Het kan zijn dat de UNIT_ PLC blokken in een andere OB dienen geplaatst te worden. Wanneer dit het geval is, zullen deze waarschuwingen bij het updaten weergegeven worden. Het wisselen van OB gebeurt door dubbel te klikken op de OB die bij de blok staat en dan de blok te slepen naar de juiste OB. Tabel 4.1 uit de Sima c Batch manual gee een overzicht van de hoeveelheid CPU-geheugen die gebruikt wordt door de Sima c Batch blokken jdens de AS-based Batch mode. Tabel 4.1: Overzicht CPU-geheugen voor AS-based Batch
Memory Alloca ons
Descrip on
Memory required in kilobytes
Sta c Part. Occupied by system
Communica on (Event Send)
56
Func on Blocks Func on Calls Per unit
60 41 57
Per recipe unit procedure (RUP)
128
Dynamic part. Occupied by se ngs in the Batch configura on dialog
De manual hee ook enkele jden mee die gebruikt dienen te worden voor het berekenen van de cyclus jd (zie tabel 4.2). Tabel 4.2: Tijden voor het uitvoeren van een recipe unit procedure
Recipe structure
AS run me
Comple ng recipe phase Upda ng setpoint Processing a transi on Star ng recipe phase Processing a recipe phase
1.8 ms 0.007 ms 4 ms 1.9 ms 2 ms
Binnen Sima c Batch worden enkele onderdelen niet ondersteund in de AS-based Batch opera ng mode, namelijk de flat recipes en de Online Structure Changes (OSC). De OSC maakt het mogelijk om de structuur van een recept aan te passen terwijl een batch met dit recept ac ef is. Enkel hiërarchische recepten zijn mogelijk om opera es uit te laten voeren in de PLC. Als een opera e uitgevoerd dient te worden in de PLC moet, bij de eigenschappen hiervan, de parameter Execute in AS aangevinkt te worden (zie figuur 4.48). Wanneer een driehoek met uitroepteken voor deze parameter staat, wil dit zeggen dat de nodige licen e voor AS-based Batch niet aanwezig is. Deze licen e moet ook aanwezig zijn op een eventuele redundante Batch server. Wanneer recepten geïmporteerd
62
worden waarbij de parameter Execute in AS aangevinkt is, zullen bij deze recepten de op e uitgeschakeld worden als er geen geldige licen e gevonden wordt. Batches die reeds aangemaakt zijn met deze mode ac ef zullen niet gewijzigd worden. Bij het importeren van recepten, bibliotheken of formules, het restoren of backuppen van BCC of bij het openen van de eigenschappen van een RUP zal gecontroleerd worden of de licen e aanwezig is. Het is ook mogelijk om oude recepten (uit vroegere versies van Sima c Batch) op een eenvoudige wijze om te vormen voor de AS-based mode. Daarnaast zijn elektronische handtekeningen bij AS-based mode alleen mogelijk voor commando's en niet meer voor veranderingen van statussen.
Figuur 4.48: Instellen van AS-based Batch binnen BCC
Er zijn enkele func es die nog steeds in de Batch server dienen uitgevoerd te worden, namelijk: • Unit alloca e • Synchronisa e tussen twee units • Cross-unit overgangen en commando stappen • Operator instruc es Recept synchronisa es zijn met het control recept ingeladen in de PLC. Wanneer een synchronisa elijn bereikt wordt, wordt er een reeks van ac es uitgevoerd. Eerst zal het AS een frame verzenden naar de recept synchronisa e in de Batch server, waarin het batch ID en een uniek synchronisa enummer staat. De Batch server bepaalt de deelnemers voor de synchronisa e met het eerste frame. Daarna bepaalt de Batch server de mogelijke units voor deze batch. De informa e van een kandidaat bevat welke unit geselecteerd is voor deze Recipe Unit Procedure (RUP) in de huidige batch. Als alle voorwaarden voor synchronisa e voldaan zijn, zal de Batch server een acknowlegde bit verzenden. Deze bit wordt door alle deelnemende units verwerkt. De werking in alle units wordt dan gelijk jdig verder gezet in het AS.
63
4.4 OS-controls binnen WinCC 4.4.1 Inleiding Bij de nieuwe versie van Sima c Batch zijn ook OS-controls aanwezig voor het uitvoeren en opvolgen van batchprocessen op een PCS7 OS Client. Deze controls kunnen gebruikt worden als een grafisch interface binnen WinCC en kunnen op de OS clients en Batch clients gebruikt worden. Er zijn zes nieuwe controls aanwezig: • Sima c Batch OS Master: met deze control kunnen process cells geconnecteerd worden. • Sima c Batch OS Process Cell: met deze control kunnen nieuwe Batch orders aangemaakt worden. • Sima c Batch OS Alloca on: deze control zorgt voor een overzicht van alle units. • Sima c Batch OS Proper es: Overzicht van de ROP's, controleren en opvolgen van batches. • Sima c Batch OS Batch Crea on: hiermee kunnen batches aangemaakt worden. • Sima c Batch OS Monitor: deze control gee alle berichten in verband met Batch weer. Alle beschikbare controls zijn opgenomen in een template binnen WinCC, namelijk @sima c_ batchos.pdl. Deze template wordt aangemaakt bij het genereren van WinCC project. Deze controls kunnen ook apart worden ingevoerd in andere process pictures door de func e control te selecteren onder smart objects. Hierbij dient eerst een rechthoek getekend te worden en dan de control te selecteren. Deze OS-controls zijn terug te vinden in de lijst onder 'Sima c Batch OS ...' . De controls zijn ona ankelijke objecten die met elkaar dienen te communiceren. Dit is nodig omdat bepaalde controls getriggerd dienen te worden door andere controls of omdat de controls gemonitord moeten worden. Daarom wordt er een communica ekanaal aangemaakt waarop verschillende controls kunnen geconnecteerd worden. Bij iedere control is een eigenschap Communica onChannel voorzien. Wanneer deze bij twee controls op een zelfde waarde is ingesteld, wordt een verbinding voorzien. Er zijn in totaal honderd communica ekanalen mogelijk waarop een oneindig aantal aan controls kunnen geconnecteerd worden. Gelijkaardige controls zullen uiteraard dezelfde informa e vertonen. Een control blij geconnecteerd op eenzelfde kanaal totdat het dynamisch gewijzigd wordt of totdat de control verwijderd wordt van het proces, bijvoorbeeld door het veranderen van venster binnen WinCC. Een project daarentegen blij geconnecteerd todat de Sima c Batch OS Master de verbinding verbreekt. Dit betekent ook dat wanneer het communica ekanaal wijzigt, het project nog ac ef blij zolang de connec e niet verbroken wordt vanuit de Sima c Batch OS Master control. De OS-controls kunnen ook op verschillende schermen (mul -monitor system) worden weergegeven. De aangemaakte template is reeds geconfigureerd voor deze mogelijkheid. Dit zorgt ervoor dat ona ankelijk van op welk scherm er gewerkt wordt, al jd de huidige informa e wordt weergegeven. De controls kunnen onderling data naar elkaar doorsturen. Hiervoor is het wel vereist dat al deze controls in het project opgenomen zijn. Wanneer een ac e wordt uitgevoerd waarbij een control niet gevonden wordt, wordt een foutbericht weergegeven.
4.4.2 Sima c Batch OS Master Deze control verzorgt de communica e met een Batch project. Alle controls die op hetzelfde communica ekanaal zi en kunnen de data van dit Batch project benaderen. Deze control is de basis voor alle andere controls en moet al jd aanwezig zijn.
64
In deze control wordt het gewenste project geselecteerd en indien er geen filter ingesteld is, worden alle projecten binnen het netwerk getoond. Hierbij is het ook noodzakelijk dat de Batch Launch Coordinator in de taakbalk ac ef staat. Figuur 4.49 toont de grafische voorstelling van de control.
Figuur 4.49: Voorstelling van de Sima c Batch OS Master control
4.4.3 Sima c Batch OS Monitor Alle Batch procesberichten worden in deze control weergegeven. Deze control moet al jd ingevoegd zijn in het project om met de andere controls te kunnen werken. Ieder bericht dat in deze control wordt meegegeven krijgt een uniek berichtnummer toegewezen en de berichten worden volgens jds p van voorkomen gesorteerd. Commando's in de knoppenbalk en shortcut menu's zorgen ervoor dat berichten geupdate, geannuleerd, verwijderd en beves gd kunnen worden.
Figuur 4.50: Sima c Batch OS Monitor control
Alle dialogen die tevoorschijn komen om ac es te beves gen, worden als berichten binnen deze control weergegeven. Zo kan belangrijke informa e over het proces worden weergegeven.
Figuur 4.51: Dialoogvenster na het triggeren van een procesac e
65
4.4.4 Sima c Batch OS Process Cell De Sima c Batch OS Process Cell control kan gebruikt worden om de gegevens van de ac eve process cell op te volgen (zie figuur 4.52). Deze control kan gebruikt worden voor batch planning, het aanmaken van batches en operator control voor batches. Zo is het mogelijk om batches te starten, stoppen, annuleren,... . Het is ook mogelijk om het recept weer te geven in het Sima c Batch OS Proper es control, waarbij de stappen van het recept gemonitord kunnen worden.
Figuur 4.52: Sima c Batch OS Process Cell control
De control is opgedeeld in twee sec es: • Naviga e aan de linkerkant • Display aan de rechterkant In het naviga evenster worden alle orders weergegeven en kunnen orders en batches worden toegevoegd door rechts te klikken. Hierbij wordt de nodige data ingevuld in de Sima c Batch OS Batch Crea on control. Het display gebied toont de batchgegevens van het geselecteerde item in het naviga evenster. Hierin worden de batches onderverdeeld in volgende tabbladen: • En re list: Alle batches die tot het order en hun status behoren worden weergeven. • Planning list: Toont de geplande batches en vrijgegeven batches. • Status list: Toont de vrijgegeven en gestarte batches. • Results lists: Toont alle beëindigde batches met hun statussen. • Favorites: Toont de batches die als favoriet zijn aangeduid. Wanneer een batch verandert van status jdens het monitoren dan blij de batch in de huidige lijst, maar wordt ook toegevoegd in het ander tabblad. Enkel wanneer de lijsten geupdate worden, verdwijnt deze uit de originele lijst.
4.4.5 Sima c Batch OS Alloca on Het doel van de Sima c Batch OS Alloca on control is om een overzicht te geven van alle units binnen de geselecteerde process cell. Hierin wordt vermeld of de unit gealloceerd is door een batch en wordt ook de huidige status van deze batch getoond met overige info over deze batch zoals welk recept, welk order,... . In de knoppenbalk is het ook mogelijk om de status van deze batches te manipuleren en om het recept dat momenteel op de unit ac ef is weer te geven in de Sima c Batch OS Proper es control.
66
Figuur 4.53: Sima c Batch OS Alloca on control
4.4.6 Sima c Batch OS Batch Crea on Met de Sima c Batch OS Batch Crea on control is het mogelijk om nieuwe batches aan te maken. Dit gebeurt op eenzelfde manier zoals dit in het BCC zou gebeuren. Er dient een recept of formule geselecteerd te worden en een order categorie waarin deze batches moeten opgenomen worden. Daarnaast dient de naam, de hoeveelheid, het aantal batches, de star jd en de manier van starten meegegeven te worden. Er kan ook een eventuele beschrijving aan de batches worden meegegeven. Wanneer dit alles ingevuld is, dient op de knop release batch(es) of generate batches geklikt te worden. Wanneer de op e release batches automa cally aangevinkt staat, worden de batches direct vrijgegeven bij het aanmaken en krijgt de knop de naam release batches. Anders worden de batches enkel aangemaakt en krijgt de knop de naam generate batches.
Figuur 4.54: Sima c Batch OS Alloca on control
67
Wanneer via de Sima c Batch OS Process cell control een nieuwe batch wordt gemaakt, wordt reeds alle nodige data ingevuld zoals ordergroep en ordercategorie. De overige data moet manueel worden ingevuld.
4.4.7 Sima c Batch OS Proper es De Sima c Batch OS Proper es control is de centrale control voor het bedienen en opvolgen van batches. Hierin worden de batches in detail weergegeven.
Figuur 4.55: Sima c Batch OS Proper es control
De control bestaat uit volgende delen: • Naviga e area: hierin wordt de batch die gemonitord wordt weergegeven. Indien het om een hiërarchisch recept gaat worden hierin de verschillende onderdelen van dit recept weergegeven. • Display area: hierin wordt het recept getoond. Naargelang het geselecteerde item in het naviga evenster veranderen de mogelijkheden binnen de tab area. Bovenaan dit venster is een knop aanwezig die, indien geac veerd, con nue synchronisa e doet van het recept. • Tab area: Hierin worden verschillende eigenschappen van het selecteerde item in het naviga evenster getoond. Hierin worden parameters, stapeigenschappen,... weergegeven. Zo is het ook mogelijk om te kijken of een deel van het recept als AS-based Batch uitgevoerd wordt. • Overview area: hierin wordt een kleine versie van het recept weergegeven om aan te tonen waar ergens het gebied binnen de display area zich bevindt in het recept. • Knoppenbalk: hiermee kan de status van de batch gewijzigd worden, een nieuw batch aangemaakt worden, commentaar toegevoegd worden,... .
4.4.8 Controls personaliseren Alle controls hebben eigenschappen die ervoor zorgen dat controls naar de wensen van de klant aangepast kunnen worden. Deze eigenschappen zijn terug te vinden in de object proper es binnen de Graphics Designer. Onder de tab Control Proper es staan de mogelijke eigenschappen die de layout en de werking van de control aanpassen. Zo is het mogelijk om de volgorde van de kolommen bepalen, het communica ekanaal vast te leggen, gebruik van de controls toe te wijzen aan bepaalde gebruikersgroepen,... .Bij iedere eigenschap kan een korte uitleg gevonden worden door op F1 te drukken, waarbij uitgelegd staat hoe deze eigenschap ingevuld dient te worden. De uitgebreide informa e rond deze eigenschappen en de controls in het algemeen is ook terug te vinden in de handleiding van Sima c Batch V7.1 SP2 vanaf p 545. [7]
68
De eigenschappen kunnen ook dynamisch gemaakt worden via een C-script. Dit betekent dat een control verandert qua werking en layout wanneer een bepaald event plaats vindt. Binnen het C-script dient de naam van de eigenschap gebruikt te worden zoals deze in de Control Proper es vermeld staat. Figuur 4.56 toont aan hoe het C-script opgesteld is voor het wijzigen van het communica ekanaal van de Sima c Batch OS Master control.
Figuur 4.56: Dynamisch maken van een eigenschap van een control via C-script
69
5
Demo-opstelling
5.1 Inleiding Vanuit Howest wil men meer inzicht krijgen in het implementeren van batchprocessen. Daarom werd gevraagd om Sima c Batch te implementeren om een bestaande opstelling, die in een vorige masterproef werd gebruikt om PCS7 op te implementeren. Met de opstelling is het mogelijk om aan de hand van water met indicator, zuuroplossing en base-oplossing verschillende kleuren aan te maken. De aangemaakte vloeistof wordt daarna over verschillende flesjes verdeeld. Dit is dus een typisch batchproces.
5.2 Opbouw proces Figuur 5.1 toont schema sch hoe het proces is opgebouwd. Er zijn drie voorraadtanks aanwezig met daarin de base-oplossing, zuur en water met indicator. Het volume van deze voorraadtanks wordt gemeten door middel van ultrasone sensoren. De vloeistoffen kunnen naar de mixer getransporteerd worden door het aansturen van analoge kleppen. In de mixer is een motor aanwezig en een sensor om de PH te meten. Om de flessen de vullen, dient een digitale klep tussen mixer en transportband aangestuurd te worden en moet de pomp aangedreven worden om het product omhoog te krijgen. De transportband zelf bestaat uit een motor, een op sche sensor en een grijper, die aangestuurd wordt door twee motoren. Al deze componenten worden aangesloten op een ILC 170 PLC van Phoenix Contact.
Figuur 5.1: Opbouw van het fysisch proces van de demo-opstelling
70
Omwille van de beperkte omvang van deze opstelling is het niet mogelijk om de voordelen van een batchpakket aan te tonen. Daarom wordt binnen de ILC het proces nog drie maal gesimuleerd. Daarnaast is er ook een uitgebreidere versie van het proces gesimuleerd waarbij de voordelen nog duidelijker aangetoond kunnen worden (zie figuur 5.2). Hierbij zijn de drie voorraadtanks behouden, maar kan het volume ervan getransfereerd worden naar drie mixers, die op hun beurt verbonden zijn met twee verpakkingslijnen.
Figuur 5.2: Uitgebreide simula eversie van het proces
Zoals eerder vermeld, is voor het gebruik van Sima c Batch een S7-400 PLC van Siemens vereist. De data van de ILC wordt over Profinet naar de S7-400 PLC verstuurd om verwerkt te kunnen worden door PCS7 en Sima c Batch. Hierbij is de S7-400 PLC de Profinet controller en de ILC 170 een Profinet device.
5.2.1 PC WorX Figuur 5.3 toont de opbouw van het PC WorX programma voor het werkelijke proces. De func eblok 'Gegevens ordenen' is hierbij de belangrijkste component (zie figuur 5.4). Deze func eblok zal de gegevens, die via Profinet als een array van words binnenkomt, doorsturen naar de gewenste uitgangen. De ingangen van de sensoren worden in een array van words geplaatst die dan, via Profinet, naar de PLC kan gestuurd worden. Dezelfde funcebouwsteen zal ook bij de simula es gebruikt worden, vandaar de extra aanslui ngen die voorzien zijn voor de terugkoppelingen van kleppen en motoren.
71
Figuur 5.3: Opbouw PC-worx programma van het werkelijke proces
Figuur 5.4: Code van de func ebouwsteen 'Gegevens ordenen'
72
De sensorwaarden worden eerst omgerekend naar een waarde die door Siemens gebruikt wordt voordat ze in de array van words worden ingevuld. Dit is omdat Phoenix Contact gebruik maakt van waarden tussen 0 en 30000 en Siemens van waarden tussen 0 en 27648. De analoge signalen die uit de func ebouwsteen 'gegevens ordenen' komen dienen om die reden ook omgezet te worden om een correcte aansturen van kleppen en motoren te verwezenlijken. De sensoren dienen aangestuurd te worden met een controlewoord om aan te geven in welk bereik ze moeten meten. Deze waarde is in dit geval 16# 800A. De pomp die gebruikt wordt om het volume van de mixer naar de transportband te transporteren, dient drie waarden meegestuurd te krijgen: • Een bit die zorgt dat de pomp uit standby gaat. Dit moet een flank zijn omdat de pomp anders constant wisselt tussen standby en ac ef. • Een woord dat de snelheid van de pomp aangee . Dit dient een waarde tussen 0 en 30000 te zijn. • Een bit die de pomp effec ef aanstuurt. Als laatste dienen de motoren van de grijper aangestuurd te worden. Dit gebeurt via twee waarden: • Een bit die de motoren aanstuurt • Een woord waarmee de snelheid van de motoren meegegeven wordt. De cilinders van de grijpers zijn ook uitgerust van eindeloopschakelaars. In dit project is enkel de eindeloopschakelaar die aangee dat de grijper open is nu g, omdat de grijper nooit volledig kan gesloten zijn. De simula es zijn overgenomen van het project dat in de vorige masterproef werd gebruikt voor de uitwerking van PCS7. Het gedrag van kleppen, motoren, vaten,... hoe hierdoor niet herrekent te worden. Hieraan zijn wel aanpassingen gebeurd omdat onder andere de transportband niet in de simula es was opgenomen. In figuur 5.5 zijn de verschillende componenten van de opstelling te onderscheiden. Deze worden in een bovenliggende func ebouwsteen gekoppeld aan de func ebouwsteen 'gegevens ordenen' (zie figuur 5.6).
Figuur 5.5: Opbouw van het enkelvoudige simula eproces
73
Figuur 5.6: Ordenen van de gegevens van de simula e
Het uitgebreide simula eproces is opgebouwd vanuit de enkelvoudige simula es waarbij extra in- en uitgangen voorzien worden (zie figuur 5.7).
Figuur 5.7: Opbouw van het uitgebreide simula eproces
Bij de simula es zijn wel enkele func es voorzien die bij het werkelijke proces niet voorkomen, zoals terugkoppelingen van motoren en kleppen. Ook is een toevoer van water voorzien die geregeld wordt via een analoge klep. Het is de bedoeling dat in een latere fase deze klep ook aanwezig zal zijn op het werkelijke proces. Figuur 5.8 toont hoe het werkelijke proces en de simula eprocessen gekoppeld zijn aan Profinet. De Profinet_ communica eblok die hierin opgenomen is zorgt voor de omze ng van de algemene Profinet array van bytes naar verschillende array's van words. Deze array's worden doorgestuurd naar de verschillende processen. De uitgestuurde array's van words van deze processen worden in deze func eblok omgevormd naar één array van
74
bytes om dan over Profinet te kunnen versturen. De tabellen die volgen geven de Profinet adressen weer die gebruikt worden. Dezelfde tabellen dienen binnen PCS7 gehanteerd te worden.
Figuur 5.8: Koppeling tussen de processen en Profinet
Tabel 5.1: Inputadressen van de ILC voor werkelijk proces en enkelvoudige simula eprocessen
Func e Klep Water Klep Zuur Klep Base Klep Toevoer Mixer Afvoerklep mixer Bijvullen zuur/base Transportband Grijper
Werkelijk Proces 0 2 4 6 8.0 8.1 8.2 8.3 8.5
Simula e 1 10 12 14 16 18.0 18.1 18.2 18.3 18.5
Simula e 2 20 22 24 26 28.0 28.1 28.2 28.3 28.5
Simula e 3 30 32 34 36 38.0 38.1 38.2 38.3 38.5
75
Tabel 5.2: Inputadressen van de ILC voor uitgebreidt simula eproces
Func e Klep water - mixer A Klep water - mixer B Klep water - mixer C Klep zuur - mixer A Klep zuur - mixer B Klep zuur - mixer C Klep base - mixer A Klep base - mixer B Klep base - mixer C Klep toevoer Mixer A Mixer B Mixer C Afvoerklep mixer A - transportband A Afvoerklep mixer A - transportband B Afvoerklep mixer B - transportband A Afvoerklep mixer B - transportband B Afvoerklep mixer C - transportband A Afvoerklep mixer C - transportband B Bijvullen zuur/base Transportband A Transportband B Grijper A Grijper B
Woord 40 42 44 46 48 50 52 54 56 58 60.0 60.1 60.2 60.3 60.4 60.5 60.6 60.7 61.0 61.1 61.2 61.3 61.4 61.5
Tabel 5.3: Outputadressen van de ILC voor werkelijk proces en enkelvoudige simula eprocessen
Func e Sensor water Sensor zuur Sensor base Sensor mixer Sensor PH RB klep water RB klep zuur RB klep base RB klep toevoer RB klep afvoer RB mixer Sensor transportband Transportband Grijper
Werkelijk proces 0 2 4 6 8 10 12 14 16 18.0 18.1 18.2 18.3 18.4
Simula e 1 20 22 24 26 28 30 32 34 36 38.0 38.1 38.2 38.3 38.4
Simula e 2 40 42 44 46 48 50 52 54 56 58.0 58.1 58.2 58.3 58.4
Simula e 3 60 62 64 66 68 70 72 74 76 78.0 78.1 78.2 78.3 78.4
76
Tabel 5.4: Outputadressen van de ILC voor uitgebreid simula eproces
Func e Sensor water Sensor zuur Sensor base Sensor mixer A Sensor mixer B Sensor mixer C Sensor PH - mixer A Sensor PH - mixer B Sensor PH - mixer C RB klep water - mixer A RB klep water - mixer B RB klep water - mixer C RB klep zuur - mixer A RB klep zuur - mixer B RB klep zuur - mixer C RB klep base - mixer A RB klep base - mixer B RB klep base - mixer C RB klep toevoer RB klep mixer A - transportband A RB klep mixer A - transportband B RB klep mixer B - transportband A RB klep mixer B - transportband B RB klep mixer C - transportband A RB klep mixer C - transportband B RB mixer A RB mixer B RB mixer C Sensor transportband A Sensor transportband B RB transportband A RB transportband B RB grijper A RB grijper B
Woord 80 82 84 86 88 90 92 94 96 98 100 102 104 106 108 110 112 114 116 118.0 118.1 118.2 118.3 118.4 118.5 118.6 118.7 119.0 119.1 119.2 119.3 119.4 119.5 119.6
5.3 Sima c PCS7 De opbouw van het PCS7 programma gebeurt op eenzelfde manier als in het project waarop het onderzoek voor Actemium werd uitgevoerd. Op hardwaregebied is het enkel de gebruikte PLC die anders dient ingesteld te worden, het PC sta on kan op dezelfde manier opgesteld worden. De PLC bestaat uit de volgende componenten (zie figuur 5.9): • Power supply: PS 405 10A • CPU: CPU 414-3 PN/DP
77
Figuur 5.9: Hardwareconfigura e demo-opstelling
De PLC bestaat dus enkel uit een voeding en een CPU. Alle data van het proces komt van de ILC en wordt over Profinet uitgewisseld. Daarom is het nodig om in de hardwareconfigura e de ILC toe te voegen aan het Profinetnetwerk. Hiervoor wordt het GSDML-bestand toegevoegd aan de bibliotheek van Siemens. Een GSDML-bestand is een XML-bestand waarin het toestel beschreven staat. Wanneer het toestel toegevoegd is aan het netwerk moet een IP-adres toegewezen worden. Na het downloaden van de hardwareconfigura e en het starten van de CPU, zal de ILC op dit IP-adres werken. Dit gebeurt door het DCP-protocol dat werkt op basis van de device name. Dit device name kan gewijzigd worden via de Edit Ethernet Node tool (zie figuur 5.10).
78
Figuur 5.10: Edit ethernet node tool
Het proces bestaat uit een werkelijk proces, drie enkelvoudige simula es en één uitgebreide simula e. De units die aan de hiërarchie worden toegevoegd zijn: • Mixer Werkelijk • Mixer Sim A (eerste enkelvoudige simula e) • Mixer Sim B (tweede enkelvoudige simula e) • Mixer Sim C (derde enkelvoudige simula e) • Mixer Sim D (onderdeel uitgebreide simula e) • Mixer Sim E (onderdeel uitgebreide simula e) • Mixer Sim F (onderdeel uitgebreide simula e) • Waterniveau Sim Uitgebreid • Transportband Werkelijk • Transportband Sim A (eerste enkelvoudige simula e) • Transportband Sim B (tweede enkelvoudige simula e) • Transportband Sim C (derde enkelvoudige simula e) • Transportband Sim D (onderdeel uitgebreide simula e)
79
• Transportband Sim E (onderdeel uitgebreide simula e) De unit mixer bestaat uit de volgende fases: • Toevoegen base • Toevoegen zuur • Toevoegen water • Roeren De unit transportband bestaat uit de volgende fases: • Vullen De verdere opbouw van het project gebeurt dus op eenzelfde wijze als het project dat bij Actemium gebruikt wordt. Eerst wordt voor iedere fase een SFC-type opgebouwd en vervolgens worden de CFC's en SFC's aangemaakt. Het enige verschil hierbij is dat er hardware in- en uitgangen gebruikt worden. Deze dienen eerst in de symbol table toegevoegd te worden, waar ze een datatype toegewezen krijgen, vooraleer ze aan blokken gekoppeld kunnen worden. Daarna kunnen de charts gecompileerd en gedownload worden naar de PLC. Vervolgens wordt het OS gecompileerd en uiteindelijk wordt de data naar de Batch server gedownload.
5.3.1 WinCC Het WinCC-project is gegenereerd vanuit Sima c Manager, waardoor alle nodige componenten in het project opgenomen zijn. Figuur 5.11 en 5.12 tonen de aangepaste beelden van respec evelijk een mixer en een transportband.
Figuur 5.11: WinCC beeld voor de unit mixer
80
Figuur 5.12: WinCC beeld voor de unit transportband
Daarnaast zijn ook de nieuwe OS-controls voor Batch opgenomen binnen dit WinCC-project.
5.3.2 Batch Control Center In het BCC wordt eerst de process cell ingeladen, waarna de materialen gedefinieerd kunnen worden. De gebruikte materialen voor het proces zijn: • Inputmaterialen – Water – Base – Zuur • Outputmaterialen – Kleurstof Nu kunnen recepten en formules aangemaakt worden. Om alle fasen te testen, wordt een recept aangemaakt waarbij alle fases aangesproken worden. Bij de uitvoering van de recepten dient opgemerkt te worden dat de gevraagde hoeveelheden en de werkelijke hoeveelheden van een product iets afwijken van elkaar. Dit komt omdat er gekozen is voor PC-based Batch en de nodige jdsvertraging voor een onnauwkeurigheid zorgt.
81
6
Conclusies
De doelstellingen die vanuit Actemium en Howest zijn opgelegd, zijn tot een goed einde gebracht. Hiervoor is een goede kennis nodig van PCS7, WinCC en Sima c Batch. Deze pakke en werden aangeleerd door interne opleidingen en beschikbare literatuur bij Actemium. AS-based Batch is geïmplementeerd binnen de nieuwe versie van Sima c Batch om recepten sneller uit te voeren. Hierbij wordt de faselogica in de PLC uitgevoerd in plaats van in de Batch server. Hiervoor dienen een aantal instellingen te gebeuren binnen PCS7 en BCC. Binnen PCS7 dient aangegeven te worden welke units beschikbaar zijn voor AS-based Batch en hoeveel CPU-geheugen er mag gebruikt worden om recepten uit te voeren. In BCC moet jdens het opstellen van hiërarchische recepten aangeduid worden welke RUP's er daadwerkelijk in de PLC uitgevoerd moeten worden. Dit laatste kan enkel gebeuren indien een geldige licen e aanwezig is op de server. De nieuwe OS-controls voor Batch binnen WinCC laten toe om de belangrijkste func onaliteiten van BCC over te nemen binnen WinCC. Er zijn hiervoor zes controls ter beschikking om orders, batches, units,... te kunnen opvolgen en om nieuwe orders en batches aan te maken. Het aanmaken en wijzigen van recepten dient wel nog te gebeuren binnen BCC. Deze controls hebben tal van eigenschappen die het toelaten om de controls aan te passen naar de wensen van de klant. Deze eigenschappen zijn ook dynamisch aanpasbaar via C-scripts. Met het onderzoek dat gebeurd is omtrent AS-based Batch en de OS-controls voor Batch binnen WinCC, is Actemium in staat om deze nieuwe func es toe te passen in toekoms ge projecten. Hierbij is het mogelijk om jdkri sche recepten sneller uit te laten voeren via AS-based Batch en om het de operator gemakkelijker te maken door de nieuwe OS-controls binnen WinCC. Op de demo-opstelling is een werkend Sima c Batch project geïmplementeerd. Hierbij zijn de mogelijkheden en voordelen van een batchpakket zo goed mogelijk naar voor gebracht door gebruik te maken van het werkelijke proces en enkele simula es. De nodige kennisoverdracht omtrent PCS7 en Sima c Batch is gebeurd zodat de medewerkers van de opleiding Automa sering binnen de Howest in staat zijn om met het batchpakket te werken. Hiervoor is ook een korte handleiding opgesteld zodat toekoms ge studenten in staat zijn om zelfstandig een werkend project te maken. Een eventuele uitbreiding op deze masterproef is het uitwerken van route control, waarbij het mogelijk is om leidingen te beheren zodat geen ongewenste vloeistoffen door de leidingen gaan, de leidingen gereinigd worden vòòr het doorlaten van een nieuw product,...
82
Literatuurlijst [1] Actemium, ``Actemium België.'' Online website, 2007. [Datum van opzoeking : 24/11/2011]. [2] Howest, ``Hogeschool West-Vlaanderen.'' Online website, 2011. [Datum van opzoeking : 24/11/2011]. [3] ISA, ``Interna onal Society of Automa on.'' Online website, 2011. [Datum van opzoeking : 24/11/2011]. [4] J. Dewulf, ``S88 & commerciële batchpakke en.'' pdf, 2008. [5] P. V. D. Berg, ``ISA-88, het fysieke model.'' pdf, 2011. [6] Siemens, ``Manual for implemen ng Sima c Batch.'' powerpoint sessies, 2005. [7] Siemens, ``PCS 7 process control system, Sima c BATCH V7.1 SP2 opera ng manual.'' pdf, 2011.
83