•   
    •   
      •   
      •   
      •   
    •   
      •   
      •   
    •   
      •   
      •   
      •   
      •   
      •   
      •   
        •   
        •   
          •   
          •   
          •   
          •   
          •   
        •   
          •   
          •   
          •   
          •   
        •   
          •   
          •   
          •   
        •   
        •   
          •   
          •   
          •   
          •   
          •   
      •   
      •   
        •   
        •   
      •   
      •   
      •   
      •   
      •   
      •   
    •   
      •   
      •   
      •   
  •   
  •   
  •   
  •   
  •   

1.Online manual:

1.1.About Modbus HMI:

The Modbus HMI is a low-cost, high-performance solution developed for the Android system and other JAVA-based embedded devices based on the MODBUS TCP protocol.

The Modbus HMI program is developed in Java programming language and is highly portable, so it can be executed on a Windows-based PC or Linux operating system. also be used with embedded device(such as Raspberry Pi) , even on Android phones or tablets (install MODBUS HMI APP). There is no need to install a web server. It is the best embedded web-based access control solution.

The Modbus HMI can connect most of the standard MODBUS TCP Server devices, including PLCs, smart meters, smart sensors, smart actuators, etc., and can be converted using a commercially available MODBUS Gateway device if the connected device is a MODBUS RTU device.

Android App version of the Modbus HMI App itself has a browser function, in addition to web control server, also be a man-machine interface.

Modbus HMI is free to use under 128 points. This is the most economical choice for the MODBUS standard device to quickly complete a custom web-based access control system. For advanced functions or larger demand, please use ICDT WEB HMI https://goo.gl/yrnNuj or contact ICDT http://www.icdt.com.tw

1.1.1.Hardware requirements:

Modbus HMI editor to install computer requirements
■ CPU recommended for the 2 GHz Dual-Core dual-core products
■ more than 1GB of RAM
■ More than 100 GB hard drive

The embedded web server can be the following device (choose one)
■ The same specifications (or the same) computer in this program
■ Android 4.2 or above smart screen, smart phone or tablet
■ Raspberry PI, BeagleBone Black, NanoPi and other executable Java program equipment

1.1.2.Software requirements:

Project Editor Install Computer Requirements
■ Windows XP Professional SP3 or Windows 7 / Windows 8.1 / Windows 10 Operating System
■ Microsoft .NET Framework 4.0 or later
(Since April 8, 2014, Microsoft has stopped supporting Windows XP, it is recommended to use Windows 7 or later, in order to get better JAVA support)

Execute APP
■ Java APP: install Java Runtime Environment 1.7.0 or Java SE 7 or later
■ Android APP: Android 4.2 above

1.1.3.Browser Requirements:

■ PC version of IE10 or above, Chrome, Firefox, Apple Safari, Opera and other mainstream browsers can be accessed directly, without any plug-ins, nor the implementation of Flash or Java.
■ Browsers of any android 2.2 or later mobile phone, tablet or iPad and iPhone.

1.2.System Installation:

1.2.1.Installing the Modbus HMI Editor:

Unzip the installation file and click setup.exe to install into the default path. The installation process may require installation of Microsoft .NET Framework 4.0 or above, so you must connect to the Internet for download.

The installation of the editor and the .NET environment reference https://youtu.be/9KdWYZJow-o

1.2.2. Installing the Java environment:

If the editor computer wants to perform editing results, It must have a Java execution environment. Please refer to http://java.com/download for Java installation

If you are using a computer version of XP, the default installer may not be executed. Please install the appropriate version from the form
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Install the Java environment https://youtu.be/Y3RVaKfumsA

1.3.Edit:

You must log in to the administrator account when editing your project. The new project will automatically generate the user "root" and password "root" administrator account(Admin). This password is the default text entered by the login dialog. Therefore, press "OK" to log in to the administrator's account.
But after completing the initial editing, it is recommended to modify or remove this default administrator account (root / root).

When creating a new project, a file with the name "projectname.phm" and the "projectname_" file path will be generated.
For example, the project name is "demo", will produce "demo.phm" configure file and "demo_" path.

1.3.1.New Project:

HMI Editor Click "File" -> "New Project", select the appropriate folder and enter the project name to create a project. The project will create the same name path (one more bottom line '_') and store the exported Web page (* .htm). The path will generate "img", "dat" two subdirectories to store pictures and pages data.

