Professional Documents
Culture Documents
4 days
2011
Quantum PLC
Configuration and Programming
using Unity Pro
4 days
Your Name:
Company:
Date:
Venue:
Instructor’s
Name:
Schneider Electric FZE makes no representations or warranties with respect to this manual and, to the
maximum extent permitted by law, expressly limits its liability for breach of any warranty that may be
implied to the replacement of this manual with another. Furthermore, Schneider Electric FZE reserves
the right to revise this publication at any time without incurring an obligation to notify any person of the
revision.
Due to continuous product development, the information given in this manual may change without notice.
The information and the intellectual property contained herein is confidential between Schneider Electric
FZE and the client and remains the exclusive property of Schneider Electric FZE.
Schneider Electric FZE does not warrant that the contents of this document are error free. If you find any
mistakes in this manual, please inform us as soon as possible.
LEGAL NOTICE
The contents of this manual are proprietary to Schneider Electric FZE and all rights, including copyright,
are reserved by Schneider Electric FZE. You must not copy any part of the manual in hard or electronic
form or make any adaptation or other commercial use of it without Schneider Electric FZE prior written
consent.
The contents and examples in this manual is for training purpose only. Schneider Electric FZE will not
accept any liability for action taken in reliance on this training manual.
COPYRIGHT
Course Overview
Abstract
This course is designed for Industrial Automation and Control Systems Engineering and
maintenance personnel, who require a familiarity with Unity Pro, allowing them to apply
and maintain Schneider Electric Quantum Controllers in a variety of Industrial Control
Applications.
Prerequisites
Students attending this course should have a fundamental understanding of Electro-
mechanical control devices, electrical circuits, control logic and Microsoft Windows
98/NT4/2000/XP. All exercises will be performed using Windows XP Professional.
Process and/or Manufacturing Control experience would be beneficial.
Course Objectives
Upon completion of this course, the learner will be able to:
¾ Use Unity Pro software to configure a Schneider Electric Quantum Controller and
associated I/O.
¾ Program, at the basic level, a Schneider Electric Quantum Controller to control an
application using the IEC programming editors FBD, SFC, LD, or ST as found in
Unity Pro Software.
¾ Implement Derived Functions blocks at the basic level.
¾ Demonstrate an understanding of derived data types and their uses in a Unity Pro
program.
¾ Create, Save, Download, Upload, Test, Monitor, Search, and Debug an IEC PLC
Application using Unity Pro Software.
¾ Document and Print a Unity Pro PLC application using Unity Pro software.
Course Length
4 Days
Make sure you have following items with you before going through this manual
Hardware
Software
Documents
1. This manual
TABLE OF CONTENTS
1. INTRODUCTION TO AUTOMATION SYSTEMS .................................................................13
2. QUANTUM PLATFORM OVERVIEW ....................................................................................19
QUANTUM CONTROLLER ...................................................................................................................19
I/O ARCHITECTURE ...........................................................................................................................20
CPU FEATURES ................................................................................................................................21
MODULE GENERAL FEATURES .........................................................................................................23
PROCESS CONTROL ..........................................................................................................................25
HOT STANDBY ...................................................................................................................................25
3. UNITY PRO OVERVIEW ..........................................................................................................27
4. EXERCISE - PROJECT SETTINGS .......................................................................................32
5. PLC CONFIGURATION............................................................................................................36
This page is intentionally blank
CONFIGURATION EDITOR ..................................................................................................................36
HARDWARE CONFIGURATION ...........................................................................................................36
REMOTE I/OS AND DISTRIBUTED I/OS ..............................................................................................38
6. EXERCISE : QUANTUM PLC CONFIGURATION...............................................................40
7. VARIABLES ...............................................................................................................................46
8. EXERCISE : VARIABLES........................................................................................................50
9. APPLICATION STRUCTURE..................................................................................................52
OVERVIEW .........................................................................................................................................52
EXECUTION MODE..............................................................................................................................52
TASKS ................................................................................................................................................53
SECTIONS ..........................................................................................................................................53
FUNCTIONAL APPROACH ..................................................................................................................54
PROGRAM PROTECTION ....................................................................................................................54
PROGRAM ANALYSIS ........................................................................................................................55
BUILD APPLICATION ..........................................................................................................................55
10. EXERCISE : CREATE NEW SECTION.............................................................................56
11. FBD LANGUAGE..................................................................................................................57
OVERVIEW .........................................................................................................................................57
FBD EDITOR .....................................................................................................................................57
PROGRAMMING RULES .....................................................................................................................59
EXECUTION SEQUENCE .....................................................................................................................59
12. EXERCISE : FBD LANGUAGE ..........................................................................................61
13. LD LANGUAGE ....................................................................................................................72
OVERVIEW .........................................................................................................................................72
LD EDITOR ........................................................................................................................................72
14. EXERCISE : LD LANGUAGE.............................................................................................74
15. ST LANGUAGE.....................................................................................................................78
16. EXERCISE : ST LANGUAGE .............................................................................................80
17. DERIVED FUNCTION BLOCK ( DFB ) .............................................................................82
OVERVIEW .........................................................................................................................................82
18. EXERCISE : DFB..................................................................................................................84
19. SFC LANGUAGE..................................................................................................................96
OVERVIEW .........................................................................................................................................96
Agenda
DAY 1
INTRODUCTION TO AUTOMATION SYSTEMS
QUANTUM PLATFORM OVERVIEW
UNITY PRO OVERVIEW
PROJECT SETTINGS
PLC CONFIGURATION
VARIABLES
DAY 2
APPLICATION STRUCTURE
FBD LANGUAGE
LD LANGUAGE
ST LANGUAGE
DERIVED FUNCTION BLOCK ( DFB )
DAY 3
SFC LANGUAGE
IL LANGUAGE
APPLICATION TESTING
DIAGNOSTICS AND DEBUGGING
OPERATOR SCREENS
REMOTE I/O CONFIGURATION
DAY 4
UNITY QUANTUM HOT STANDBY
I/O SCANNING
GLOBAL DATA
ELECTIVE 1: ANALOG PROCESSING (OPTIONAL)
ELECTIVE 2: SECURITY (OPTIONAL)
ELECTIVE 3: UNITY ARCHIVE FUNCTIONS (OPTIONAL)
ELECTIVE 4: DOCUMENT AND PRINT (OPTIONAL)
Note :
Some of the topics are elective modules and may not be covered in your course if
there are of no interest to the participants in your group. If there is a topic labeled
“Elective” included in the manual that is of particular interest to you, please inform
your Instructor.
Lesson Overview
This lesson will provide the learner with an overview of Automation systems and
cover the history, types and evolution of PACs. We will also discuss the basics of
applying PAC systems to a given process and the placement of the Schneider
Processors under the Unity software Platform.
PAC – Definition
A Brief History
Although relay circuits performed their job well, they could be very expensive to
install and maintain. In fact, the primary reason for designing PACs was eliminating
the large cost of replacing complicated relaybased machine control systems.
Picture a machine control panel that included hundreds or thousands of individual
relays. The size could be mind boggling. How about the complicated initial wiring of
so many individual devices? These relays would be individually wired together to
yield the desired outcome. As you can imagine, such a complicated system brought
with it many problems.
To be a cost- and time-efficient replacement for relays, PACs needed to be easy for
maintenance and plant engineers to program, their lifetime had to be long, and they
had to survive the harsh industrial environment. That's a lot to ask! The answers lay
in using a programming technique— Relay Ladder Logic—based on the relay
technology people were already familiar with, and replacing mechanical parts with
solid-state ones.
In the early 1970s, the dominant PAC technologies were sequencer-state machines
and the Bit-slice based Central Processing Unit (CPU). Initially, conventional
microprocessors lacked the power to solve PAC logic quickly in all but the smallest
PACs. However, as conventional microprocessors evolved, larger and larger PACs
were based upon them.
Communications abilities began to appear around 1973. The PAC could now talk to
other PACs and could be far away from the machine it was controlling. Because
PACs could also now be used to send and receive varying voltages, they were able
to enter the Analog world. But despite these advances, lack of standardization
coupled with continually changing technology still made PAC communications a
nightmare of incompatible protocols and physical networks. The 1980s, however,
saw an attempt to standardize communications. PACs also got smaller in size and
became software programmable through symbolic programming on personal
computers (previously, PACs had required dedicated programming terminals or
handheld programmers). Today, the world's smallest PAC is about the size of a
single control relay!
To see the real-world benefits of using a PAC, let’s look at a batch plant operation
where two ingredients (A and B) are added into a tank in a specified proportion and
properly mixed and conveyed to another area of the process.
Two additional input lines are required, one for cleaning solution and one for air. All 4
lines are valve controlled into one common pipe with a flow meter (1 pulse output per
gallon). The other side of the flow meter connects to a Y pipe configuration, where
each leg has a valve. One leg goes to the mixing tank, and the other goes to a runoff
(or wastewater) area. As an example, let’s assume that the goal is to mix 420 gallons
of A with 280 gallons of B and send the mixture to the next process area. As in any
process of this type, there needs to be a safety level float switch in the tank to shut
down the process and sound an alarm if a certain level is exceeded. The sequence
of events to control the process might go something like this:
Operational Sequence
Step Action
1 Open valve for cleanser, other 3 closed, tank inlet valve closed, run-off valve
open
2 Start pump, measure 50 gallons flow of cleanser
3 Turn off cleanser valve, turn on air flow for 5 seconds
4 Open valve for A, open tank inlet valve, close run-off valve
5 Start pump, measure 420 gallons flow of A
6 Turn off valve A, close tank inlet valve, open run-off valve
7 Turn off valve A, close tank inlet valve, open run-off valve
8 Turn off cleanser valve, turn on air flow for 5 seconds
9 Open valve for B, open tank inlet valve, close run-off valve
10 Start pump, measure 280 gallons flow of B
11 Turn off valve B, close tank inlet valve, open run-off valve.
12 Start the tank mixer motor and run for 5 minutes
13 Open cleanser valve, start pump, and measure 50 gallons flow of cleanser.
14 Turn off cleanser valve, turn on air flow for 5 seconds.
15 Once mixing is complete, open valve at tank outlet to allow discharge of
mixture
Pretty complicated and time consuming, wouldn’t you say? With a relatively small,
inexpensive PAC, on the other hand, all of this process can be controlled with the
following I/O configuration:
10 digital outputs (one for each of the 7 valves, 1 for the pump motor, 1 for the
mixer motor, and 1 for the alarm)
2 digital inputs (1 as a counter input from the flow meter and 1 as a safety level
float switch in the tank).
15 steps with relays, or two steps with a PAC. Guess why most businesses prefer
to use PACs instead of relay-based systems
In a system control architecture the Control System element is used to provide the
monitoring, decision making, and physical control of the automated process.
In general, this is achieved using the following:
- Input signals
- Output signals
- Processing electronics
- Communications electronics
- Programming and interfacing software
The control system processing does not extend to the operator interface handled by
the HMI terminal or Computer. It is limited to:
• Reading data from the field inputs, or resulting from communications with
other devices with the aim of providing the current operating status of the
process
• Solving the control logic based on the current operating status of the process
• Writing data to the PAC outputs as a result of solving the control logic, with
the aim of controlling the process via the actuators of the system.
Programming Software
The Unity Pro software is installed on your PC and uses the Windows user
interface.
Also, variables (or tags) are created for communication with the Control System
via communications networks or buses. Once the configuration is complete, the
project is down-loaded to the Controller and the system is ready to use.
- This is where the PAC application developed using an HMI tool can be used to
monitor and control the process, based on a set of views.
- There is communication with the control level. This is done via the terminal’s
communication interfaces, such as COM ports or Ethernet links, and standard
networking devices, such as cables, hubs or switches.
There is the monitoring and control level, which applies to:
- Process control devices, such as PACs with their I/O, expert modules like counter
or axis control modules or their communication modules for networks or buses, such
as Modbus, CANopen or AS-i.
- Electrical power equipment, such as motor starters or drives.
There is the process level with:
- Sensors and actuators that have a direct effect on process devices, such as
pressure or temperature sensors, motors and limit switches.
- Process devices, such as conveyors, tanks or hoppers, valves and, of course, all
the piping required to connect these various devices.
Quantum Controller
The new Quantum PLCs are managed by Pentium processors along with a
Phoenix co-processor
I/O Architecture
Quantum Supports 3 Flexible Architectures
¾ Local I/O and its Expansion
¾ Remote I/O
¾ Distributed I/O
Local I/O
In the Quantum Automation Series System, Local I/O rack can be expanded to
add one more Local rack thereby supporting upto 32 Local slots. Expansion
requires a backplane expander module and Separate power supply modules on
both racks.
Note: You may not place Intelligent or Option modules in the secondary
backplane.
C RIO
P DI DI D
P HEA
O
D
Local
RIO RIO
P DI D AI A P DI D AI A
DRO DRO
O O O O
P P
Drop Drop
Up to 31 Remote
Remote I/O network is most preferred network for connecting I/O modules
remotely.
Distributed I/O (DIO)
C MB+ DI D AI
P
P NO O
For applications requiring small drops distributed over many locations, the
Quantum system provides Distributed I/O (DIO) which cost effectively locates I/O
closer to the process reducing the cost of wiring sensors and actuators to I/O
modules.
Quantum’s DIO architecture uses the same I/O modules as the Local and
Remote I/O architecture to reduce the cost of spares inventory yet distributes
them over low cost, twisted pair cabling to reduce installation costs.
The Distributed I/O architecture, based on Modbus Plus technology, can support
up to 63 drops per network over 6000 feet.
The system is capable of supporting up to three (3) DIO networks through the use
of Network adapter modules. See the following page.
Note: Distributed I/O drops may only contain one (1) backplane.
CPU Features
Range of PLCs
Applications easily
upgraded for expansion
¾ Huge memory limits : 7.1 Mb of program, 768 Kb of data and up to 8 Mb for file
storage (recipes and production data)
Main Characteristics
Standard CPUs
Upwards compatibility
Unity firmware can be
downloaded into 431 14A and 534
14A processors
Conversion of Concept
applications
Hot Swapping
All modules can be removed and inserted under power.
Processors
Wiring devices
CableFast and Telefast make wiring easy
To interface field devices to Quantum PLCs
10 customized terminal blocks
9 Support discrete and analog I/O
9 Optional individual fusing
9 Robust 50-pin subD connector
9 Termination point provided for each wire
9 Pre-configured for field power
distribution
2 system cables (for discrete and analog I/O)
9 Standard power cable for intensity < 0.5
A
9 High power cable for 2 A per point
9 Lengths from 3 to 12 feet (0.9 to 3.7 m)
9 Color coded wiring at XTS connector
Output modules
9 4 or 8 output channels / Current
9 4 output channels / Voltage or multi-range
9 Resolution : 12 bits
Expert Modules
Enhance overall system performance by reducing the processor workload
Process Control
Quantum PLC is know as a Process PLC as it support many functions required to function a
Process Industry
PID Autotune
Easy commissioning
Easy to implement in an application
Hot Standby
Hot Standby or Redundancy feature of Quantum PLC makes it a most
available PLC which can be used in any critical process industry
Maximum distance : 2 km
Ethernet 100 Mbit/s link
The whole data are exchanged without any user configuration
One scan is sufficient to exchange the whole context
Hot-standby processor : 140 CPU 671 60
Embedded fiber optic port (Ethernet 100 Mbit/s)
Selection Guide
57-20 57-30
Up to 3 ……….10 ………...100
Presentation
The right tool for all phases of your project
Openness
Create links between the project and external documents
Import / Export all or part of application in XML format
Re-use the knowledge base developed with legacy software
Before you Read each section of the Lab Exercise carefully before responding to
begin the instructions.
Step Action
1 If it is not already running, start Unity Pro.
3 Access the parameters of the project and validate the diagnostic system and
application.
5 For the SFC section, allow the multiple token and uncheck the option Allow
multiple evolutions by divergence of sequence selection.
6 Utilize the Navigator application to navigate within the project and access all of
the Editors.
Select the 140 CPU 434 12A/U Processor and Click OK.
Navigate within
the Project and
the different
Editors
5. PLC Configuration
Configuration Editor
Hardware Configuration
Processor
replacement
Only same family is proposed
Replacement is possible only in offline mode
Quantum processor can be placed anywhere in the rack
Rack configuration
1. Choose the rack
2. Define the power supply (first
position on Premium and first / last
position suggested on Quantum)
3. Replace the processor (if
necessary)
4. Define the modules (add a device or
drag & drop from hardware catalog)
Processor Configuration
1. Select the operating mode
2. Define the memory cards
3. Define the global objects of the application (number of bits and words)
Module Configuration
1. Configure the parameters of each channel (function, task, IODDT, …)
2. Adjust the channels of expert module
Configure a network
1 – Create a logical
network
Add a new
network (right
click)
Choose the type
of network
Change name if
necessary
2 – Configure the logical
network
Open the logical
network
Configure the parameters (IP address, global data, …)
3 – Define the communication module (drag & drop from hardware catalog) or the PCMCIA
card (double click on card
position and add submodule)
4 – Associate the logical
network to the module or card
Open the
communication module
Select the channel
Choose the function
Link the logical network
to the channel
Step Action
1 Access the configuration of the local rack
2 Configure all modules as per the hardware available
3 Access the discrete input module and configure it with the following
parameters :
• Task should be MAST
• Validate the configuration of the module
4 Access the discrete output module and configure it with the following
parameters :
• Task should be MAST
• Timeout State should be “Hold Last Value”
• Validate the configuration of the module
5 Access the analog input module and configure it with the following
parameters :
• Task should e MAST
• Data Format is Voltmeter ( Scale -10,000 to +10,000)
• Range should be 0v TO +5V for channel 1
• Range should be 4mA TO 20mA for channel 2
• Validate the configuration of the module
6 Access the analog output module and configure it with the following
parameters :
• Task should e MAST
• Channel1 Timeout State : Hold Last Value
• Channel2 Timeout State: 100
• Validate the configuration of the module
7 Double click on the processor module and configure it with the following
parameters :
• %MWi reset on cold start
• 512 %M
• 2048 %MW
• Validate the configuration of the module
Step Action
1 Create an Ethernet logical network with the default name Ethernet_1
2 Configure the logical network :
• IP address : your station IP address
• Subnetwork mask : corresponding to your station IP address
• Gateway address (optional)
3 Configure the Ethernet port of your processor :
• Ethernet TCP/IP
4 Associate the logical network to the NOE port
Access the In the application browser, double click on 1 : 140 XBP 016 00 to access the
configurati configuration of the local rack
on editor
Configure Double click the Rack 1 and change the rack to 10 slot
the local
rack
Create an Go to the Project Browser, right click on Communication/Networks then select New
Ethernet
logical
network
Network
In Network tab :
• Select Ethernet network
• Accept the given name Ethernet_1
• Validate with OK
Configure Double click on Ethernet_1 logical network to access to the configuration. Define the
the parameters :
Ethernet
network • IP address : 192.168.1.x (station IP address)
• Subnetwork mask : 255.255.255.0
• Gateway address : 0.0.0.0
• Validate with Edit/Validate
Configure Double click on Ethernet Port in NOE Module to access to the configuration
the
Ethernet
port
7. Variables
Overview
Max 32 characters
Located & Unlocated
Located Variables
Has an Address Specified
Required to communicate outside PLC ( eg, SCADA )
Unlocated Variables
No address specified
Easy to Create, Faster to execute
WORD represents a “bit string 16”, meaning the length of data is 16 bits
UINT represents an unsigned integer value. The range of values are 0 through 65535
REAL represents a floating point value. The range of values are -3.40e+38 to
3.40e+38
All of the above values are equal and were just entered differently
Data Editor
Unlocated
Variables
Located
Variables
Types in 32 bits (DINT, DWORD, REAL) are always mapped on an even address
(i.e. %MW102)
REAL type is mapped on a %MW or %KW address (not on %MD, %MF, %KD or %KF
address)
DDT is a user defined Data Type which can comprise of different other Data Types and/or
Arrays. By creating DDTs the program can be made simple and engineering time can be
saved.
Following snapshot shows a DDT named ‘Motor’ which consists of 4 BOOL data types ( Start,
Stop, Cmd, Error) and an INT data type (Speed)
8. EXERCISE : Variables
In this exercise, we will look at the steps required to create variables for later use
in our Logic.
Step Action
s
1 To create variables we use the Data Editor tool. This is opened from the
browser opening the Variables & FB Instances folder and double clicking
on the Elementary Variables item as shown.
This will open the Data Editor tool with the Variables tab pre-selected.
This is shown below.
2 At this point we are only interested in the Variables tab. The other functions
of the Data Editor will be explained as we use them. To create a new
variable using the data editor, proceed as follows:
3 Click in an empty Name field, and type in the new instance name.
4 Click in the Type field and enter the data type name. You can also select
the type from a pull down list or browse for it by clicking on the browse button
that appears in this field while it is selected.
5 If required, click in the Address field and type in the appropriate address for
the instance. If this field is left blank, then the variable is an unlocated
variable.
6 If this variable requires an intialisation value to be loaded at start time, enter
that data in the Value field.
7 Should the Symbol name not be descriptive enough, enter a comment in the
Comment field. An example is shown below.
9. Application Structure
Overview
Application management
Single station but multi-instance software
Complete application saved in a single file (*.stu)
Software structure
Tasks (single or multi task)
Sections and subroutines
Functional modules
Protection
Partial or total (one or several sections, entire application)
Program analysis
Application Structuration
In different tasks
Single task (only MAST) or
multitask (MAST, FAST and
AUX )
Event tasks : IO event (EVT)
and TIMER event
In execution mode
Cyclic execution (only for
MAST task)
Periodic execution
In sections
Tasks are structured in
sections of program
In subroutines (SR)
MAST, FAST and AUX tasks
can contain subroutines which are called by a section or another subroutine
Execution mode
Tasks
MAST : Contains sections and subroutines, Programmed in
LD, FBD, IL, ST or SFC, Cyclic or periodic execution (0 to 255
ms), Controlled by watch dog and system bits & words
EVT and TIMER: To reduce response time of application program, Single section
programmed in LD, FBD, IL or ST, EVTi : events come from I/O modules, TIMERi : events
come from event timers
Sections
Subroutines
Unlimited number of subroutines
Attributes of each subroutine
Name : 32 characters maximum
Language : LD, FBD, IL, ST
Associated task : MAST, FAST, AUX
Call is carried out from a section or another
subroutine Number of nesting is limited to 8. A
subroutine should not call itself (not recursive)
Subroutine is linked to a task. It cannot be called
from sections or subroutines of the other task
Functional Approach
Program Protection
The project protection function is accessible from the Properties screen of the project in offline
mode.
This function is used to protect the program sections.
Note: The section protection is not active as long as the protection has not been activated in
the station.
Note: The project protection is effective to the marked sections only. This does not prevent
from:
¾ Connecting to the PLC
¾ Uploading application from the CPU
¾ Changing the configuration
¾ Adding new sections
¾ Changing the logic in a new (not protected) section
Schneider Electric FZE, Dubai, UAE
54
Quantum PLC Configuration and Programming using Unity Pro - 4 days
Notes
If a section is configured with a protection (read or read/write), when protection has been
activated this will be indicated by a locked padlock at the section level.
If the section is configured with a protection but the protection is disabled, an open padlock is
displayed at the section level.
Program Analysis
Allows to detect the errors generated for each application modification
The errors detected during the analysis phase generate automatically a warning or an
error message in the output window
The color of the messages is blue for the warnings and red for the errors
Double click on a message to directly access the corresponding part of program and
correct it
Build/ Rebuild
Analyse
Output window
Build Application
Allows to generate a « compile » project needs for the PLC running
Rebuild all project creates a file of your complete project that can be downloaded to
the PLC or the simulator
Build project takes into account the changes made to an existing project
A build is always preceded by an analyze of the project and is not done in case of
errors (displayed in red color)
Steps Action
1
Right-Click on the Sections directory of the MAST task.
2
Select New Section in the context menu. The Section Properties dialog will
then display.
3
Enter the Section Name as Motor_Control.
4
Set the Language to FBD.
5
Enter a comment in the Comment field if desired.
6
Click on Apply.
7
Change the Name to ABC_Tool_Control, and the Language to LD.
8
Click on Apply.
9
Change the Name to ST_Section, and the Language to ST
10
Click on OK.
11
You should now have 3 Sections shown in the project browser under the
MAST task.
Overview
Function Block Diagram (FBD) is a graphical language that is data flow oriented
FBD program uses functions and instances of function blocks linked each other by
links or intermediate variables. Comments can be add to describe the logic of
program
FBD programming is not cell oriented but a grid help you to position the blocks
FBD Editor
Based on a customizable grid (by default 36 columns x 24 rows)
Free form editor
Execution number - Execution sequence is defined by the position of FFBs and links
but can be changed
FBD Toolbar
Select a FFB
Extendable Blocks
Programming Rules
Variables
Directly entered
Define through the data selector or by drag and drop from the data editor
FFBs
Define through the data selector or by drag and drop from the <Libset>
browser
Define through the FFB input assistant
Loops
Links are not permitted to create a loop
Use intermediate (feedback) variable to resolve a loop
In this exercise we will create a simple motor starter circuit with a time
delayed startup. We will also track the current running time of the motor, and
create logic to drive fault indicators. Once this circuit is complete and
operating correctly, we will build a circuit that allows and operator to increase
or decrease a value by using input switches. That value could be used to
drive a motor speed controller or provide manual control for a control valve.
Step Action
1 Open your Motor_Control Section and Create a Comment “Motor Start/Stop
Control”
4 Fix if there is any errors or warning ( Double click on the Error or warning to
take you the place where error/warning occurred)
OR
OR
OR
After download is successful, Notice the EQUAL and STOP on the status
bar
OR
1. Right click any variable and select Modify or Set or Force to test
Note: Animation Table will display the values of variables in real time; you can
Modify/Force variables using Animation Table.
Hint: Right click any variable and click on Initialize Animation Table. You may
select part of logic and right click and select “Initialize Animation Table” option
so that all variables inside the selection will be captured in the new animation
table.
8 Disconnect Simulator
OR
9 Connect to your Quantum PLC through USB
OR
5. Make sure you have connected your PC to 140 NOE module ( either
through a switch , or a directly using a cross over cable )
We are now going to add another interlock to the circuit online. This is done
by increasing the number of pins on the AND function to accommodate the
new input. Click on the center of the AND block. Your screen should like the
one below.
Point at the Black box at the bottom of the AND_BOOL block and pull it
down 1 grid point. You will get a confirmation pop-up message.
You can now continue with editing. An extra pin will be added to the
AND_BOOL block. Assign ‘Overload’ variable to the new PIN.
Perform ‘Build Changes’ to accept the new modification
OR
Note that your status will now show EQUAL , RUN and BUILT
12 Add to the logic program to include an indicator which displays the status of
the motor when it is stopped. Use the NOT_BOOL function block. Also, add
an indicator for the motor being in the overload state. The tags for this
already exist.
Hint : Use OR
13 Add an On Delay timer function block to your program to indicate the motor
runtime. Use the following new time variable on the ET pin to identify this
new output point: Motor_Runtime
This circuit can be created with one TON timer block. Identify this timer
function block with the instance name Motor_Time. Use 49 days as the
timer preset.
Your logic should now look similar to that shown below.
15 We will now add some logic to generate an operator controlled value that
could be used to drive a set point. The operator has two control inputs that
can make a value move up or a value move down. The rate of the
movement is controlled by internal logic from a programmed pulse
generator. This signal could also come from a System bit (%S6), but the rate
options are not as great. Start by adding the pulse generator logic as shown
below in the same section as the motor control circuit.
Therefore, the up logic is: Increase AND NOT Decrease AND Value LESS
THAN 100 AND pulse.
The Increase signal should use the 4th Input point on your workstation, and
the Decrease signal the 5th. Use the correct topological addresses for your
hardware when you create these variables.
A possible solution is shown in the following figure.
13. LD Language
Overview
Ladder Diagram (LD) corresponds to a rung for relay switching. Left power rail
corresponds to the phase and right power rail corresponds to the neutral of the rung
A group of objects linked together with no link to other objects (excluding power rail)
is called a network
LD programming language is cell oriented (only one object can be placed in each
cell)
Process sequence is determined by the data flow within the section. Networks
connected to the left power rail are processed from top to bottom
LD Editor
11 - 64 columns and 100 – 2000 lines
Grid divides section into rows and columns
Execution sequence is defined by position of the networks (from top to bottom)
LD Toolbar
Links
Control Elements
Designation Representation Description
Jump NEXT When status of the left link is 1 this object makes a jump to
a label in the section
For unconditional jump place the jump object directly on the
left power rail
For conditional jump place the jump object after the contacts
Tag Label: Jump target is indicated as text ended with colon
Label (32 characters max) is unique within the section and
is placed in the first cell
Return Return Return object is used only in DFBs and subroutines to force
return to the main program. DFBs and subroutines are
automatically exited after being processed (without return
object)
Note: The link to the right power rail will automatically, is not always required.
Analyze, Build and test your logic.
6 Program an ON delay timer to track the current motor running time. Your circuit
might look like the one below.
Note: The right hand side of a coil is always the same as the left hand side. That
means that the coil passes the logic.
Analyze, Build and test your logic.
7 Program the logic required to control the tool ABC_SEQ_1 output so that it
turns ON when the motor run time is in the range of two to four seconds. This
logic might look like that shown below.
Comparison statement is
ABC_Runtime >= t#2s AND ABC_Runtime <t#4s
Analyze, Build and test your logic.
8 Program the logic required to control the tool ABC_SEQ_2 output so that it
turns ON when the motor run time is in the range of six to eight and one half
seconds.
Comparison statement is
ABC_Runtime >= t#6s AND ABC_Runtime <t#8500ms
9 Program the logic required to control the ABC motor cooling fan output so that it
turns ON when the motor turns on, and turns OFF 20 seconds after the motor
turns off.
Test the operation of the logic as a whole to ensure it meets the specifications.
How did you do? Consult with your instructor to verify your answers and results.
Your instructor can help you with any questions you may have.
15. ST Language
Discrete Control using Structured Text
Overview Generally speaking, ST is very seldom used for discrete machine control,
except in those cases where speed of execution is critical in order to keep the scan
times low. More often, ST us used for complex data manipulations or arithmetic
calculations. Even then, you would be unlikely to see an ST section used directly in
your project. The code is most often encapsulated inside of a DFB, and the DFB
implemented in either FBD or LD code. A brief explanation of the properties and
operation of ST sections can be found below.
Properties of an ST Section
• Statements consist of:
o an operator,
o an operand,
o an expression if required and
o a comment if required.
o In addition, every statement can be provided with a label.
• Statements must be concluded with semicolons.
• Several statements (separated by semicolons) may be present in one line.
• A single semi-colon denotes an empty statement.
• Each line is limited to 300 characters.
• Program length is limited only by the size of the controller memory.
• Line breaks are possible in statements (multi-line statements).
• Labels, symbols and comments can be placed anywhere in a section.
(Comments can be entered anywhere where empty spaces are permitted.)
• A syntax and semantics check is performed immediately after the statement
is entered. The result of this check is displayed in colored text.
• Syntactically or semantically incorrect sections can be saved.
Representation
Instructions
The following instructions are available in the ST language. They are used in
conjunction with operators and operands, FFB calls, literal values and direct address
data, to form the program.
Execution Sequence
Statements are evaluated in sequence, starting from the top of the program.
This consists of evaluating the expressions, and setting values as a result, or making
decisions based on the type of statement encountered.
The operator with the highest rule of precedence in an expression will be executed
first.
Operators with the same precedence are executed from left to right, as described in
the expression. This order can be changed through the use of parentheses.
In order to get a feel for why ST is seldom used for motor control or other discrete
applications, we will build a duplicate of the machine control circuit that we built with
LD, and then test its operation.
Proceed as follows:
Action
1 Open the Structured Text section that we created in a previous exercise. This
section should be named “ST_Section” and is located in the MAST task.
2 Create the new variables as shown below:
Name Type Address
DEF_Start EBOOL
DEF_Overload EBOOL
DEF_Motor EBOOL
DEF_Seq_1 EBOOL
DEF_Seq_2 EBOOL
DEF_Fan EBOOL
DEF_Clamp EBOOL
DEF_Runtime TIME
Analyze and Build your project. Fix errors as required. Consult with your
instructor if you are having difficulties.
4 In order to test the operation of the section, we will create and use an Animation
Table. Create the table as shown below.
Use the Modification feature with the tags as shown to operate the logic. Consult
with your instructor if you are having difficulties.
How did you do? Consult with your instructor to verify your answers and results.
Your instructor can help you with any questions you may have.
Overview
DFB is a user logic encapsulated in a reusable block
To structure the application, simplify the program creation, improve
readability, make debugging easier and
protect your know-how
Outputs : 32 max
In write only by the DFB
To transfer values from DFB to application
DFB Instance
DFB instance
Used in all application
tasks except event
tasks and SFC
transitions
Connect inputs /
outputs to application
variables of same type
Proceed as follows:
Action
1 Ensure that you are connected to your lab workstation or the simulator, and
that your project is Built and Equal.
2 Double click on the Derived FB Types header in the project browser. The
Data Editor dialog should appear with the DBF Types tab selected.
3 Enter the name of your new DFB in the name field as shown below. Press
Enter after typing in the name, and answer Yes to confirm the modification.
Note the 3 icons to the left of the name. The + indicates that we can expand
the object to configure it. The next icon (under constructions) indicates that the
definition of the new function is incomplete or did not analyze correctly and will
disappear after the new block analyzes with no errors. The last icon is the
symbol for a Function Block vs. a Function.
4 Click on the + sign to expand the DFB. This will open the block to let you
define the different components of the DFB:
- Input Pins,
- Output Pins,
- Input/Output Pins,
- Public Variable,
- Private Variables, and,
- Sections.
You should note that not all of these items need to be configured.
5 To create your input parameters, expand the Inputs object and define the
names of the parameters and their required data types. You should note that
you cannot assign addresses to these parameters, but you can specify the pin
location on the block. Create the inputs as shown in the figure below.
7 We do not need any Input/Output or Public variables for our DFB, but we do
need an internal (private) variable to make the pulse generator operate. Create
this variable as shown below.
This completes the definition of the parameters and variables required for our
DFB.The next step will have us create a Section definition to hold the
operational code of the DFB.
8 The last thing we need to define prior to programming the internal logic of the
DFB is the names and types of any Sections for the DFB. You should note that
a DFB may contain as many sections as required to perform its function, and
that you may use all of the IEC languages except SFC. Define a section of
FBD using the name shown below.
As soon as you enter the name of the section, the New dialog will appear to
allow you to set the properties of the new Section. Select FBD, as shown
below.
Note that the new section is now shown in the Project Browser.
9 We will now move the logic for the Setpoint Generator from the Motor_Control
section in the MAST task into the section for the Derived Function Block.
Open the Motor_Control Section.
10 Select the logic for the value generator as shown below, and copy it to the
clipboard.
11 Open the Function Block section in your DFB. This can be done either from
the Project Browser or the Data Editor by double-clicking the Section name.
You will be presented with an empty section as shown below.
12 Paste the logic that you copied from the Motor_Control Section into this DFB
section as shown.
Now that we have created our DFB, we need to use it in the logic. As Unity considers
a DFB to be just another FFB, all of the processes we used earlier can be used to
insert the block. The only distinction is where the FFB is located. The DFB is stored
in the Project or Application library for the project. Unless you specifically copy your
DFBs to the Library, they are strictly local in scope, and can only be accessed from
the project in which they are created.
To insert your DFB into your already existing logic, proceed as follows:
Step Action
s
1 Open the Types Library Browser. You should see your DFB in the
<Project> library as shown.
4 Build Changes and test the function. Repair any errors encountered.
If you encounter any difficulties, consult with your instructor for assistance.
Actions
1 Open your Project
2 Connect to the controller. You should be Built and Equal.
3 Open a section containing the DFB of interest. (Perform a search if necessary).
4 The section should be animated, with the DFB visible in the window.
5 Right – click on the DFB. The context menu will appear as shown.
6 Select Refine, as shown above. The internal logic of the DFB will be displayed
and animated as shown.
Steps Actions
1 From the context menu of the Derived FB Types folder, DFB name, select
Properties.
OR
2 From the context menu of the DFB name in the Data Editor DFB Types tab,
select Properties.
3 A Data Properties window for that DFB will appear. An example is shown
below.
How did you do? Consult with your instructor to verify your answers and results.
Your instructor can help you with any questions you may have.
Overview
Normal step becomes active when the prior transition is true and
becomes inactive when the succeeding transition is true
Each step contains no, one or several actions
Initial step starts the sequence when the application is initialized (one initial step must
be defined for each graph)
Don’t contain action
Transition
For each transition the condition can be a Boolean variable or a transition
section
Transition condition is edited using FBD, LD, ST or IL
language. The result of the evaluation of the transition
condition is assigned to a Boolean variable with the same
name as the transition itself
SFC Editor
Cell oriented editor based on Window multiple document
interfaces
32 columns and 200 rows
1024 steps maximum
SFC Toolbar
Step Properties
Qualifiers
Transition Properties
Transition Section
Multiple token
Several initial steps (up to 100)
Initial steps inside a macro step
Several steps active at same time
Jump to or out of parallel branch is possible
Online Modifications
Full modification in online mode
SFC section can be created in online mode
A step can be added / modified (properties and actions) / deleted
A transition can be added / modified (type and expression) / deleted
As some of the lab workstations have a limited amount of real I/O, we will use
unlocated variables for this exercise. If you have free I/O points available in your
workstation, you may please use those addresses
Create the following variables for use in your Drill Press SFC control program:
Name Type
Drill_Start EBOOL
Drill_Top_Switch EBOOL
Drill_Mid_Switch EBOOL
Drill_Bot_Switch EBOOL
Drill_Motor EBOOL
Drill_Advance_Fast EBOOL
Drill_Advance_Slow EBOOL
Drill_Retract EBOOL
Proceed to the next exercise.
Exercise: Step 2: Create SFC Section
Action
5 Click on OK. Your section list in the project Browser should show the new
section, and the section should be open on the screen.
When you point at any of the individual buttons on the tool bar, a tool tip will pop up
to explain its purpose. We can use these buttons in the creation of our chart.
You should note that these tool are also available from the context menu in the
section. This is shown below.
Action
1 Open your Lab project and connect to your controller.
2 Ensure that your project is Built and that you are Equal to the controller.
3 If it is not already on the screen, open your SFC section.
4 Use the Step tool to insert a new step in the upper left cell of the graph as
shown.
Note that the step frame is blue. That indicates that the step is not yet
configured correctly. If you point your mouse at the block, the tool tip will tell
you what action is required to complete the step.
5 We will now complete the insertion of transitions and steps for our Drill
process. We will use the Multiple insert tool for this step.
Open the context menu and select Transition Step Sequence as shown
below.
7 Click in the cell directly below your first step. The chain of transitions and
steps is entered into the chart.
11 The last error is because there is no initial step defined. Double-click on step
S_2_1. This will open the step properties dialog. Select the Initial Step
checkbox as shown.
Click on OK
Step Action
1 Double-click on the transition under the first step. That will open the
Transitions properties dialog as shown.
2 Assign the variable Drill_Start to this transition. You may type it into the
entry field or look it up using the browse button. See below for the result.
6 Your chart should now look like the one shown below.
7 Analyze your project and Build the changes in the controller. Repair any
errors as required.
8 Using an animation table, run your chart by manipulating the transition
variables.
Note: If your chart does not animate (you don’t see a green fill at step 1), you
will have to initialize the chart.
That is done from Services » Animation Panel » InitializeChart. You will
have to perform this operation twice.
The running chart and animation table is shown below. Note that the chart
has been rearranged for better viewing only. This does not change its
functionality.
In this exercise we will program the outputs directly into the steps. Each of the
outputs is referred to as an Action.
This action can be as simple as a single Boolean variable, or as complex as an
included private action section with many outputs.
An action will turn on when the step is entered, and turn off when you leave the step.
Actions can also be assigned what are called Qualifiers. These qualifiers can be
delays, sets, resets, etc., and should only be used with direct actions and not action
sections.
Note that this is a multi-tabbed dialog. We will change the names of the steps
in addition to setting the actions.
4 Select the Actions tab. The screen will look like the following:
In the upper fields we select the Boolean variable we want and give it a
qualifier, or we can create an action section.
The large field in the middle of the dialog is the action list field, and contains a
list of all the actions or sections that will be executed when the step is active.
Don’t forget that the Drill_Motor output will be turned off when we leave this
step. Therefore, we have to enter this variable at each of the operational step
in the chart that requires the motor to be running.
7 Program the last step as name Drill_Up with variables Drill_Motor and
Drill_Retract.
9 To view the actions programmed in the steps in the chart, you can expand
the view. Select View » Expanded Display from the menu.
21. IL Language
Overview
Instruction List (IL) is a Boolean machine language for numerical and logical
processing
Language Reference
IL Editor
Programming Rules
Call can be formal (each used input / output are assigned by an argument) or informal
(each input / output of the block are associated to an argument that is an empty field
for non-assigned I/Os)
EN /ENO input / output can be used in formal call to control the execution of the block
but are not possible in informal call
Connection / Disconnection
Simulator
Use the simulator to operate your application with hardware
Launch the simulator from Start menu (Programs / Schneider Electric / Unity Pro /
PLC Simulator) or from the desktop (connection to simulation mode)
Connect the simulator (if necessary) then tranfer your project to the simulator. To
load the simulator with your project it’s also possible to drag & drop the application file
to the simulator icon or simulator control panel (if simulator is already started)
Overview
Variable Window
Breakpoint
Breakpoint is necessary to execute the program step by step
Breakpoint is unavailable on event tasks
One breakpoint (or watch point) can be set in all the program
Watch Point
Integrated Diagnostic
Choose to display or
not the cause of the
fault through the
application level (local
to the section of
program or global to the
project)
Choose the language to
display the system error messages
System Diagnostic
System diagnostic is automatic (works without programming)
All system errors are recognized ans saved by the PLC
System diagnostic uses system bits ans words (ie %S18 indicates an overflow
default)
Diagnostic viewer of Unity Pro displays the messages
List of error messages (columns are configurable)
System bit or diagnostic FFB which detects the fault
Error message
Symbol associated to the fault
Date and time of appearance / disappearance of the fault
Date and time of acknowledgement of the fault
Supplementary information on the selected message
Double clicking on a message line displays the faulty program
Process Diagnostic
Process diagnostic is implemented with the use of EF / EFB and DFB
SFC diagnostic is directly integrated (step time errors / transition condition errors)
DEREG : alarm deregistration (for user DFB)
ONLEVT : online event
REGDFB : alarm registration (for user DFB)
REGEXT : registration of expanded FFB errors
UREGDFB : registration of error messages in the diagnostic block
D_ACT : extended locking /
action diagnostics
D_DYN : extended dynamic
diagnostics
D_GRP : extended signal
groups monitoring
D_LOCK : extended locking
diagnostics
D_PRE : extended process
requirement monitoring
D_REA : extended reaction
diagnostics
ALRM_DIA : interface with
diagnostic buffer
EV_DIA : event monitoring
MV_DIA : motion monitoring
NEPO_DIA : command and
diagnostics of operating
section
SAFETY_MONITOR : safety
TEPO_DIA : command and diagnostic of operating section
Cross Reference
Allows you to see usage of a variable everywhere in the application and how it is used
Overview
Control and monitoring for first and second level diagnostic
Displaying real time state of a machine / process
Run time screens customized to needs of operator
In this exercise, we will configure one RIO drop for your local Quantum station.
Please follow the steps given the snapshots. Also instructor will demonstrate the
steps for you.
Overview
Designed for use where downtime cannot be tolerated.
Deliver high availability through redundancy.
Two backplanes are configured with identical hardware, software and firmware.
One of the PLCs acts as the Primary.The Primary controller updates the
Standby controller after each scan.
Primary and Standby states are Switchable.
The Remote I/O network is always operated by the Primary controller.
A UNITY Hot Standby system supports only Remote I/O.
Hot Standby Architecture
UNITY PRO V2.0 or later
¾ As soon as the PLC goes into Run, the module opens one connection per
scanned device.
¾ Then, the module periodically reads the input words and periodically writes the
output words of each device.
¾ If the PLC goes into Stop, the connections with each device are closed.
¾ This service works with all devices supporting Modbus communication on the
TCP/IP profile in server mode.
Activate the IO Scanning tab from the Module Utilities dialog box
¾ for the read zone Read Ref., the starting address in the table of internal words for
reading inputs,
¾ for the write zone Write Ref., the starting address in the table of internal words for
writing outputs,
The length of tables has a maximum exchange capacity of:
¾ 2 Kwords for the read zone
¾ 2 Kwords for the write zone
The IP Address field is used to list the devices which must be scanned by the Ethernet
module.
The Unit ID field is used to associate the slave address of the device connected to an
Ethernet/Modbus gateway with the IP address
The Health Time out field is used to set the maximum time out for waiting for the
response from the remote device. Beyond this time limit, the Health bit switches to 0.
The Repetitive rate field is used to associate an IP address with its scanning period. See
Scanning Period. The scanning time value is entered in ms.
Master RD ref. and master WR ref : These parameters give the addresses of the
beginning of each range reserved for the device. These parameters cannot be accessed.
They are calculated automatically as the sum of:
¾ the address of the beginning of the Read Ref. table and the Write Ref. table,
¾ and the length of the Read Length and Write Length fields.
Slave RD ref. and slave WR ref:These fields correspond to the first word to be read and
written for remote devices to be scanned.
¾ slave RD ref.: specifies the address of the first word to be read
¾ slave WR ref.: specifies the address of the first word to be written
Read Length and Write Length corresponds to the number of words to be addressed
in the remote device.
Last value (inputs) is used to configure the behavior of inputs in the event of an access
error in relation to the remote device (example: cut-off of the device, etc.)
Fallback to 0 Maintain
Activate the Global Data tab from the Module Utilities dialog box
The aim of the Global Data service, which is supported by Ethernet modules, is to provide
an automatic data exchange for PLC application co-ordination. Data is shared according
to an inter-device publication/subscription method.
In the Global Data tab assign a Group Name, (Multi-cast) Address, Health time out
and Distribution Period.
For each Global Data variable, define whether it is published (PUB) or subscribed
(SUB) in the Global Data field.
Any or all stations in the group may Subscribe to the published data
Overview
In general, analog processing and control in a controller is done by interfacing the
continuously variable electrical signals (voltage or current) generated by the field
measuring devices to a hardware (electronic) interface that converts that signal to a
numeric value that is representative of (proportional to) the level of the process. An
example of this might be a device that measures temperature in the range of -100ºC
to + 500ºC. The device would convert the actual temperature measured into a
transmitted electrical signal.
Most process control signals are in the range of 4.0 to 20.0 mA, where 4.0 mA
represents the minimum measurement value (minus 100ºC), and 20.0 mA represents
the maximum measurement value (+500ºC). The 4.0 - 20.0 mA signal is applied to
one of the inputs of the controllers Analog input module, where the electronic circuits
will convert the electrical signal to a number. That is done using a circuit called an
analog to digital converter (A/D). Depending on the resolution of the conversion, the
signal will be converted to various numeric ranges. The most common conversion is
what is called a 12 bit conversion, where the signal is converted to a value between 0
and 4095.
In some cases the Input module will then take this converted value and scale it for
you. This is most commonly found in temperature modules, but is also available with
Premium and M340 general purpose Analog I/O modules. The converted value is
then placed in an Input Register location within the controller, where it is available for
Because your system may contain many analog signal types, all with the same raw
value range, we typically want to re-state these values in the original measurement
range. That process is called an Engineering Units (E.U.) conversion (scaling).
Unity has functions available for converting your field values into usable (E.U.) values
for display or control. The purpose of this lesson is to introduce you to some of these
functions. There are two different categories of Analog scaling functions, general
purpose, and specialized (Quantum only). The general purpose function blocks
reference the addressed input locations, and the specialized blocks abstract the data
into special datatypes. General purpose blocks do not require special configuration
logic and specialized ones do.
Scaling Function
There is only one general purpose scaling function available in the Unity function
library. That is the SCALING function block. This function block is found in the
CONT_CTL library. This function is available on all hardware platforms. This block is
sometimes referred to as parameterized function, as it requires you to pass the
scaling parameters in a variable of derived data type called Para_SCALING. As this
function block has a data type of REAL on the IN pin, we cannot use it directly with
the addressed analog inputs, as they are typically data types of type INT or WORD.
That means we have to do a conversion first.
Because of all of the complexity involved in using this block, and because we might
also want to incorporate limits or alarms in the same input processing, the scaling
function is most often encapsulated in a DFB. Our exercise will incorporate that
method. We will require 2 DFBs. One for scaling inputs, and one for converting back
to raw units for outputs.
Exercise: Scaling DFB
In this exercise we are going to create 2 DFBs and then implement them in an FBD
section to scale an analog input and send a value to an analog output. Proceed as
follows:
2 In the blank row at the bottom of the list, type the name Input_Scaler as the
new DFB name.
1 Open the Data Editor dialog and select the DFB Types tab.
2 In the blank row at the bottom of the list, type the name Output_Scaler as
the new DFB name.
Step Action
Abstracted Functions
The following configuration and scaling blocks are available for the Quantum
Platform analog management.
This exercise is only valid for the Quantum workstations. The M340 and Premium
platforms do not have these capabilities. To complete this exercise, proceed as
follows:
Build the Analog Configuration Logic:
Step Action
1 From the Project Browser, create a new FBD section named
“Analog_Config”.
2 Change the execution sequence so that the Analog_Config section
executes first.
3 Create the following variables.
Name Type Address
AnalogIn01 ANL_IN NONE
Step Action
How did you do? Consult with your instructor to verify your answers and results.
Your instructor can help you with any questions you may have.
properties.
Click on OK
4 In the Project properties dialog, click on OK. Protection is now activated.
Protecting a Section:
Step Action
1 Right – click on the section name to be protected and select properties.
5 The section will now be displayed with a closed padlock in the Project
Browser view. If we were to go to the Project properties and turn off the
protection, the padlock symbol would show as open.
6 Note that the section can no longer be exported until the protection is
deactivated.
2 In the Data Properties dialog Value column, pull down the selection list for
the Protection row.
4 In the DFB Type Protection dialog, enter and confirm your password for this
DFB.
Click on OK.
5 As this is a project change, you must confirm the modification.
Click on Yes
6 Build your change to have this protection take effect in the controller.
7 The DFB will now have the lock symbol in front of its name.
However, the Unity Pro access method used (inactive security or type of active
security) is identical for all the instances.
Implementing Access Security
The security editor software tool is used to define software users and their access
rights. It also allows you to define actions which will be protected (user name and
password) and which will be stored in the log file.
The following exercises will take us through the various aspects of using this tool.
Exercise 3: Starting the Security Editor
Step Action
1 Click on Start » Programs » Schneider Electric » SoCollaborative »
Security Editor. The sign in dialog will appear as shown below.
4 If you are a super user, the following dialog will appear, giving you full
administrative rights.
5 If you are a standard user, the following dialog will appear, giving you the
ability to view your profile or change your password.
Note: the Security editor is used for more than one product. Ensure you are setting
security for the right tool, i.e. Unity Pro.
This same scenario applies to all of the setup functionality of the Security Editor. You
must ensure that you select the correct product before making any additions or
changes.
Note the predefined users. These users cannot be modified in any way.
We will add a new user in this exercise. Proceed as follows:
Step Action
1 Click on Add. The following dialog will appear.
2 Enter the name of your choice in the User name: field. Leave the password
empty and the profile as supervisor. Your dialog should look like the one
below except for the name.
5 Restart the Security editor and test your new user name.
The Security editor should open with administrative rights.
Step Action
1 Click on Add. The following dialog will appear.
The With the following: field pre-selects a group of rights. Click on OK.
4 Select your new profile and Click on Edit. The Edit Profile dialog will appear.
5 The 3 buttons under the list control the activities for each of the rights in the
list.
State On/Off: turn on or off the selected access right.
Audit Yes/No: enable or disable logging for selected item.
Confirm Yes/No: enable or disable secondary log in.
We will select all of the access rights and turn on the log function.
At the top of the list, select the top item.
6 Using the scroll bar on the right, go to the bottom of the list.
7 Press and hold the shift key and click on the bottom item in the list. The
entire list should now be selected.
8 Click on the State On/Off button. Check marks should appear on all the
items in the list.
9 Click on the Audit Yes/No button. The Audit column should change to Yes
for all items.
Note: You may have to click twice.
Step Action
1 Click on the Policies tab.
Selection Description
Security Off Security is disabled. You have direct access to Unity
Pro. This is the default setting.
Security on, Security is enabled. To access Unity Pro, it is
mandatory login mandatory that you enter your name and password,
which will determine your profile.
Security on, Security is enabled. To access Unity Pro, enter your
avoidable login name and password. In this case, you will have your
user profile. You can also access Unity Pro without
entering the password. In this case, you will have the
default user profile.
Security on, no Security is enabled, but you have direct access to
login Unity Pro. The profile then is the default profile.
2 At the login screen, enter the user name you created earlier.
Click on OK.
3 Open your project.
5 Make some random changes and then restore them. This will create some
Log entries.
6 Close Unity.
7 Open the Windows Event viewer. ( Under Control Panel >> Administrative
Tools )
8 Open the Applications log.
10 Close everything.
2 Navigate to the folder where you want to store the archive file.
4 Click on Open.
Exporting
The export function allows you to export part or all of your project to a file. You can
then retrieve this exported information for use in a different project using the import
function.
The export function generates a file that contains unprotected data and references to
protected data. You must define the name of this file and its location (directory), the
extension of the file is determined by the export type (for example, XDB if you export
a DFB type, etc.).
The most common exports are:
- Variable list (for use in Excel)
- Sections
- entire project.
File Extensions
All export files are ASCII text files in XML format (except for variables which have
multiple export format options).
Note: A discussion of XML coding is outside the scope of this course.
Each different type of export has it’s own extension, which indicates its origin. These
extensions are listed below.
3 From the “Save as type:” pull down list, select” Data Text file (*.TXT)”
8 In the Open dialog, select Text Files in the Files of type: pull down.
9 Navigate to the folder that contains your exported file and select it.
13 Click on the column header of the far right column in the list and select Text in
the Column data format box. See below.
14 Click on Finish.
15 The list will now open in Excel. Resize the columns to provide you with a better
view of the data.
Note that your list may look different than the one shown above.
16 Select Column E by clicking on the header, and set its Number format to Text.
21 That completes the exercise. We will import this file in the next exercise.
Importing
The import function allows you to retrieve part or all of a project program for use in
your project. When you perform a partial import, the software asks you if you want to
save the current project. This allows you to have a pre-import version of the project.
If during an import an element with the same name is found in the project, a dialog
box allows you to choose between a number of operating modes:
· Keep: the element that is already present in the project is kept (the element with the
same name is not imported),
· Replace: the element that is already present in the project is replaced by the
imported element with the same name,
· Rename: you can change the name of the element to be imported in order to
remove the conflict.
Which of these three modes you choose depends on the element you wish to import.
Following an import, you must confirm the imported data (analysis and generation).
In fact, import works like a manual input and is not confirmed automatically.
You should note that, depending on what you import, a Rebuild All may be required.
When you select the import function from the Unity Pro menu or from an element to
be imported, various dialog boxes appear on the screen.
These dialog boxes allow you to define:
· The name of the import file,
· The location of the file,
· The type of file,
· The import option,
· The import procedures (Keep, Replace, Rename).
Note: For Variables, you can only import .XSY or .TXT files. Files in XVM and SCY
format cannot be imported
4 From the “Files as type:” pull down list, select” Data Text file (*.TXT)”.
5 Navigate to the folder that contains the file you want to import and select it.
This will ensure that we perform updates, and add new definitions, but do not
create duplicates,
8 Open the Data Editor, Variables tab. Ensure your new variables appear as
shown below.
2 Click on ‘Comment’.
4 The comment will appear as a tool tip when you point your mouse at the FB.
There are 2 different methods for comments in sections. You can put comments right
on the graphic with the text tool, or you can provide a more general comment in the
section properties dialog. Proceed as follows:
Text on the Graphic:
Step Action
1
Click on the comment button on the toolbar.
2 Click on any open position of the section with the cursor. An empty comment
box will appear.
3 Enter your comment text into the entry dialog for specific parts of the
section.
4 Move the text freely within the Section.
5 Size the comment as appropriate. Note that the coloured area goes behind
the code.
Step Action
1 Right click on a Section in the Project Browser, and select properties from
the context menu.
2 Enter general section comments into the entry dialog.
Step Action
1 Right click on the Project title, and select Properties from the context menu.
Step Action
1 Right-click on the desired folder in the Project browser:
3 In the Hyperlink properties dialog, enter the name you want to use for this
hyperlink in the User name: field.
shown.
.
That will open the Documentation window.
2 Right-click on the project title and select “Printout Setup…”. Set your
options as required. (See Help files) then click on OK.
3 Right-click on the project title and select “Page Setup…” and configure as
required.
4 Expand the Project as shown, then right click on the project title and select
“Include all headings”.
6 Right click on the title and select “View”. The system will now display the
printout.
7 Once you are satisfied with the results, you can print the document.
How did you do? Consult with your instructor to verify your answers and results.
Your instructor can help you with any questions you may have.
Schneider Electric FZE offers a variety of technical training courses to meet your
specific training requirements. Instructor-led courses provide you with hands-on
experience, leaving you feeling confident to design and configure your own systems.
Schneider Electric training services include configuration and programming courses,
Troubleshooting and Maintenance courses on various PLC platforms and Vijeo Citect
SCADA systems
We have developed unique, step-by-step training that has proven highly effective,
and our curriculum is continually updated, enabling you to stay in step with rapidly
changing technology.
Schneider Electric FZE has state of the art training center with fully equipped lab
work stations at Dubai, United Arab Emirates. Various technical trainings are offered
in Automation, Electrical and Building Automation Products and Solutions.
Training Modules
Complete details of training modules available in the training Catalogue available at our
website (http://www.schneider-electric.ae and then visit Products and Services → Training)
How to contact
Why Call?
Your dedicated Customer Care team members are available to respond to questions
and concerns related to:
The Customer Care team located in Dubai provides support to United Arab
Emirates, Qatar, Kuwait, Bahrain, Oman, Saudi Arabia, Pakistan & Yemen with
dedicated people to deliver a world class level of support, about all Schneider Electric
Offers.
Operating Hours: 8am-7pm (Saturday – Thursday)
The more complex technical queries that need R& D / manufacturing expertise are
escalated to and resolved by Global product departments.
Strong knowledge management and dedicated training programs allow the first level
of support to resolve most of the customer queries within 24 hours. So, contact your
nearest Customer Care now!
www.schneider-electric.com | www.schneider-electric.ae