PCOWEB
PCOWEB
User manual
LEGGI E CONSERVA
QUESTE ISTRUZIONI
READ AND SAVE
THESE INSTRUCTIONS
All of the above suggestions likewise apply to the controllers, serial boards, programming keys or any other accessory in the CAREL product portfolio.
CAREL adopts a policy of continual development. Consequently, CAREL reserves the right to make changes and improvements to any product described in
this document without prior warning.
The technical specifications shown in the manual may be changed without prior warning.
The liability of CAREL in relation to its products is specified in the CAREL general contract conditions, available on the website www.carel.com and/or by
specific agreements with customers; specifically, to the extent where allowed by applicable legislation, in no case will CAREL, its employees or subsidiaries
be liable for any lost earnings or sales, losses of data and information, costs of replacement goods or services, damage to things or people, downtime or any
direct, indirect, incidental, actual, punitive, exemplary, special or consequential damage of any kind whatsoever, whether contractual, extra-contractual or due
to negligence, or any other liabilities deriving from the installation, use or impossibility to use the product, even if CAREL or its subsidiaries are warned of the
possibility of such damage.
NO POWER WARNING:
& SIGNAL
CABLES separate as much as possible the probe and digital input signal cables from the cables carrying inductive loads and power
TOGETHER cables to avoid possible electromagnetic disturbance.
READ CAREFULLY IN THE TEXT! Never run power cables (including the electrical panel wiring) and signal cables in the same conduits.
DISPOSAL
The product is made from metal parts and plastic parts.
In reference to European Union directive 2002/96/EC issued on 27 January 2003 and the related national legislation, please note that:
• WEEE cannot be disposed of as municipal waste and such waste must be collected and disposed of separately;
• the public or private waste collection systems defined by local legislation must be used. In addition, the equipment can be
returned to the distributor at the end of its working life when buying new equipment.
• the equipment may contain hazardous substances: the improper use or incorrect disposal of such may have negative effects
on human health and on the environment;
• the symbol (crossed-out wheeled bin) shown on the product or on the packaging and on the instruction sheet indicates that the
equipment has been introduced onto the market after 13 August 2005 and that it must be disposed of separately;
• in the event of illegal disposal of electrical and electronic waste, the penalties are specified by local waste disposal legislation.
INDICE
3 STARTING FOR THE FIRST TIME – ACCESSING pCOWeb FROM A COMPUTER ............................................................................ 11
3.1 CONNECTING pCOWeb DIRECTLY TO A PC ........................................................................................................................................ 11
3.2 ESTABLISHING A CONNECTION BETWEEN THE PC AND pCOWeb VIA A NETWORK ..................................................................... 14
4 FUNCTIONS.............................................................................................................................................................................................. 17
4.1 WEB SERVER: CUSTOM PAGES............................................................................................................................................................ 17
4.2 ACCESSING THE USER MEMORY VIA FTP OR SCP............................................................................................................................ 18
4.3 EVENT NOTIFICATION: E-MAIL, FTP PUSH, SNMP TRAP/ INFORM........................................................................................................ 20
6 SNMP ........................................................................................................................................................................................................ 34
6.1 OVERVIEW OF SNMP .............................................................................................................................................................................. 34
6.2 THE pCOWeb SNMP TREE...................................................................................................................................................................... 35
6.3 MIB FILE.................................................................................................................................................................................................... 35
6.4 SNMP CONFIGURATIONS FOR pCOWeb .............................................................................................................................................. 36
7 BACNET.................................................................................................................................................................................................... 37
7.1 BACnet/Carel Mapping .............................................................................................................................................................................. 38
7.2 BACnet/MODBUS Mapping....................................................................................................................................................................... 38
7.3 BACnet features ........................................................................................................................................................................................ 38
10 TECHNICAL SPECIFICATIONS............................................................................................................................................................... 57
APPENDIX A MAC ADDRESS - STATIC OR AUTOMATIC IP ADDRESS (DHCP). ..................................................................................... 58
APPENDIX G CAREL TAGS FOR pCOWeb HTML PAGES -THE PW_DEMO.HTML PAGE ....................................................................... 68
This manual refers to firmware version A2.0.4 – B2.0.4. To check the version loaded on the pCOWeb, see Section 9.2.2 on page 42. In the example shown in
Figure 1.a sopra pCOWeb is connected to an internal network. If suitably configured, the personal computers in the internal network can communicate with
pCOWeb using one of the various standard network languages included on pCOWeb. The server connects the external network or “Internet” to the internal
network or “Intranet”. Usually in a network, the exchange of data between Internet-Intranet is only enabled for some devices and only for some types of
communication. These decisions are defined by the network administrator. This manual only covers the configurations of the pCOWeb and the more simple
types of networks. For further information, see specific publications on the topic of “data networks”.
Network LED: displays the status of the physical network connection (Ethernet connection signals), regardless of whether the network parameters are correct;
usually this must be green and flash when data is transmitted/received.
For the connection to the Ethernet network, use an S/FTP cable, category 5e or higher
IMPORTANT: to avoid damage, before inserting pCOWeb, disconnect power to the pCO controller.
Figure 2.c - Inserting pCOWeb in the pCO controller Figure 2.d - Securing pCOWeb with the cover
To remove the board from pCO, insert a screwdriver in the hole to the left of Ethernet connector and pull up as shown in
Figure 2.e.
The MAC address is shown on the label applied to the connector, and on the two labels included in the packaging; in the example shown in Errore. L'origine
riferimento non è stata trovata., the MAC address is: 00.0A.5C.10.D2.2D.
If more than one pCOWeb device is installed, a map of the installation should be created, applying the second label provided in the packaging onto the map
for each pCOWeb, corresponding to its physical position; in this way, the network administrator can be provided with precise documents on where the
pCOWeb devices and corresponding MAC addresses are located.
3.1.1 PC configuration
INFORMATION: the PC can communicate with pCOWeb if the settings on both devices are correctly aligned. As the pCOWeb default settings can only be changed once
the connection has been established with the PC, when first accessing the device the personal computer will need to be configured to adapt it to the pCOWeb default
settings.
A – disconnect the personal computer from the data network (if connected), and connect it directly to the pCOWeb using the cable.
B – IP ADDRESS AND SUBNET MASK
INFORMATION: The personal computer must be set not to use the DHCP, but rather the following IP address: 172.16.0.2. The Subnet mask field also needs
to be set; the Gateway is not required.
For further information on the meaning of these parameters, see APPENDIX A on page 58 and APPENDIX B on page 59.
3.1.2 Connection, starting pCOWeb and activating the default network settings (Button)
Connection
1. Connect pCOWeb to the Ethernet connector on the PC using a shielded cable ().
4. Immediately after reboot, as soon as the Status LED remains on steady GREEN, to activate the factory settings rather than the user settings, hold the
button;
5. after about 10 seconds the Status LED, due to the button being pressed, will turn RED and flash slowly 3 times; the button must be released before then
end of the 3 flashes;
6. once the red flashes have terminated, the Status LED will turn GREEN and, if the procedure has been performed correctly, immediately after the Status
LED will confirm the pressing and release of the button by flashing quickly 3 times RED, and then will come on steady GREEN again for around 35
seconds (completion of the start-up phase);
7. once the start-up phase has been completed, the Status LED will start flashing: pCOWeb will now start operating; Table 1.a and Errore. L'origine
riferimento non è stata trovata. on page 8 show the meanings of the visual indications represented by the two LEDs.
In this mode pCOWeb will not use the values of the “User” parameters for communication, but rather the following values (see 9.3 a pagina 44: View factory
bootswitch parameters):
IP address: 172.16.0.1
Subnet mask: 255.255.0.0
NOTE 1 These values remain active until pCOWeb IS RESTARTED. When next rebooted, if the button is NOT pressed, pCOWeb will return to the “User” configuration (see
chapter 9 on page 41).
NOTE 2 These values are part of the “Bootswitch parameters” and, unlike the user parameters, cannot be modified. The Bootswitch parameters are never copied over the
user parameters.
NOTE 3 By default, the pCOWeb “User” values activate DHCP mode for network communication.
Figure 3.f - Operation of the “Bootswitch parameters” and of the user parameters.
The Status LED (pCOWeb status and pCOWeb-pCO communication, see Table 1.a) behaves as follows immediately after reboot:
1. Flashes quickly green/red for 2 seconds;
2. then comes on GREEN steady for around 45 seconds (unless the button is pressed, see 3.1.2 on page 12);
3. then starts flashing GREEN or RED:
• GREEN flashing: pCOWeb has completed the start-up phase and is communicating correctly with the pCO;
• RED flashing: pCOWeb has completed the start-up phase but is not communicating with the pCO: this may be due to incorrect settings of the pCOWeb
or some of the parameters on the pCO; the default parameters ensure correct communication, therefore this situation will only occur if the param. have
been changed. In this case, after having established the PC-pCOWeb connection, check the communication settings (see 9.5 on page 46);
• GREEN without flashing for at least 3 minutes: fault; contact CAREL service.
The Network LED (see Errore. L'origine riferimento non è stata trovata.) is GREEN in normal conditions. If it remains red, the causes may be:
• the PC is off;
• or the connector has not been inserted on the pCOWeb;
• or the connector has not been inserted on the PC;
• or the cable is not working, or the PC requires a shielded cable and this has not been used.
IMPORTANT Before pressing ENTER wait for pCOWeb to complete the start-up phase (check that the Status LED is flashing normally), otherwise the
required web pages will not be sent to the PC.
IMPORTANT: This page can be customized by the user, and by default appears as shown above. If it has been modified or deleted, the custom page or
nothing will be displayed; in these cases, remember that a copy of the factory page is available in read-only memory.
To recall the factory page (even if index.html has been deleted or modified), type:
172.16.0.1/defindex.html
(to save this as index.html, access the User memory via FTP or SCP, see section 0 on page 18, and copy the file /usr/local/root/defindex.html to the
/usr/local/root/flash/http/ directory, renaming it index.html; any customized index.html page will be overwritten).
This page provides access to the page for configuring the functions of the pCOWeb. The network communication parameters should be configured
immediately. See chapter 9 on page 41.
NOTE 1 Remember that if pCOWeb is now rebooted (for example, switching the pCO controller off and on again) without pressing the button again as described in 3.1.2 on
page 12, pCOWeb will use the user-set IP address; if this is different than the factory value, it may be impossible to connect to pCOWeb (this situation is described
in paragraph 3.2 on page 14).
NOTE 2 At the end of procedure, restore the previous configuration on the PC so as to be able to access the network again.
pCOWeb must be connected to earth with the dedicated “faston” connector (Figure 3.i)
o
o
o Figure 3.l - Disabling the proxy for some IP addresses
.
To avoid losing access to other sites, as an alternative the proxy can be disabled only for one or a few IP addresses:
pCOWeb +030220966 – rel. 1.1 – 12.12.2017 15
see point C in paragraph 3.1.1 on page 11, however with the variants shown in (example for pCOWeb with IP address 10.0.0.145).
To ensure compatibility for direct communication, as an alternative to the procedures described above, the PC can be configured so that it responds not only
to the IP address already set, but also to a second IP address that is compatible for direct communication with pCOWeb.
IMPORTANT: In this case, request the support of the network administrator, as any IP address that is assigned to the PC must be previously authorised.
(the <%macaddress%> string is a CAREL tag that returns the MAC address of the pCOWeb ).
Figure 4.a - Example of a simple HTML page
To load the page created to the user memory, proceed as follows:
1. connect the PC to the pCOWeb, making sure that the PC can access the HTML pages on the pCOWeb (see chapter 3 a pagina 11);
2. access the user memory via FTP or SCP (see paragraph 0 on page 18);
3. transfer the file of the page created to the area (/usr/local/root/flash/http/) reserved for custom HTML pages.
5. If a directory called “newdir” were created inside /usr/local/root/flash and the page was loaded into
this directory, the address would be:
http://10.0.0.145/newdir/example.html
IMPORTANT: Browsers such as Mozilla Firefox, Google Chrome and others create a copy of the pages
visited in their cache, and when the page is next called the contents may be loaded from
the cache, rather than requesting an update from pCOWeb. This means that at times the
desired result is not displayed, above all with dynamic pages such as those used on
pCOWeb. The browsers, nonetheless, feature a specific command to force them to
update the pages from the web server (for example Ctrl+F5 requests the page from the
server, F5 could load from the cache). Ctrl+F5 should be used whenever there is doubt
that the result may haven been loaded from the cache on the PC. Figure 4.b - How the HTML page created is displayed
Once having selected the OK button, the contents of the user memory will be displayed
(path usr/local/root/flash/http/); if this is not the case:
3. check the suggestions shown in chapter 3 on page 11: if the PC cannot access at
least one HTML page on the pCOWeb, it will not be able to access via FTP or SCP;
4. check that the PC is not running a firewall to block unwanted connections; for
example, in Windows XP “Windows Firewall” is normally active, and in the default
configuration this blocks communication; to modify the settings, open the “Control
panel”, select “Windows Firewall” and disable it (Figure 4.e).
IMPORTANT: Some FTP clients do not use the request from pCOWeb to open the user
memory for “httpadmin” (/usr/local/root/flash/http/), but rather show the contents of the
root position; the user needs to manually go to /usr/local/root/flash/http/.
Figure 4.g - FileZilla with the “Local Site” (left) and “Remote Site” (right) windows
The path for entering the web pages and the customized directory is: /usr/local/root/flash/http/
This solution is not recommended, however, as it is not suitable for copying files from the PC to pCOWeb; in addition, previous versions of Internet Explorer
had problems in navigating the memory space outside of the areas used for the HTML pages (configuration files …).
Example 2
E-mail and FTP PUSH programmed to be sent when digital variable 12 changes from 0→1 and 1→0.
0→1 send both notifications
1→0 send both notifications
• When sending, pCOWeb will read the template selected in the notification settings, and will process it based on some simple rules described further on,
generating the new XML file to be sent.
HOW pCOWeb GENERATES THE XML FILE
pCOWeb reads the template file and copies it character-by-character to the destination file; whenever it recognises a sequence of XML tags, such as in the
example shown below, it adds the corresponding information.
LINE IN TEMPLATE.XML MEANING LINE GENERATED IN XML FILE TO BE SENT
<?xml version = '1.0' encoding = 'UTF-8'?> Specifies the type of XML standard used <?xml version = '1.0' encoding = 'UTF-8'?>
<PCOWEB> The sequences of tags will only be recognised inside sections that start with this tag <PCOWEB>
<SYSTEM> Start of the sect. with the sequ. of tags with pCOWeb properties (that is, not pCO) <SYSTEM>
<HOSTNAME></HOSTNAME> Returns the name of the pCOWeb – always “localhost” <HOSTNAME>localhost</HOSTNAME>
<DATE></DATE> Returns date and time the file was generated, in the format YYYYMMDDHHMMSS <DATE>19700101064832</DATE>
<IP_ADDRESS></IP_ADDRESS> Returns the IP address of the pCOWeb <IP_ADDRESS>10.0.3.114</IP_ADDRESS>
<MAC_ADDRESS></MAC_ADDRESS> Returns the MAC address of the pCOWeb <MAC_ADDRESS>00:0a:5c:10:07:15</MAC_ADDRESS>
<UPTIME></UPTIME> Returns the time elapsed since the last reboot of the pCOWeb <UPTIME>0d2h42m</UPTIME>
<SYS_VERSION></SYS_VERSION> Returns the firmware version of the pCOWeb (block B - Bios) <SYS_VERSION>B2.0.4</SYS_VERSION>
<APP_VERSION></APP_VERSION> Returns the firmware version of the pCOWeb (block A - Applications) <APP_VERSION>A2.0.4</APP_VERSION>
<SEPARATOR_CHAR>.</SEPARATOR_CHAR> No action. Suggests the character that the XML interpreter can use as the separator <SEPARATOR_CHAR>.</SEPARATOR_CHAR>
for the values of the analog variables
</SYSTEM> End of the section with the sequ. of tags with pCOWeb properties (that is, not pCO) </SYSTEM>
<PCO> Start of the section with the sequences of tags with pCO properties <PCO>
<PCONAME>Template Sample</PCONAME> No action. Line used to assign a name to the specific pCO; in the example, the <PCONAME>Template Sample</PCONAME>
name is “Template Sample”
<PCOID>1</PCOID> No action. Line used to assign an identifier number to the specific pCO; in the <PCOID>1</PCOID>
example, the number is “1”
<DIGITAL> Start of a section for digital variables <DIGITAL>
<VARIABLE> Start of the section for one digital variable <VARIABLE>
<INDEX>1</INDEX> Specifies the index 1 for the variable to pCOWeb <INDEX>1</INDEX>
<VALUE></VALUE> pCOWeb returns the current value (0) of the digital variable with index 1 <VALUE>0</VALUE>
</VARIABLE> End of the section for the digital variable with index 1 </VARIABLE>
<VARIABLE> Start of the section for another digital variable <VARIABLE>
<INDEX>2</INDEX> Specifies the index 2 for the variable to pCOWeb <INDEX>2</INDEX>
<VALUE></VALUE> pCOWeb returns the current value (1) of the digital variable with index 2 <VALUE>1</VALUE>
</VARIABLE> End of the section for the digital variable with index 2 </VARIABLE>
</DIGITAL> End of a section for digital variables </DIGITAL>
<INTEGER> Start of a section for integer variables <INTEGER>
<VARIABLE> Start of the section for an integer variable <VARIABLE>
<INDEX>1</INDEX> Specifies the index 1 for the variable to pCOWeb <INDEX>1</INDEX>
<VALUE></VALUE> pCOWeb returns the current value (25) of the integer variable with index 1 <VALUE>25</VALUE>
</VARIABLE> End of the section of the integer variable with index 1 </VARIABLE>
<VARIABLE> Start of section for another integer variable <VARIABLE>
<INDEX>2</INDEX> Specifies the index 2 for the variable to pCOWeb <INDEX>2</INDEX>
<VALUE></VALUE> pCOWeb returns the current value (200) of the digital variable with index 2 <VALUE>200</VALUE>
</VARIABLE> End of the section for the integer variable with index 2 </VARIABLE>
</INTEGER> End of a section for integer variables </INTEGER>
<ANALOG> Start of a section for analog variables <ANALOG>
<VARIABLE> Start of the section for an analog variable <VARIABLE>
<INDEX>1</INDEX> Specifies the index 1 for the variable to pCOWeb <INDEX>1</INDEX>
<VALUE></VALUE> pCOWeb returns the current value multiplied by 10 (999.9 x 10 = 9999) of the <VALUE>9999</VALUE>
analog variable with index 1
</VARIABLE> End of the section for the analog variable with index 1 </VARIABLE>
<VARIABLE> Start of the section for another analog variable <VARIABLE>
<INDEX>2</INDEX> Specifies the index 2 for the variable to pCOWeb <INDEX>2</INDEX>
<VALUE></VALUE> pCOWeb returns the current value multiplied by 10 (-12 x 10 = -120) of the analog <VALUE>-120</VALUE>
variable with index 2
</VARIABLE> End of the section for the analog variable with index 2 </VARIABLE>
</ANALOG> End of a section for analog variables </ANALOG>
</PCO> End of the section with the sequences of tags with pCO properties </PCO>
</PCOWEB> End of the section recognising the sequences of tags </PCOWEB>
PROCEDURE
a. From the pCOWeb main page (see a pagina 42) open the “Events” page (
b. Figure 4.n).
c. The page is divided into eight tabs, four of them (
d. Figure 4.o, Figure 4.p and Figure 4.q) contain the common settings for all
the events generated.
Each one has a confirmation button . In order to keep the configuration selected
this button must be clicked.
SETTINGS AVAILABLE:
Hostname: IP address or name of the recipient PC (to use a name, a DNS must be specified, see 9.4.1 on page 45).
Community: this represents a sort of SNMP keyword that is sent (not encrypted) to the recipient, which can exclude any notifications from
communities other than its own; if left empty, the Default trap community will be used (see 6.3 on page 35), but if that too is empty, the TRAP will not
be sent to the Host.
• “E-Mail”: e-mail configuration page now is divided in three different parts:
a) E-mail Account
b) E-Mail Message
c) E-Mail Recipients
E-mail Message
XML template for attachment (required for attachments): this is used to choose the XML template resident on the pCOWeb that will be used as the
basis for generating the attached XML file (see 4.3.2 on page 22); “Choose” opens a list of files with the .xml extension in /usr/local/root/flash/http; if
the file name is entered, the path must be specified starting from the root (/).
Attached file name (optional): name that will be attributed to the attached XML file; if preceded by the “(date)” string, the name will start with the date /
time on the pCOWeb at the instant the file was generated, in the format YYYY-MM-DD_hhmmss; leaving this field empty, the name will be assigned
automatically, made up of the date / time, in the format: YYYY-MM-DD_hhmmss.xml.
E-mail Recipients
Destination #N (at least #1 required): e-mail addresses that pCOWeb will send the messages to.
• “Ftp Push”: FTP Push Configuration recipients for sending XML files.
Input file name (required): used to choose the XML template resident on pCOWeb that will be used as the basis for generating the XML file sent (see
4.3.2 on page 22); “Choose” opens a list of files with the .xml extension in /usr/local/root/flash/http; if the file name is entered, the path must be
specified starting from the root (/).
Output file name (required): name that will be attributed to the attached XML file; if preceded by the “(date)” string, the name will start with the date /
time on the pCOWeb at the instant the file was generated, in the format YYYY-MM-DD_hhmmss.
Enabled (at least one required): enables the recipients, where the file will be push for the events relating to the variable.
IMPORTANT: any Recipients enabled after one that is not enabled will be ignored.
Example: 1: Yes 2: No 3: Yes 4: Yes 5: No gives as result that Recipients 3 and 4 will not be used.
Server address (required to send notifications via FTP): IP address or name of the FTP server that pCOWeb will connect to in order to deliver the file;
if a name is specified instead of an IP address, a DNS must have been specified (see 9.4.1 on page 45); for an example of an FTP server, see
APPENDIX E on page 66.
Server port (optional): specify only if a TCP port other than the default 21 is to be used.
FTP username / FTP password (required): Username and Password to access the FTP server;
IMPORTANT: Username and Password must have a write access, otherwise pCOWeb can not push the file inside the directory.
FTP path (optional): path of the server, in the default directory for the specified Username, where the sent file will be written; the path must exist,
otherwise the file cannot be received.
SETTINGS AVAILABLE:
Alarm fired: string that will be included in the notifications when the threshold is exceeded.
Alarm reentered: string that will be included in the notifications when returning back below the threshold, with hysteresis.
IMPORTANT: The Submit buttons only save the values for the corresponding section.
Type: Digital Variable: 1 : the settings in window only refer to the digital variable with index 1.
NOTE One possible cause of failure in sending the email event is the above
alarm email, with an attachment page ina folder with password request. In that case,
pCOWeb cannot prepare the email (also verbose mail test will show nothing).
the contents of the file, before being added to the body of the message, will be processed by the pCOWeb WEB server (see APPENDIX G a pagina 68); in
this way, by creating simple HTML pages, the body of the message can contain the value of some pCO variables read at the moment the message was sent.
pCOWeb does not support the encapsulation of images inside the e-mail messages sent: alternatively, the HTML page can contain links to image files; the e-
mail client will highlight these with bookmarks and the links can be opened by clicking the right mouse button. To simply copy the text of the document without
this being processed, do not include the line shown above. If the HTML page is in a folder with password, due to a security reasons, mail will be not sent.
From text: alternatively, the text entered in the text box on the side can be added. pCOWeb will automatically add the date / time string Date: dd/mm/yyyy
hh:mm, and then the text entered to the body of the message.
Enable Attachment: enable the sending of the attachment, see section 4.3.2 on page 22.
IMPORTANT: The range of variables related to the notifications goes from 0 to 207, even if the ModBus Extended protocol is running. Variables’ addresses
for notifications can go just from 0 to 207.
IMPORTANT: The Submit buttons only save the values for the corresponding section.
Type: Analog Variable: 7 - the settings in window only refer to the analog variable with index 7.
• TOP SECTION – COMMON SETTINGS: General Configuration and Event Handlers (Figure 4.v - right)
Paragraph 4.3.1 on page 21 describes the generation of events based on a threshold. Below is the meaning of the settings on the page.
Events enable: enable all the events generated by variations to the variable.
Trigger: an “Activation” notification event is generated when there are following variations in the value of the variable:
Positive: the value of the variable crosses the threshold while increasing;
Negative: the value of the variable crosses the threshold while decreasing.
Threshold / Hysteresis: crossing threshold / return hysteresis, either values that are entered or analog variables that can be selected.
Reenter: enable the generation of a notification event when returning.
Event Handlers: select the type of notification that will be sent when the events set above occur.
IMPORTANT: these decisions are also used to send notifications for scheduled events (see 4.3.5 on page 28).
6. Open the Tab for setting the events corresponding to the INTEGER variables (click “Integers” on the Events summary window – Figure 4.w).
The windows and the settings are similar to those for the analog variables.
It should be noted that in this case Threshold / Hysteresis can be set as values entered or as integer variables that can be selected.
pCOWeb can be set to generate events for sending notification when a set and repeated time interval expires.
PROCEDURE
Open the Tab for setting the events corresponding to Scheduled events (click “Scheduled” on the Events summary window – Figure 4.x).
Type:
Scheduled Number: 1: settings for scheduled event 1; overall 40 settings windows are available.
SETTINGS AVAILABLE:
Main enable: enable the generation of scheduled events for this window.
Timeout: repeat time; the first event will be generated after the Timeout has elapsed from when the “Submit” button was selected; the following events will
be generated when the “Timeout” has elapsed again.
Variable type / Variable index: the scheduled events in the current setting window use some decisions set in the windows for the events based on
variations (see 4.3.4 on page 25) related to the variable selected by these two settings.
NOTE: The SNMP TRAP and e-mail notifications relating to scheduled events for analog and integer variables always automatically include the string entered in the “Alarm fired”
field in Figure 4.r.
The page shown in Figure 5.b is used to show how integers’ values are related to the day, month, year, hour and minute data sent in supervision from the
pCO application software. Figure 5.b shows as first integer a variable with value ‘2017; if in the variable list of the pCO application you find that the first
integer represents the variable current_year you can set in Figure 5.a “Year variable index” = ‘1’ and the pCOWeb will show in the date ‘2017’ i.e. year 2017.
NOTE: The settings will be valid as soon as they are confirmed; pCOWeb does not need to be rebooted.
IMPORTANT:
pCOWeb offers also the possibility to make graph in BMP format (the only available format before 1.4.2);
pCOWeb creates a file in .bmp format containing a simple graph of the trend in the values of just one of the logged variable. There is a specific html page to
set the type of the graph called “pw_logswitch.html” typing in the browser:
http://10.10.7.132/config/pw_logswitch.html
pCOWeb will display the page as in Figure 5.f:
After switching pCOWeb to the favourite graph format, it is necessary to go back to the logger page and configure again the logged variables. After this, to let
the new settings work it is mandatory to reboot.
Please note, that BMP files occupance memory is much more than SVG files, for this reason the default graph is a SVG file format.
The logging mode is optimised for a minimum number of writes to non-volatile memory, so as to reduce the degradation of the memory.
NOTE: in the event of power failures, this logging mode limits the maximum duration of data loss to one hour.
Nonetheless, the .csv / .svg files for the current day can be created manually, so as to obtain all the data saved until that moment with function Update files to
this very moment: see below.
In the “/usr/local/root/flash/http/log” directory, pCOWeb automatically saves the powerup-log.csv file containing the records, with the date / time of the events:
“Start firmware” and “Stop firmware”, respectively “Power-up” and “Power-down”. The latter is only written when the Stop follows a reboot while pressing the
physical button or selecting the button on the configuration page; in this way, two consecutive “Power-up” events indicate that there was a power failure
between the two events.
The .csv files and the graphs appear as shown in Figure 5.g.
The first line of the .csv files lists the types of variables enabled for logging, the second line the indices and the third the descriptions attributed; these are
followed by the lines with the records.
IMPORTANT:
Whenever the configuration of the Logger is changed during the day, pCOWeb retains the values saved until that moment but updates the first three lines of the header
(see Figure 5.g, left); if the selection of the logged variables is changed and the records saved until that moment need to be retained, proceed as follows:
1. before changing the configuration, save the data to the PC by first selecting Update files to this very moment, then Download all csv and graphs;
2. disable all the variables currently selected for logging;
3. manually delete the file “history_diskbuffer” in the /usr/local/root/flash/cache directory by accessing the pCOWeb via FTP or SCP, with the “root”
Username / Password (default “froot”); make sure not to modify other files / directories in this phase, as the “root” Username, in opposition to the
case of “httpadmin”, has no restrictions;
4. reboot pCOWeb;
5. then restart the Logger, selecting the new variables for logging.
COMMUNITY
SNMP v2 does not feature authentication (Username / Password). In version 2 the data is also
exchanged without encryption.
Nonetheless, version 2c uses an identifier word (sent without encryption) called the “Community”
that acts as a filter for the reception of the data or executing commands.
When an NMS needs to read the value of an object in an Agent, it must send a “ReadOnly
Community” or a “ReadWrite Community” string that matches the identifier set in the Agent.
The same is true for the “ReadWrite Community” string when writing data.
Similarly, when an Agent sends an SNMP notification message (TRAP or INFORM), it specifies a
“Trap Community”; if this does not coincide with the recipient “Trap Community”, the message will
be ignored.
where:
A=1: pCOWeb properties
A.B
A.B.C.D
NOTE 1 SNMP requires the use of the final zero when referring to scalar objects, that is, not tables or lists. All pCOWeb objects are scalar.
NOTE 2 Reading the pCO variables with indices that are not managed by the BIOS version used returns meaningless values
NOTE 3 When a value is undefined, i.e. the summary web page shows “U”, SNMP browser returns “-858993460”.
NOTE 4 A variable is always read/write, however the value will be retained only if featured in the pCO application program.
Example:
1.3.6.1.4.1.9839.2.1.2.45.0
type 2 pCO variable (analog) with index 45.
The document must be written using the syntax specified by SNMP and must be uploaded to the NMS supervisor when this queries the Agent or receives the
TRAP message: if the NMS contains the MIB file, it can use this an “interpreter” that, as well as containing the list of all objects available on the Agent,
describes the properties, for example the description, the writability, the type, etc.…
As the MIB file contains the physical meaning of each object, it can only be created once the pCO application has been defined. For this reason, upon request
CAREL only provides the MIB FILES for the standard CAREL pCO applications, which can however be used to as the basis for creating a MIB file for custom
applications; once created, numerous sites are available on the web for validating the MIB FILES.
One recommended site is: http://www.simpleweb.org/ietf/mibs/validate/.
System traps
pCO protocol failure: a TRAP will be generated whenever pCO-pCOWeb communication is interrupted or re-established; this TRAP can be set, as
follows:
Enabled: enabled to be sent.
Trap OID: extended OID that describes the TRAP sent; the information will be sent without being processed by pCOWeb.
Acknowledge / Ack interval: enable, select the maximum number of repeats and the time interval for sending the TRAP until reception is
acknowledged (similar to the Retry / Timeout fields corresponding to the TRAP messages generated by the events relating to the pCO variables,
see
Figure 4.t).
The two standards use the same physical means for carrying the
data (Ethernet RJ-45 network) but differ as regards the different
ways the data packets are encoded. If BACnet is used, during
installation the proper version needs to be set to coincide with the
type used by the supervisor.
BACNET PICS
BACnet is a scalable protocol, that is, it features a vast array of
functions, some of which are obligatory, others whose
implementation is left to the discretion of the manufacturer. For a
product that uses BACnet, the document that analytically
describes the type of functions implemented is extremely
important.
This document is called PICS (Protocol Implementation
Conformance Statement) and for the pCOWeb is available at
http://ksa.carel.com.
From the factory, I001-I2007 are mapped as Analog Value 1001-Analog Value 1207. Each of these may be reprogrammed as Multi-state Values on an individual basis,
by writing to the Object_Identifier property. BACnet objects which are mapped but for which there are no corresponding physical pCO points return an unreliable-other
(7) value for the Reliability property of the corresponding object and an undetermined value for the Present_Value property (usually=0 or 0.0). The Object_Name
properties for all the objects, except the Notification Class objects are writable and can be up to 32 characters in length. By default the Analog Value/Multi-state Value
and Binary Value objects are named A001-A207, I001-I207 and D001-D207 corresponding to their pCO mapping.
7.3.2 Commandability
BACnet commandability is supported for the Analog Values, Binary Values and Multi-state Values on an individual object basis. In addition to being optionally
selected as commandable, each of these individual objects may be programmed as read-only or writable but not commandable. This condition is controlled by
writing to the proprietary property 1014 for the appropriate object. For the proprietary property 1014, a value of 0 indicates read-only, 1 indicates writable but
not commandable and 2 indicates commandable. The Priority_Array and Relinquish_Default properties are present only if the proprietary property 1014 is 2
for an individual object. By default, the proprietary property 1014 has a value of 1 (writable but not commandable) for backward compatibility with older
versions of the pCOWeb when delivered from the factory.
7.3.3 Schedules
BACnet schedules are supported and made visible through the 16 Schedule and 16 Calendar objects. For each Calendar object, there can be from 0 to 16
dates in the Date_List. For each Schedule, both the Weekly_Schedule and Exception_Schedule properties are supported. Each object's Exception_Schedule
list can have from 0 to 4 entries. Each Weekly_Schedule and each Exception_Schedule can have from 0 to 6 Time_Values. Each object's
List_Of_Object_Property_References property can have from 0 to 64 entries. External objects are not supported. Following a restart, schedules are not
executed until the pCOWeb clock has been set using a TimeSynchronization or UTCTimeSynchronization. Schedules are checked approximately every 10
seconds for a minute rollover, so scheduled values may not change until 10 to 15 seconds after the minute turns over.
To get your modbus device working, these are the basic things you need to know:
• Port 502 TCP (default by protocol, cannot be changed)
• Address format: Decimal (digital number 1 = coil 1)
• Variable bindings:
Digital variables: coils from 1 up to 2048
Analog variables: registers from 1 up to 5000
Integer variables: registers from 5001 to 10000
• Variable types: Signed Integers (mandatory in some software to correctly
read/write the variables)
• The ranges of variablesare aligned with the standard Modbus addresses.
• The limits of variables are aligned with the standard Modbus limits:
read coils/discrete inputs: 2000
write coils: 1968
read registers: 125
write registers: 123 Figure 8.a - Remote connection example
These are the only commands supported by the pCOWeb in modbus TCP/IP
01: Read coils
03: Read holding registers
05: Write single coil
06: Write single registry
15: Write multiple coils
16: Write multiple registers
23: Read/Write multiple Registers
The page shown below summarises the Modbus TCP/IP configuration for
pCOWeb.
NOTE1: To completely back up the pCOWeb configuration after copying the files to the new pCOWeb a reboot is required
NOTE2: To copy a back up from a pCOWeb to another one is necessary that both pCOWeb have the same firmware version
In addition, a function is available that deletes all the changes made by the user (settings or files added) and returns pCOWeb to its default state (see 9.3 on
page 44).
Figure 9.a - Authentication dialogue box for accessing the Administrator area
NOTE The authentication dialogue box is enabled by default, however it may have been disabled by the user (for the disabling procedure see 9.2.1 on
page 42); in this case the dialogue box will not open; continue as described in paragraph 9.2.2 on page 42.
NOTE As already mentioned at the beginning of the manual, the following description refers to the configuration page relating to pCOWeb firmware
version A2.0.4 - B2.0.4. To check the pCOWeb firmware version, see paragraph 9.2.2 below.
The letter “U” (Undefined) shown for some variables means that the value could not be acquired for that
variable from the pCO.
NOTE 1 The older versions of the pCO operating systems (BIOS) do not manage the entire range of
variables. In this case “U” is shown in the corresponding locations.
NOTE 2 If all the variables are shown with a “U” there is a problem in communication with the pCO. In
this case, check the pCO-pCOWeb communication settings (see 9.5 on page 46)
Figure 9.c - Click to refresh the Body section
NOTE 3 If some variables show a “U” among other valid values, check that the application on the
pCO uses the supervision atoms correctly; the most frequent causes are: variables written
too frequently, or two different variables that use the same supervisor index; see the
technical documents on the pCO application development environment.
NOTE 4 It is possible to set a variable directly from the Summary page, just double clicking on the
interested variable: a pop-up window (see Figure 9.w) will be displayed as described in
section 9.9 on page 51 where the reading/writing function is described
For further information on exchanging the values of the variables between the pCO and pCOWeb see
APPENDIX C on page 62.
• View network configuration: shows a summary of the network settings that pCOWeb is using, divided between ETH0 / ETH0:1 / ETH0:2 / ETH0:3 (these
can only be displayed if the corresponding logical interface is being used, see section 9.4) / DNS SERVERS / GATEWAY; especially useful when
operating with DHCP: shows the effective information acquired from the server and currently used.
• Fix permissions of HTML pages and CGI scripts: in the previous firmware versions, once an HTML page or CGI executable was loaded via FTP, this
process needed to be run to automatically attribute the transferred file the rights needed to be recognised by the pCOWeb operating system; currently
this is only necessary for executable CGI files.
• Delete user files and settings: deletes all the settings and files added
by the user, and restores the default situation from a copy located in
the read-only area of the non-volatile memory.
The following options are available (Figure 9.i):
No: does nothing
Yes, delete all: also reset the default network configuration
(“DHCP”); in this case, if this setting was not previously used, to
contact pCOWeb the button will need to be held when rebooting to
activate the default IP address: 172.16.0.1 (see 3.1.1 on page 11
and 3.1.2 on page 12).
Yes, delete all except network configuration: do not reset the
default network configuration; useful for continuing to connect to
pCOWeb using the same IP address, recommended if pCOWeb
cannot be rebooted while holding the button;
Yes, delete logger files only: delete the content of folder
/usr/local/root/flash/http/log containing csv files and graphs
Regardless of the above choice, after confirming with the Submit
button, a report is shown with a request to reboot the pCOWeb; Figure 9.i - Restoring pCOWeb to the default situation
the reboot is required: some settings will only be reset after
reboot; until that time, the HTML pages will show the incorrect IMPORTANT If the authentication data to access the configuration
setting of some parameters (Example: baud rate = 300, see 9.5 a page set by the user is different from the default values (admin / fadmin),
pagina 46), and these will only be correct after the reboot. pCOWeb will request authentication (admin / fadmin) for the configuration
page immediately, starting from the page in response to the deletion of the
user files.
The speed can be set between 300-600-1200-2400-4800-9600-19200(default)-38400-57600-115200 bit/s and must coincide with the baud rate of the pCO
supervisor port, selected on a special screen on the application interface, the protocol can be set between Carel and Modbus Extended as we can see in
Figure 9.i. The default values for pCOWeb are 19200 baud and Carel protocol, and can be changed as required.
Figure 9.l – Setting the pCOWeb-pCO communication: Carel (left) and Modbus (right)
IMPORTANT
• The set value will only be used when pCOWeb is next rebooted.
• If the speed set for pCOWeb is different from the value set for the pCO, communication will not be possible.
To access the specific masks, the following steps must be executed: Successively, to configure a pCOWeb, the choice “PCOWEB SETTINGS”
must be selected:
PCOWEB/NET CONFIG:
The following mask will be shown:
In a few seconds, if communication between pCOWeb and pCO controller is properly working, the fields will fill up wth current parameters. In case fileds were
not filled with current values, it is needed to check Bios firmware version and the protocol on BMS serial.
At this point, it is possible to proceed with parameters change, selecting the required field using the ENTER key and setting the desired value with UP/DOWN
keys. If the DHCP option is set to ON, it is not possible to change IP address and Netmask fields. Pressing the ENTER key repeatedly, all available
parameters can be visualized, listed as in the following:
Once parameters have been chosen, it is possible During parameters settings, the following notice will At the end of the operation:
to update them, setting the following mask to YES be shown:
and pressing ENTER.
Finally, it is needed to access pCOWeb and proceed with reboot, when rebooted new parameters will be properly set on device.
9.7 PLUGINS
Plugins are auxiliary applications that can be installed on pCOWeb and allow custom functions to be added easily and automatically.
There are two types of Plugins:
• distributed by CAREL, available at http://ksa.carel.com.
• custom, created for a specific application.
To be able to create a Plugin, good knowledge is required of the GNU/Linux operating system and bash scripting and, to create compiled binary files, these
need to adhere to certain requirements. The rules for creating Plugins are summarised in APPENDIX I on page 79.
3. At the end of installation procedure (which may last some tens of seconds), the page will show 3 different reports:
(1) Upload plugin report
(2) Unzip plugin report
(3) Install plugin report
Once having completed the installation, the plugin page will be as shown below:
thus obtaining:
Figure 9.s - Directory list for setting access restrictions to the HTML pages
TIP
Symlinks can be used to attribute the same authentication to multiple directories: after having generated, for a directory, the .htpasswd file as shown in Figure
9.s on page 49, simply add a link in each directory (symbolic link, typical of Unix-like systems) to the .htpasswd file generated.
For example, to share the .htpasswd file located in /usr/local/root/flash/http/admin/ for the /usr/local/root/flash/http/ directory, proceed as follows:
1. from a Windows terminal access pCOWeb by selecting Accessories / Prompt and then entering:
telnet 10.10.7.132 (IP address or name of the pCOWeb);
2. at the login request, type:
httpadmin
and the password (see 9.8.2);
3. type:
cd /usr/local/root/flash/http/
(new directory for sharing the same Username and Password as /usr/local/root/flash/http/admin);
4. type:
ln -s /usr/local/root/flash/http/admin/.htpasswd .htpasswd
(this creates a link called “.htpasswd” that points to the /usr/local/root/flash/http/admin/.htpasswd file generated previously).
Figure 9.t - Changing the password for the operating system access Usernames
“httpadmin” USERNAME
This is the only Username of interest to the user of the pCOWeb and must be used to access the user memory via FTP or SCP.
This type of identification only allows functions relating to the memory, as established by CAREL. Setting a new Password for this User prevents unwanted
access to the memory.
IMPORTANT: If the password is forgotten, the only way to access the operating system functions protected by the Username/Password is to start pCOWeb
with the factory Passwords pressing the button, as described in 3.1.2 on page 12.
Specify the name (a DNS must be set – see 9.4.1 on page 45) or the IP address, then select the “Ping” button; the command asks the recipient to respond to
acknowledge reception; after sending the command, pCOWeb will display the outcome on the confirmation page; see Figure 9.v, showing a successful ping
on the left and a failed ping on the right.
• Read/Write by pCOx: is used to read or write the contents of a pCO variable using the page shown in Figure 9.w sotto;
Choose the variable: choose the variable to be read or written;
IMPORTANT: The selection is also common to the write function and only becomes effective after selecting the “Read” button; the “Write”
button does not confirm the selection made in the “Choose the variable” section, but rather writes the values shown on line with the “Write”
button and highlighted in Figure 9.w;
Current value: value read; this may be numeric or “U” (for the meaning of “U” see 9.2.2 on page 42);
Variable <Type> <index> new value: enter the new value for the variable and select Write, then wait for the outcome page and check whether
the value has been accepted (= the pCO application can write the variable) or has remained unvaried (= the pCO application manages the
variable as read-only);
• Send all notifications: send all the notification messages set, regardless of whether the corresponding events occurred or time interval has expired.
For details of the notifications see 4.3 on page 20. The message displayed once you executed the test is:
• Toggle verbose e-mail output: this function allows verifying the sending email logs. Switching in the debug mode (Figure 9.cc) it will open a specific
window (see Figure 9.y) where it will be possible to analyse the mail traffic:
Whe the test is complete, click again the ‘Toggle verbose e-mail output’ to return to standard functionality, as shown below
TIP: if updating block A only on a series of pCOWeb devices, use the procedure shown in paragraph 9.11.2 on page 55.
PROCEDURE
1. Download the update to a directory on the computer.
2. Open the pCOWeb firmware update page (Figure 9.bb).
3. Use the “Browse” button to choose the file corresponding to the block being updated.
4. Select the “Upload” button: the block will start being transferred to pCOWeb. The non-volatile memory is not modified in this phase, so it is still possible
to abort the procedure.
5. Wait for the flash image upload report to be displayed (see Figure 9.cc).
Figure 9.cc – Flash image upload report - start update or cancel operation
At the end of writing, pCOWeb will be rebooted automatically. After around 1 minute, the updated main configuration page can be opened to check that the
firmware version has been changed (see Figure 9.d on page 43).
9.11.2 Procedure for updating the firmware via FTP or SCP (block A only)
INFORMATION
• The firmware (only block A) can also be updated via FTP or SCP.
• An already updated pCOWeb where the firmware can be downloaded from is required.
• The “flash_apps_Bx.x.x.car” file used in paragraph 9.11.1 on page 54 cannot be used for this procedure.
PROCEDURE
1. Access an already updated pCOWeb via FTP or SCP (see 0 on page 18), going to the directory:
/mnt/data/images/
2. Take the following file:
app.squashfs
and copy it to a temporary directory on the computer.
3. Access the same directory on the pCOWeb being updated via FTP or SCP.
4. Rename the file app.squashfs as app.squashfs~ .
5. Copy the file app.squashfs from the computer to pCOWeb.
6. pCOWeb must be rebooted to complete the update.
Then, a report of the application upload is shown, as below. The user can choose to proceed with the operation or to abort it.
VERY IMPORTANT
It is standard in custom pCO application and in each Carel standard application that, in order to avoid memory mismatching, to re-initialize the unit to the
default configuration when the application updates, so that is strongly advised to upload, together with the applications' files, a consistent DEV file for the
specific application (i.e. downloading it from another controller with similar configuration and the new software).
Updating the pCO application is a very critical procedure for the unit, it implies to switch it off before taking any action, pCO will de-energize every digital and
analog output during the firmware upgrade without taking in consideration any safety timing or specific procedure defined in the software.
Please, go to http://ksa.carel.com/ and download the step by step guide “Updating pCO Application via pCOWeb.pdf”
10 TECHNICAL SPECIFICATIONS
CPU: ARM Cortex-A7, clock up to 528 MHz
Memory: 256 MB RAM, 4 GB FLASH (around 3.2 GB available for web pages and user data).
Operating system: GNU/LINUX 4.11.12 – file system for the non-volatile user memory: F2FS
Firmware A2.0.4 – B2.0.4
Ethernet interface: RJ45 connector for 10/100BaseT full duplex Ethernet;
use a class 5 shielded cable, max 100 m.
Protocols managed: HTTP (thttpd 2.27)
SMTP (msmtp 1.6.5)
DHCP (dhcpcd 6.11.5)
FTP (server: inetutils 1.9.4; client: ncftp 3.2.6)
SSH/SCP (openssl 1.0.2k, openssh 7.5p1)
DNS
SNMP v1 (Net-SNMP 5.7.3)
SNMP v2c (Net-SNMP 5.7.3)
BACnet Ethernet ISO8802-2/8802-3
BACnet/IP (135-2004 Addendum A/Annex J)
MODBus TCP/IP (libfreemodbus 1.5.0)
Operating conditions: -40T70 °C, <90% RH non-condensing
Storage conditions: -40T70 °C, <90% RH non-condensing
Environmental pollution: 2
CAREL order code: PCO1ØØØWDØ7
MAC address
Each network device is distinguished from any other device connected on the network by the MAC address. The MAC address is a unique number at a
worldwide level. It is attributed to the device in the factory and subsequently cannot be modified. It is made up of 16 alphanumeric characters, in the following
range: 0, …, 9, A, …, F. For easier interpretation, this number is often represented in groups of two characters; an example of MAC address is:
00.0A.5C.10.00.81
The data network is a connection that carries messages from one network device simultaneously to all the other devices connected. Therefore, normally a
network device also receives messages sent to other devices. Each network device only considers a message if the destination MAC address matches its
own. All the other messages are ignored, except for the messages sent to a special MAC address called “broadcast”: FF.FF.FF.FF.FF.FF, which are
considered by all the devices, even if the destination address does not correspond to their own. The broadcast address is used to send “messages for all”. For
this reason, no network device can have the broadcast address as its own address.
IP address
In the data networks, the devices are also uniquely identified using another address, called the “IP address”.
IP stands for Internet Protocol.
Each device is therefore set with its own IP address.
Within a network, each IP address must be unique.
The correct setting of this address is fundamental for the exchange of data between the various devices.
The IP address is made up of four numbers separate by dots. Each of the four numbers is between 0 and 255. An example of an IP address is:
10.0.0.204
Static IP
The attribution of an IP address to a network device, for example pCOWeb, is subject to a number of rules; therefore, when pCOWeb is installed in a data
network, the network administrator must be contacted for a valid IP address. Only the network administrator who has the overall view of the entire
configuration of the installation can in fact choose a valid address for the pCOWeb. In systems that do not use the automatic DHCP system, each individual
pCOWeb will need to be set with the IP address provided by the administrator (see 9.4.1 on page 45).
The device with IP address 1 CANNOT DIRECTLY communicate with the device with IP address 2 (a Gateway device will be needed).
PROXY SERVER
For some types of message, the PC can also be configured so that the path travelled by the message includes (if featured in the local network) a special
device called a proxy server, which performs some additional tasks. An example of such tasks is the one that is normally performed when requesting access
to Internet sites from a PC on a local network; in this case, each PC accesses the Internet via a central server on the network, which has the task of managing
the traffic to the outside. Normally, the server features a proxy so as to store the last pages accessed in its memory, and, if on the websites these have not
been changed (date / file size), rather than download them from the sites it provides its own copy, thus avoiding useless data traffic; in general, a proxy
returns a result that depends on the rules set on the proxy.
If pCOWeb is installed in a network with a proxy server, the browser on the PCs in the network are normally already set to send their HTML page requests to
the proxy. In this case, if the network server has not yet been set to locate the pCOWeb in the network, a personal computer will not be able to access the
pCOWeb HTML pages via the proxy. Consequently, the easiest solution is to disable the proxy on the PC used to contact the pCOWeb. This means however
that the PC will not be able to access the Internet via the intranet.
FURTHER INFORMATION
The mechanism for the transmission of a data packet is illustrated below.
NOTE A network device can contact another device only if its MAC address is known (or the MAC address of the corresponding gateway that it connects
through) and this is included in the transmission packet; in fact, the first filter for reception on each network device is a network board that rejects
all the messages that are not sent to its own MAC address. The transmission mechanism can be analysed as follows.
A – request from a program running on a PC to contact a site; role of the communications manager.
It is assumed that a program running on a PC requests the PC operating system to send a certain message to a server, for example
www.myserver.com; the program sends the request to the communications manager on the PC; the communications manager is a program that is
part of the operating system and that can be considered a “switchboard operator” for the PC: it receives transmission requests from the programs
running on the PC, and receives messages from the outside, forwarding them to the programs running.
C – the IP address acquired may not be suitable to contact the server directly: function of the subnet mask.
At this stage, the communications manager checks whether or not it can contact the server’s IP address directly; if not enabled, it will send the
request to contact a network “helper” called the “gateway”, which will forward the message to the recipient (and will do the same for the response);
the gateway can be contacted by the PC as the user will have specified the IP address provided by the network administrator; this IP must be
directly contactable.
the bits of the destination IP address corresponding to those that in the Subnet mask are equal to 1, must have the same value as the
bits of the source IP address
NOTE The subnet mask cannot have just any value; it must follow a number of rules, including:
• from the left, at least the first bit must be 1
• continuing to the right, the first 0 bit will only be followed by 0 bits
Examples
Subnet mask 255. 255. 224. 0
11111111 11111111 11100000 00000000
In other words, the valid range (subnet) for the addresses that can be contacted directly from this PC will be:
Figure C.a describes a write request generated by a high level pCOWeb application.
CONCLUSIONS
A. In a pCO application, a read-only variable does not perform the reception atom and is only varied from the application. Each value sent by
pCOWeb will not produce any variation in the value of the application, but if the two values are different, the send atom will also book an echo
containing the value of the variable contained in the pCO application.
B. On power-up, the pCOWeb communication buffer is loaded with a series of “U”-s (Undefined); each value received from the pCO replaces the
corresponding “U” loaded at power-up.
C. If communication with the pCO is interrupted, after a Timeout of a few seconds, the entire pCOWeb communication buffer is initialised again with
the “U”-s (the “Status” LED starts flashing red).
D. On power-up, or when communication is restored, pCOWeb sends pCO a command to read all the variables, regardless of the variations; pCO
then sends all the values of all the variables managed by the communication buffer, irrespective of whether the atoms are present or not.
E. The pCO BIOS versions prior to 4.02 do not manage all 207 variables for all three indices, that is, have communication buffers that do not extend
across the range 1-207. This means that there may be some “U”-s for the last variables.
F. The pCO BIOS versions 2.31 and higher support Carel protocol version 3.0, pCOWeb requires this protocol version or higher.
G. The pCO BIOS versions 5.17 and higher support pCOWeb configuration from system masks, with Carel and Modbus protocols. See section 9.6.
After installation, when first started the screen shown in Figure D.a is displayed.
INFORMATION
• The part of an e-mail address to the right of the “@”is called the domain (name@domain).
• More than one domain can be added to ArGoSoft.
• The server will only receive the messages whose domain corresponds to one domain specified on the settings.
PROCEDURE
Click point 1 in Figure D.a; with reference to the example settings illustrated for pCOWeb in Figure 4.p on page 24, enter the two domains (see sopra):
provider1.com
provider2.com
IMPORTANT: When, in Figure 4.p on page 24, the properties are set for sending the e-mail notifications from pCOWeb, if ArGoSoft is used, it is mandatory
not to specify the login Username / Password (leave the corresponding fields empty).
NOTE Even if the [email protected] MAILBOX is not created, pCOWeb still sends the messages to [email protected]; the
first MAILBOX has simply been proposed as an example for any messages sent to pCOWeb. These messages are not managed by pCOWeb but
must be displayed by browser or downloaded by a client.
PROCEDURE
• From the Microsoft Outlook menu bar, choose:
- “Tools”
- “Accounts…”
- “Add an e-mail account”
• Choose the type of server: POP3
3 and 4 – Incoming mail server (POP3) and Outgoing mail server (SMTP): name or IP address of the computer where the ArGoSoft server has been
installed. NOTE: If the computer is different from the one running Outlook, the two computers must be able to exchange data. It is recommended to use
the same computer. In this case, enter 127.0.0.1 (internal address of the computer visible to all the internal applications).
7 – Test account settings...: select this button to test the Microsoft Outlook settings: a test message will be sent and then received by the MAILBOX.
At this stage, the ArGoSoft server is ready to receive e-mails from pCOWeb and deliver them to Outlook.
Figure E.a - FileZilla Server Interface: authentication dialogue box and opening screen
1. Open the user configuration page (see Figure E.a, click the Users icon);
2. With reference to Figure E.b (points 1, 2, 3), type the Username of the new user (for the FTP PUSH example illustrated on page 23, enter “ftpaccount”);
3. Again with reference to Figure E.b sopra (points 4, 5, 6), set the access Password for the “ftpaccount” user created above (for example “password”).
4. With reference to Figure E.c (points 7, 8, 9, 10), set the shared directory for “ftpaccount” that pCOWeb will be able to copy the files into.
The settings are now complete. The FileZilla Server Interface can now be closed; FileZilla Server will keep running.
Figure E.c - FileZilla Server Interface: choosing the shared directory for “ftpaccount”
The MIB Browser is a tool that allows users to perform many different operations, as Get/Get Next/Get Bulk/Walk to fully path through SNMP trees. It also
offers a built-in trap receiver that can receive and process SNMP traps.
When started no configuration is required.
The user must select the IP address whose SNMP traps are going to be catched from the address field on top of the tool. The trap receiver can be started by
simply selecting Tools->Trap Receiver:
Figure F.b shows the Trap Receiver window highlighting a Trap message that has been received.
Figure F.b - Trap Receiver: confirming the start of the service – details of the TRAP messages
NOTE Browsers such as Mozilla Firefox, Google Chrome and others create a copy of the pages visited in their cache, and when the page is next called
the contents may be loaded from the cache, rather than requesting an update from pCOWeb. This means that at times the desired result is not
displayed, above all with dynamic pages such as those used on pCOWeb.
The browsers, nonetheless, feature of a specific command to force them to update the pages from the web server; for example, by using F5 both Mozilla
Firefox and Google Chrome update the page, but by using Ctrl+F5 they do it without using the cache contents.
Ctrl+F5 should be used whenever there is doubt that the result may haven been loaded from the cache on the PC.
The ?script:var(0,3,9,-32768,32767) section places a text box on the page for entering the value using the keyboard.
The <%var(0,3,9)%> section fills the text box with the value of the variable; if omitted, the value will not be indicated.
After having entered a new value, selecting the Submit button sends pCOWeb the value entered for the variable and a new request for the page specified in the
“form” statement (“example.html”).
pCOWeb will perform the following operations:
1. send the value entered to the pCO (for multiple variables, it will send all the values entered);
2. wait to receive the echo of the value sent by the pCO (for multiple variables, it will wait for the echo of all the values);
3. when the echo is received, the value will be written to the table on the pCOWeb and the page will be returned to the PC (for multiple values, it will wait for the
last echo to be received); the fields will contain the values received as echoes from the pCO.
Figure G.c - The “var” TAG used for writing: write completed
NOTE The pCO does NOT send an echo in the following cases:
• the pCO is sent the same value as already saved for the variable;
• one of the situations in which “var” returns “U” (see above, description of “var” for reading).
If waiting for some echo, pCOWeb will return the page to the PC after a Timeout of 10 seconds from the reception of the last echo; the fields relating to the
variables for which no echo has been received will contain the values saved prior to the variations being sent. For further details see APPENDIX C on page 62.
The following tags are available for handling the configuration files:
• “getdb”: read a parameter from file;
• “setdb”: write a parameter to file;
• “checkdbsel”: search for a parameter in a file and check the value (useful for html “select” tools);
• “checkdbradio”: search for a parameter in a file and check the value (useful for html “radiobutton” tools).
SPECIAL TAGS
These are used in the configuration web pages; their use is closely related to the operating system, and incorrect usage may cause instability on the
pCOWeb.
• “factdefcfg”: extracts from non-volatile read-only memory the factory values of the parameters used by pressing the button when starting the
pCOWeb (paragraph 3.1.2 on page 12).
Used in the link to “View factory bootswitch parameters” (see Figure 9.g on page 44).
• “rcresult”: directly returns the result of certain operations from the operating system. This is particularly delicate, as if not used correctly may
require the pCOWeb to be rebooted.
• “env”: returns all the information available from the pCOWeb.
This takes a long time to run; if when running (that is, until the web page is returned) other web pages are requested, pCOWeb will need to be
rebooted. To use this, type the following command directly into the address field in the web browser:
http://172.16.0.1/config/result.html?%3fscript%3arccmd%28%27do_log%27%29
replacing the address 172.16.0.1 with the IP address of pCOWeb in question.
• “do_flashroom”: returns the size of the remaining free space in the area of non-volatile memory reserved for the web pages.
One example of this is “View used / free disk space” on the configuration page (see Figure 9.h on page 44);
• “do_ifconfig”: returns the current configuration of the Ethernet network, including the IP address obtained from the server in DHCP mode;
one example is “View network configuration” on the configuration page (see Figure 9.g on page 44).
• The value displayed on the web pages does not change when the variable changes.
Causes: the web page has been made by copying the source of another page (for example, displaying “Source code” in the browser); it does not work
because the page obtained does not contain the tags, but rather the values that pcotagfilt has already replaced them with.
The following row opens the section that will contain the HTML statements. This is closed by </html>.
<html>
The following rows in standard html language simply represent comments. The last of the three rows is nonetheless essential for the pCOWeb pages and
MUST be included in the page (see the start of APPENDIX G on page 68). This tells pCOWeb which translator must be used for the proprietary tags.
pCOWeb currently features just one tag translator for CAREL tags, so the row is always:
<!--tagparser="/pcotagfilt"-->
If this row is not entered, no CAREL proprietary tags will work.
<!-- The tag filter must be specified in the first 10 lines,
after the '<html>' statement, with the syntax: -->
<!--tagparser="/pcotagfilt"-->
NOTE Unlike the comment, the position of the row in the page is irrelevant.
The following row opens the HEAD section, which will contain some special html functions that have no effect on the display of the page.
<head>
The <meta... row tells the browser to use a certain set of characters and other properties.
The <link... row loads the style sheets that will be used for formatting the page.
The <title>title... </title> row attributes the title to the html page window opened by the browser.
<meta content="text/html; charset=ISO-8859-15" http-equiv="content-type">
<link rel="stylesheet" href="style.css" type="text/css">
<title>pCOWeb Demo Page</title>
The following row selects the colour used for the background of the page.
<body bgcolor='#ffffff'>
The following row writes the text pCOWeb Demo Page, in h1 font size, with centred horizontal alignment.
This is followed by the line break, <br>.
<h1 style="text-align: center">pCOWeb Demo Page</h1>
<br>
The following row tells the browser that it must draw an area for acquiring data entered by the user, and, when confirmed, send the data to the
“pw_demo.html” page. The list of controls for this area ends with the </form> command.
The <center> command defines the start of an area with centred horizontal alignment, the <table> command places the subsequent objects in a table, the
<tr> command defines a new row in a table, the <td> command defines a new cell in a table.
Note that the page has the structure as a general table, in turn containing three tables, each of which contains 10 pCO variables.
For each variable, the html “input” command is used together with the CAREL “var” tag.
<form method="GET" action="pw_demo.html">
<center>
<table> general table containing the following three tables
<tr>
…………
<tr>
<td>Var 10:</td>
<td><input type="text" name="?script:var(0,1,10,0,1)" value="<%var(0,1,10)%>"></td>
</tr>
</table>
</td>
…………
<tr>
<td>Var 10:</td>
<td><input type="text" name="?script:var(0,2,10,-3276.8,3276.7)" value="<%var(0,2,10)%>"></td>
</tr>
</table>
</td>
…………
<tr>
<td>Var 10:</td>
<td><input type="text" name="?script:var(0,3,10,-32768,32767)" value="<%var(0,3,10)%>"></td>
</tr>
</table>
</td>
</tr>
</table>
</center>
The following rows are comments and consequently are not active
<!--pCO set result: <img src="/config/img/<%setres('undefined','green','red')%>.gif"
alt="<%setres('undefined','correct','error timeout')%>" align="bottom"><br><br>-->
The following row is an example of the “setres” tag used to colour the texts
pCO set result: <div style="display: inline; font-weight: bold; color: <%setres('gray">Undefined','green">Communication
ok','red">Timeout Error')%></div><br>
Minimum Requirements
This application note is addressed to people with the following knowledge:
• Discrete knowledge of HTML
• Discrete knowledge of JAVASCRIPT
document.getElementById("currentTime").innerHTML=timestamp;
}
</script>
</head>
<body onLoad="getVariables();">
<!—- The onLoad is necessary to load the variables as soon as the page loads -->
Current time is: <span id="currentTime"></span><br>
<table>
<tr>
<td>Digital 1 is:</td><td><span id="digital1"></span></td>
</tr>
<td>Digital 2 is:</td><td><span id="digital2"></span></td>
</tr>
<td>Integer 11 is:</td><td><span id="integer11"></span></td>
</tr>
<td>Integer 12 is:</td><td><span id="integer12"></span></td>
</tr>
<td>Analog 101 is:</td><td><span id="analog101"></span></td>
</tr>
<td>Analog 102 is:</td><td><span id="analog102"></span></td>
</tr>
</table>
</body>
</html>
As you can see from the example here above, the line <!--tagparser="/pcotagfilt"--> doesn’t need to be included in the code because the pCOWeb doesn’t
have to parse the page as values are coming from the xml, reducing the workload of the card, the values will be loaded on the arrays by the function get
Variables.
getParams
The function getParams, using the (very common) browser function “XMLHttpRequest” (http://en.wikipedia.org/wiki/XMLHttpRequest), retrieves values from
pCOWeb executing “xml.cgi”.
“xml.cgi” is an application custom made for pCOWeb to generate an xml file containing the values requested by the arguments of the function getParams, the
URL that the browser will request to the pCOWeb, following the example, is:
http://<ip_address_pCOWeb>/config/xml.cgi?D|1|2|I|11|12|A|101|102
The syntax of the query is “xml.cgi? + VAR_TYPE|START_INDEX|END_INDEX|”, the string allows to request many ranges of variables, up to the maximum
length allowed by the browser.
Starting from version A142, “xml.cgi” is able to recognize the argument “N” positioned at the beginning of the request, so that the xml file returned by
pCOWeb will use the new and more performing format; the request now will look like:
http://<ip_address_pCOWeb>/config/xml.cgi?N|D|1|2|I|11|12|A|101|102
The library “pw_ajax.js” in “/config” of the firmware >=A142 is automatically using the new format for the xml file; therefore, for the applications designed for
firmware A135 in order to use the new format, they have to:
• if the web pages are importing the library using the path “/config/pw_ajax.js”, nothing has to be done to update them
• if the web pages are using a local copy of the library, the new library will have to be copied in the folder to update it, the new library is fully compatible with
the old one.
For custom made pages which are not using the standard “pw_ajax.js” library to use the new format for the xml file, it is necessary to adjust the string sent by
the browser and to adapt the parser of the xml to the new format; keeping the string as for version A135 will use the “old” xml format. Copy and pasting the
same URL to the browser, it will return the following XML (values contained depend on the application running on the pCO controller):
New format Old format
<PCOWEB t="2010-03-22 11:48 "> <PCOWEB>
<PCO> <PCO>
<DIGITAL> <DIGITAL>
<O I="1" V="1"/> <VARIABLE>
<O I="2" V="0"/> <INDEX>1</INDEX>
</DIGITAL> <VALUE>1</VALUE>
<INTEGER> </VARIABLE>
<O I="11" V="0"/> <VARIABLE>
<O I="12" V="0"/> <INDEX>2</INDEX>
</INTEGER> <VALUE>0</VALUE>
<ANALOG> </VARIABLE>
<O I="101" V="0.0"/> </DIGITAL>
<O I="102" V="0.0"/> <INTEGER>
</ANALOG> <VARIABLE>
</PCO> <INDEX>11</INDEX>
</PCOWEB> <VALUE>0</VALUE>
</VARIABLE>
<VARIABLE>
<INDEX>12</INDEX>
<VALUE>0</VALUE>
</VARIABLE>
</INTEGER>
<ANALOG>
<VARIABLE>
<INDEX>101</INDEX>
<VALUE>0.0</VALUE>
</VARIABLE>
<VARIABLE>
<INDEX>102</INDEX>
<VALUE>0.0</VALUE>
</VARIABLE>
</ANALOG>
</PCO>
</PCOWEB>
After receiving the XML, the library parses it and loads the information to the three arrays declared on the top of the javascript code of the HTML page, it is
very important that the name of the arrays have to be kept to “analogs”, “digitals” and “integers”.
The current time of the pCOWeb received will be loaded into the variable “timestamp”.
parseResults (only from version A142)
Starting from Version A142, the “pw_ajax.js” library is using a new function called “parseResults” which is executed as soon as the browser receives the xml
from pCOWeb, so that the values shown in the html can be updated without waiting for the next run of the javascript code. Up to version A135 the function
responsible to read from the javascript arrays (digitals, integers and analogs) was executed just after having sent the request for the xml file to the pCOWeb
before having the new values loaded into the arrays, therefore it was necessary to wait for the next time the function is executed to have the values shown on
the web page, the web pages were always showing the values received on the previous request. This reduces the time-to-values when the web page is
loaded for the first time and the responsively of the web page when values change in the pCO. This function is not defined in “pw_ajax.js” which is, instead,
only using it, the function has to be declared in the html page, as shown in the example. To be compatible with web pages developed with firmware < A142,
this function is optional and is executed only if defined in the html file.
Advantages
1. Web pages can reside in a Apache or IIS web server, they will have to connect to the pCOWeb only to download data, which is extremely useful for
integration or to overtake the limitations of the embedded web server of the pCOWeb (for example php or asp or .net could be used to generate dynamic
web pages)
2. Any web developer is able to develop the page without knowing the pCOWeb tags
3. The values can be automatically updated without the horrible refresh of the entire page
4. Adding or removing variables to the page takes seconds
5. Integration with Google gadgets, MacOSx widgets or flash animations using a standard interface
Disadvantages
1. Values are retrieved seconds after the page is loaded, tricks can be used to preload the values on the web page using the standard tags of pCOWeb, if
the web pages lies in the card.
2. Up to firmware A135 the requests keep the pCOWeb busier than the standard pCOWeb tags, and the more people are connected to the pCOWeb the
worse are the performance. This is not true anymore with firmware >= A142 as the cgi has been drastically improved.
CONFIGURATION FILES
These are ALL the files in the “conf_users” directory of the Plugin being installed.
They contain all the settings defined by the user to customize the functions of the Plugin.
During installation these files are copied to the “/usr/local/root/flash/conf_users/” directory, which corresponds to the $CONF_USERS system variable.
To create or edit a configuration file, use the Plugin web pages or edit it manually using a text editor, accessing the user memory via FTP or SCP.
The NTP Plugin only contains the file called “ntp_client.conf”, which includes the following line:
1: NTP_URL=10.0.0.131
that defines the IP address of the NTP server used for communication.
Figure I.b - Field used to set the address of the NTP server
EXECUTABLE FILES
These are ALL the files in the Plugin “bin_users” directory of the Plugin being installed. They represent the executable files (binary files or bash scripts) that manage
the functions of the Plugin. During installation the executable files are installed in the “/usr/local/root/flash/bin_users/” directory, which corresponds to the
$BIN_USERS system variable; the path is included in the $PATH system variable. During installation, each of these files are attributed the permission to be
executed as envisaged by the Linux operating system, shown in Figure I.c.
The following executable files are included in the NTP Plugin:
• “ntpdate” (this handles communication with the NTP server and writes the time to the system clock);
• “ntp.sh” (this handles the management); the latter is described in detail below.
PLUGIN NAME
This the file located in the Plugin directory with the name “pluginname”.
It contains the Plugin name that will be displayed for the link during the installation and uninstallation of the Plugin.
IMPORTANT: the contents of “pluginname” must not contain spaces.
In the case of the NTP Plugin, the file contains the string “Network_Time_Protocol”, and the following link is displayed: ‘Install plugin
“Network_Time_Protocol” ‘.
PLUGIN DIRECTORY
For a Plugin to be automatically recognised as able to be installed by the pCOWeb, the directory that will be copied via FTP (see 9.7.1 a pagina 47) and that
contains all the files and all the directories must be called “Install-plug-xxx”, where xxx is any name used to identify the contents of the Plugin, yet has no
special meaning for the pCOWeb.
“bash” is an interpreted language used to perform simple tasks or cyclical binary executions; it is a standard language and is widely described on the Internet.
For a compiled executable to be able to run on the pCOWeb, it must have the following characteristics:
• Architecture: ARMv7
• Recommended compiler: gcc 5.4
• Linux Kernel: 4.11.12
• Glibc: 2.24
• Coreutils: 8.26
• Findutils: 4.6.0
• Inetutils: 1.9.4
• Iputils s20160308
• Net-tools 2.10-alpha
• Util-linux 2.29.2
• Bash 4.4
Starting from version 1.5.x and up to version 2.0.x, the map has been modified (so that all variables are actually reachable), as follows:
Analog
1 1 2
2 2 3
… … …
207 207 208
… … …
5000 5000 5001
Integer
1 5002 5003
2 5003 5004
… … …
207 5208 5209
… … …
5000 10001 10002
Digital
1 1 2
2 2 3
… … …
207 207 208
… … …
2048 2048 2049
Versions up to 1.4.x
Note that the first digital is set to 1, whereas digital 2 and 3 are set to 0.
Data read is 1;1;0 this because in versions 1.4.x there was a bug.
It is possible to read digital variables from 1 to 2047 but not variable 2048.
In order to read the desired variables the following must be used:
Again, with MODICON COMPATIBLE settings, trying the previous set, Data register 1 Number of points 3, an error is received.
If you use the correct index and settings as point 4 you get the correct information: