Wiki

Clone wiki

EspecWeb / Web Controller Operation Manual

Table of Contents

1.0 Introduction

This document describes the operational features of ESPEC North America’s Web Controller software, Version 2.5.

1.1 User Accounts

To help protect the chamber from getting damaged by unauthorized users or users with limited knowledge of the chamber operation, the Web Controller offers several types of user account with different level of privileges. These account types are: Guest, User, Technician and Administrator.

Access privileges associated with these accounts are outlined in the following table. The Guest account can only access the Web Controller home page and monitor page in view mode. The Guest account represents a user who is not actually logged into the Web Controller.

User Account Access Privilege

Account Home Monitor Constant Program Run/Stop Network Setup
Guest RO RO NA NA RO RO NA
User RO RO RW RO RW RO NA
Technician RO RO RW RW RW RO NA
Administrator RO RO RW RW RW RW RW
  • NA: No Access, this page may not be accessed in any form.
  • RO: Read Only access to this page, it may be viewed but no changes may be made.
  • RW: Read Write access to this page, it may be viewed and changes may be made.

The Web Controller is shipped using the administrator account with the following credentials:

  • username: admin
  • password: admin

When the administrator logs into the system for the first time, different account types with different access levels for each user who will operate the chamber should be created. The administrator's password must be changed to a more secure one. This procedure is discussed in Section 13.7.

1.2 Web Browser Compatibility

ESPEC Web Controller supports a number of web browsers that include Internet Explorer (version 9+), Google Chrome, Mozilla Firefox, Apple Safari and Opera.

1.3 IP Configuration

The Web Controller is shipped with the default configuration to acquire its network settings automatically from the target network via DHCP. If automatic networking is not desired or the target network policies prevent DHCP usage, the Web Controller will fall back to a static network setting:

  • IP Address: 192.168.0.83
  • Net Mask: 255.255.255.0

The static network protocol will occur when the Web Controller is connected directly to a PC via a cross-over cable or to a hub without DHCP service. If a different static IP address is desired, configuration can be done during the setup wizard or any time thereafter via the Setup Page (Section 13.0).

1.4 Web Controller's Terminology

ESPEC Web Controller supports several different process controllers. Each of these process controllers uses a different naming convention to describe their program name. Common terminology that shares among these controllers are outlined as follows:

Web Controller P300/ SCP-220 Watlow Controllers Description
Program Program Profile A series of set points for the chamber to operate.
Time Signal Time Signal Profile Event/Event Output A signal that can be used to turn features on or of manually or during program execution time.

2.0 Accessing the Web Controller

Two different ways to access the Web Controller:

  1. The Web Controller can be accessed via its IP address by entering http://ipaddress/ into the URL field. The IP address can be found at two different locations:

    • Each time the Web Controller boots up, it will post its IP address on the chamber controller:

      1. On a Watlow F4T, the IP address is shown on the third line of the message screen as depicted in the following figure.

        The Watlow F4T message screen

      2. On a P300, the IP address is shown on the “Set LAN” screen as depicted in the following figure.

        The "Set LAN" screen on the P300

    • The IP address can be found via the “ESPEC Web Controller Locator” utility, available at: https://espec.com/images/uploads/files/espec_web_controller_locator.exe. The utility will scan for Web Controllers (version 2.0.0 and higher) immediately after launching. The IP addresses are listed in the second column. To access the controller, click on its IP address. The hostname is accessible only if the computer can resolve it.

      ESPEC Web Controller Locator Utility

  2. On a computer running Microsoft Windows, the Web Controller can be accessed via its hostname through a web browser using http://hostname/. For Apple or Linux machines, or Microsoft Windows running Apple's bonjour, the Web Controller can be accessed through a web browser using http://hostname.local. There are several ways to find the hostname; each is dependent on whether the Web Controller is shipped with or without the chamber.

    • The default hostname of the Web Controller that ships with the chamber is “ESPECserial#”, where “serial#” is the serial number of the chamber. This serial number can be found on the serial tag of the chamber as depicted in the following figure. In this case, the Web Controller is accessible via http://ESPEC1700007885/ with a web browser running on Microsoft Windows. For Apple or Linux computers, the Web Controller is accessible using http://ESPEC1700007885.local as its hostname. If the Web Controller is shipped without the chamber, then the hostname is “espec-default”. With this hostname, the Web Controller on a Microsoft Windows computer can be accessed via http://espec-default. On Apple or Linux machines, we can access the Web Controller via http://espec-default.local.

      Example of Serial Tag

    • For a Watlow F4T, the hostname can also be found in the same manner as that for the IP address, with the hostname displayed on the second line.

    • The hostname can also be found using the “ESPEC Web Controller Locator” similar to that for the IP address; the hostnames are listed in the first column.

3.0 First Time Use

The Web Controller is configured to use DHCP, with its IP address assigned by the network server. If DHCP is not available, the Web Controller will use a static IP address 192.168.0.83 with a netmask 255.255.255.0.

Detailed steps on how to connect and configure the Web Controller:

  1. Ensure that the Web Controller is switched off.

    1. If the Web Controller was shipped with the chamber, which is installed inside the chamber's electrical box, turn off its power by switching off the main power to the chamber. This process typically involves switching off the chamber's main breaker.
    2. If the Web Controller is the external type, switching off the power can be done by disconnecting the power cord from the unit.
    EP/EGN/EWP/EWS/EN Chambers
    ESPEC chambers
  2. Connect an Ethernet cable to the chamber, making sure the correct Ethernet port is used as shown in the figure. Connection at the other end of the Ethernet cable is dependent on the target network's administration policy. Contact the IT department for assistance on how to configure network connection or try the following steps.

    1. When the target network policy allows a new or an unknown device to obtain a DHCP lease, connect the other end of the Ethernet cable directly to the target network port.
    2. Alternatively, if the first option does not work, connect the Web Controller directly to a computer using a cross-over cable. Another option would be to connect both the Web Controller and a PC, using standard Ethernet cables, to a hub. This option requires some network configuration on that PC to have the same subnet as the Web Controller (to be explained in step 5 below).
  3. Apply power to the Web Controller and the chamber. If the Web Controller is installed in the electrical box inside the chamber as one unit, turning on the chamber’s main power switch (such as a breaker), or plugging back the main power cord, will be sufficient to supply power to both devices.
  4. Allow the Web Controller (and chamber) time to boot up; five minutes should be sufficient.
  5. When the Web Controller’s home page is being accessed for the first time, it will redirect to the initial setup wizard.
    1. If the Web Controller is part of a network which has a DHCP server, refer to Section 2.0 (Accessing the Web Controller) for further details on how to locate and access the Web Controller.
    2. If the Web Controller is not part of a network but is connected directly to a computer via a cross-over cable or to a hub as outlined in step 2 (above), the Web Controller can be accessed on the web browser via its IP address http://192.168.0.83/. In order to access the Web Controller via this method, the computer connected to the Web Controller must have the same netmask (255.255.255.0) and gateway (192.168.0.1) with a unique IP address such as 192.168.0.84. In this case, the computer needs to be configured to use a static IP address.
  6. The Web Controller will prompt for a username and password in order to run the setup wizard. When prompted, enter the following credentials:
    • Username: “admin”
    • Password: “admin”
  7. Follow the directions given in the Web Controller.
    1. Before using the Web Controller, the user must accept the Software License Agreement.
    2. If the Web Controller was installed inside the chamber at the factory, the setup wizard will skip the first step for the controller.
    3. Change the administrator's password when prompted.
    4. The wizard can be exited at any time by pressing the “Exit Wizard” button, located at the bottom of the page.
  8. When the setup wizard is complete, the system will reboot. The Web Controller will be ready for use following this reboot. If the IP address or hostname was changed during the setup, it will require opening a new browser with the new hostname or IP address to access the Web Controller.

4.0 Common Page Elements

The Web Controller home page is depicted in the following figure. Elements of the page content that are common to all the pages are illustrated for desktop/tablet and mobile devices.

The Desktop page view

Description of elements on the home page:

  1. Navigation bar: The navigation bar contains links to each page on the Web Controller. On a mobile device, this navigation bar collapses into an expandable menu.
  2. Location bar: The location bar shows the current Web Controller name (i.e., hostname), which also acts as a drop-down menu to access other controllers. If the Web Controller is part of a network, this menu displays links to all other Web Controllers.
  3. Page contents: Every time the Web Controller is open on a web browser, it first displays a home page. Its page contents look different on different devices. The figure illustrates the difference of the page contents displayed on a standard computer/tablet screen and a mobile device.
  4. Status bar: The status bar allows a quick at-a-glance view of the current state of the chamber. On a mobile device, this bar is located at the bottom of the display.
  5. Quick status: Since the mobile view pushes the status bar to the bottom of the screen, the most relevant information is shown in the navigation bar for mobile devices. The first line displays the chamber's current run status such as Standby, Constant, Program or Alarm. The second line displays the conditions inside the chamber such as temperature and humidity.

5.0 Status Bar

The status bar is included in the display page of Monitor, Constant, Program and Run/Stop. It displays the status of the currently running program in the chamber.

The Status bar

Elements of the Status bar:

  1. Operation Mode: The operation mode displays the current run mode of the chamber.
  2. Control Loops: The current condition inside the chamber is displayed as Set Point, Process Value and Power. If a condition is disabled, the Set Point will be displayed as off. The previous figure was shown with a temperature information only. If the conditions inside the chamber include temperature and humidity, or temperature and vibration, then both information will be displayed in this area.
  3. Time Signals: The current time signal status will be displayed as on or off.
  4. Alarm Status: The alarm status displays active alarms that may prevent the chamber from operating. These alarms must be cleared before a chamber can resume its operation.
  5. Chamber Date/Time: This area displays the current date and time of the chamber.

The status bar provides a quick at-a-glance view of the currently running program. During operation, the chamber can be in one of four operation modes: Standby, Constant, Program Running, and Alarm. The following table describes these operation modes.

Status Description
Standby The chamber is currently not running.
Constant The chamber is currently running a constant set point.
Program Running The chamber is currently running a program; the current program and step are also listed.
Alarm The chamber is currently alarmed, this state must be cleared before operation may resume.

6.0 Home Page

The Web Controller home page has six menus, displayed as clickable panels. These six menus are also displayed as menu tabs in the menu bar. Their descriptive names identify their functionality. They each have their own page to access, manage or control the chamber. The home page is displayed every time the Web Controller starts.

Any user may access the Web Controller home page, but the six menu tabs (or pages) have different access privileges. For full details on what users may access each page refer to 1.1 User Accounts Section.

The Home page

7.0 Monitor Page

The Monitor page consists of three panels with information about the state of the chamber. The top section displays a trend graph of the conditions inside the chamber, along with other settable information. The middle section is visible when a program is running; it displays the complete state of the running program. The bottom section displays basic operation statistics and a list of past operating modes. These three panels will be explained separately in the following subsections. The Monitor page is accessible by all user account types: "Guest", "User", "Technician", and "Administrator".