A project that has been created or opened can be opened quickly at the "File" -> "Recent projects".

1.3.2.New page:

Each project can add multiple web pages with up to 10 words but not the same as other page names. The page name is recommended for lowercase, so as to avoid problems creating a cross-system.

"home" is the default home page and can not be removed. Others such as "login", "logout", "system" and other pages to retain the page, does not allow the use of the above name.

The page allows renaming, deleting, copying, etc., if you do not care about the name, you can also directly select the new page -> automatically increase in order to six-digit sequence number.

After you add a page, you can drag the object from the right toolbox to the page. Move the cursor to the box next to the selected item Drag to change the size of the object. You can also double-click to edit an object.

Add, move, delete copy and other operations can be implemented undo and redo function to return to the previous edit state.

The closed page will not be deleted. You can open a page that was previously closed by click at the "Page" -> "Open page".

1.3.3.Copy, delete and rename:

You can copy the completed page to another page. Open and select the page to copy, click the "Page" -> "Copy page" to enter the page name can be copied. The entered page name can not be duplicated with an existing page name.

Click the "Page" -> "Delete page" can select the current page from the project to delete, the deleted page will not be recovered.

Click the "Page" -> "Rename page" can change the name of the currently selected page, enter the file name can not be repeated with the existing file name.

This risk must be assessed by changing the page name or deleting the page that may cause the page link to fail.

1.3.4.Setup page:

Click on the "Page" -> "Setup page" can set the current page, including background color, image (both choose one) and the page size. The page size affects the size of the page that can be edited, and the size of the page that opens when it is displayed.

1.3.5.Open the page:

In order to save system resources, open the project will not load all the pages. To load a page, click the "Page" -> "Open page" to select the page you want to open.

Pages that have changed will ask you if you need to save before closing. The saved page will save the changed data and generate a web page file. Select cancel to discard the data changes, it will remain in the previous state.

1.3.6.Toolbox:

The toolbox contains button, text box, image object, check box and frame, and you can drag them to the page to add objects. The added object can be dragged to a specified location or changed size, or double-click to edit. You can also select multiple objects at the same time, using the function buttons at the top of the editor, and for position or property adjustments for multiple objects.

1.3.6.1.Pointer:

Change the toolbox from the inserted object mode to the pointer mode.

1.3.6.2.Button:

Button to provide the way to jump pages, link pages, write fixed values and so on. You can adjust its size, font, color and display text.

1.3.6.2.1.Relocation:

Jump to the specified location without opening a new page

1.3.6.2.2.Open Page:

Add and open a specified page and display it with the original page.

1.3.6.2.3.Write:

Writes the preset values to the object point.

1.3.6.2.4.Link:

The destination URL must begin with http: // or https: //.

1.3.6.2.5.Prompt:

Pops up a dialog box to display the specified information

1.3.6.3.Text Box:

With different features such as "Text", "Text button", "Dynamic text" and "Date time".

1.3.6.3.1.Text:

Show default text at the specified location.

1.3.6.3.2.Text button:

Text box provides jump pages, link pages, write fixed values, and so on. It is similar to the "Button" function.

1.3.6.3.3.Dynamic text:

Displays the value or state of the control point and allows the user to change the value.
The display mode includes text mode and numeric mode. The text mode will display the text according to the preset value and the text table.

1.3.6.3.4.Date time:

Displays the date and time on the web server.

1.3.6.4.Image object:

With different features such as "Image", "Image button", "Dynamic image".

Image object accept the Image format contains jpg, gif or png format, the rest, such as bmp and other formats will be automatically converted to jpg. The editor has the ability to combine multiple pictures into gif dynamic graphs.

All selected images will be copied to the project's img directory. This is for the portability of the project information. Unused images will be removed when the project is archived.

1.3.6.4.1.Image:

Show a static image at the specified location

1.3.6.4.2.Image button:

Image object provides jump pages, link pages, write fixed values, and so on. It is similar to the "Button" function.

1.3.6.4.3.Dynamic image:

Displays the value or status of the control point of the specified device with Image object, and allows the user to change the value. When the page is displayed, the image will be displayed according to the preset value and the image table.

1.3.6.5.Check box:

The "check box" shows the value or status of the control point and allows the user to change the status. The edit mode adjusts its size, font, color, and display text

1.3.6.6.Frame:

With different features such as "None", "Dynamic size", "Static frame", "Dynamic frame" and "Customized frame". Set the "Fixed", "Dock up", "Dock fill" and so on, you can control the frame in accordance with the needs of the way to fill.

