Beruflich Dokumente
Kultur Dokumente
PROYECTO MDF-2005
CABRERO - CHILE
PROGRAMMING SPECIFICATIONS
FOR ControlLogix PLC AND SCADA SYSTEM
Revision History
For the execution of new projects, MASISA has developed a programming standard for
ControlLogix PLC and SCADA System.
The standard was developed considering an easy communication between the PLC and the
SCADA system and a well structured programming, based on data arrays.
RELATED DOCUMENTATION:
READ THIS
MANUAL FIRST - Conventions and - Intended for the use
definitions used in the of operators. Contains
- Data structure between standard SCADA detailed information
HMI and PLC application about the HMI modules,
- PLC structure: Data and - Procedures to configure like controller faceplates,
Program Files the SCADA modules. trendings,...
- Using program modules - Database maintenance
in the PLC
INDEX
INDEX................................................................................................................................................... 1
1. INTRODUCTION ........................................................................................................................ 1
1.1 BASIC SCADA ARCHITECTURE .......................................................................................................... 1
1.2 STANDARD HMI APPLICATION AND PLC MODULES .................................................................... 2
1.3 GENERAL OVERVIEW OF THE STANDARD HMI APPLICATION.................................................. 3
1. INTRODUCTION
The purpose of this document is to specify the general principles of the Supervision, Control and Data
Acquisition System (SCADA) of MASISA.
Deviation from this specification can be made only upon special agreement.
Together with this document, MASISA delivers a complete visualization system program and
PLC Subroutines for the development of new projects. This software and documentation belongs to
MASISA and shall not be used or reproduced in any manner without a commercial agreement
with MASISA.
The next chart shows the different levels within the SCADA system:
10.22.59.09 10.22.59.10
10.22.59.01 10.22.59.06
10.22.59.04
10.22.59.02 10.22.59.07
10.22.59.05
Router 10.22.59.03 10.22.59.08
Ethernet (10.10.10.x)
• HMI STATIONS: (Human Machine Interface) Personal Computer running a special visualization
software. HMI stations are the interface to perform all supervisory functions, as well as motor and
group start and alarm information. The HMI software used by MASISA is Factory Link. See
“Software requirements” later on this document for further information.
• PLCs: The control is done by the Allen Bradley family ControlLogix processors.
• NETWORK CONNECTION: Hardware (Wires, optic fiber, hubs, switches, cards,...) and
software (TCP/IP protocol, Allen-Bradley communications driver) to allow the communication
between the HMI stations and the PLCs.
MASISA has develop a standard HMI application, which consist of a lot of drawings, program
procedures, power packs (templates), database handlers, etc. The Standard HMI application should be
used as a starting base for the development of visualizations systems.
Additionally, MASISA has also developed a lot of PLC program modules and a programming
structure, which is a complement to the standard HMI application.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 3 OF 60
As shown in the “Basic SCADA Architecture” section, each HMI communicates with one or more
PLCs. The standard HMI application structure is “PLC based”. “PLC based” means that the whole
data arrays, communications tables, databases, etc... are defined to one PLC. If more than one PLC
communicates with the HMI station, the whole structure should be repeated for the new one.
The standard HMI application is ready to be used with up to three PLCs (a fourth PLC could be
programmed following the rules on the document “Standart SCADA Application”). Along this
document, “PLCX” or “PX” is used to refer to the respective PLC, where “X” is a running number.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 4 OF 60
DATA STRUCTURE FOR THE INTERFACE BETWEEN HMI AND PLC: This chapter is
useful for filling the communications tables between HMI and the PLCs, because it shows the data
structure and nomenclature used at the HMI level for the communication with the PLCs. The HMI
programmer should refer to this chapter to know what means each variable before introducing the
right PLC address in the communication tables.
PLC STRUCTURE: This chapter contains the complete description of data and program files for a
PLC program of a MASISA plant.
USING PROGRAM MODULES IN PLC: This chapter shows how to use the MASISA
standard PLC modules.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 5 OF 60
3.1 GENERAL
PX_A_BBB[[i]]
X: Number of the PLC where the data is written/read (a running number to differentiate one
PLC from another).
A: Code of the electrical component [M=motor, S=switch,..] (See next pages)
B: One or more characters to identify the tag type.
i: index number of the array.
P1_M_descr[45] is the name of the variable that contains the description of motor (M) with
index 45, controlled by the PLC 1.
The following arrays should be used, for each PLC, in the Factory Link programming:
1
Some data are read periodically from the PLC, and can be changed from Factory Link at any time sending the new data to the PLC. To
avoid that the new data may be overwritten by the read procedure before it has been sent, different variables for the read and write operation
should be used. To differentiate the “write variables” from the read ones, the name of the write variables in Factory Link ends with “_W”
(This rule is only valid for PLC addresses that are both read and written from Factory Link)
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 6 OF 60
3.2 MOTORS
• {TAG} is the ID for each element, for example T10_M01. For each motor there is a data structure
defined in PLC related to TAG name.
• {TAG} is the ID for each element, for example C05_VS10. For each valve there is a data structure
defined in PLC related to TAG name.
* switch addresses must be moved to S_STAT_R[i], BOOL array in PLC to get the same order that
database has in HMI.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 9 OF 60
• {TAG} is the ID for each element, for example D25_LT10_1. For each analog variable there is a data
structure defined in PLC related to TAG name.
For analog variables, related to a control loop following arrays are defined:
1
If PX_CTR_CVMAX ≠ PX_CTR_CVMIN, the CV is scaled to engineering units. If not, CV remains in [%].
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 11 OF 60
• {TAG} is the ID for each element, for example Z40_PIC. For each controller there is a data structure
defined in PLC related to TAG name.
Direct action on an actuator, like VFD’s, control valves without control loops, etc. If feedback exist, it
should be displayed in screen as Analog Variable (PX_ANL_PV[i]).
• {TAG} is the ID for each element, for example N35_ZT_02. For each open loop controller there is a
data structure defined in PLC related to TAG name.
3.8 PARAMETERS
Note: For special cases, like production orders management, new parameters files could be defined.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 14 OF 60
Alarm bits are read by HMI station every one (1) second.
To be used for commands like “start cleaning cycle”, groupstart / stop, etc...
See section 5.9 for further information about the use of General Commands.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 16 OF 60
The structure of a PLC program is the same for all motors of the same type, differing only the addresses.
The same principle is applicable to controllers and other actions, like scaling, ramp generation, etc.
Thus, MASISA has defined that the PLC program should be structured in subroutines, where each of
them contains a part of program that is common for more than one component. Each of these subroutines
is called a “module”, and has input and output parameters. The module is programmed using arrays,
where the desired address is pointed by an Index (Indirect Addressing Mode).
• Standard and structured programs for PLC and HMI Stations in all areas of the plant.
• Direct and pre-defined relationship between PLC and HMI programs.
• Ease maintenance, because of the standard structure for each vendor in the whole plant.
The next is the list of the existing modules, described on this document:
• Motors
• Controllers (PID)
• Positioner Module
• Open Loop Controllers
• Switching Valves
• Ramp generation
Additionally, the standard PLC and Factory Link programs of MASISA, which are delivered with
this document, includes the following items:
5.1.1 DESCRIPTION
Motor modules include the most used commands and options for PLC motor programing, as well as the
whole communication with the routines in Factory Link.
• HMI Commands: The modules receive pulse commands from a HMI station to start, stop and
change speed. Pulse commands are reset in each module.
• Safety Logic (SIF/SIB): The modules include safety interlock logic (FWD and BWD), separated of
operation conditions. Safety conditions can’t be bypassed in the module logic.
• Motor Release (REF/REB): Include the FWD and BWD interlocks between motors and different
parts of the process. Release conditions are not considered in maintenance mode.
• Command mode (COM): Command Mode is an input parameter in the motor block subroutine. This
parameter allows the motor to be operated from any HMI station. When the Command Mode is
active, the HMI motor window shows the commands START, STOP, BWD, etc... (displayed options
depends on the motor type). When the command mode is not active, the HMI motor window only
displays motor information. The Input Parameter can be overwritten for an specific Motor with the
Forced Manual Mode bit (FMM) , which can be Set by the HMI if the Enable Forced Manual Mode
(EMM) = 1.
• Invertion Time: Parameter of the Motor Object Data Strcture, used to delay the change of rotation
wise.
• Alarm Generation: The motor blocks include the alarm bit generation, which should be reset by the
operator, sending a reset command (ACK) for the given motor.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 21 OF 60
The motor block subroutine is called by using the PLC instruction JSR (JUMP TO SUBROUTINE). The
motor modules have only input parameters, which are detailed in the next table:
* It is very important to use the right type of variable (INT) or unpredictable operation could
occur (The “jump to subroutine” instruction don’t makes any type conversion).
The parameters may be a variable or just a number directly written in the JSR instruction. Always the 4
parameters should be filled out (The fourth parameter can be “0” for motors without backward option)
where:
Motor Routine file name :MOD_M_FWD (only FWD running)
Tag :T10_M01 (motor tag this PLC)
Mode :T10_to_T30_MODE (e.g.: Maintenance bit for the area related to that motor)
Command Mode :T10_M01_COM (e.g.: manual operation from HMI, may be any integer)
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 23 OF 60
Each type of motor has his own motor subroutine or module. In this document there are the following
four motor modules.
Every motor block module has a subroutine code. The Visualization System reads this code to open the
motor window correspondent to the motor type.
Motor Module
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 24 OF 60
Look on sections 3.2 and 5.1 for the list of the whole variables to configure the motor module.
Command and Status Words are cleared at the PLC Startup, in the program File Nº 3.
1
COM is the bit {TAG}.STAT_R.0 set bit the subroutine input parameter seen on section 5.1.2. or the FMM bit ({TAG}.STAT_R.15)
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 25 OF 60
The PLC command word is used as input to the motor modules for level commands.
Level commands are not available from HMI stations, and are intended to be used in maintenance and
automatic mode.
1
C=COM (bit {TAG}.STAT_R.0); M=MODE (subroutine parameter seen on section 5.1.2.)
2
The motor block stops the motor if the signal SG is active when the motor runs.
3
The motor block stops the motor if the signal DRV is active when the motor runs.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 26 OF 60
1
The “module code” is assigned in the motor block subroutine. See next section for further information.
2
When AMM=1 enable forced manual mode from HMI.
3
Only for motors with reverse rotation: attached to the motor symbol, MMI displays an arrow to indicate backward operation.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 27 OF 60
As seen, every motor module writes a Code on the Output Word, used by the Visualization System to
open the proper window when a motor is selected. When the Command Mode is active (COM = 1), the
following Codes are read:
Additionally, MASISA delivers a standard PLC program, where these examples are included.
Variables indicated with [*] are only as example.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 30 OF 60
5.2.1 DESCRIPTION
• The module performs the action requested by a command sent by the operator from the HMI
Station and resets the command bit. Commands change the operation modes: Auto/Manual,
Local/Remote and Ramp/Step.
• The module activates the PID instruction, and determines the Update Time (PID uses the Update
Time for the calculation of the Integral and Derivative Terms).
• Control Value (CV) could be in [%] or in engineering units.
• Setpoint changes with steps or ramps. Ramps generation is done according to a selected ramp value
[Engineering units / second]
• PID goes to manual when the actuator isn’t ready or when a process condition determines that the
system should be in manual.
• In manual mode, only local mode is allowed.
• When the “change to remote mode” command is send and the controller is in manual, the PID goes
first to automatic mode (if possible) and then changes to remote mode.
• In remote mode, Local Setpoint follows the Remote Setpoint for a bumpless transition to local
mode.
• When the controller goes to manual, the Control Value (CV) remains with the same value.
• Alarm Handling: Based on the alarm limits sent from the Operation Station, the module generates
the alarm signals (HighHigh, High, Low, LowLow and Tracking Fault). (see section 5.8 “ALARM
HANDLING AND SENDING” for further information).
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 33 OF 60
The following chart shows the interface between the controller module and the PID instruction. A
specific diagram of the controller module could be found at the next chart.
_CTR_STAT_R[i]/9
OUTPUT PARAM.
OUTPUT PARAM.
OUTPUT PARAM.
UPDATE PULSE
STATUS WORD
CONTROLLER
UPDATE TIME
SET OUTPUT
AFTER RAMP
{TAG}.CVEU
_CTR_CV[i]
{TAG}.UPD
SETPOINT
{TAG}.SP
INPUT PARAMETER
INPUT PARAMETER
INPUT PARAMETER
PROCESS VALUE
[s]
UPDATE TIME
{TAG}.ANL.PV
SET OUTPUT
{TAG}.CVEU
*_CTR_PV[i]
_CTR_CV[i]
[msec]
Controller Module
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 35 OF 60
Following chart explains the generation of the Status Bits (PX_CTR_STAT_R[ ]) within the PID
Module. Command Bits (PX_CTR_STAT_W[ ]) are pulses, set by the HMI, reset by the controller
module.
_CTR_W: Change to
manual mode: _CTR_R: STAT_R.12
STAT_W.1 ≥1 L 0: auto mode
1: manual mode
U
_CTR_R: STAT_R.3
Actuator running
_CTR_R: STAT_R.4
Process interlock:
go to manual &
_CTR_W: Change to
automatic mode: ≥1
STAT_W.0
_CTR_W: Change to
remore mode:
STAT_W.3
_CTR_W: Change to ≥1
local mode:
STAT_W.2
_CTR_W: Change to
step mode
STAT_W.4
Actuator running:
(Set by ladder logic out _CTR_R: STAT_R.3
of subroutine) Actuator running
_CTR_R: STAT_R.9
TIMER Timing
Execute PID instruction
.UPD done
(pulse)
5.3.1 DESCRIPTION
The purpose of the Open Loop Module is to be used in all those cases where an actuator exist, which
isn’t related to a closed control loop. A typical application of an Open Loop Controller is the speed
reference for a VFD, where the feedback of the Process Value is not available or used only as
indication, but not as part of a control loop.
1
If the analog output card uses a range different to 0-4095 (eg.0-32767), the unscaled Setpoint should be adapted assigning the
maximum value for Unscaled Setpoint ( {TAG}.UNSCALED).
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 42 OF 60
The next chart shows the diagram of the Open Loop Module:
R
RAMP
UNSCALING OF
L SETPOINT
SETPOINT
LOCAL SETPOINT BEFORE
_OL_SPL[] LIMITING MODULE RAMP {TAG}.MAXOUT
{TAG}.SPL {TAG}.SPI (REF. ANALOG OUTPUT
CARD)
REMOTE SETPOINT R
_OL_SPR[]
{TAG}.SPR
S
Look on section 3.7 for the whole variables related to the Open Loop Module.
The next tables show the bit arrangement of the Command and Status Words of the Open Loop
Module:
5.4.1 DEFINITION
Actuators such as Control Valves, dampers, etc, with no external positioner, require to be positioned
by the PLC Programm through two digital Open/Close Signals. The Position Setpoint may be
generated in the PLC or be the output of an Open Loop Controller or an PID Controller.
This Module has the following features:
The next table shows the way to call the Positioner module:
Output Parameter Bit 0 =Opening Signal Integer This Signals increase/decrease the
POS_ACTUATOR Bit 1 = Closing signal actuator position
* It is very important to use the right type of variable or unpredictable operation could occur
(The “jump to subroutine” instruction don’t makes any type conversion).
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 46 OF 60
5.5.1 DESCRIPTION
The ramp module continuously changes the value of a variable, according to a changing rate, until
reaching a desired value. The changing rate is expressed as engineering units per second.
The next table shows the way to call the Ramp module:
Input Parameter 3 Value after ramp e.u. Real Current value (previous PLC scan)
RAMP_CURRENT module
Output Parameter Value after ramp e.u. Real Current value (calculated for the
RAMP_CURRENT module current PLC scan)
* It is very important to use the right type of variable or unpredictable operation could occur
(The “jump to subroutine” instruction don’t makes any type conversion).
The next ladder program explains the use of the ramp module:
| |
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 47 OF 60
5.6.1 DESCRIPTION
• Activate/disable of valves
• Interlock of valve operation
• Command mode: this mode allows the valve operation from any Operation Station (if needed)
• Alarm generation (failure to open/close)
Look on sections 3.3 for the whole variables to configure the switching valves:
BIT DESCRIPTION
0 SIF Safety Interlock to activate valve
1 REF Operation Interlock (Release)
2 AFW Automatic Condition to activate valve
3 MFW Maintenance Condition to activate valve (only used in
“Maintenance from pushbottons” Mode)
4 FON Failure when valve ON
5 FOF Failure when valve OFF
6 Spare
7 Spare
... ...
15 Spare
The next table shows the color animation of a switching valve in the HMI:
If more than one condition is active at the same time, the animation is done according to the privilege.
Note: In some areas (e.g.Panelhandling) where there are a lot of switching valves, which are not
actuated from the HMI, the use of the routine is optional. However the status words should be
maintained.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 50 OF 60
5.7.1 DESCRIPTION
PLC Program MOD_STARTUP is used for the initialization of data files. The system jumps into the
startup file the first time the PLC program starts.
• Enabling / Disabling the posibility of forcing motor manual mode from the HMI
• Enabling the activation of alarms (controllers and analog variables)
• Reset of alarm bits
• Reset of Status and Command Words (e.g. for the motor module, file {TAG}.STAT_R1 are reset)
• etc...
5.8.1 DESCRIPTION
• Alarm generation for motors, PID controllers, analog variables, switching valves and special
alarms
• Detection of changes on the alarm status, and sending to Factory Link.
• Deadband to reset an alarm condition in the case of field variables.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 52 OF 60
TYPE DESCRIPTION
HH HighHigh: Process Value greater than High Alarm limit
H High: Process Value greater than High Warning limit
L Low: Process Value less than Low Warning limit
LL Low Low: Process Value less than Low Alarm limit
TF Tracking Fault: (Only for controllers) In automatic mode, Process Value can’t follows the
Setpoint Reference. (detection using tolerance range and timeout).
Motor Fault Motor failure, possible causes: fault in electric cubicle (FEC), Speedguard (FSG),
Overload (FOL) or Drive (FDR). The specific failure is read from the motor status word,
because they are not sent as alarm.
FOC Switching Valve alarm: failure to Open/Close
Special alarm Any special alarm
Look on each module on chapter 3 for the proper addresses and arrays names.
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 53 OF 60
As seen on section 3.9, there is a special group of alarms, known as “General Alarms”. This type
contains every alarm that can’t be classified in the other alarm groups.
5.9.1 DESCRIPTION
General commands are sent from HMI to PLC requesting a desired action.
As seen on sections 3.10 the next bit arrays should be used to configure the General Commands:
The next chart summarises the way to program the commands on the PLC:
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 56 OF 60
As seen on section 3.11, the communication between HMI stations and PLCs is tested using “alive
bits”.
HMI checks the communication with the different PLCs. To do the test, each HMI station executes
following steps:
• HMI read, at some timed interval, a bit that is always “1” on the PLC. This bit is known as “PLC is
alive”.
• After a time-out without reading this alive bit, the HMI sets the flag “No communication with PLC
“X” ”. This flag remains active until reading again the “PLC is alive”.
The HMI routine, for these “PLC is alive” bits (1 per PLC), is included in the Factory Link Standard
of MASISA.
The next chart is an example of 2 HMI Stations testing the communication with 4 PLCs:
PLC 1 HMI 1
PLC_ALIVE[1]
FL_ALIVE[0].0 = 1
PLC_ALIVE[2]
PLC 2 PLC_ALIVE[3]
HMI 2
PLC 3
PLC_ALIVE[1]=Not used
FL_ALIVE[0].0 = 1
PLC_ALIVE[2]=Not used
PLC_ALIVE[3]
PLC 4
PLC_ALIVE[4]
FL_ALIVE[0].0 = 1
- Each HMI only checks the “alive bits” with the PLCs which it communicates.
- FL_ALIVE[0].0 : the same address should be used in all PLCs
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 57 OF 60
The PLC should check the communication with the HMI stations (e.g., for sending “Message”
instructions when a HMI station is disconnected).
The PLC has a lot of node status bits for channel 1A, but they are not available for Ethernet
communication (channel 2). So, each PLC should have a program for the generation of these node
status bits.
• Each HMI sends, at some timed interval, a bit that is always “1”. This bit is known as “Factory
Link is alive”.
• Each time the “FL is alive” bit arrives on the PLC, it’s reset on the PLC, together with a timer.
• If the “alive bit” don’t arrives, the timer will complete the timing operation, resetting the flag “HMI
with node “i” active” (File HMI_STA[i]). This flag remains inactive until receiving the “FL is
alive” bit again.
The routines for these “FL is alive” bits, is included in the Factory Link and PLC Standard programs
of MASISA.
The next chart is an example of 2 PLCs testing the communication with 3 HMI stations, where the
second HMI station can’t communicates with the PLC’s. On both PLCs, signal B140/2 shows that
HMI node 2 isn’t active:
HMI 1
HMI_STA[3]=1 FL_ALIVE[0].3
HMI 2
FL_ALIVE[2] = 1
PLC 1
FL_ALIVE[3] = Not used
HMI_STA[1]=1 FL_ALIVE[0].1
FL_ALIVE[[ 3]] = 1
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 58 OF 60
5.10.3 CONSIDERATIONS
Each PLC has an unique index, which represent its position within the “PLC is alive” bits array. The
same is applicable to HMI stations.
To avoid duplications of indexes, a table with the different PLC’s and HMI stations should be make,
before filling the communications tables on the HMI stations. The table should look as the next
example (IP addresses only as example):
There are two Production Job data files: for the current one and for the next one.
The SCADA system always sends the complete “Next Job” to all PLCs and each of them only uses
the data it really requires. When a next Job starts, each PLC overrides the current Job with the next
one.
The logic to change from one Job to another should be programmed in the PLC, and should be able to
change from one product to the other without stopping the line and minimizing the material reject.
The data files defined for the Jobs are the following:
FILE DESCRIPTION
MDF_JOB_CUR Current Production Job
MDF_JOB_NXT Next Production Job
MASISA PROGRAMMING SPECIFICATIONS February 2006
GERENCIA DE INGENIERÍA MASISA PLANTA CABRERO MDF-1 PAG. 60 OF 60
WORD DESCRIPTION
0 Not used
1 Job ID (MSW)
2 Job ID (LSW)
3 Type
4 Thickness
5 Overthickness
6 Board Length
7 Board Width
8 Board Rated Density
9 Board Rated Weight
10 .. 15 Spare
16 Production Parameter #1
17 Production Parameter #2
18 Production Parameter #3
19 Production Parameter #4
... ...
The first 15 words, called header, are the variables which defines a specific Production Job. Anyone of
them that changes, implies a new product or job. The production parameters start from word 16 and
will be defined during the project.