7.1 Graph

A data log of the chamber's operation is displayed as a trend graph. The graph provides an overview of the chamber's operation in the last 6 hours. The following figure depicts a trend graph of the P300 with only a temperature operating mode.

Monitor Page: Graph

Descriptions of elements and their operation:

  1. Full Screen Toggle: To display the graph in full screen within the browser window, click on the Toggle Full screen. Click it again to turn off full screen.
  2. Graph: This is an X/Y scatter plot of all the numerical data currently being shown. For a P300 with Vibration and/or Air feature, the trend graph will display a scatter plot of both temperature and vibration.
  3. Status Graph: The status graph shows the current operating mode of the chamber.
  4. Zoom In: Zoom in on the graph.
  5. Zoom Out: Zoom out of the graph.
  6. User Settings: To set preferences on the graph, click the three vertical dots. The following options available by checking or un-checking the boxes:
    • Enable Zoom X(Time) axis: This toggle zoom button controls the scale of the x-axis.
    • Enable Zoom Y axis: This toggle zoom button controls the scale of the y-axis.
    • Enable Scroll wheel Zoom: This is the toggle zoom mouse wheel that controls the graph.
    • Edit Graph Series: This allows the user to control what is shown on the graph. Available options include:
      • Operation Data: Information about the operating mode of the chamber.
      • Control Loop Data: Information about the state of the control loops.
      • Time Signal Data: Information about the state of the time signals on the chamber.
      • Alarm Data: Information about the state of the chamber alarms.
    • Screenshot: Download the current graph as an image file.
  7. Pan/Zoom Extents: The arrow keys may be used to pan the graph around the available data. The center button may be used to zoom into all data for various time periods.
  8. Auto Refresh: This button (Toggle auto refresh) has an on/off switch to update the graph with new data. When switched to on (for auto refresh), the current graph will reflect new data with the most recent data points.
  9. Graph Range: Click this button to select a range of data points to be plotted on the graph. A drop-down window provides options for selecting data with Start Time and End Time. Click the button again to close the drop-down window.

Plotting selected range of data

  1. Download: Click this button to download data. A drop-down menu provides two options on how to download the data from the Web Controller. To download data that is being plotted, click "Download Current View".
  2. Legend: This window displays a caption of data and the color each type of data is mapped to. The window provides a toggle button to control the visibility of the graph. Click on the caption (or data name) to turn off its visibility on the graph; that is, to exclude that data from the graph.

Four additional control operations within the graphing window that can be manipulated via the mouse buttons:

  1. Left-click (Click): Click on the window area in the graph to display a window that lists data values for each operating mode, selected from the nearest date/time to the selected (clicked) area. Click on the X button to close the window.

Displaying a snapshot of data within the graph

  1. Click and Drag: This operation will zoom to the selected area.
  2. Middle-click and Drag (scroll-wheel click): Click and hold on the scroll wheel and drag to pan the graph to show the available data.
  3. Scroll wheel: Scroll the wheel to zoom in or out of the graph centered on the cursor. This operation can be disabled in the user settings for the graph.

7.2 Program Status

The Program Status panel in the following figure will appear in the display when the chamber is running a program. This panel is hidden when the chamber is not running a program.

Monitor Page: Program status

Description of elements on the Program Status page:

  1. Program: Displays program name that is currently running. As shown in the above figure, program named 99STEPS is being executed. The program name itself has a link that, when clicked, will open the program in edit mode, if you are logged in as an "Administrator" or a "Technician". If a "Guest User" clicks on the program name, the Web Controller will prompt for a password or ask the user to log in as a privileged user in order to turn on the edit mode. This feature is similar to accessing the program in edit mode via the Program Page.
  2. Current Step: Displays the current step number of the program being executed. As shown in the figure, step 2 is being carried out.
  3. Current Step Remaining Time: Displays the remaining time in HH:MM:SS on the current step.
  4. Cycle Counter(s): For a P300/SCP-220 controller, if the program contains a loop with Counter A, Counter B, or both turned on, the status of the loop will be displayed here. As shown, Counter A containing steps 1 and 2 will be repeated 999 times, with the current loop at 21. As shown in the figure, Counter B loops between step 3 and 99, which has yet to begin. The counter or loop feature is controller dependent. With the Watlow F4/F4T, information is estimated by watching the running program. This section is hidden when no cycling is used in the program.
  5. Total Remaining Time: Displays the remaining time of the entire program in HHHH:MM:SS.
  6. Scheduled Test End: Displays the estimated date/time at which the program will complete.

7.3 Operation Statistics

The operation statistics provides an overview of the Web Controller operation history. Two types of statistics:

  1. The percentage of time the chamber is in each operating mode (utilization).
  2. A detailed list of when the chamber changed operating modes; this allows the data from each mode to be viewed or downloaded conveniently.

Monitor Page: Statistics

Description of elements and their operation on the Operation Statistics page:

  1. Percentage Interval: A desired number of time interval in hours, days, weeks or months can be entered to generate the percentage pie chart, as depicted in call-out number 2.
  2. Percentage Chart: The percentage chart depicts the relative time that the chamber had spent in each mode.
  3. History Depth: The number of operating modes can be selected to display in the table via the history depth. The number of modes can be selected from 10, 25, 50, 100 or all. The table displays the date and time when the operation has started; its mode and program name, as described in the following call-out numbers (4-9).
  4. History Date/Time: Displays date and time at which the chamber started to operate in the listed mode.
  5. History Mode: Displays the type of mode in which the chamber was operating for this line of the history. As shown in the figure, three operating modes were listed: Alarm, Constant and Program. In Program mode, program number and name are also listed.
  6. History Program Number: This is the number for the program that was operating (if a program was running) for this line of the history.
  7. History Program Name: This is the name for the program that was operating (if a program was running) for this line of the history.
  8. History Download Data: Data of a particular operating mode for the line of history can be downloaded via the download (down-arrow) button.
  9. History View Data: Data of a particular line of history can be viewed by clicking on the pop-up modal.

8.0 Constant Setup Page

The Constant Page allows setting of the constant mode, set point, time signals and other features, such as refrigeration power or air speed for the P300/SCP-220 for a constant mode operation. Constant set point can be updated or changed by entering the temperature, humidity (if equipped), product control (if equipped), vibration or air (if equipped) and time signal settings. This page is accessible to all user account types except "Guest".

Constant Page

The above figure depicts the general layout of the Constant Page with Temperature and Humidity operating modes for all the controllers currently supported by the Web Controller. For a P300 with Vibration and/or Air feature, the general layout is depicted in the following figure.

The following is a description of the elements on the Constant Setup Page.

  1. Control Loop Parameters: This is where each control loop parameters may be entered.
    • Mode: The operating mode of the control loops (such as Temperature, Humidity, Vibration):
      • On: The control loop will attempt to reach the set point automatically.
      • Off: The control loop will not attempt to control the set point.
      • Manual: The control loop will output a specified control power (Watlow F4T only).
      • Automatic: The control loop will attempt to reach the set point automatically (Watlow F4T only).
    • Set point: The target value that the control loop will try to reach.
    • Product Control: (optional) This will intentionally over drive conditions of the air in order to reach the product set point quicker. The available parameters for this feature are:
      • Enable: Turn this feature on or off.
      • +/- Deviation: The maximum allowable difference between the air and product parameters.
  2. Time Signals: This is where special features/digital outputs can be enabled/disabled. The Watlow F4/F4T refers to these as event outputs.
  3. Other: This is where other features may be controlled. For the P300/SCP-220, manual refrigeration outputs or air speed controls may be configured here via the drop-down menus. If there are no "other" parameters to be configured, this panel remains hidden.
  4. Apply / Start Constant Mode: This button can be used to apply new settings for a Constant Mode. An asterisk next to the Apply button indicates that new settings were entered but have not been written to the chamber. To save these settings, click Apply or click Apply & Start Constant Mode to apply new settings to the chamber and start the Constant Mode operation.
  5. Humidity Range Graph: This section displays the allowable range for humidity operation. On chambers without the humidity option, this portion will be hidden.
  6. Humidity Point: A plot of Humidity versus Temperature is shown in the graph. This shows where the entered temperature/humidity are in relation to the allowable range of operation.

The following figure depicts the Constant Setup Page of the P300 with Vibration and Air features. Note: Humidity range chart will not be displayed.

Constant Page for P300 w/ Vibration

9.0 Program List Page

The program page displays all programs that are available on the chamber controller. Programs can be identified by their name and slot number. An open or unused slot on the list is marked as EMPTY. The following figure depicts two programs stored on the list, using slot 1 and 2; slot 3 is unused and is marked as EMPTY. Program list can be managed by using the Actions button such as download (down-arrow), upload (up-arrow), delete (trash bin) or execute (play button). To view or edit a program, click on the program name. To create a new program, click on the next available slot that is marked as EMPTY. These features will be discussed in the next section. Changes to this page may be made by "Technician" and "Administrator" user accounts, the "User" account type may view it only.

Program list page

Description of the elements on the Program List page:

  1. Program Slot Number: Displays slot number for each program stored on the list. ESPEC P300 and Watlow F4/F4T have 40 available slots, whereas ESPEC SCP-220 has only 30. Slots 1-20 in the SCP-220 are usable for creating and storing programming profiles; slots 21-30 are reserved slots for read-only. In the P300, all the 40 slots can be used to store the programs.
  2. Program Name: Displays the name of a program. The word EMPTY indicates an open slot; no program has occupied this slot yet. To view or edit the program, click on its name to launch the program editor. To create a new program, click on any EMPTY slot to launch the program editor.
  3. Download Program: To download a program and store it on the local computer, click on the down-arrow button of a desired slot number. Program will be saved as a JSON file using filename: program_slot#.json, where slot# is the number of the slot that the program was stored in.
  4. Upload Program: To upload a program from the local computer into a particular slot, click on the up-arrow button on that slot.
  5. Delete Program: To delete a program from a particular slot, click on the trash bin on that slot.
  6. Run Program: Program can be initiated (i.e., run) by clicking on the play button. This option offers a fast and convenient way to stop and start a program instantly.

10.0 Program Edit Page

Program viewing or editing is done on this page. Each supported chamber controller has its own version of this page, but some common elements shared between them are presented here. The following sections will provide details on how to create a program for a particular controller. To launch the program edit page, click on the program name on the list (see Section 9.0) or click on EMPTY. The following figure shows the program editing page after clicking on a program named PGM-01. Changes to a program may be made by "Technician" and "Administrator" user accounts, the "User" account type may view programs only.

Program edit page common elements