1.3.6.6.1.None:

Simply in the display frame, used to mark the group or drawing.
As the subsequent items will be added in the upper layer, you can use the "Bring to front", "Send to back" button to change the order.

1.3.6.6.2.Dynamic size:

According to the value of the control point display the frame size. You can choose to change the direction of "Top to bottom", "Bottom to top", "Left to right", "Right to left" . When the control point value is 100, it will fill the frame. Values 0 to 100 fill the frame in proportion (representing 0 to 100%)

It is usually used to display numerical values in a bar graph (eg thermometer, etc.).

1.3.6.6.3.Static frame:

To seamlessly display other web content on the page.
Note that some URLs do not support iframe tag.

1.3.6.6.4.Dynamic frame:

Frame in accordance with the value of the embedded URL to automatically change the frame of the page. Suitable for dynamic link network cameras and other applications.
Note that some URLs do not support iframe tag.

1.3.6.6.5.Customized frame:

The custom frame allows users to design their own components to make web pages more lively and lively, such as the design of real-time curve, pie chart, meter and other objects. Custom frame can create a unique human-machine interface.

The custom frame to embed the page in order to reach a custom object, as follows:
■The page must be under the same server and encoded in a relative path, such as the meter.htm under the "C:\AppServ\www\customized" path, and the input URL is "../customized/ meter.htm".
■The web page JavaScript code must contain a Function that is structured as Update(seq, val). The web execution will automatically increment the sequence (starting at 1.) of the point with the read value to the "seq" and "val" variable to call the function, if the function Update (seq, val) has a value return, the value will be written to the control point in the "seq" order.

The following is an example of the dew point temperature calculation. The first control point is the input of the dry bulb temperature, the second control point is the input of the relative humidity, and the third control point yields the calculated result.
<input type="text" id="value1" value="0" />
<script type="text/javascript">
var Dry_Bulb_Temp;
var Relative_Humidity;
//seq : object index = 1,2,3...
//val : object value
//return : value for write to object
function Update(seq,val)
{
if(seq ==1)
Dry_Bulb_Temp = val * 1;
if(seq==2)
Relative_Humidity = val * 1;
else
{
var H= (Math.log10( Relative_Humidity)-2) /0.4343 + (17.62*Dry_Bulb_Temp) / (243.12+Dry_Bulb_Temp);
var Dp = 243.12 *H/(17.62-H);
document.getElementById("value1").value = Dp.toFixed(3);
return Dp.toFixed(3);
}
}
</script>

1.3.7.User:

User interface can edit the user name and password, the user contains the system administrator (Admin), ten levels of the general operator and guest (Guest).

In addition to having the highest operational level (level 10), the administrator has the right to edit the project.

Ten levels of the general operator and visitors each have 10 to 0 operating level, the higher the number has the higher authority. Each button object and dynamic object can be individually assigned to the authorized operating level, must be higher than or equal to the authorized level of the user can do the operation.

Guest has a user level of 0, and if you select the "Authorize guests access" option, your page will not need to be logged in to any account, but you will still need to login in if you have an authorized button or dynamic object.

Each project must have a Admin account for project editing. Create a new project will automatically generate account password for root / root of the system administrator, it is recommended to modify or delete (root / root) after the completion of editing.

1.3.8.Device editing:

The Modbus HMI communicates with the MODBUS TCP server through the MODBUS TCP protocol.

Press the "Add" button of the "Edit Device" function to select:

1.3.8.1.Modbus TCP:

Select the IP address of the connected Modbus TCP Server device (for example, 192.168.1.100).Modbus TCP default TCP Port is 502, if the connection TCP Port is not 502, must be marked: Port. For example, if the IP address is set to 192.168.1.100:503, it means connected to port 503 of 192.168.1.100.

1.3.8.2.Device:

The device is the basis for the identification of the control device. In a Modbus TCP server there are different UIDs (Unit Identifiers) that represent different devices.
The device address is the UID number under the Modbus TCP Server device. Equivalent to MODBUS RTU slave address.
The name of all devices can not be repeated.

1.3.9.Tag:

Object Tag Replace the register or coil address with the tag name, making it easier for the user to edit. For example, replacing the R32d1 with the RA_Temp keyword is easier to understand.

