Fix32 Scada
Fix32 Scada
FIX Training
IX
F
32
Page 1 of 51
1.
1.1
1.2
2
3
4
5
6
6.1
7
8
8.1
9
10
10.1
10.2
10.3
10.4
10.5
10.6
11
a.
b.
c.
FIX Overview
Capablities of FIX Software
Terminology
Basic Architecture of FIX
Development Applications
iFix versus FIX32
Varieties and versions of Fix32
Installing Fix32
Starting FIX
Developing displays
SCU (Systems Configuration Utility)
SIM Addresses
Process Database and DIT
Historical Trending
Historic Assign
Starting and Configuring Historical Assignment
Historical Collect
Start Historical Collection
Historic Display
Defining Pen Groups
Creating Pen Time and Chart Group Definitions
Configuring Pen Groups
Defining Time Groups
Define the Chart Group Configuration
Page 2 of 51
3
3
4
6
8
9
10
11
13
14
24
24
27
33
34
36
38
39
40
40
46
46
47
48
1.
FIX Overview
1.1
Page 3 of 51
1.2
Terminology
A. Node Types
A computer running FIX is called a node
A node that acquires data from a process is a Scada server
SCADA -- (Supervisory Control and Data Acquisition)
communicates with process hardware via I/O driver software
loads and maintains the process database
A View Client is one that does not perform SCADA functions
this node receives data from SCADA nodes
A View node can run other application software
B. Node Configurations
Stand alone node
Any node not communicating with nodes on the network
Fig 1.1 shows a stand-alone SCADA server
Fig 1.2 shows a distributed process
Local node
describes the node being worked on currently
Remote node
On a distributed system, a node other than the local node
May also refer to a node being accessed via a modem
Run-Time node
Does not allow modification of displays or process database
Not necessarily read-only
PlantTV
A read-only View client with DDE and ODBC options
Page 4 of 51
Page 5 of 51
Process Data
FIX is used with the process instrumentation in a plant.
Sensors and controls send data to registers in the process hardware.
Typically this hardware is a PLC
Fix software acquires raw data from process hardware.
B. I/O Drivers
The FIX interface to a PLC is called an I/O driver
Each I/O driver is specific to the PLC hardware
I/O driver functions:
Read (and write) from the I/O device (called polling)
Transfer data to/from addresses in the Driver Image Table
(DIT)
C.
D.
Page 6 of 51
I/O Sensors
I/O Driver
Software
View
(Links)
DIT
PDB
Scan, Alarm
and Control
AI CA
AI TR AO
DI DO
Driver Image
Table
Poll Record
Data:
12 31 18 44 22
19
Page 7 of 51
Development Applications
A.
Page 8 of 51
iFix ver 3.5 is the latest product from Ge-Fanuc and is used extensively throughout
industry. iFix is different to Fix32 in that it uses VBA instead of the scripting
language as used in Fix32, this makes iFix software a much more powerful tool for
accessing and manipulating not only data and screens, but allows the user to actually
write programs from within the iFix environment. The capabilities of the software are
only limited by the user himself and inherent limits of VBA .
The basic components of iFix, are however very similar. The Database builder is the
same (very similar), the SCU is the same. The main differences are the Workspace
view and the driver implementation. Alarming is the same.
IFix is in-line with latest technologies and uses objects extensively. It supports
embedded externally written ActiveX objects within its own runtime window. This
allows for extremely powerful solutions to be developed with the minimum effort and
securely.
For the purpose of this document we are going to concentrate on FIX32 as it is a
sound basis for understanding Fix and Scada applications. Fix32 is still the main
workhorse of the Hot Mill Scada network.
New developments should consider moving to iFix as a solution within the Hot Mill.
Page 9 of 51
FIX32 SuperScada
This is FIX32 Scada Development with every available option
supplied.
PlantTV
This is a Read only version of the View client and does not require a
Dongle. (software key Option Disk required).
Page 10 of 51
Installing Fix32
Page 11 of 51
Page 12 of 51
6.1
Starting FIX
Page 13 of 51
Developing displays
When you first startup Fix Draw is automatically started for you, this can be changed
later if you want. It should look similar to this
Draw Rectangle
Data Link
Tool Box
Colour Box
The toolbox is configurable and can be modified from with Tool Box Setup under
the Tools option in Draw.
For the purpose of Demonstration we are going to develop a Temperature display that
will consist of a 2 Temperature bar indicators and a Trend display, to trend the 2
values.
Developing a simple screen
Go to File select New and use the Default template. Go to Edit, Picture and
change the Background colour to something other than white, remember this is going
to be the background colour of your picture.
From the Toolbox select the Rectangle object
Page 14 of 51
Page 15 of 51
Add the Dynamic properties to the Rectangle by double clicking the temperature bar.
An alternative method is to use the ? and browse to the required tag. Select OK
Highlight all the selected area as below and Group the object by CTRL G.
Page 16 of 51
Move this object into the original Rectangle. Add a Data Link
the same Tag as the temperature bar.
Page 17 of 51
Page 18 of 51
Page 19 of 51
Add the two temperature Tags to this object, use the Add button to put it into the
Penbox
Note the limits have been changed to reflect the working values of the signals.
OK this.
Drag the object and change the objects background and forecolour, modify the axis at
the same time, the display should look like (similar) to this
Page 20 of 51
Filter the Object to display the Sprays alarms only, for all priorities and disable the
control border.
OK this.
The display should look like this.
Page 21 of 51
.
akj May 2004
Double click the Edit Commands button and enter change it as below:
Page 23 of 51
From here the Scada can be defined, paths selected, Networking, Alarms, Security and
Startup options are set.
Double click the Node text within the VDU Mimic and change the Node name to be
SCADAx, where x is the number of your station.
I/O/DIT drivers can also be accessed and configured through this route. By default the
SIM driver is embedded as standard.
The SIM driver is capable of generating Ramp, Sine, Random and Digital signals for
Simulating inputs. A list of the SIM addresses are show below
8.1
SIM Addresses
RA
Ramps a value from 0 to 100% of the EGU range at a rate controlled by the
RY
register. Read only
RB
RC
Shifts one bit through a 16-bit word at a rate controlled by the RZ register.
Read only
RD
Generates a sine wave from 0 to 100% of the EGU range at a rate controlled
by the RY register. Read only
RE
Generates a sine wave from 0 to 100% of the EGU range at a rate controlled
by the RY register. The sine wave is delayed 90 degrees relative to the RD
register. Read only
Page 24 of 51
Generates a sine wave from 0 to 100% of the EGU range at a rate controlled
by the RY register. The sine wave is delayed 180 degrees relative to the RD
register. Read only
RG
Generates random values between 25% and 75% of the EGU range. Read only
RH
Ramps a value from 0 to 100% of the EGU range and then ramps down to 0%
again at a rate controlled by the RJ register. Read only
RI
Controls the ramp direction of the value in the RH register. When zero,
register RH ramps down; when one, RH ramps up. The value automatically
changes when RH reaches 0 or 100% of its EGU value.
Numeric Value (0 or 1)
RJ
Controls the ramp speed (in cycles per hour) for the value in register RH. The
default value is 60 (1 cycle per minute).
Numeric Value (2 to 3600)
RK
Enables or disables the generation of the value in the RH register. Enter zero
to freeze (disable) ramp and a non-zero value to enable it.
Numeric Value (0 or 1)
RX
Enables or disables the generation of values in the other registers. Enter zero
to freeze (disable) all registers and a non-zero value to enable all registers.
Numeric Value (0 or 1)
RY
Controls the speed (in cycles per hour) at which new values are generated for
registers RA, RD, RE, and RF. By default, the RY register is set to 60 (1
cycle per minute).
Numeric Value (2 to 3600)
RZ
Controls the speed (in bits per minute) that the register RC changes its value.
By default, the RZ register is set to 180 (3 bit shifts per second).
Numeric Value (2 to 1200)
All SIM registers support Analog Input, Analog Register, Digital Input, and Digital
Register blocks. However, for best performance, use the following blocks with the
following registers:
Analog Input
Analog Output
Analog Register
RA, RD, RE, RF, RF, RH, RI, RJ, RK, RX, RY, and RZ
Digital Input
RB and RC
Digital Register
Page 25 of 51
Page 26 of 51
The process dB is used to reference Real names to the values that the DIT (Driver
Image Table) collects.
The DIT is the driver interface to the outside world. This interface can be serial or
networked. PLC registers are collected with the DIT and are then collected by the
PDB where a real name is attached to the register. An example of this is N251, which
is the Roll Change time in seconds; the PDB record for this is shown below
PLC
(N251)
DIT
SAC
PDB
Actual Tag name is RCSEC
To start Database builder you can do this either from the folder or from Apps,
Database Builder. It should look something similar to below
Page 27 of 51
Go to Database and Open the SPRAYS node from the network list and OK this.
(note: you should only see the SPRAYS as it was the only node that was added at
install time).
On OK, the dB tags are recovered and copied to your local machine as below
Page 28 of 51
Even if no edit is done to this Tag and you change nothing, OK or Cancel will
move this Tag off Scan. This is confirmed with the Display as below
Page 29 of 51
To put the Tag back on Scan, simply click in the Scan Stat field for the Tag and type
ON. This changes the Tag to either ON or PON the PON simply means it is
waiting for SAC to complete its scan and update the Tag status. Pressing CTRL R
refreshes the database display.
To filter the Tags on the display, use the Query option and select the criteria you
wish to filter by. You can also include * as a wildcard selection. An example is to
find all occurrences of the string beginning with F7, i.e. any string that starts with F7
and anything after it.
Select Query, Edit Query and change it to the following
Enter OK after the filter has been applied you should end up with the following
display
Page 30 of 51
At this point go to Database and Close the view of the SPRAYS Node.
Go to Database and Open up your local node name = SCADAx
To add a Tag; as an example a SIM Tag for Register D i.e. SIM:RD, carry out the
following. Select Blocks, Add, select AR (analog register) and OK. You should see
as below
Page 31 of 51
Enter OK.
Note that the Scan Stat is OFF this is normal for an Analogue Register!
Repeated presss of CTRL R updates the value dynamically on each press.
On exiting Database Builder you will be prompted to Save current Database options
before exiting?, enter No, you will be further prompted to Save Changes to
Database on Node: SPRAYS again enter No
After closing the SPRAYS dB, open up your own local dB add analogue SIM
registers for RA to RH and Save this to your own dB. If prompted reload the dB,
you will be warned that SAC is about to be stopped and prompted to continue or not.
Go to DRAW and develop a screen to display all the Tags as Data Links and
Graphical information.
Page 32 of 51
10 Historical Trending
In the earlier section whilst developing our first screen, we made use of the real-time
trending object. You will have noticed that each time we went from Draw to View the
chart was restarted each time. In the real world it would also be nice to see what has
happened over a period of a day, week, month. etc.
This section discusses historical trending, which is used to obtain a copy of database
values and reserve these values for later viewing.
Historical trending is done in three steps:
Historical Assign
(HTA)
Historical Collect
(HTC)
Historical Display
(HTD)
Historical
Assign
Assignment
File
Historical
Collect
Collection
Files
Historical
Collect
10-1:
Page 33 of 51
b.
c.
Examples:
04052500.h04 May 25 2004 from 12:00am to 4:00am
04021908.h08 February 02 004 from 8:00am to 4:00pm
Auto Purge
Select to automatically purge data files, if desired
If selected, enter the number of days before data is to be purged
- Between 2 and 200
Page 34 of 51
d.
Collection Groups
Node
Name of SCADA Node (Defaults to local node)
All tags in this group are from this node
Rate
Collection period for the tags identified in this group
Phase
Time offset to automatically distribute the data collection load
User can modify this value
Qualifier
Name of a digital tag that defines when collect is on for a group
Collection occurs when digital tag is in a 1 state
Use of this field is optional
Tagname
Page 35 of 51
Limit
Modifiable dead band limit
Used to establish the minimum change from the previously recorded
value (in EGUs) that will write a new value into the trend data files
Provide savings in disk space and improve access times.
Page 36 of 51
2.
3.
4.
Move the cursor to the first groups row and double click the mouse.
The group 1 configuration window appears.
2.
Page 37 of 51
Enter the following tags and filed names: Note these are the Tags you entered
during the dB chapter, on Page 31.
TAG
HTANKTEMP
COILER_TEMP
F7_TEMP
MD_WATER_TEMP
FIELD
F_CV
F_CV
F_CV
F_CV
Note: You may enter this information using the ? or type it into the Tagname Field
in the following format:
TAG.FIELD
5.
6.
After each Tag.Field combination, click the Add button to add the combination
to the Tagname listing.
When you have completed entering the Tag and Filed combinations to be
collected, click on the Save Changes button.
At this point you will be warned:
Page 38 of 51
Notes
b.
Starting Collection
c.
Stopping collection
Start Stop
depending on
current state
Page 39 of 51
This dialog box shows you the number of collection overruns that have incurred. If
overruns have occurred, check your collection rate and phasing to see if there are
changes that can be made to avoid this situation.
2.
3.
From the HTC section of Mission Control, click Start to start the HTC task.
Close mission Control.
HTC is now running in the background.
Note: If any changes are made to a collection group in the Historic Assign program,
you must Stop and re-start the HTC task for the changes to occur, the reson for
this is that HTC only reads the configuration file on program start.
Page 40 of 51
Pen groups
Notes:
Group of Tagnames selected for Trending
Each pen will be displayed as a line in the display chart
Page 41 of 51
Display Mode
Used to determine how the data will be displayed
Directly related to the fixed interval in the time group
Sample: last valid value from the interval
High: highest valid value from the interval
Low: lowest valid value from the interval
NOTE:
Do NOT use special characters in the pen group name if this data will
be used with FIX DDE Server software
Special characters include spaces, dashes, plus signs, underscores, etc.
Page 42 of 51
Time Groups
Notes:
defines start date, time and duration for a chart
will be used as the X axis for a chart
NOTE:
Do NOT use special characters in the time group name if this data will
be used with FIX DDE Server software
Special characters include spaces, dashes, plus signs, underscores, etc.
Page 43 of 51
Chart Groups
Notes:
defines the pen group and time group to be displayed
defines legend, colours and headers for a chart
Chart Header
Used to add descriptive information to the display
Appears at the top of the display chart
There are several things that can be placed in the header:
Chart group name
start time of chart
Pen group name
start date of chart
Time group name
send time of chart
Duration of chart
end date of chart
Number of days before today that chart displays
Amount of time before current time that chart displays
There are also up to 10 users defined header items
Page 44 of 51
File
Actions
Utilities
10-6-6 Chart Details Dialog
Box
New
Select Region
Define Chart Groups
Open
Zoom
Define Pen Groups
Save
Reset to original
Define Time Groups
Save As
Set to Current Time
Define SQL Queries
Print
Anchor/Unanchor
Close
Link/Unlink
Window
Import Lab Data
Synchronise Time
Cascade
Export
Exit
Font!
Options
Edit
Toolbox
Help
Undo
Horizontal Grid
Copy
Vertical Grid
1 Min Auto Update
Configure
2 Min Auto Update
Chart
5 Min Auto Update
Pen
No Legend
Time
Primary Legend
Legend
Alternate Legend
Page 45 of 51
Page 46 of 51
a.
Page 47 of 51
SPRAY TEMPS
Tagname:
SPRAYS:HTANKTEMP.F_CV
SPRAYS:COILER_TEMP.F_CV
SPRAYS:F7_TEMP.F_CV
SPRAYS:MD_WATER_TEMP.F_CV
5. Make sure you modify the SCU to include the SPRAYS node in you
network list.
6. Change the pen line colours using the Pen Colour button and use the
Fetch Limits button to automatically define the limit values.
It should look similar to below:
7. When you have entered all the information for this Pen Group, click
the Save button.
8. From the Define Pen Groups, click OK button.
The Historical Trend Display returns.
b.
Page 48 of 51
2.
3.
4.
8HOURS
08:00:00
00:08:00:00
When you have completed entering the above information, select Save.
The Define Time Groups dialog box returns.
5.
c.
Page 49 of 51
2.
Select the Pen Group SPRAYS TEMPS and Time Group as S8Hours and
OK this. You should see this:
Page 50 of 51
Page 51 of 51