Common elements referenced by the call-out labels in the above figure:

  1. Program Selector: The Program Editor has a drop-down menu to display a list of available slots to store programs. To access any program on the list, click on its name. This action will leave the current program editing page. Any unsaved changes made on the current program will be lost.
  2. Program Details: In the Program Details section, a program name can be edited; program execution behavior can be configured, such as what action to take after the current program completes its execution.
  3. Program Steps: The core programming is taking place in this section; a new program can be created, program step can be added, removed or edited.
  4. Download: The current program can be downloaded and saved on the local (user's) computer. Filename used for the download program is: program_0.json.
  5. Save To: The current program can be saved onto a different slot than the one being edited (or used). Note: If the selected slot has a program in it, that program will be overwritten by the current program. This option can only be performed once.
  6. Save #: This button will save the current program to the current slot. Any changes made in the program will also be saved.
  7. Program Preview: Displays the operation output of the program being edited. It is a graph of what the program looks like when it executes.

10.1 Program Edit Page for Watlow F4T

The following procedure is used to edit a program for the Watlow F4T:

  1. Enter the program name, guaranteed soak deviation, and data logging settings in the Program Details panel.
  2. Complete each program step; that is, fill in each program step in the Program Steps panel.
    1. Select a step mode (if an instant set point change is not desired).
    2. Enter step duration (not applicable for Jump, Ramp Rate, or End mode steps).
    3. Enter the loop details, enable guaranteed soak, set point, etc.
    4. Enter the time signal settings.
  3. Repeat item 2 for each step.
  4. Three options are available for managing the completed program:
    1. Download: Download the current program to the local (user's) computer. Filename used for the download program is: program_0.json.
    2. Save To: Save the current program to a different slot than the one being edited (or used). Note: If a selected slot has a program in it, that program will be overwritten by the current program.
    3. Save #: Save the current program to the current slot. Any changes made in the program will also be saved.

10.1.1 Program Details

For a Watlow F4T model, the Program Details page displays a Program Name, Data Logging option, Temperature and Humidity Guaranteed Soak (GS) Deviation option. An existing program name can be edited in the Name field. The Web Controller will flag an error message if a character other than standard English alphabet is used.

F4T program edit details

Description of Elements on the Program Details page:

  1. Program Name: Program name; alpha-numeric characters are required.
  2. Log Data: Log data on the controller for Watlow F4Ts that have this feature installed (optional).
  3. Guaranteed Soak Deviation: How close the set point must be to the process value for the step duration timer to count down.

10.1.2 Program Steps

If an existing program is selected from the Program Page for editing, the Program Steps page will display the program steps as depicted in the following figure. As shown, the program contains five steps. To edit a step, fill in the values or parameters in the column fields. To remove a step, click on the (-) button next to the step number. To insert or add a new step, click on the (+) button next to the step number. A copy of the current step will be inserted below it.

F4T program edit page steps

To create a new program, click the next EMPTY name under the Name column. A new Program Steps page will display the program steps starting at step 1 with the rest of the fields empty. The Program Name field will be blank; a new name must be created for it. Seven step types or modes are available for implementing a program: Ramp Time, Ramp Rate, Soak, Wait, Instant Change, Jump and End.

Description of the program step for the Watlow F4T:

  1. Step: The first column indicates the step of the program. Program will be executed sequentially starting from step 1 to the last step. A step can be inserted or removed using the (+) or (-) buttons, respectively. The (+) button will insert a new step right below the current step where (+) is clicked. In addition, the "Append Step" button can be used to insert a new step; this new step will be placed as the last step. On the last step, only the option to set the end condition is available; when selected, the standard parameters will be replaced with the option to stop the chamber when the program ends, including any Temperature or Humidity loop modes.
  2. Step Mode: The building blocks of programs or profiles are based on the step types. They can be used to create simple or complex profiles involving inputs and outputs. The properties of these step types are outlined as follows:
    • Jump: Instead of changing the set point the program will jump to a specified step a specified number of times, as shown on Step 5 in the figure.
    • Soak: Instead of changing the set point the program will maintain the previous set point for a specified “Step Duration”, as shown on Step 4 in the figure.
    • Ramp:
      • Off: The set point will be changed instantly.
      • Time: The set point will be ramped to the new set point over the given duration, as shown on Step 2 in the figure.
      • Rate: The set point will be ramped at a given rate, as shown on Step 3 in the figure.
  3. Step Duration: The duration of the step are in HH:MM:SS. If a value is greater than 60 minutes or seconds, the Web Controller will convert the value using the following formats: 90 becomes 0:01:30, 90:00 becomes 1:30:00, 0:0:65 becomes 0:01:05, etc.
  4. Temperature, Humidity (or any control loop): This is a control loop, configurable with the following parameters:
    • EN: Enable the loop for this step.
    • Set Point: The temperature/humidity to go to during this step.
    • GS: Enable Guaranteed Soak for this step; this prevents the duration timer from counting down until the process value is within the deviation set in the program details section.
    • Rate: This parameter is only visible if the step is set to have a Ramp Rate; it specifies the rate at which the working set point will change in order to achieve the specified set point.
    • Mode: This parameter is only visible if the final steps end checkbox is selected; it specifies what each loop (Temperature, Humidity) will do when a program ends.
      • User: Run the constant set point.
      • Hold: Hold the last set point that the program was at.
      • Off: Disable the loop. This should not be used as the loop will need to be manually re-enabled.
  5. Time Signals: This button will show the settings for each available time signal.
    • NC: No change; do not change the state of this time signal.
    • On: Turn the time signal on.
    • Off: Turn the time signal off.

10.1.3 Program Preview

When a program is being created (or a program is loaded into memory), the Web Controller renders the steps of the program and displays them in a graphical form as illustrated in the following figure. The conditions prior to starting a program are assumed to be 0 degrees and 0%RH.

F4T program edit page preview

Description of elements on the graph:

  1. Program Step: The X axis is the program step number.
  2. Step Type: The type of each program step.
  3. Preview Legend: The legend for the preview graph.

10.2 Program Edit Page Watlow F4

This page is the Watlow F4 version of the program editor. The following procedure is used to edit a program for the Watlow F4:

  1. Enter the program name, in the Program Details panel.
  2. Complete each program step; that is, fill in each program step in the Program Steps panel.
    1. Select a step mode.
    2. Enter step duration (not applicable for Jump, Ramp Rate, or End mode steps).
    3. Enter the loop details, enabled guaranteed soak, set point, etc.
    4. Enter the time signal settings.
  3. Repeat item 2 for each step.
  4. Three options are available for managing the completed program:
    1. Download: Download the program to the computer as a JSON file.
    2. Save To: Save the program to an available or selected slot in the controller.
    3. Save #(slot): Save the program to the active slot.

10.2.1 Program Details

For a Watlow F4 model, the Program Details page displays a program name. If a new program is being created, a default program name, called PROFILE, will be displayed. If an existing program is open for editing, program name will be displayed in this filed, as shown in the figure. Program name can be edited by typing the new name in this field. Ten alpha-numeric characters are allowed for a program name. Alpha characters are entered in capital letters. If more than ten characters are used, the Web Controller will only use the first ten characters. The Web Controller will flag an error message if a character other than standard English alphabet is used.

F4 program edit page details

10.2.2 Program Steps

If an existing program is selected from the Program Page for editing, the Program Steps page will display the program steps as depicted in the following figure. As shown, the program contains three steps. To edit a step, fill in the values or parameters in the column fields. To remove a step, click on the (-) button next to the step number. To insert or add a new step, click on the (+) button next to the step number. A copy of the current step will be inserted below it.

All programs must have an end step. Therefore, if a new program is created, the first step will contain an end step in the Step Type field. In order to begin programming, a new step must be added either by clicking on "the Append Step" button (in the middle and at the bottom of the page) or the (+) button next to the step number. When the active program contains two steps, the first step can be modified to the specific or required step type. There are six step types (or modes): Autostart, Ramp Time, Ramp Rate, Soak, Jump and End.

F4 program edit page steps

Description of the program step for the Watlow F4:

  1. Step: The first column indicates the step of the program. Program will be executed sequentially starting from step 1 to the last step. A step can be inserted or removed using the (+) or (-) buttons, respectively. The (+) button will insert a new step right below the current step where (+) is clicked. In addition, the "Append Step" button can be used to insert a new step; this new step will be placed as the last step.
  2. Step Mode: The building blocks of programs or profiles are based on the step types. They can be used to create simple or complex profiles involving inputs and outputs. The properties of these step types are outlined as follows:
    • End: All programs must have an end step, this tells the controller what to do when the program ends. There are four options.
      • Hold: Continue to operate with the current control parameters.
      • Control Off: Disable the control loops.
      • All Off: Disable all outputs (control loops and time signals)
      • Constant: Run the constant control loop set points.
    • Auto Start: Set this program to wait until a specified time to run.
    • Ramp Time: Change the control loop set point gradually over a specified time interval.
    • Ramp Rate: Change the control loop set point at a specified rate. This is only available with single loop controllers such as temperature only chambers.
    • Jump: Instead of changing the set point the program will jump to a specified step a specified number of times. (see step 3 in the screen shot)
    • Soak: Instead of changing the set point the program will maintain the previous set point for a specified “Step Duration”.
  3. Waits: If set this step will wait until a specified condition is met before executing. These conditions may be a specific analog value or a specific state on one of the digital inputs (when they are configured as wait events).
  4. Step Duration: The duration of the step are in HH:MM:SS (hours, minutes, seconds). If a value is greater than 60 minutes or seconds, the Web Controller will convert the value using the following formats: 90 becomes 0:01:30, 90:00 becomes 1:30:00, etc.
  5. Temperature, Humidity (or any control loop): This is a control loop, the following parameters can be set:
    • EN: Enable the loop for this step.
    • Set Point: The temperature/humidity to go to during this step.
    • GS: Enable Guaranteed soak for this step; this prevents the duration timer from counting down until the process value is within +/- the deviation set on the controller.
    • Rate: The rate at which the working set point will change in order to achieve the specified set point. This is only available with single loop controllers such as temperature only chambers.
    • PID: This is the PID set that will be used to achieve the desired set point.
  6. Time Signals: This button will show the settings for each available time signal.

10.2.3 Program Preview

When a program is loaded into memory (or a new program is being created), the Web Controller renders the steps of the program and displays them in a graphical form. A plot of the program is depicted in the following figure. The conditions prior to starting a program are assumed to be 0 degrees and 0%RH when rendering this graph.

F4 program edit page preview

Description of elements on the graph:

  1. Program Step: The X axis is the program step number.
  2. Step Type: The type of each program step.
  3. Preview Legend: The legend for the preview graph.

10.3 Program Edit Page P300/SCP-220

This page depicts the P300/SCP-220 version of the program editor. The following procedure is used to edit a program for a P300 or SCP-220 controller.

  1. Enter the program name and select program end mode in the Program Details panel. Temperature, humidity or vibration upper and lower limits may be set on this page. Counter setting may be configured but will be limited to the available steps in the program. Counter setting should be configured after programming is completed or during programming as described in Step 4 (below).
  2. Complete each program step in the Program Steps panel.
    1. Enter step duration (not applicable for Jump, Ramp Rate, or End mode steps).
    2. Enter the loop details, enabled guaranteed soak, set point, refrigeration, air speed, etc.
    3. Enter the time signal settings.
  3. Repeat item 2 for each step.
  4. Enter the desired cycle counter values using either the sliders on the right side of the Program Steps panel or the sub panel in the Program Details panel.
  5. Three options are available for managing the completed program:
    1. Download: Download the current program to the local (user's) computer. Filename used for the download program is program_0.json, which will be stored as a JSON file.
    2. Save To: Save the current program to a different slot than the one being edited (or used). Note: If a selected slot has a program in it, that program will be overwritten by the current program. This action can only be performed once.
    3. Save #(slot): Save the current program to the current slot. Any changes made in the program will also be saved.

10.3.1 Program Details

If an existing program is open, the Program Details page will display the program name in the Program Name field, along with execution (operation) mode in the End Mode field, and a program to be executed following the current program (in the Next Program field) as depicted in the figure. Execution modes available at the end of a program are:

  • Off: Turn the chamber off.
  • Start Constant Mode: Run the first constant mode.
  • Hold Last Step: Hold the set point(s), time signal(s) and refrigeration settings from the last step executed.
  • Start Next Program: Start the next program that is specified by the Next program drop down menu.
  • Standby (P300 only): Stop operation but leave the chamber display on.

P300 program edit page details

Configuration options for temperature, humidity and counter are accessible via the Temperature Details, Humidity Details and Counter Details tab. The Vibration Details tab will be displayed in place of the Humidity Details tab on a P300 with a vibration feature.

If a new program is being created, the Program Name field will be left blank; a new name for the program is required in this field.

10.3.1.1 Temperature, Humidity, Vibration Details

Current settings of the temperature, humidity and counter can be accessed by clicking on its title bar in the tab. Click on the Temperature Details tab to display the default temperature settings in the drop-down window. Click it again to close the window. Default settings of humidity or vibration can be displayed the same way. Note: On the SCP-220, the Program Details page has only the Counter Details page available for viewing and editing (discussed in Section 10.3.1.2).

P300 program edit page temperature/humidity details

Default humidity limits on P300

The default vibration lower and upper limit values are expressed in root-mean-squared acceleration (Grms) units.

Default vibration limits on P300

10.3.1.2 Counter Details

The counter (loop) feature allows a certain step (or a range of steps) to be repeated multiple times within the program. The counter renders a program to contain fewer instructional steps to make the program coding smaller. Two separate counters are available: Counter A and Counter B. As shown in the figure (Counter B), the Start Step field (bottom left) represents the step number to begin the loop. The End Step field (bottom right) represents the step number to end the loop. The Cycles field (top center) represents the number of times the loop will repeat.

A program may contain a loop configured to run within a loop, such as Counter A executes inside Counter B. Two loops can be configured to run separately, repeating separate step numbers. The P300 controller supports a maximum number of 999 cycles, while the SCP-220 supports a maximum number of 99 cycles.

Two ways to program the loop(s): (1) Configure the Counter Details page with a specific number of start step, end step and number of cycles, (2) Dragging the start/end loop arrows (in the Program Steps section) to a desired step number, and setting the number of cycles in the Counter A or B field.

P300 program edit page counter details

10.3.2 Program Steps

The program steps are edited in the second section; element details are shown below. The program edit page available loops and settings will display based on the features enabled in the controller and chamber, such as Temperature and Humidity, Temperature, Product Temperature and Humidity, Temperature and Vibration.

P300 program edit page steps

Description of the program step for the P300/SCP-220:

  1. Step: The first column indicates the step of the program. Program will be executed sequentially starting from step 1 to the last step. A step can be inserted or removed using the (+) or (-) buttons, respectively. The (+) button will insert a new step right below the current step where (+) is clicked. In addition, the "Append Step" button can be used to insert a new step; this new step will be placed as the last step.
  2. Duration: The duration of the step is in HHHH:MM. If a value is greater than 60 minutes, the Web Controller will convert it using the following formats: 90 becomes 1:30, 0:65 becomes 1:05, 125 becomes 2:05, etc.
  3. Pause: When enabled the program will pause execution once this step is complete.
  4. Soak Ctrl: When soak control (guaranteed soak) is enabled the step will wait until the set point(s) have been attained before the duration counter starts to count down.
  5. Temperature: The temperature control loop settings.
    • Set Point: The temperature to go to during this step
    • Ramp: When enabled the set point will be gradually changed from the previous steps set point to this steps set point over the duration of the step. When disabled the set point will be set immediately and go to this steps set point when the step begins.
  6. Product Temp. Ctrl (Optional): This option controls the product temperature, not the air temperature.
    • EN: Enable or disable product temperature control.
    • (+) Dev: The allowable positive deviation between the product and air temperatures (must be positive).
    • (–) Dev: The allowable negative deviation between the product and air temperatures (must be negative).
  7. Humidity (Optional): The humidity control loop settings.
    • EN: Enable or disable humidity control for this program step.
    • Set Point: The humidity set point for this step.
    • Ramp: When enabled the set point will be gradually changed from the previous steps set point to this steps set point over the duration of the step. When disabled the set point will be set immediately and go to this steps set point when the step begins.
  8. Refrig.: Configure how the refrigeration system will behave during this step. It can be setup for automatic cooling power, a manual cooling power percentage, or completely disabled.
  9. Time Signals: Turn each time signal on or off for each step.
  10. Counter: The counter can be used to repeat a specified number of steps. Both counter A and counter B can be set by enabling the check box in their respective column then dragging the start and end arrows to the desired step. The number of times to repeat the steps can be adjusted in the text box in each column. When the text box is checked (or selected), the number of the repeating step begins with 1.

The following figure illustrates an outline of program steps for a chamber with vibration and/or air feature.

P300 program edit page steps with a vibration feature

Description of the program step for the P300 with Air/Vibration feature:

  1. Step: The first column indicates the step of the program. Program will be executed sequentially starting from step 1 to the last step. A step can be inserted or removed using the (+) or (-) buttons, respectively. The (+) button will insert a new step right below the current step where (+) is clicked. In addition, the "Append Step" button can be used to insert a new step; this new step will be placed as the last step.
  2. Duration: The duration of the step is in HHHH:MM. If a value is greater than 60 minutes, the Web Controller will convert it using the following format: 90 becomes 01:30.
  3. Pause: When enabled, the program will pause execution once this step is complete.
  4. Soak Ctrl: When soak control (guaranteed soak) is enabled, the step will wait until the set point(s) have been attained before the duration counter starts to count down.
  5. Temperature: The temperature control loop settings.
    • Set Point: The temperature to go to during this step
    • Ramp: When enabled, the set point will gradually change from the previous steps set point to this steps set point over the duration of the step. When disabled, the set point will be set immediately and go to this steps set point when the step begins.
  6. Vibration: The vibration control loop settings.
    • EN: Enable or disable vibration control for this program step.
    • Set Point: The vibration set point for this step.
    • Ramp: When enabled the set point will gradually change from the previous steps set point to this steps set point over the duration of the step. When disabled, the set point will be set immediately and go to this steps set point when the step begins.
  7. Air Speed: The air control settings consist of four different levels: 1, 2, 3, 4. Default setting value is set to 1. To set a desired air speed, select the air speed level from the drop-down list.
  8. Refrig.: Configure how the refrigeration system will behave during this step. It can be setup for automatic cooling power, a manual cooling power percentage, or completely disabled.
  9. Time Signals: Turn each time signal on or off for each step.
  10. Counter: The counter can be used to repeat a specified number of steps. Both counter A and counter B can be set by enabling the check box in their respective column then dragging the start and end arrows to the desired step. The number of times to repeat the steps can be adjusted in the text box in each column. When the text box is checked (or selected), the number of the repeating step begins with 1.

10.3.3 Program Preview

When a program is loaded into memory or a new program is being created, the Web Controller renders the steps of the program and displays them in a graphical form. A plot of the program is shown in the following figure. The conditions prior to starting a program are assumed to be 0 degrees and 0%RH when rendering this graph.

P300 program edit page preview

For a program consisting of vibration feature, a plot of the program will consist of graphs for Temperature and Vibration as depicted in the following figure.

P300 program edit page preview with vibration feature

11.0 Run/Stop Page

The chamber has three operation modes which can be managed via the Run/Stop page. These are Standby, Constant and Program, all displayed as individual panels. In a Standby mode, the chamber is off. In this mode, the Standby panel will have a check mark in the checkbox. The "Stop Operation" button in the Standby panel can be used to stop a running program thereby causing the chamber to be in a standby mode. The "Stop Operation" button can also be used to stop the chamber from running in a constant mode.

The Program panel has more operation modes. A running program can be paused via the "Pause" button; it can be resumed via the "Continue" button. Program's instructional steps can be stepped through using the "Next Step" button. A new program can be loaded via the drop-down menu in the Program panel.

Run/Stop page

Description of the chamber's operation state:

  1. Alarm Panel: This panel is only shown when there is an active alarm. No other controls on this screen will function until the alarm(s) have been cleared at the chamber.
  2. Active Mode: The checkbox in the top right of each panel denotes which of the modes is currently active.
  3. Standby Panel: This panel indicates that the chamber is not running.
    • Stop Operation: Pressing this button will put the chamber into standby mode.
  4. Constant Panel: This panel indicates that the chamber is running a constant set point.
    • Run Constant Mode: Pressing this button will put the chamber into constant mode.
  5. Program Panel: This panel indicates that the chamber is running a program.
    • Program: This drop down selects which program to run.
    • Start Step: This drop down selects which step the selected program will be started on.
    • Run Program Mode: Pressing this button will start the program selected on the Program drop down on the selected Start Step.
    • Pause: Pressing this will pause the running program.
    • Continue: Pressing this will cause a paused program to resume execution.
    • Next Step: Pressing this will force the running program to advance to its next step.

Executing a new program from the Standby or Constant mode:

  1. Ensure the chamber is in Standby or Constant Mode.
  2. Click the Program list in the Program panel and select a new program from the list.
  3. Click the "Run Program Mode" button.

Executing a new program while Chamber is in Program Mode:

  1. Click the "Stop Operation" button in the Standby panel.
  2. Click the Program list in the Program panel and select a new program from the list.
  3. Click the "Run Program Mode" button.

12.0 Network Page

If there are other controllers (using ESPEC Web Controller software) on the network, the Web Controller will detect and display them on the Network page, showing their current operation mode and status. The display is available in Panel view or List view, as shown in the following figures. In Panel view, each controller (chamber) is displayed as a panel identifiable by its hostname. Each panel directly links to that controller and is accessible via a mouse click. In List view, each chamber is listed by its hostname. It also contains additional information that includes program name and loop(s) operation. Each chamber on the list can be accessed by clicking on its hostname or anywhere along the row of that hostname. All user types as outlined in Section 1.1 can access the Network page.

Panel view

List View

Each panel is directly linked to a controller (chamber) with a unique Web Controller of its own. Thus, each will require a user to log in to control the chamber.

Network edit view

The layout and contents of either the Panel or List view may be edited:

  1. To turn on the edit mode, click on the menu page in the locations bar in the upper-right corner of the Network page and select "Enable Layout Editing" from the pop-up menu.
  2. Rearranging Chamber Location
    • Panel View: Each chamber may be rearranged or relocated on the grid by applying a drag-and-drop method. It can be resized using the arrow button on the bottom-right corner. To relocate a chamber on the grid, click on the menu in the locations bar and select "Enable Layout Editing" from the pop-up menu; click and drag a panel to a new location. Click and drag the corner of the panel to resize it. The grid will also expand to accommodate the changes. The new setting must be saved by selecting "Save Layout Changes" in the pop-up menu in order for it to take effect on the next display.
    • List View: Any chamber on the list may be relocated by using a drag-and-drop method. To relocate a chamber on the list, click on the menu in the locations bar and select "Enable Layout Editing" from the pop-up menu; click and drag a desired chamber to a new location on the list. The new setting must be saved by selecting "Save Layout Changes" in the pop-up menu in order for it to take effect on the next display.
  3. Removing Chambers
    • To remove a chamber from the grid, confirm that the plus (+) sign is visible next to the menu in the locations bar; if not, turn on the "Enable Layout Editing" from the menu. Hover the mouse pointer to a desired chamber and click on the notepad icon in the upper-right corner of the chamber (in Panel view) or to the right of the chamber's hostname (in List view); click Delete in the pop-up window and click Yes to confirm the action. To cancel the operation, click Close.
  4. Adding New Chambers
    • To add a new chamber, confirm that the plus (+) sign next to the menu on the locations bar is visible; if not, turn on the "Enable Layout Editing" from the menu. Click the plus (+) sign and select Add Chamber. In the pop-up window, enter the chamber's hostname and/or IP address and press Enter. If the Web Controller can resolve the hostname or IP address, the chamber will be visible on the grid. Note: Only compatible chambers will be detected and added onto the grid; generally those that were detected earlier and were removed from the grid.
  5. Saving a New Configuration of the Grid
    • Any changes done on the grid must be saved so that they can take effect on the next display. To save the setting of the grid, click the menu in the locations bar and select Save Layout Changes.

Starting with Web Controller version 2.4, a support of network link to the old Web Controller has been added. This feature allows a user to join any old Web Controller on the network group, as depicted in the following figure. Information needed for the old Web Controller to join the network is its IP address and/or hostname.

Join old Web Controller in the network group

To access the old Web Controller, simply click on its link. As illustrated in the above figure, two old Web Controllers have joined the network. One Web Controller in the network has issues as indicated by its Error status. Thus, the network page is quite useful at providing a quick preview of the status of all the Web Controllers on the network.

13.0 Setup Page

The Setup Page can only be accessed by an administrator to apply different settings to the Web Controller. All configuration settings are accessible on this page, including network and e-mail settings. This section is divided into subsections to provide detailed explanation on each of them. The following figure depicts the main Setup Page. Configuration tabs are available on the left pane. If any one of them is clicked, its panel will be displayed on the right.

Setup page

13.1 Hostname & Network Configuration

By default, the Web Controller uses DHCP for its network configuration, with an IP address assigned by the DHCP server. It is possible to configure and assign a static IP address for the Web Controller so that it will always have (or use) the same IP address even after it goes through a power recycle; the advantage being that the Web Controller can always be found by its IP address.

A static network configuration can be accomplished by un-checking the DHCP box and entering a desired IP Address, with the appropriate Netmask, Gateway and DNS values. The Web Controller will check and validate the new network configuration for the correct format.

A unique and descriptive hostname for the Web Controller may be configured by editing or entering a new hostname in the Host field. These settings will take effect immediately after the Apply button is clicked. However, it may require some time for the Web Controller to resolve the new configuration. It will require reopening a new browser to access the Web Controller by its new hostname.

Setup page: network configuration

13.2 Alarm Recipients & E-Mail Server Settings

The Web Controller has a feature to notify the operator as an e-mail alert about the chamber's condition, such as when an alarm went off. To set up an e-mail notification, enter an e-mail address in the Alert Addresses field and click Apply. The "Send Test Message" button can be used to test sending a message to that e-mail address. Multiple e-mail addresses can be used for alert notifications sent out to different recipients. However, each line in the Alert Addresses field may only contain one e-mail address. To enter multiple e-mail addresses, click and drag the lower-right corner of the Alert Addresses field downward to expand the field for multiple e-mail entries; then enter one e-mail address per line. The SMTP password (in the SMTP Password field) is only required when setting a new password.

Setup page: email configuration

13.3 Logging Configuration

The Web Controller can collect and log data at a desired interval (or frequency). This section allows the user to change the logging frequency, clear the logs, configure automatic log backup, and manage connected USB drives.

Setup page: Data logging configuration

Description of Logging Configuration:

  • Update Sample Frequency: The "Sample Frequency" controls how often the system will log the current conditions of the chamber.
    1. Enter the desired sample frequency; time is in seconds, range is 10 to 600 (10 minutes).
    2. Press the "Apply" button.
    3. Reboot the web controller.
  • Clear Data Log: Delete all data on the web controller.
    1. Press the "Clear Log" button.
  • Automatic Backup: Setup an automatic backup routine so that in the event of a system failure data is not lost.
    1. Select the desired "Backup Mode".
    2. Select the desired Backup Frequency.
    3. Additional settings for the backup modes:
      • USB: Plug a USB drive that is formatted to FAT/ext2/3/4 into a USB port on the web controller.
      • SAMBA: Fill out the necessary connection information:
        • Share Path: The connection details for the server, the share name, and any sub folders; example: \SERVER\SHARE\FOLDER1\FOLDER2
        • User Name: The user name for authenticating with the server.
        • Password: The password for authenticating with the server.
        • Domain: The domain for authenticating with the server.
    4. Press the "Test Backup" to ensure it is working properly.
    5. Press the "Apply"
  • Eject USB: If a USB drive is plugged for use with the automatic backup it must be ejected properly or risk data loss. If no USB drive is present on the system the "USB Media" section will not be present. There is a shortcut for doing this embedded HMI software if a monitor is connected at boot, see Chapter 17.
    1. Press the "Eject" button on the USB drive you wish to eject.

13.4 Firmware Update

ESPEC Web Controller is designed with the ability to continually receive improvements and updates in the form of a Firmware Update to provide bug fixes or upgrade the software with new features. Starting with version 2.5 firmware updates are installed using the "Stand Alone" mode of mender.io.

Setup page: Firmware update

Firmware Actions:

  • Upload Firmware: This is used to update the firmware on the current device only. The firmware update process is as follows

    1. The user selects the firmware update file on there computer using the "Browse" button then uploads the image to the server after pressing "Submit":

      bfw_upload.png

    2. The firmware will be uploaded to the system:

      fw_upload_progress.png

    3. The firmware will then be written to the system:

      fw_flash.png

    4. Once the firmware has been flashed to the user will be prompted to reboot the system:

      fw_reboot.png

    5. Once the system reboots a system check is performed to ensure correct operation, if that check fails or the system does not reboot the old firmware will be automatically restored on the next reboot.

  • Upload Firmware Network Wide: Upload a firmware image to this device and install it to all compatible devices that can be automatically found on the network. This firmware updaate process is as follows:

    1. The user selects the firmware update file on there computer using the "Browse" button then uploads the image to the server after pressing "Submit":

      bfw_upload.png

    2. The firmware will be uploaded to the system:

      bfw_upload_progress.png

    3. The system will search the network for other web controller devices that also need the firmware update:

      bfw_search.png

    4. Once all eligible systems have been found the user will be promted to install the firmware, select "yes" to proceed:

      bfw_confirm.png

    5. The firmware will now be flashed to all of the eligible systems, this process will take a while and the browser must be left open to this page for it to succeed.

      bfw_flash_progress.png

    6. Once all of the eligible systems have been flashed the user will be prompted to reboot all of the systems:

      bfw_reboot.png

    7. Once the system(s) have rebooted a system check is performed to ensure correct operation, if that check fails or the system does not reboot the old firmware will be automatically restored on the next reboot.

  • Rollback Firmware: This will revert the system back to the previous version of the firmware.

    1. The system will prompt for confirmation before to roll back the firmware version, select "Yes" to proceed.
    2. The system firmware will be set to the previous version after a reboot, the user is prompted to reboot the system now. Select "Yes" to reboot and start using the old firmware.

13.5 Time Signal Names

This section will allow custom names to be applied to each time signal.

Setup page time signal names

13.6 REST API/TCP Forwarder Configuration

The REST API and TCP tab provide an advanced configuration to control the Web Controller. REST API allows for a standard universal way to interact with the Web Controller and chamber. It supports three security modes: Off, No Authentication and HTTP basic Authentication. The security of the REST API can be adjusted, in addition to enabling or disabling the TCP Forwarder. The TCP forwarder allows a direct access to the chamber controller via the Web Controller. The REST API may be browsed by disabling authentication and navigating to "/api/v1.0/" and following the various URIs given at each address. Note: Each controller has its API and therefore a TCP forwarder for each controller must be configured separately.

Setup page api configuration

Description of the REST API security modes:

  • REST API: This allows for a standard universal way to interact with the Web Controller and chamber. Refer to Section 14.1 (14.1 REST API) for documentation. It supports three security modes:
    • Off: Do not allow any access.
    • No Authentication: Allow all access.
    • HTTP Basic Authentication: Use HTTPs built in basic authentication.
  • TCP Forwarder: This allows direct access to the chamber controller through the Web Controller. Refer to Section 14.2 (14.2 TCP Forwarder) for documentation.

13.7 User Account Management

The account management tab allows the system administrator to manage user accounts and access privileges to the controller, with three different account types: User, Technician and Administrator.

Setup page user account management

Detailed Description:

  • Account Creation: To create a new user account, use the following steps.
    1. Click on the "Add User" button.
    2. Enter the username.
    3. Enter the password (twice).
    4. Select the correct account Type.
    5. Click the Apply button.
  • Account Removal: To remove an account use the following steps.
    1. Click the X button on the row for the user to be removed.
    2. Click the Apply button.
  • Account Modification: To adjust the users password or account type, use the following steps.
    1. Update the password twice if desired.
    2. Update the account type if desired.
    3. Click the Apply button.
  • Idle Auto Logout Time: Set the amount of time a user must be idle before they are automatically logged out. The default of 1 year mimics the behavior of previous versions of the software.

13.8 Set Chamber Date/Time

To keep an accurate data log, it is important to have the correct date and time on the Chamber Controller, since this is where data is being collected. The date/time can be synchronized with the user's local device (such as a PC, tablet or phone) that is being used to access or control the chamber via the Web Controller. This page offers a manual configuration of the date/time on the chamber or the Web Controller. Since data collected from the chamber will have a date/time stamp of the chamber controller, it is not necessary for the Web Controller or Network Time Protocol server to have the correct date/time. However, correct date/time on the server and chamber is desirable.

Setup page date and time

13.9 Macro Editor

The macro editor allows the creation of custom actions that may be triggered either manually or when the chamber has reached a specified state. Refer to Section 15.0 (15.0 Macros) for detailed documentation and usage of the macro editor.

Setup page macro editor

13.10 External Source Editor

Through the external source editor, additional parameters from external devices can be read and written to the Web Controller. Communication interface currently supported is Modbus TCP/RTU. New parameters may be uploaded from an external source and written to the Web Controller via the "Upload" button. New parameters may be created via the "New" button. Current parameters on the Web Controller may be download via the "Download All" button. We can also restore parameters to the Web Controller via the "Restore" button. Refer to Section 16.0 (16.0 External Sources) for details on the use of external source editor.

Setup page external source editor

13.11 Chamber Interface Configuration

The Chamber Interface Configuration tab can be used to configure the Web Controller to communicate with the attached chamber. As shown in the following figure, the Web Controller is configured to communicate with the ESPEC P300 chamber. Four different controllers are currently supported by the Web Controller: ESPEC P300/SCP-220, Watlow F4 and Watlow F4T. There are two different ways to configure the Web Controller to communicate with the chamber and its controller:

  • Quick Chamber Configuration: This configuration method can be done by entering the specific parts of the chamber model and controller type, including various options.
    1. Click and select the appropriate model line from the Model drop-down list.
    2. Click and select the control type, such as Temperature or Temperature and Humidity.
    3. Click and select the appropriate controller from the Controller drop-down list.
    4. Watlow F4T Only: This controller may be connected to via Ethernet. If that is desired select the "TCP" option for the "Interface Type" and enter the following information:
      • Network: The hardware has two ethernet interfaces, we must select wich one the Watlow F4T is connected too. The default is "LAN: Chamber Private Network" as Watlow F4T chambers will ship this way from the factory:
        • WAN: User Network: The customers network, if this is used the F4T will need to be configured for static networking and connected to the same network as the web controller.
        • LAN: Chamber Private Network: A private network internal to the chamber, this is the only type will ship from the factory. The private network and customers network are kept completely isolated with exception for when connected to a single Watlow F4T, in that case the following services (port) are forwarded from the web controller to the Watlow F4T:
          • Modbus TCP:502
          • SCPI TCP:5025
          • Watlow Composer TCP/UDP:44819
      • IP Address: The IP address of the Watlow F4T, this must be assigned statically.
      • CIDR (Netmask): The sub-net mask for the private network.
      • Web Controller private IP Address: This will be automatically assigned to the first available address in the range calculated by the IP Address and CIDR (Netmask) fields when the Network field is LAN: Chamber Private Network.
    5. Other options associated with the chamber and controller operation can be selected from the checkbox under the Options menu.
    6. Click the Apply button to apply the current settings.
  • Configuration File: This is used to upload and download custom configurations that cannot be made using the Quick Chamber Configuration.

Setup page chamber interface configuration

14.0 Programming Interfaces

The Web Controller provides several interfaces for other software to read and write the parameters from and to the chamber.

14.1 REST API

The REST API may be browsed by disabling authentication and navigating to “/api/v1.0/” and following the various URIs given at each address. For full documentation see: https://bitbucket.org/especnorthamerica/especweb/wiki/RESTful_API_documentation

14.2 TCP Forwarder

This feature allows a user to connect directly to the controller through the web server. As each controller has its own interface they must be described separately.

14.2.1 Communication Protocol for the Watlow F4T, F4

The communication protocol provided for the Watlow F4T is Modbus TCP port 502. Due to its slow performance, the Modbus TCP interface is not recommended to use for communicating with the Web Controller. The Watlow F4T's own Modbus TCP interface should be used instead.

14.2.2 Communication Protocol for the P300/SCP-220

Direct communication with the P300/SCP-220 via raw data through the Web Controller can be achieved using the raw TCP protocol. The TCP forwarder listens for a raw TCP stream on port 10001. To establish communication, with PuTTY terminal emulator installed on your MS Windows system and launched, enter the hostname or IP address of the Web Controller in the HostName field and set 10001 for port communication, as depicted in the following figure.

PuTTY setup for raw TCP communication

Two types of data transmission exist in this protocol: Command data and Response data.

  1. Command Data: The command data consists of two types: Monitor commands and Setting commands. The monitor commands are used to monitor the conditions of the chamber, while the setting commands are used to change or configure the settings of the chamber, such as temperature and humidity.
  2. Response Data: The response data are basically data returned (responded) by the controller in response to the command data.

The command data sent from the computer to the controller has a specific syntax based on a two-component format: command data and delimiter. The response data sent from the controller also contains a two-component format: response data and delimiter. The delimiter is the carriage return (CR) character followed by a line feed (LF), abbreviated as CRLF.

A brief overview of these two data types is outlined below. Refer to the "P300 or SCP-220 Controller Communications Option Manual" for complete details on them.

  1. The command data format will be as follows: [command data][delimiter]
    • [command data] is any command found in the "P300 or SCP-220 Controller Communications Option Manual".
    • [delimiter] is CRLF. The effect of pressing the Enter key on the keyboard produces the CRLF on the terminal.
  2. Each command will return a Response in the following format: [response data][delimiter]
    • [response data] can be any of the following:
      1. If the command data is issued to query for a data, response data will return the data in the format described in the "P300 or SCP-220 Controller Communications Option Manual".
      2. If the command data is issued to set a parameter in the controller, response data will return "OK: [command data]" where [command data] is the command that prompted the response.
      3. If there was an error executing the command, the controller will return "NA: [error message]". Error messages and there meanings are listed in the "P300 or SCP-220 Controller Communications Option Manual". In addition to the error messages listed in the manual, this interface also adds the error message "NA: SERIAL TIMEOUT" when the chamber Controller takes too long to respond to the command data.
    • [delimiter] is CRLF.
  3. The interface will timeout after one hour of no activity.

The following figure illustrates the use of a command data to display the ROM information of the controller and its temperature setting. As shown in the figure, to monitor the ROM of the controller, type "ROM?" (or "rom?") and press Enter. To monitor the temperature setting, type "TEMP?" (or "temp?") and press Enter.

Example of PuTTY command data and response data

15.0 Macros

Macros are a series of scripted actions that can be triggered automatically by the chamber's state or manually by a user. These macros can conduct various tasks ranging from sending email notification to a user regarding test completion to synchronization of operation between multiple chambers. A new macro script can be created by clicking on the New button in the macro editor panel, refer to Section 13.9 ([13.9 Macro Editor] (#markdown-header-139-external-sources)). Various parameters can be configured as shown in the following figure. Various actions that can trigger a macro script will be explained in the following subsection.

Macro editor page

15.1 Triggers

A macro may be triggered by any of the following actions:

  • Manual Trigger Only: The macro must be manually triggered by a user or api request.
    • Prompt User: When enabled the user will be prompted for input when triggering this macro.
    • Prompt Text: The text that the user is presented with the prompt.
    • User Privilege: The minimum account type a user has to be in order for them to trigger this macro.
  • Always Trigger: The macro will run every time; this is not recommended.
  • Operation Mode Change Trigger: The macro will run when the operating mode has changed to meet the specified criteria.

    • Condition: How did the operation mode change?
      • ANY: Any change involving the specified mode will cause a trigger.
      • Changed from: Any time the chamber was running the specified mode but no longer is will cause a trigger.
      • Changed to: Any time the chamber was not running the specified mode but now is will cause a trigger.
    • Mode: The operating mode to check against.
    • Example trigger for constant mode start:

      Operation mode change trigger

  • Date and/or Time Trigger: The macro will run at a specified time. When the date/time matches the configured "Month", "Day of the Month", "Year", "Day of the Week", "Hour", "Minute", and "Second" the macro will fire.

    • Example trigger for running a macro once a minute:

      Date and/or time trigger

  • Program Change Trigger: The macro will run when a programs execution state has changed.

    • Condition: How did the program state change?
    • Program Number: When the specified program state change condition is met and this program number is involved then trigger.
    • Step Number: When the specified program state change condition is met and this program step number is involved then trigger.
    • Example trigger for running a macro when program 1 step 5 completes:

      Program change trigger

  • Alarm Change Trigger: The macro will run when the state of an alarm has changed.

    • Condition: Specifies how the alarm state has changed ie: cleared, triggered, either
    • Alarm: The specific alarm to monitor.
    • Example trigger for running a macro if the chamber overheats:

      Alarm change trigger

  • Time Signal Change Trigger: The macro will run when the state of a time signal has changed.

    • Condition: Specifies how the time signal state has changed ie: enabled, disabled, either.
    • Time Signal: The specific time signal to monitor.
    • Example trigger for running a macro when time signal 1 is enabled:

      Time signal change trigger

  • Control Loop Parameter Trigger: The macro will run when a control loop parameter has changed.

    • Control Loop: The control loop to monitor.
    • Parameter: The parameter of the control loop to monitor.
    • Operation: The type of change to look for.
    • Value: The value to compare the parameter against.
    • Example trigger for running a macro when chamber reaches 100 degrees:

      Control loop parameter trigger

  • External Equipment Source Trigger: The macro will run when an external source value has changed.

    • External Source: The external source to monitor.
    • Operation: The type of change to look for.
    • Value: The value to compare the source against.
    • Example trigger for running a macro when the external source value changes:

      External equipment source trigger

  • Custom Trigger: The macro will run when a user's specified template evaluates to true. For full documentation on what is available when written templates see the help on the server itself as each install will be different.

15.2 Available Operations

A macro may consist of any combination of the following operations:

  • Email: Send an email with a custom message/subject/attachment. The attachment will consist only of logged chamber data in csv format.

    Email attachment

    • Recipients: Email addresses for the recipients of the email; for multiple addresses use one address per line. If this is left empty the configured alert addresses will be used.
    • Subject: Subject of the email to be sent. This field allows templating.
    • Attach Log Data: The data to attach as a csv file.
      • File Name: The file name to give the data when there is some. This field allows templating.
    • Body: The message body; when html is used this is automatically detected and the message is sent as an html message. This field allows templating.
  • FTP: Upload log data in csv format to a standard ftp server/encrypted ftp server. Note that SFTP (secure shell file transfer protocol) is not supported at this time.

    Upload custom log file

    • Server: The host name or ip address of the ftp server.
    • User: The name for the user who will be authenticated with the server.
    • Password: The password for the given user; if this is not provided the stored password will be used.
    • Require TLS: Force the connection to the server to be encrypted with TLS.
    • Operation: What action should be taken if a file already exists?
      • Append: Append the new data to the end of the file on the server.
      • Overwrite: Remove the existing file and replace it with the new one.
    • Path: The path that the data file will be stored at on the server. This field allows templating.
    • Data To Send: The query used to generate the csv data that will be placed on the server.
    • File Name: The name of the file that the data will be saved to.
  • SAMBA: Upload log data in csv format to a windows network server.

    Upload via Samba

    • Server: The host name or ip address of the windows/samba server.
    • User: The name for the user who will be authenticated with the server.
    • Password: The password for the given user; if this is not provided the stored password will be used.
    • Workgroup: The workgroup that the user belongs to.
    • Share: The name of the share that the data will be saved on.
    • Operation: What action should be taken if a file already exists?
      • Append: Append the new data to the end of the file on the server.
      • Overwrite: Remove the existing file and replace it with the new one.
    • Path: The path that the data file will be stored at on the server. This field allows templating.
    • Data To Send: The query used to generate the csv data that will be placed on the server.
    • File Name: The name of the file that the data will be saved to.
  • HTTP: Issue an http request to a server.

    Using GET via HTTP

    • Request: The URI and type of request that will be issued. There are three parts to this field:
      • Method: The HTTP method to be used when performing the request. The available methods are: GET, HEAD, POST, PUT, DELETE, PATCH.
      • URI: The address that this request will be issued against. This field allows templating.
      • Params: The URL encoded params that are added to the end of the URI. Each key/value field allows templating.
    • Authentication: The authentication method to use with the request. Available options are: "No Authentication", "HTTP Basic Authentication", "HTTP Digest Authentication".
    • Headers: The headers to be used with the request.
    • Load Log Data: The logged chamber data made available to the template for the request body.
    • Body: The request body. The field allows templating.
  • Wait: Wait for a specified time or for an additional trigger to occur.

    Using WAIT via HTTP

    • Wait For Type: The type of wait this operation is. The available options are: "Delay Time", and "Chamber Condition"
    • Delay Time: The amount of time to delay when Wait For Type is Delay Time.
    • Trigger: The condition that the chamber must be in order for the delay to finish when Wait For Type is Chamber Condition. This field behaves exactly the same way as the macro trigger.
  • Return JSON: Respond to the request that triggered this macro with json formatted data.

    JSON file and its format

    • Load Log Data: The data to be made available to the template for the response body.
    • Body: The response body. This field allows templating.
  • Return CSV: Respond to the request that triggered this macro with log data in CSV format.

    CSV file and its format

    • Data To Send: The query used to generate the csv data that will be returned as a csv file.
    • File Name: The name of the file that is returned as a response.
  • Message: Flash an alert on the user interface for the next person access the web interface.

    Macro Message.PNG

    • Body: The message to present to the user. This field allows templating.

15.3 Templates

Some fields allow templates to be used to generate data dynamically based on the current chamber state. These templates use the jinja2 template engine; a basic overview is provided here but for full details see the jinja2 docs website: http://jinja.pocoo.org/docs/2.9/templates/#synopsis. These fields all have additional controls on the right side as shown below:

Template fields versus standard fields

  • The Recipients field shown here is an example of a non template field.
  • The Subject field shown here is an example of a template field.
    • The eye in the top right of the field will render the field with the current chamber state for debugging.
    • The question mark will open a dialog with full information on how templating works and what data is available to that specific field. Use this dialog for documentation as what is available varies by chamber configuration.
    • When typing in template fields autocomplete is enabled and will try to provide suggestions for the data available.

15.3.1 Displaying Variables

To insert data into a string simply enter the data name inside the double curly brackets like this: {{ variable }}. Here is an example of data insertion and its format. Multiple data insertion must be entered in separate curly brackets.

Example: Data insertion template

The chamber mode is: {{ new.operations.mode }}
The temperature is: {{ new.loops[0].processValue.air }}{{ new.loops[0].units }}

Example: Results

The chamber mode is: Constant
The temperature is: 100°C

15.3.2 Filters

Filters are used to apply specific formatting to variables by adding a pipe followed by the filter name when displaying a variable {{ variable | filter }}. In addition to the built-in filters, documented on the jinja2 docs website, several custom ones are included here for reference:

  • datetime: Convert a datetime object into a nicely formatted string.
  • timestamp: Convert a datetime to an epoch (seconds since 0:00:00 Jan 1, 1970).
    • Arguments: None
    • Example: {{ new.operations.datetime | timestamp }}
  • tojson: Convert an object to json.
    • Arguments: None
    • Example: {{new | tojson}}

15.3.3 Flow Control

Loops and "if statements" may also be used to conditionally render elements using the curly bracket and percent characters {% if condition %} Condition is True {% endif %}

If statements:

    {% if condition %}
        contents
    {% endif %}

    {% if condition %}
        contents
    {% else %}
        contents
    {% endif %}

    {% if condition %}
        contents
    {% elif condition %}
        contents
    {% else %}
        contents
    {% endif %}

Loops:

    {% for item in items if condition %}
        contents
    {% endfor %}

    {% for item in items %}
        contents
    {% endfor %}

15.3.4 Chamber State Variables

The following is a list of possible chambers state variables and their meaning.

  • old and new: State of the chamber before and after the database was updated; both have the exact same structure.
    • Type: Dictionary
    • keys:
      • alarms: A list of chamber alarms and their state.
        • Type: List
        • keys for each element:
          • controller: The database id of the controller this alarm is on. type: int
          • id: The database id for this alarm. type: int
          • name: The name of the alarm. type: string
          • number: The number of the alarm. type: int
          • triggered: The state of the alarm. type: bool
      • controllers: A list of chamber pid controllers and their state.
        • Type: List
        • keys for each element:
          • datetime: The current datetime. type: datetime
          • program: The currently running program. type: int
          • program_details: Miscellaneous controller specific program status information. type: string
          • program_name: The name of the currently running program. type: string
          • program_step: The currently running program step number. type: int
          • program_time: The time remaining on the program. type: string
          • program_time_step: The time remaining on the current program step. type: string
          • status: The current controller run status. type: string
      • events: A list of time signals (events) and their status.
        • Type: List
        • keys for each element:
          • N: The number for the time signal on the controller. type: int
          • controller: The database id of the controller that this time signal is on. type: int
          • id: The database id for this time signal. type: int
          • manual: When true this time signal is user settable. type: bool
          • name: The name of the time signal. type: string
          • status: The state of the time signal.
            • type: Dictionary
            • keys:
              • constant: The constant mode state of the time signal. type: bool
              • current: The current state of the time signal. type: bool
          • valid: If this is False error occurred while reading this from the controller. type: bool
      • external_sources: A list of values read in from external equipment sources.
        • Type: List
        • keys for each element:
          • value: The current value of the external source. type: varies
          • name: The name of this external source. type: string
          • units: The units of this external source. type: string
      • loops: A list of pid control loops and there status.
        • Type: List
        • keys for each element:
          • N: The number for the pid loop on the controller. type: int
          • controller: The database id for the controller that this pid loop is on. type: int
          • deviation: PTCON/Cascade pid loops only. The allowable difference between the product and air process values.
            • Type: dictionary
            • keys:
              • positive: The allowable positive difference between the product and air processValues. type: float
              • negative: The allowable negative difference between the product and air processValues. type: float
          • enable: State of the control loop on/off for further details see mode.
            • Type: dictionary
            • keys:
              • constant: The constant mode settings for this parameter. type: bool
              • current: The current state of this parameter. type: bool
          • enable_cascade: PTCON/Cascade pid loops only. State of the product control mode for the loop.
            • Type: dictionary
            • keys:
              • constant: The constant mode settings for this parameter. type: bool
              • current: The current state of this parameter. type: bool
          • id: The database id for this pid loop. type: int
          • mode: The current control mode of the loop.
            • Type: dictionary
            • keys:
              • constant: The constant mode settings for this parameter. type: string
              • current: The current state of this parameter. type: string
          • name: The name of the pid loop. type: string
          • power: The pid loop output power.
            • Type: dictionary
            • keys:
              • constant: The constant mode settings for this parameter. type: float
              • current: The current state of this parameter. type: float
          • processValue: The current conditions inside the chamber for this pid loop.
            • Type: dictionary
            • keys:
              • air: The current conditions for the air inside the chamber. type: float
              • product: PTCON/Cascade pid loops only. The current conditions of the product inside the chamber. type: float
          • range: The allowable control range of the pid loop.
            • Type: dictionary
            • keys:
              • max: The maximum setValue of the pid loop. type: float
              • min: The minimum setValue of the pid loop. type: float
          • setValue: The condition the pid loop will attempt to attain.
            • Type: dictionary
            • keys:
              • air: PTCON/Cascade pid loops only. The current target for the air inside the chamber. type: float
              • product: PTCON/Cascade pid loops only. The current target for the product inside the chamber. type: float
              • constant: The constant mode settings for this parameter. type: float
              • current: The current state of this parameter. type: float
          • units: The units for the pid loop parameter. type: float
          • user_settable: Specifies if the loops parameters may be modified by the user. type: bool
          • valid: When this is False there was an error reading the state from the chamber. type: bool
      • operations: The operation status of the chamber.
        • Type: Dictionary
        • keys:
          • datetime: The current datetime of the chamber. type: datetime
          • mode: The current run mode of the chamber.
          • program: The current program state of the chamber.
            • Type: Dictionary
            • keys:
              • name: The name of the currently running program. type: string
              • number: The number of the currently running program. type: int
              • step: The current running program's current step. type: int
              • time_end: The estimated end time of the currently running program
              • time_step: The remaining time in the current program step.
              • time_total: The remaining time of the program.
      • programs: A list of programs on the chamber.
        • Type: List
        • keys for each element:
          • controller: The database id of the controller that this program is on. type: int
          • id: The database id of this program. type: int
          • name: The name of this program. type: string
          • number: The number for this program in its process controller. type: int
      • refrigerators: A list of the refrigeration systems and their status.
        • Type: List
        • keys for each element:
          • controller: The database id of the controller that this refrigerator is on. type: int
          • id: The database id of this refrigerator. type: int
          • mode: The current mode of this refrigerator. type: string
          • valid: When this is false an error occurred reading the state from the chamber. type: bool
  • query: The results of a data log query.
    • Type: Dictionary
    • keys:
      • datetime_success: The datetime of the last successful operation accessing the database. type: datetime
      • results: The results of the data log query on "HTTP" and "Return JSON" operations. This is formatted as a list of dictionaries for each row with keys corresponding to the requested columns.
  • request_args: The arguments passed to the macro by a user triggered macro.
  • results: The results of the http request. If the response body was json then this will be a dictionary; if it was anything else this will be a string.

15.4 Included Examples of Macros

The Web Controller will be shipped with three examples of macros.

  1. Hourly upload data logs to a windows (SAMBA) server.
  2. Hourly upload data logs to a FTP server.
  3. Email user at program end.

16.0 External Sources

External equipment sources are other devices that can communicate using an industry standard protocol such as Modbus TCP. The Web Controller can display or log the configured parameters read from these devices. Once data has been read it is then passed to a value parser so that complex structures may be properly handled.

External source editor

16.1 Available Protocols

The Web Controller currently supports Modbus RTU and TCP protocol communication. Other protocol types will be included in the future release of the Web Controller.

16.1.1 Modbus RTU/TCP

Currently the Web Controller can only read data from Modbus devices that use only input and holding registers. The following parameters are required:

  • register: The Modbus register to read from.
  • address: The address of the Modbus device to read from. This is required for TCP in case in Modbus gateway is being used.
  • type: The type of register to be read from and how it should be interpreted (data type).
  • count: The number of registers to read from.
  • low_word_first: The order of 32bit Modbus registers.
  • scalar: The multiplication factor for reading fixed point numbers.

The following figure illustrates how these parameters are handled.

Parameter information

16.2 Value Parser(s)

After data has been read from a device, the Web Controller will first parse the data before storing it. The following list describes how parsing is done by the Web Controller.

  • Display Name: This is the name used to display the data in the web server's status bar.
  • Display Units: This is the units that will be used to display the data in the web server's status bar.
  • Display in Sidebar: Checking this will cause the data to be displayed in the status bar.
  • Data Formatter: In cases where the raw data is not in the correct format there are a few methods available to correct that:
    • Lookup Table: Use the data as a key in a dictionary lookup.
    • Compare with true/false lookup: See if the data meets a specified condition and choose a formatted value for each case.
    • Override Value: Ignore the read value and specify a new one.
  • Data Type Conversion: Convert (cast) the value from one data type to another, supported data types: boolean, integer, float, string.
  • Logging: Specify if the data is to be logged and if it is what type of data column it will need to be.
  • Data Table Injection: Inject the data into the chamber state database back-end; to make the data look as if its one of the natively supported structures (control loop, time signal, alarm etc). This is an advanced feature and contact with support may be needed to use it.

17.0 Network Configuration by Program Names.

The network connection can be configured via a series of special program names. These program must contain only the default single step, and have the following names in the following order.

Once the web controller reads the programs that meet the criteria shown in sections 17.1 thru 17.4 the network settings will be applied and the programs will be deleted. Allow at least 2 minutes for this to happen after putting the program names in. If the program names do not get deleted ensure the programs meet the listed criteria, if they do then communication between the web controller and chamber controller may not be working.

17.1 P300, SCP-220, Watlow F4T Static Networking

Static networking format for the P300, SCP-220, or Watlow F4T based chambers.

Program # Format Example
n "..STARTNET" "..STARTNET"
n+1 ".A[IP Address]" ".A192.168.0.83"
n+2 ".M[Net Mask]" ".M255.255.255.0"
n+3 ".G[Gateway Address]" ".G192.168.0.1"
n+4 "..ENDNET" "..ENDNET"

17.2 P300, SCP-220, Watlow F4T DHCP Networking

DHCP networking format for the P300, SCP-220, or Watlow F4T based chambers.

Program # Format Example
n "..STARTNET" "..STARTNET"
n+1 ".DHCP" ".DHCP"
n+2 "..ENDNET" "..ENDNET"

17.3 Watlow F4 Static Networking

Static networking format for Watlow F4 Based chambers. The Watlow F4 does not support the "." character in program names and it only allows 10 character names. To meet this the "." character is replaced with a " " character, and the IP address must be expressed as 8 HEX digits.

Program # Format Example Comment
n " STARTNET" " STARTNET"
n+1 " A[IP Address]" " AC0A80053" 192.168.0.83
n+2 " M[Net Mask]" " MFFFFFF00" 255.255.255.0
n+3 " G[Gateway Address]" " GC0A80001" 192.168.0.1
n+4 " ENDNET" " ENDNET"

17.4 Watlow F4 DHCP Networking

DHCP networking format for Watlow F4 Based chambers. The Watlow F4 does not support the "." character in program names. To meet this the "." character is replaced with a " " character.

Program # Format Example
n " STARTNET" " STARTNET"
n+1 " DHCP" " DHCP"
n+2 " ENDNET" " ENDNET"

18.0 Direct HMI Mode

When a monitor is connected to the web controller at startup the system will automatically start the graphical user interface on the connected monitor. All setup and standard operations may be performed via this user interface.

Kiosk

This user interface supports both capacitive and resistive touch screens as well as keyboard and mouse.

18.1 Uploads/Downloads

All file transfers via the HMI application must be accomplished using USB flash drives formatted in FAT file system. The Web Controller is based on Linux; the USB flash drives formatted in FAT will ensure file system compatibility. To disconnect the USB flash drives from the Web Controller, the eject button on the user interface must be used. Detailed information regarding the use of the eject button is explained in Section 18.2, Item 9.

18.2 Menu Bar

The top center of the screen has a button used for accessing controls that are not needed by the standard web application. Most of these controls are similar to those found in a standard web browser; these controls are detailed in this section.

HMI Application Menu Bar

  1. Back Button: Navigate to the previous page.
  2. Forward Button: Navigate to the next page.
  3. Reload Button: Reload the current page.
  4. Home Button: Navigate to the home page. The home page is the index page shown in the screen shot (above figure).
  5. URL Bar: Navigate to a different URL within the application. Access to any web page other than those within the web controller has been disabled. Certain commands may also be entered here to modify the applications behavior.
  6. Menu Button: Use this button to show or hide the the menu bar.
  7. Screen Shot: Use this button to take a screen shot. A USB drive must be connected to the system to save any screen shots.
  8. HMI Settings Button: Use this button to open a screen for setting up some common system parameters.
  9. USB Eject Button: Use this button to safely eject USB devices. This button, along with the Menu Button (Item 6), will flash in orange when USB devices are connected. To avoid losing data, it is important to apply the eject button to all USB devices before removing them from the system.

18.3 HMI Settings

There are several system settings available that are specific to the application when running on a connected monitor.

18.3.1 General HMI Settings

Details for the general settings menu are shown here. This menu is accessed via HMI Settings Button, Item 1.

HMI Application Settings

  1. HMI Settings Button: This button will open a screen for setting up some common system parameters.
  2. Close/Cancel: Close the HMI Settings menu without saving any of the options.
  3. Time Zone: Configure the time zone for the HMI application to use when displaying date/time that are not shown in the chamber time zone.
  4. Language: Configure the language of the HMI application. This will also set the language of the web interface unless the use overrides the language via the web interfaces controls (custom firmware for alternative languages is currently required).
  5. Display Timeout: Set idle time for the display to be active. To save power, the display will be shut off after being idle for a selected amount of time.
  6. Calibrate Touchscreen: If there is a resistive touch screen connected to the web controller, this menu will be open for calibration. If the touch screen is out of calibration, a mouse can be used to get into the calibrating system.
  7. Restart Application: This will restart the HMI application. The web application will not be restarted and no chamber state will be lost.
  8. Apply Button: This will apply any changes on this setting menu, with the exception of the Calibrate Touchscreen settings, since they have their own options.

18.3.2 Touch Screen Calibration.

Resistive touch screens must be calibrated so that the elements the user touches match what is pressed on screen. The Automatic Calibration (Item 2) should be used as it is the simplest and most accurate calibration method. All other settings are currently available in case the automatic calibration option does not work as intended.

HMI Application Touch Screen Calibration

  1. Close/Cancel: Close the Touch Screen Calibration menu without saving any of the options.
  2. Run automatic calibration: Start the automatic calibration routine, the procedure for this is as follows:
  3. Device: The name of the touch controller to be calibrated.
  4. Horizontal Scale: The scaling factor used to ensure the detected touch range is the same width as the screen.
  5. Horizontal Offset: The offset used to ensure that the detected touches are not off by a set number of pixels.
  6. Vertical Scale: The scaling factor used to ensure the detected touch range is the same height as the screen.
  7. Vertical Offset: The offset used to ensure that the detected touches are not off by a set number of pixels.
  8. Test Settings Button: Apply settings for testing, the settings will be lost at power loss.
  9. Apply Button: Apply and save the settings so that the touch screen calibration settings will be used every time the HMI application starts.

Calibration procedures:

  • Automatic Calibration procedure: This is the recommended procedure:
    1. Start the procedure using the Run automatic calibration button.
    2. Follow the on-screen instructions and press each of the 4 points when instructed to. It is best to use a stylus for accuracy.
    3. Test that the calibrations are working as expected.
    4. Press the Apply Button (Item 9) to make the settings apply when the HMI application starts.
  • Manual Calibration procedure: This procedure is not recommended, however it may be necessary in some cases.
    1. Perform the calibration on the Horizontal parameters:
      1. Touch the screen about 1" from the left and right most edges of the screen:
        • If the cursor is towards the center of the screen from both touch points; increase the Horizontal Scale value.
        • If the cursor is towards the outside of the screen from both touch points; decrease the Horizontal Scale value.
        • If the cursor is on the left side of both touch points; decrease the Horizontal Offset value (negative numbers are fine).
        • If the cursor is on the right side of both touch points; increase the Horizontal Offset value.
      2. Press the Test Settings Button (Item 8)
      3. Repeat this step until the cursor is inline with the touch points over the extents of the screen, the cursor may be above or below the touch points, this will be fixed with Vertical parameters.
    2. Perform the calibration on the Vertical parameters:
      1. Touch the screen about 1" from the top and bottom most edges of the screen:
        • If the cursor is towards the center of the screen from both touch points; increase the Vertical Scale value.
        • If the cursor is towards the outside of the screen from both touch points; decrease the Vertical Scale value.
        • If the cursor is on the top side of both touch points; decrease the Vertical Offset value (negative numbers are fine).
        • If the cursor is on the right side of both touch points; increase the Vertical Offset value.
      2. Press the Test Settings Button (Item 8)
      3. Repeat this step until the cursor is inline with the touch points over the extents of the screen, the cursor may be left or right the touch points, this will be fixed with Horizontal parameters.
    3. Repeat steps 1 & 2 until the cursor matches where the user touched the screen.

18.3.3 Hidden Settings

There are several settings that are not present in the HMI Settings menus. These may be adjusted by navigating to special URLs via the URL bar.

URL Description
app://devtools Open Developer tools; used for debugging purposes.
app://enableosk Enable the on screen keyboard; enabled by default
app://disableosk Disable the on screen keyboard
app://enablemousetouch Enable all mouse events triggering a touch event, required for some touch screens
app://disablemousetouch Disable mouse events trigger touch events; disabled is default

Updated