When editing a Tag, you can choose whether to restrict the applicable device. If you do not select any device, all devices are applicable. On the contrary, only select the tag effective device, you can select the tag. For example, if the RA_Temp tag specifies all AHU controllers, the RA_Temp tag will only appear if the AHU controller's device is selected.

If the control point is used to restrict the tag of the device, it will be displayed in the edit mode in Tag_Name @ Device_Name to facilitate identification, such as "RA_Temp @ AHU1".

1.3.10.Control point:

Control point refers to the device's memory or input/output, you can choose Coil, Input, Holding register or Input register, which Input and Input register can not be written.

As the MODBUS Holding register, Input register value range is only 0 ~ 65535 (0x0000 ~ 0xFFFF), in this custom format to be converted, access as follows:
"u" is the standard integer, in the range 0 to 65535.
"s" specifies the Register as a signed integer with a value range of -32768 to 32767.
"d1" specifies the Register as a signed integer / 10 with a value range of -3276.8 to 3276.7
"d2" specifies the Register as a signed integer / 10 with a value range -327.68 ~ 327.67
"bcd" value is decoded in BCD with a value range of 0 to 9999
"U" specify 2 Registers as a 4-byte unsigned integer, and the first Registers is high
"S" specify 2 Registers as a 4-byte signed integer, and the first Registers is high
"F" specify 2 Registers as a 4-byte floating point number, and the first Registers is high
"Usw" specify 2 Registers as a 4-byte unsigned integer, similar to "U", but the two registers swap
"Ssw" specify 2 Registers as a 4-byte signed integer, similar to "S", but the two registers swap
"Fsw" specify 2 Registers as a 4-byte floating point number, similar to "F", but the two registers swap

1.3.11.Dynamic object:

A dynamic object is an object that changes according to the read value, such as the "dynamic text" of the text box, the "dynamic image" of the image object, the check box, the "dynamic size" of the frame, and so on.

The dynamic object reads the control point and displays the value after calculation. In addition to the "dynamic size" of the frame, other dynamic objects can be entered or changed as long as they are authorized.

Holding registers, input registers can choose to display the value type, set the write value of the high and low limit, and set the high alarm or low alarm text color. You can also perform multiplier operation or execute Script operation.

Script operation is the use of JavaScript eval () function allows users to define their own formula, the formula "$$" will be replaced by the current value, such as $$ * 1.8 +32, the final value is equal to current value multiplied by 1.8 plus 32.
The formula should conform to JavaScript's eval () function syntax. After selecting the eval () option, you can press the "JS" button to enter and test. Different browsers have slightly different support for JavaScript operations, so it is recommended that you use the common arithmetic and standard Math functions as much as possible.
Script operations are valid only when read, so it is recommended to use at read-only points.
Script operation and multiplier operation can not be used at the same time.

Coil and Input only 0 and 1 two states, therefore does not support the write value of the high and low limits and operations. In text mode, you can select a color with a value of 0 (Off) or 1 (On).

The text box can be used to select the text mode to display the value corresponding to the text. When reading a value, the corresponding text that is close to and greater than or equal to that value is displayed.
The image object can be used to select the dynamic mode to display the value corresponding to the image, the corresponding image that is close to and greater than or equal to that value is displayed.

When modify the control points , in addition to double click on the individual control points to modify, you can also select multiple objects at one time, by clicking on the top of the function button.

1.3.12.Write button:

Select the button type of text box or image box, you can select the write mode, specify the control point and the value, after pressing the object, the fixed value will be written to the control point.

1.3.13.Link button:

Select the button type of text box or image box, you can select the link mode to execute the link command when press the button. For example, enter "http://www.icdt.com.tw".

1.3.14.User level:

Contains the text box, image object, check box, button objects setting to button or dynamic object mode will display control level options, including options none, 1 ~ 10 and read only. Select "Read only" when the object is only for display, can not operate. When you select "None", you only need the guest level to operate. Level 1 to 10 requires a login user whose account level is greater than or equal to the number

1.4.Run:

1.4.1.Native execution:

After editing, select "File" -> "Run", the program will export the page to the \java\html\ www path under the project user path and try to start the Java program.

