1tool Course EN
1tool Course EN
1tool Course EN
Version. 2.7
1tool basic training course
Welcome!
Trainers:
Trainees:
Course targets 1/2
Introduction
Setup 1tool
Licence management (SW/HW)
How to create, edit, test, upload a project into a pCO
Overview of 1tool components
Special functions/features
Overview of special functions: virtual keys, alarms, define the key function, images, multilanguage, etc.
3
Course targets 2/2
To give the basic knowledge on:
Development tool (1tool editors)
Programming languages
Project management
4
1tool
Programming tool
for all programmable controllers/terminals of pCO sistema
PGDtouch
Graphic/TouchScreen
pCO5 PGD3
Graphic/TouchScreen
pCO5+
pCO compact
PGD1
pCO3 Semi-Graphic
pCO1 pCOXS
5
Miscellaneous information
Schedule: 09:00 12:30 (coffee break at mid-morning)
12:30 13:30 Lunch buffet in CAREL
13:30 18:00 (coffee break at mid-afternoon)
Dinner: see list of restaurants
(max 5 min)
9
Topics 3/7
10
Topics 4/7
11
Topics 5/7
12
Topics 6/7
How to specialize a mask (without the move field)
How to show images (Image object) (slide)
How to set the set of characters (TextFont property)
How to show chinese text (ImageText object)
How to show text in double height (RowZoom property)
How to delete unused objects (Variables, SpecField, Resources).
Default management (slide)
Language management, Multilanguage support (slide)
Complete overview of variable properties (slide)
Field preview (Simulation value field property)
To reduce compilation time: Compile target only
13
Topics 7/7
Project documentation
Menu File/Create solution documentation
Application development GuideLines (slide)
Content of FLASH memory:
BOOT, BIOS, IUP, BLB/BIN, DEV (slide)
Other languages: ST-StructuredText
Next steps (slide)
Starter kit (slide)
Standard application, Project template (slide)
Quick look to a standard application: Chiller Core FLCORMCH0E
1tool support service: [email protected] (slide)
1tool course evaluation form
14
Setup
1. Start Windows
Login as Administrator
2. Insert the 1tool DVD-ROM
Open D:\INDEX.HTM
3. Click English, Setup 1tool
4. Click 1tool_setup.exe
5. Select Run (or Save and then Run)
Sometimes the system asks to install the prerequisites: run
\Setup32\1tool_prerequisites_setup.exe.
6. Select 1tool and USB Driver. Others are not used in this training.
License types:
Software: 1 license for each PC. Cheaper.
Hardware: 1 license for all PC (transportable). A bit more expensive.
16
License 2/2
Hardware license activation procedure:
1. Make sure your PC is connected to the Internet.
2. Insert the dongle into a USB port
3. Start 1tool
4. Select menu Tools / License Management
5. Select the Hardware Licence tab
6. Copy to clipboard the string of character of the Licence Code
7. Click the button Get Activation Code:
A web page is shown
8. Click the image 1tool-Ask for activation
9. Fill in the form
10. Select option License Hardware
11. Enter the Serial Number (12 chars string on the holographic label)
and paste the License Code
12. Click the button : the system calculates the Activation Code
13. Copy the Activation Code in the window License Registration
14. Press the Activate Key: The license key is installed permanently in the dongle
17
1tool components/editors
Solution Explorer
New projects, start editors, add languages,
Mask Editor
User interface (content of masks, keys function)
Network Editor
pLAN projects (selection of units/projects, definition of links among units)
Simulator
Simulation on the PC
Migration Wizard
Conversion of EasyTools projects to 1tool project.
18
Exercise Cool/Heat 1/3
D.Out N.1
Cooling
Room_Temp
20.0
(Setpoint) A.In. N.1
Type 0 (NTC)
1.0
19
Exercise Cool/Heat 2/3
D.Out N.1
Cooling
Room_Temp
20.0
(Setpoint) A.In. N.1
Type 0 (NTC)
1.0
3.0
20
Exercise Cool/Heat 3/3
Room_Temp
Setpoint
(20.0) A.In. N.1
Type 0 (NTC)
21
Project life cycle
Backup
22
Upload
1.Connect PC to device using the USB/RS485 converter
2.Compile the project successfully, then click the button (pCO Manager)
in the toolbar.
6. Upload and Check progress
23
Variables
Analog pin Integer pin
Data Type (main types)
Boolean (0/1)
Integer (-32768 / +32767)
Analog (-3276.8 / +3276.7)
Decimal/Real/Float datatype/values are not supported.
Analog is an Integer but values are shown with . (21.5 = 215)
Analog and Integer are compatible.
emory Type (main types)
Official Min/Max/Format/Access.
In fact in the MaskEditor is allowed to use the same variable in several FIELD with
different properties.
E.g. Setpoint Input/Output and Output, or limits 15.0/30.0 and 18.0/28.0.
Also used as default values during D&D from VariableList to TerminalEditor.
25
Variable List
Contains all variables used in the current project
How to create a variable:
Right-click the Variable List, Add menu
Add variable button in the toolbar
Connect variable context menu of the pin
Autoconnection function of Modules
Rename variable in the Variable List to rename it in the whole project
Multiple selection is allowed (e.g. to delete several variable)
Clean list using the menu File / Delete unused variables
Allow to modify the properties Remove all filters Right-click for more options
in the cell
(only for some properties)
(Mask)
(Global)
The level is shown in the Key Function Editor Field (highest priority)
The level is the same for Mask code
the Key Function Editor and Property
Global (lowest priority)
29
Standard/Special Field
How
A Field consists of two parts: one
indicates WHAT to manage
(variable name) and the other
describes HOW to show it (format)
What
A Standard Field is a Field
that has nothing special.
30
Virtual keys
Normally a KEY statement is executed
when a physical key (switch) is pressed .
Sometimes is necessary to execute a key according to 1
the value of a variables: Its necessary a virtual key. 0
The virtual key is pressed when the variables changes from 0 to 1.
How to manage a virtual key:
1. Manage the variable that assumes the value 1
when the virtual key has to be pressed
Note :
You cant place two blocks with the same number in the same page.
You can use Jump_Start and Jump_End blocks to skip
some blocks during the execution.
32
Alarm management (1/3)
1tool provides a set of system variables for turning the buzzer ON/OFF
(MAN_BUZZER_EN, MAN_BUZZER_ON, MAN_BUZZER_OFF)
Built-in standard management of alarms provides:
to switch the buzzer ON as soon as an alarm starts (Alarm status 01)
{
to manage the alarm memory variable (Alarm memory)
a set of system variables:
BUZZER GLOBAL_ALARM AL
0: buzzer OFF 0: no alarm memories
1: buzzer ON 1: at least 1 alarm memory (logical OR of mAL)
mAL
RESET_BUZZER RESET_ALARMS
1: request to switch the buzzer OFF (autoreset) 1: request to reset all alarm memories
(autoreset)
33
Alarm management (2/3) .
if(SysVarList.GLOBAL_ALARM==1 &&
At least 1 alarm memory Switch the buzzer OFF
SysVarList.BUZZER==1)
and (request)
{
The buzzer is ON and
SysVarList.RESET_BUZZER=1;
Goto loop Alarm
Goto_loop(Loop_Alarms);
}
if(SysVarList.GLOBAL_ALARM==1 &&
At least 1 alarm memory Reset all alarm memories SysVarList.BUZZER==0)
and (request) {
The buzzer is OFF and SysVarList.RESET_ALARMS=1;
Goto loop Main Goto_loop(Loop_Main);
}
34
Alarm management (3/3)
How to manage alarms:
1. Manage alarm condition (e.g. variable AL_HT)
2. Add an Alarm Mask
3. Rename the mask (e.g. al1)
4. Define the alarm text (add TEXT objects, etc)
5. Define the properties AlarmStatus and AlarmMemory (this order)
6. Rename the name of the alarm loop (e.g. LOOP_Alarms)
7. Define the function of Alarm key
8. Manage alarm LED and alarm RELAY
How to add a new alarm:
Repeat steps 1-2-3-4-5
Alarm log:
by application (macroblocks STORE_*, application mask). Download: NO
pCO log (see pCOmanager/LogEditor, system mask). Download: YES
35
Exercise 15 - Alarms
Heating Cooling
Room_Temp
Setpoint
(20.0) A.In. N.1
Type 0 (NTC)
36
Exercise 15 - Alarms
Heating Cooling
Room_Temp
Setpoint
(20.0) 1.0 A.In. N.1
1.0
Type 0 (NTC)
37
Exercise 13-14-15 - Alarms
38
Type of FBD block
Atom block
ST block
Imported:
- The masks are imported and become project masks
- It is possible to do any kind of modification
- If module masks in the LIB change, the module masks in the appl. are NOT updated
Strategy only:
- The mask are not inserted
42
Modules (2/3)
MODULE APPLICATION
Module masks are places in the application in the loop with the same name
The position depends on the MaskDefaultPosition property.
43
Modules (3/4)
Both module and application can be designed for several terminals and languages
Module Application The masks are inserted in the
original loop according to the
property MaskDefaultPosition:
Default, First mask, Last mask
Module Application
44
Modules (4/4)
Notes
Modules have a LABEL (example TR1 EVD_Circ1 )
Variables, SpecialFields, TouchSchemas, etc are renamed (Example: TR1.Diff_Lim)
The application has the access to module variables: LABEL.VarName
Only for pin not Visible in shape
Auto connection
Automatic links (EVDEVO, pAD, )
(see specific slide) (slide)
Limits
A module cant contain modules (with masks) but only atoms/macroblocks. The masks
are ignored.
A module cant contain GlobalCode/Events
45
Simulator 1/2
Simulates all controllers and terminals
Doesnt simulate pLAN (you need to change manually system variables PLAN_ADDRESS, PLAN_INFO,
PLAN_STATUS*, etc) and graph in PGD3
How to enable I/O and Terminal Editor windows: menu View/Simulator
How to show (read-only) Strategy/Mask pages: Solution Explorer
How to show runtime values of Variable and Block pin: show pin values
How to go back to editing: stop Simulator, click
How to start simulator without compiling: CTRL+ (be careful!)
How to select Hardware and Terminal/Language: stop Simulator, select
Watch window
How to create a watch window: menu Simulator / New watch window or
How to add variables: rightclick/Add, D&D from VariableList or D&D from StrategyPage
How to change variable: click value cell. Doubleclick name to change bit.
How to change variable order: click+move
You can show Array (only 1 array per watch)
Value blinks when value changes
Watches are saved when you save the application
Terminal Editor simulates the LED under keys. Buzzer is not simulated
46
Simulator 2/2
Simulation control
START: run till next breakpoint
PAUSE: stops on first block
STOP: stops simulation.
RESTART: correspond to STOP+START
The application is initialized (X memory cleared, Timers cleared, etc) when one of the
following conditions occurs:
Before the very first START
Before a START following a STOP/RESTART
Simulation control (active while simulation is in PAUSE)
Run program cycle: run till first block or next breakpoint
Run function block: run block by block (doesnt open macroblock/module)
Run atom/Mask Statement: run atom by atom or statement by statement
(opens macroblock/module automatically).
Breakpoints
You can add breakpoints on a block or statement (KFE/ST)
Breakpoints are fixed and on condition (see Breakpoint window)
The block/statement where the program stops is not yet executed
47
Connectivity (pCO3)
48
(slide pLAN network 1/2)
Terminal configuration
System mask (press UP+DOWN+ENTER for 5sec) (slide)
System variables PLAN_TERM_CONF*
Network Editor (Terminal property, Setup button) (Default configuration)
The value of the variable is sent every time it changes and
as soon as the communication starts
NOTE: variable form X to T are not sent at start-up
pLAN alarms management (see also Alarm_pLAN macroblock)
pLAN system variables (most important)
PLAN_ADDRESS: pCO address
PLAN_INFO: bit15=pCO is communicating, bit14: request of SH terminal
PLAN_STATUS_01_16, _17_32: each bit specifies the status of a pLAN device
PLAN_TERM_CONF*: terminal configuration
Simulation: only 1 project at a time
You need to set pLAN System Variables
Binary file folder: [solution]\bin\target\planN\unitN (slide) 50
(slide pLAN network 1/2)
pLAN
1 2 3 4 32 SH(1,2,3,4)
1 2 3 4
BMS
pLAN pLAN
1 2 32 SH(1,2) 1 2 32 SH(1,2)
1 2
pLAN BMS
1 2 3 4
PR(1) PR(3) 32 31
SH(1,3) SH(1,3) 52
(slide pLAN network 1/2)
Terminal
configuration from
pCO* pCO* Terminal point of view of
COURSE project COURSE project SH(1,2) TERMINAL
Room_Temp Room_Temp
Terminal
configuration from
P01: Adr P02: Adr point of view of
Priv/Shared Priv/Shared
Trm1 32 Sh Trm1 32 Sh PCO
Trm2 None -- Trm2 None --
Trm3 None -- Trm3 None --
OK?No OK?No
53
(slide pLAN network 1/2)
For some Parametric pLAN the pLAN links are created automatically (see specific slide)
You can Copy/Paste links: select links, click Copy button, right-click destination controller, select Paste links
The Source unit of pasted links become the selected unit.
You can insert in a Network Page some graphic objects: Image (e.g. Roof map), Line, Rect, etc
(*) You can create several Network Page. Example: Ground_Floor, First _Floor, Roof
It is irrelevant the order of the pages P01: Adr
(**) It is irrelevant in which Network Page you insert the Controller, Terminal, Parametric pLAN Priv/Shared
Trm1 None --
(***) For the Terminal objects you can define a default configuration. Trm2 None --
Trm3 None --
It is installed at pCO start-up only if there are no terminals already configured, OK?No
that is Trm1/2/3=None. 54
(slide pLAN network 1/2)
Press Display
UP+DOWN+ENTER address
setting....
Terminal ADDRESS (PGD only)
Press NetSTAT
P01: Adr 1 Units ONLINE
Controller address
UP+DOWN+ENTER
Priv/Shared : Controller
Terminal (pCOx, ARIA,
1/3 ADDRESS EEV
PR/SH
T:32
Trm1 32 9 Sh driver, )
Terminal 2/3 ADDRESS PR/SH
contemporary None
Trm2 1 -- : Terminal
Terminal (TEXT, PGD,
3/3 ADDRESS LED)
PR/SH
Enter
Trm3 None17-- : None
for 5+5 seconds 2
OK?No
To quit 25
Warning! Dont install configurations
not
32 consistent!
i.e.: P01: Trm1 03 Sh, P02: Trm1 03 Pr 55
(slide pLAN network 1/2)
The PGD display in external terminals works in Text display compatibility mode:
1 fixed font (CAREL_TERM), 4rows/20columns, only single-height rows, no images
Group 1
Group 2
Group 3
Group 4
57
pLAN - Automatic links
58
pLAN - Automatic links 2/2
How to manage Parametric pLAN controllers (EVD400, EVDEDVO, PAD)
Example: EVD EVO
Strategy Editor
1. Place support module Mod_EVD_EVO_Spec,
(one for each driver)
2. Define the label (CIRC1, CIRC2)
Network Editor
3. Place Generic EVDEVO
Parametric pLAN Controller
(one for each driver)
4. Define pLAN address
5. Select the module which manage
the EVD EVO
pLAN
..\SolutionName\Bin\Target\PLANn\address\
UNIT1-2 contain same files suitable for CHILLER units
UNIT3-4 contain same files suitable for AHU units
}
}
pLAN
..\SolutionName\Bin\Target\PLANn\Address_X_Y_NNN
contain files suitable for units address X and Y
running the application NNN
max. 15 WEBgate
max. 15
Gateway
CAREL Local
ModBus RTU OPC
ModBus TCP/IP Konnex
BACnet MS/TP LonWorks
BACnet IP HTTP/SNMP (email)
Analog
CAREL Remote
Serial card
GSM
(SMS)
62
Connectivity - BMS 2/2
Card Protocol
BMS
63
Supervisory system network (BMS)
Important! BMS and the pLAN network are independent networks
The purpose of the BMS network is to exchange variables with a supervisory
system/BMS (PlantVisor, pCOWeb, WebGate, Gateway, Modem, Lon, Trend, DLL etc.)
How to send/receive variables (common for all types of architectures)
1. Address in the network (system variable BMS_ADDRESS (I,T) )
2. Communication speed (system variable COM_BAUDRATE_BMS (I,X) )
0: 1200 baud
1: 2400 baud
2: 4800 baud
3: 9600 baud
4: 19200 baud (default)
The CAREL/MODBUS slave protocols are available for all serial ports:
BMS, BMS2, FIELDBUS,FIELDBUS2
65
Carel Vs Modbus protocols
CAREL MODBUS
3 Data types: D-igital, A-nalog, I-nteger 2 Data types: C-oils, R-egisters
(No difference between Input and Holding)
The SLAVE unit sends a new value only when The SLAVE unit sends a new value even if the
the value changes (optimized) value is not changed
CAREL MODBUS
1 1 +1
The application has to manage Digital Coils
CAREL slave protocol (that is n n +1
use CAREL datatype and Index)
1 1 +1
and select the MODBUS SLAVE
protocol (i.e. CAREL_PROTOCOL_BMS=3): Analog Registers
the BIOS automatically converts n n +1
CAREL datatype/index to 1 1 +1+offset
MODBUS datatype/index Integer Registers
n n +1+offset
66
Carel Vs Modbus protocols
(*) Addresses > 207 are available only if ModBus Slave Extended protocol is set.
67
Other protocols
To communicate with protocols different by
CAREL / MODBUS, you must select the
"CAREL Slave Local protocol.
Some further action is required in the application
or configuration files.
CAREL Slave
Examples:
CAREL Slave Remote: phone number, CAREL Master
LON: LON properties, LONset
BACnet: BACNET properties, BACset
LON, Trend,
Konnex , CANbus,
For more information on protocols (features, compatibility, BACnet, Ethernet,
etc.): see manual pCO sistema
68
Images
How to insert an image?
Drag & Drop
Image object
Format: standard BMP, black&white (monocrome)
Editor: your preferred one (Paint, Paint.net, Photoshop, CorelDraw, )
Max size: PGD0: 120x32, PGD1: 132x64 (1 character: 6x8 pixel)
Images must be in the Resources node
Create a new image
Import (es. [1tool]\ImageLibrary\PGD)
Images are saves in the .GRT (see pCOload)
Overlap Text & Image reverse effect
ResourceUsedOnBool/Int with images
69
Default management 1/2
Why to install default values? Because at compile time the variables could change
its position (address) in the memory so they could take another value.
Previous T-permanent Current
version memory version
0 Setpoint = 0.0
Setpoint = 20.0 0 Setpoint
Setpoint 200 Unit_Status
0 Unit_Status = 200
0
GENERAL RULE: every time you install a new version it is recommended to install
the default values. It is not necessary if you dont change the list of the variables.
To fix the position of the variable in the memori you can use the "Maintain Variable
Address" compile flag, but is has limitations. 70
Default management 2/2
How to install defaults values?
1. Commissioning time: pCO manager > pCO LOAD, file .DEV
2. Commissioning time: pCO manager > Commissioning > Device configuration >
Load/Save DEV/TXT (recommended TXT because it contains the name of the var. instead of the memory address)
3. Simulation time: Load .DEV values button (available with simulation OFF)
4. Runtime: MOVE* block (FDB) or = operator (FKE or ST)
NOTE
The options 1-2-3 re available only at tha moment.
Option n.4 is always available (therefore so it is often preferable to other options)
71
Multilanguage support 1/2
An application can be multiterminal/multilanguage
Language selection
System Variable LANGUAGE_KEY_SWITCH (con un tasto singolo/coppia)
System Variable LANGUAGE
Value in the range 0 / NumberOfUploadedLanguages - 1
In the example: 0=EN, 1=ZH, 2=JA
When the language changes the first mask if shown.
75
Next steps
Ask your sales office for other product (simulator for other pCO, other serial cards, etc)
77
Standard applications
78
1tool support
E-mail: [email protected]
(only issues regarding 1tool program
Provides Technical support (i.e. problem during compilation, not
Application support (i.e. how to implement defrost)
Other: [email protected], [email protected])
79
1tool basic course
The end
Thank you for your attention,
if you have any question please feel free to ask
80