When start Java, you need to select the Web server (Http) Port (default is 80). If the default 80 Port is occupied by other programs, you can enter other values (for example, 8080), then the browser URL must be added port number.(eg http://127.0.0.1:8080)

If the Java program fails to execute, the failure message will be bounced. If successful, the browser will automatically open the browser to link the URL (for example, http://127.0.0.1:8080).
Since IE10 previous version of HTLM is not good compatibility, when using XP computer, we recommend Chrome or Firefox as the default browser.

If the page text "* Restricted" indicates that the number of points exceeds the maximum number of free versions, please delete the points or contact ICDT to discuss further authorization.

When click "Run", it will automatically copy the executed instructions to the Clipboard. You can add the shortcut to the desktop. In the "Enter the location of the item", right-click and select "Paste" to create an executable shortcut. You no longer need to execute this program.

Since the program Web server service is implemented through Java, the computer must install the Java execution environment http://java.com/download

Operation demonstration https://youtu.be/t03yF83jILk

1.4.2.Other equipment execution:

The solution can be in other Java environment with the computer or Raspberry PI (Raspberry PI) or other embedded devices, but must have Java Runtime Environment 1.7.0 or Java SE 7 or later.

When the project is finished editing, "file" -> "implementation" will pop up the project file java folder, including the required JAVA program export information, raspberry PI (Raspberry PI) and other embedded devices can be installed FTP Server (for example, vsftpd), and copy all the files in the folder to the authorized folder in the device.

When the project is finished editing, click on the "file" -> "Run" will pop up the project file java folder, the internal contains the required JAVA program export information. Raspberry PI and other embedded devices can install FTP Server (such as vsftpd), and copy all the files in the folder to the device can be authorized to the folder.

If it is in the Windows environment, click run.bat to start. If it is a raspberry pie and other Linux devices, switch to the path after the implementation. /run.sh implementation, but may have to chmod + x run.sh to authorize run.sh file execution.

Different system Http default port 80 may be occupied, it may need to manually modify the value of -h, for example, changed to -h 8080, then the browser URL must be added port number, such as http://192.168.0.111 : 8080.

1.4.3.Android APP:

The android APP also supports 128 points, no advertising, no running time limit, the download location: https://goo.gl/t2g3Gc

Follow the steps below to change the project parameters:
■Long press to select "Setting" ,t hen select "External(www)" for "Server root:".
■Execute the MODBUS HMI editor, select "File" -> "Export" function to generate a www path.
■Use USB to connect the phone / tablet device, and turn on the transmission function, the www path to the mobile phone / tablet device data root path, or use the FTP server APP (for example https://goo.gl/i8Bk1R),After starting the FTP server, use the Windows Explorer to enter the FTP server address (for example, ftp://192.168.1.110:2221) and copy the www path to the root path.((But the prerequisite is the computer and mobile phone / tablet device in the same regional network.)

MODBUS HMI APP can be used as a web server for other devices. To know the URL of the server, simply click on APP to click the "Setting" to get the URL (eg http://192.168.1.110:8080 ).

2.Operation demonstration video:

Editor and .NET environment installation : https://youtu.be/9KdWYZJow-o

Edit the first project : https://youtu.be/VWXV3NLamEU

Install the Java environment : https://youtu.be/Y3RVaKfumsA

Execute : https://youtu.be/t03yF83jILk

3.Suggestions and feedback:

Thank you for your trial / use of this product, ICDT will need your further information to make this product more complete. If you have any questions or suggestions, please write to eric.icdt@msa.hinet.net. If you find any product exception information, please provide: product version, the timing of the exception, abnormal screen or exception when the communication code, sent to the ICDT, we will let you know the results as soon as possible, thank you again for your assistance.

4.Copyright notice:

This product is owned by Intelligent Control Design & Technology Co., Ltd. If you have not been authorized to reproduce or use part or all of the contents of this document, it will be filed in accordance with the law. The web code generated by the program may not be used for other applications except as used by this program.

The use of open source parts (such as jQuery, etc.) in the product follows the original license terms.

5.About ICDT (Intelligent Control Design & Technology Co., Ltd) :

Intelligent Control Design & Technology Co., Ltd long-term focus on MODBUS and BACnet protocol control system development.(BACnet Vendor ID 676) Over the years to complete a number of BACnet and MODBUS free and paid software, and to assist many customers to complete the relevant products listed

Intelligent Control Design & Technology Co., Ltd use the most stable, low-cost integration solution for customers to create high-value, continuous service programmable control system, user-friendly interface, so that your own brand is no longer a dream, more information please Visit the website: http://www.icdt.com.tw

6.About this manual:

This manual is for Modbus HMI applications.
Manual Version V1.07
Release date 2018/10/17