Wiki source code of 04 Library

Version 17.1 by Karen on 2023/05/22 13:44

Show last authors
1 = **Shape** =
2
3 It is used for storing bitmaps. The source of bitmaps are: system bitmap library and imported bitmaps.
4
5 (% style="text-align:center" %)
6 [[image:位图库 1.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
7
8 (((
9 (% style="text-align:center" %)
10 [[image:位图库、.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
11
12 (% class="wikigeneratedid" %)
13 You could view all the bitmaps in the library, and import or export them according to your own needs. You can also create multi-state bitmaps.
14
15 (% class="wikigeneratedid" %)
16 There are four kinds of galleries as follows.
17
18 * **Project gallery: **The bitmaps added to the project and the bitmaps applied to the project are displayed in the project gallery.
19 ** Rename: You could click one bitmap to rename. Bitmap names can be a combination of Chinese characters, numbers, and letters (case sensitive), but no special characters. The length of it cannot exceed 18 characters.
20 ** When you place the mouse on the display area of bitmap, its name and resolution would be displayed.
21 ** You can export the current project bitmap file, import the file in another project, and call it in the new project.
22 * **System gallery: **The software system gallery, including pictures and vector diagrams (svg picture).
23 * **Gallery file: **You can import the corresponding picture file from and call it in the project library.
24 ** You could import library files with suffixes "aa. pLb" and "aa. bLb".
25 ** Select one bitmap, right click to perform three operations: Use library, Delete library, and rename library (F2).
26 * **Extended gallery: **The image applied in the screen style can be found in the extended gallery.
27
28 = Font =
29
30 User can pre-set the font and directly call the settings in the font library when editing the project.
31
32 (% style="text-align:center" %)
33 [[image:字体库 1.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
34
35 (% style="text-align:center" %)
36 [[image:7.Library_html_938f815f649f52f7.png||data-xwiki-image-style-alignment="center" height="430" width="408" class="img-thumbnail"]]
37
38 (% class="table-bordered" %)
39 |=**Items**|=**Description**
40 |Add font|Add an new font in library
41 |Delete font|Delete selected font
42 |Properties|Edit selected font
43 |Close|Close current setting window
44 |Help|Click it to open help document
45
46 **Operating procedures of create font**
47
48 (% style="text-align:center" %)
49 [[image:7.Library_html_49e9837c01071e5a.png||data-xwiki-image-style-alignment="center" height="299" width="553" class="img-thumbnail"]]
50
51 1. Click [Add font] to open setting window.
52 1. Enter font name.
53 1. Select font.
54 1. Select font size.
55 1. Select font style.
56 1. Preview font.
57
58 = Text =
59 )))
60
61 Text library contains commonly used text. It avoids setting the text repeatedly. HMI provides up to 8 languages in text library.
62
63 Click "Project"→"Text" to open the setting window.
64
65 (% style="text-align:center" %)
66 [[image:文本库.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
67
68 (% style="text-align:center" %)
69 [[image:7.Library_html_b8f8338b62169207.png||data-xwiki-image-style-alignment="center" height="298" width="577" class="img-thumbnail"]]
70
71 (% class="table-bordered" %)
72 |=**Items**|=**Description**
73 |ID|The identifier of the text in the list
74 |Languages|One text can be set in 8 languages
75 |New|Add an new text in list
76 |Delete|Delete selected text
77 |Edit|Edit select text
78 |Close|Close text library list
79 |Help|Open help document
80 |Export EXCEL|Export text library to PC as excel file
81 |Import EXCEL|Import text library from excel file
82 |Clear|Delete all texts in list
83
84 **Operating procedures of creating new text**
85
86 1. Click "New" button to open setting windows as below.
87 1. Set at least one language and support up to 8 languages.
88 1. Click "Save" to complete operations.
89
90 (% style="text-align:center" %)
91 [[image:7.Library_html_f78c9d8bbbd45150.png||data-xwiki-image-style-alignment="center" height="431" width="554" class="img-thumbnail"]]
92
93 (% class="box infomessage" %)
94 (((
95 **✎Note:**
96
97 Text library: Supports importing edited Excel files into projects for use. However, the following two points need to be noted:
98
99 1. When importing an Excel file, if the contents of language one to language eight in ID (ID) information is all empty, the information of the subsequent ID will not be imported.
100 1. When importing Excel files, if there is pure digital content in the imported information, you need to set the format of the table box to "text" mode. Otherwise, the text import fails or an error occurs due to incorrect information format.
101 )))
102
103 = **Email** =
104
105 == Email setting ==
106
107 In "PIStudio" software, click "Project" → "E-mail" to open email function setting screen.
108
109 (% style="text-align:center" %)
110 [[image:image-20220616114515-1.png]]
111
112 **SMTP Settings**
113
114 * **Sender Name: **Fill the sender's name, which is composed of Chinese characters, letters (case sensitive) and numbers. But it can not contain the following special English symbols:  ',', ';', '"', '<'. Maximum character length 32 is allowed.
115 * **Password:** Fill in the password or authorization code of the mailbox. If the server needs to set the authorization code, the authorization code needs to be used. If the authorization code is not used, the password is used. Please refer to the SMTP service in the mailbox for the authorization code information. It cases sensitive, maximum character length 32 allowed in password.
116 * **Confirm Password: **Confirm the password or authorization code of the mailbox.
117 * **Email Address: **Fill in the sender's email address, case sensitive, maximum character length 32 allowed in it.Such as [[support@we-con.com.cn>>path:mailto:support@we-con.com.cn]].
118 * **SMTP Server: **Please refer to the mailbox account settings. If you enter a common mailbox, the corresponding server address will be automatically written. such as smtp.exmail.qq.com.
119
120 (% class="table-bordered" %)
121 |=Email|=Email server|=Port number
122 |163 email|smtp.163.com|465
123 |126 email|smtp.126.com|465
124 |QQ email|smtp.qq.com|465
125 |Sina email|smtp.sina.com|465
126 |Sohu email|smtp.sohu.com|465
127 |Yahoo email|smtp.mail.yahoo.com.cn|465
128 |Google email|smtp.gmail.com|465
129
130 (% class="box infomessage" %)
131 (((
132 **✎Note:** Gmail also needs to enable the [allow unsafe apps] option in the account, otherwise the mail will not be sent normally.
133 )))
134
135 * **Encryption Type: **SSL is a security protocol that provides security and data integrity for network communications. It encrypts network connections at the transport layer; TLS (STARTTLS) upgrades connections to SSL instead of using a separate encrypted communication port.
136 * **The Port Number: **Enter corresponding port number according to the SMTP serve addrress entered. You could only enter interger between 1 and 65535. Do not enter more than 6 digits in length. Common port numbers are port 25, 465 and 587.
137 ** Port 25: It does not protect the original data when transmitting data. The data can be seen. Generally, port 25 must be selected as no encryption or TLS(STARTTLS) encryption mode to send data correctly.
138 ** Port 465: It protect the original data when transmitting data. The data can not be seen. Generally, port 465 must be selected as SSL encryption mode to send data correctly.
139 ** Port 587: The original data is protected only after the TLS(STARTTLS) command is executed. Generally, port 587 must be selected as TLS(STARTTLS) encryption mode to send data correctly.
140
141 (% class="box infomessage" %)
142 (((
143 **✎Note: **Port 25 is open to SMTP servers, mainly for sending mail. But the port has vulnerability. Hackers often use port 25 to find SMTP servers to forward spam.
144 )))
145
146 * **Error Message**
147 ** Set the error message receiving address, you could use the information to get the reasons of errors.
148 ** The error types in the mail function are divided into two types: custom rule error and server's error.
149 ** Custom rule errors are as follows.
150
151 (% class="table-bordered" %)
152 |=**Message**
153 |Email settings are incorrect
154 |Email account is incorrect
155 |Email password could not include blank
156 |the settings of SMTP server are incorrect
157 |The range of SMTP server ports number should be integer, which is between 1 and 65535.
158 |The type of encryption for SMTP is incorrect
159 |The name of sender or email address setting is incorrect.
160 |The names of Recipients or email address setting are incorrect.
161 |The names of CC recipients or email address setting are incorrect.
162 |The names of Secret delivery recipients or email address setting are incorrect.
163 |Email topic could not be blank
164 |Email content could not be blank
165 |Total size of attachments should be below 25M
166 |Attachment "xxxx" is nonexistent
167
168 Server's errors are as follows.
169
170 (% class="table-bordered" %)
171 |=**Message**
172 |smtp-server: 554 DT: SPM
173 |smtp-server: 550 RP: TRC
174 |smtp-server: 550 Limitation of connecting counts
175 |smtp-server: 535
176 |smtp-server: 550 Error: Content rejected
177 |smtp-server: 451 Internal server error
178 |smtp-server: 535 Invalid login user or password
179 |smtp-server: 550 too many sending requests today
180 |smtp-server: 452 Too many recipients received this hour.
181 |smtp-server: 535 Error: Authentication failed, system busy
182 |could not connect: Connection timed out
183 |Unexpected EOF on SMTP connection
184 |could not initiate SSL/TLS connection
185 |smtp-server: 530 Need to issue a STARTTLS command first.
186 |could not resolve host
187 |could not connect: Connection timed out
188 |could not connect: Connection refused
189 |smtp-server: 550 User not found: aaa.163.com
190
191 * **Manual Trigger**
192
193 It is for modifying the email sending settings when HMI is running. According to the set manual trigger address, the address is offset backward to get the address of the corresponding function (a total of 201 words). Take HDW100 as an example.
194
195 (% class="table-bordered" %)
196 |=**Address**|=**Description**
197 |HDX100.0|Sending trigger
198 |HDX101.0 to HDX101.15|It is used for triggering recipient groups, for example, HDW101.0 set ON, and the address in group 1 will be in recipient list.
199 |HDX103.0 to HDX103.15|It is used for triggering recipient groups, for example, HDW103.0 set ON, and the address in group 1 will be in CC list.
200 |HDX105.0 to HDX105.15|It is used for triggering recipient groups, for example, HDW105.0 set ON, and the address in group 1 will be in BCC list (Secret delivery).
201 |HDW107 to HDW171|The subject length is limited to 64 words. (If it exceeds, it will intercept 64 words of content)
202 |HDW172 to HDW300|The content length is limited to 128 words. (If it exceeds, it will intercept 128 words of content)
203 |HDX301.0|Whether to send an alarm record attachment (a file named AlarmDataFile.db)
204
205 1. Emails that sent manually are not queued. Emails trigger by bit change, rising edge, falling edge and timing need to be sent in the sequence of triggering. The maximum value is 100, and those who are added after it is exceeded will be discarded. If an email is sending, it would send immediately after the current email is sent. If there is no email sending, it would send immediately.
206 1. If the trigger condition sent manually is the rising edge trigger, before the mail is sent, no new mail will be sent even if it is triggered again. No matter the email is sent successfully or not, the corresponding trigger would be OFF.
207 1. Emails that sent manually would only be sent once no matter the sending error is custom error, network or other errors.
208
209 == Email sending settings ==
210
211 (% style="text-align:center" %)
212 [[image:image-20220616114743-1.png]]
213
214 1. **Add. **A maximum of 1024 email can be added.
215 1. **Modify.** Select an email to modify the content and configuration.
216 1. **Delete. **You could select an email to delete or click the "ID" column to delete in batch.
217
218 (% style="text-align:center" %)
219 [[image:image-20220616114936-3.png]]
220
221 **Email sending configuration.**
222
223 * **Theme. **The value cannot be empty and case sensitive. The total length  cannot exceed 256 characters.
224 * **Content of email. **The contents are divided into three combinations: text, alarm and variable. The list can contain only 32 items at most, and the total length of the preview cannot exceed 1024 items.
225 ** **Text. **You could directly edit the text of language 1 to language 3. If you need to set multiple languages, click "edit all text" to set. You may also select "Text library". The content is case sensitive, and the total length of English/Chinese characters/numbers/symbols does not exceed 253.
226 ** **Alarm. **You could select "bit alarm" or "word alarm" from the list. The content is from alarm text. if the alarm changes, the content changes with it. The content is case sensitive, and the total length of English/Chinese characters/numbers/symbols does not exceed 253.
227 ** **Variable. **Set the corresponding variable address. Read value or strings according to the specified format, and the read information will be displayed in the corresponding position in the mail content.
228 * **Preview. **Combine the content of current edited email and display it for you to modify the content conveniently. The preview length cannot exceed 1024.
229 * **Sending method. **It is divided into timed send interval and bit address trigger transmission. The two methods cannot be used at the same time.
230 ** Timed send interval. After booting, the current system time is used to start calculating, and each time the time  is up, the information will be sent to the set recipient in the form of an email, and the minimum time should be set to 5 minutes. **Note: **The first boot is not sent.
231 ** Bit address trigger tranmission. When the set trigger address meets the trigger conditon, the information will be sent to the set recipient in the form of an email. If the content select alarm, the alarm address would be written in the trigger address. There are three methods to trigger: sending on rising edge, sending on falling edge and send when the bit changes.
232 * **Recipient.** It is set in groups. You could send  multiple groups, and each group can have multiple recipients.
233 * **Add CC.** Sends the current email to other recipients.
234 * **Add secret delivery. ** Sends the current email to other recipients, but the recipient and cc recipients do not see the BCC recipient.
235 ** when sending an email, you must set a recipient. CC recipients and BCC recipients are not to be set. The total number of recipinet, CC recipients and BCC recipients is 40.
236 * **Recipient priority. **Set the priority order of recipients to recipient, BCC, and CC.
237
238 (% class="box infomessage" %)
239 (((
240 **✎Note: **If the recipient address you select exists in all three positions, it exist only in the highest priority position. For example, if the recipient of an email has aaa, the bcc has aaa, and the cc has aaa, then let aaa only be the recipient.
241 )))
242
243 == Recipient group setting ==
244
245 (% style="text-align:center" %)
246 [[image:image-20220616115028-4.png]]
247
248 1. **All Group.** The groups you added.
249 1. **Group to send. **The groups that you send the emails to.
250 1. **Open recipient settings.** Set the information of recipients, and add and subtract groups.
251
252 == Recipient setting ==
253
254 (% style="text-align:center" %)
255 [[image:image-20220616115126-5.png]]
256
257 * **Add. **Add a recipient. There are non-dynamic recipient and dynamic recipient. They cannot be used at the same time. You may just fill in the  recipient's name and email address. The dynamic recipient address  is limited to 32 characters, and a maximum of 40 recipients can be added.
258
259 (% style="text-align:center" %)
260 [[image:image-20220616115255-6.png]]
261
262 * **Modify. **Select one recipient and click "modify" or double click the recipient to modify. If it is non-dynamic recipient, you could modify the name and email address. The email is unique. If it is dynamic recipient, you could modify the address, and the address is unique.
263 * **Delete.** Select one recipient or multiple recipients to delete, or click the ID column to select all.
264 * **Number of group. **You could click the  up/down arrow to increase or decrease groups. The default number is 1. The maximum number is 16.
265 * **Description. **To decribe the group information. The total length shall not exceed 32.
266
267 == Test sending settings ==
268
269 (% style="text-align:center" %)
270 [[image:image-20220616115337-7.png]]
271
272 (% class="box infomessage" %)
273 (((
274 **✎Note: **
275
276 * You can open this after the SMTP server is set.
277 * When NetEase mail (126, 163 and yeah) occurs errors 554, it may be that the mailbox used is restricted by the anti-spam mechanism, and the performance may be that it cannot send emails in bulk or directly.
278 * When TOM mail is sender's mail, the name of it and the recipient tested must be English, otherwise the email would be returned.
279 * When testing with Zoho mailbox, there was a delay of less than 3 minutes.
280 * The custom errors for the test error is as follows.
281 )))
282
283 (% class="table-bordered" %)
284 |=Error code|=Cause of reason
285 |0|CSMTP_NO_ERROR
286 |100|WSA_STARTUP = Unable to initialize winsock2
287 |101|WSA_VER = Wrong version of the winsock2
288 |102|WSA_SEND = Function send() failed
289 |103|WSA_RECV = Function recv() failed
290 |104|WSA_CONNECT = Function connect failed
291 |105|WSA_GETHOSTBY_NAME_ADDR = Unable to determine remote server
292 |106|WSA_INVALID_SOCKET = Invalid winsock2 socket
293 |107|WSA_HOSTNAME = Function hostname() failed
294 |108|WSA_IOCTLSOCKET = Function ioctlsocket() failed
295 |109|WSA_SELECT
296 |110|BAD_IPV4_ADDR = Improper IPv4 address
297 |200|UNDEF_MSG_HEADER = Undefined message header
298 |201|UNDEF_MAIL_FROM = Undefined mail sender
299 |202|UNDEF_SUBJECT = Undefined message subject
300 |203|UNDEF_RECIPIENTS = Undefined recipient
301 |204|UNDEF_RECIPIENT_MAIL = Undefined mail recipient
302 |205|UNDEF_LOGIN = Undefined user login
303 |206|UNDEF_PASSWORD = Undefined user password
304 |207|BAD_LOGIN_PASSWORD = Invalid user login or password
305 |208|BAD_DIGEST_RESPONSE = Server returned a bad digest MD5 response
306 |209|BAD_SERVER_NAME = Unable to determine server name for digest MD5 response
307 |300|COMMAND_MAIL_FROM = Server returned error after sending MAIL FROM
308 |301|COMMAND_EHLO = Server returned error after sending EHLO
309 |302|COMMAND_AUTH_PLAIN = Server returned error after sending AUTH PLAIN
310 |303|COMMAND_AUTH_LOGIN = Server returned error after sending AUTH LOGIN
311 |304|COMMAND_AUTH_CRAMMD5 = Server returned error after sending AUTH CRAM-MD5
312 |305|COMMAND_AUTH_DIGESTMD5 = Server returned error after sending AUTH DIGEST-MD5
313 |306|COMMAND_DIGESTMD5 = Server returned error after sending MD5 DIGEST
314 |307|COMMAND_DATA = Server returned error after sending DATA
315 |308|COMMAND_QUIT = Server returned error after sending QUIT
316 |309|COMMAND_RCPT_TO = Server returned error after sending RCPT TO
317 |310|MSG_BODY_ERROR = Error in message body
318 |400|CONNECTION_CLOSED = Server has closed the connection
319 |401|SERVER_NOT_READY = Server is not ready
320 |402|SERVER_NOT_RESPONDING = Server not responding
321 |403|SELECT_TIMEOUT
322 |404|FILE_NOT_EXIST = File not exist
323 |405|MSG_TOO_BIG = Message is too big
324 |406|BAD_LOGIN_PASS = Bad login or password
325 |407|UNDEF_XYZ_RESPONSE = Undefined xyz SMTP response
326 |408|LACK_OF_MEMORY = Lack of memory
327 |409|TIME_ERROR = time() error
328 |410|RECVBUF_IS_EMPTY = RecvBuf is empty
329 |411|SENDBUF_IS_EMPTY = SendBuf is empty
330 |412|OUT_OF_MSG_RANGE = Specified line number is out of message size
331 |413|COMMAND_EHLO_STARTTLS = Server returned error after sending STARTTLS
332 |414|SSL_PROBLEM = SSL problem
333 |415|SSL_PROBLEM = SSL problem
334 |416|STARTTLS_NOT_SUPPORTED = The STARTTLS command is not supported by the server
335 |417|LOGIN_NOT_SUPPORTED = AUTH LOGIN is not supported by the server
336
337 == Email status ==
338
339 **Network disconnection error**
340
341 If the fault is determined as a network disconnection error, the system does not delete the sent information and does not record the number of errors, and it would make an infinite send attempt.
342
343 **Custom rule error**
344
345 If the fault is determined as a custom rule error, delete the information.
346
347 **Server return error**
348
349 If the fault is determined as a server return error, then the error time add 1. It would try to send the email for 3 times. Regardless of whether the transmission is successful or not, it would delete the email to be sent. The test results are as follows.
350
351 (% class="table-bordered" %)
352 |=**Server name**|=**The number of sent**|=**Consequences of exceeding the limit**
353 |126|160|No more delivery on that day
354 |163|160|No more delivery on that day
355 |we-con|800|No more delivery on that day
356 |qq|50|It can be sent again after a few minutes or a few hours
357 |sohu|160|No more delivery on that day
358 |sina|50|It can be sent again after a few minutes or a few hours, but cannont be received normally
359 |gmail|500|No more delivery on that day
360
361 **Message Prompt**
362
363 1. If the email to be sent is deleted, a message will pop up.
364 1. If the email is sent successfully, a messge will pop up: "The email is sent successfully."
365 1. If the five symbols ',' , ' | ', '<', '>' and '&' appear in the fields set by the message prompt, the message prompt will display an abnormal message.
366
367 **Mail attachment**
368
369 Currently, the email attachment function only supports sending the specified alarm record (AlarmDataFile.db file), and does not support selecting content to send.
370
371 = Address =
372
373 Address library contains commonly used addresses. It not only avoids setting the addresses repeatedly but also expresses the function of an address more clearly.
374
375 Click "Project"→"Address" to open the setting window.
376
377 (% style="text-align:center" %)
378 [[image:地址库 1.png||data-xwiki-image-style-alignment="center" class="img-thumbnail"]]
379
380 (% style="text-align:center" %)
381 [[image:地址库 2.png||data-xwiki-image-style-alignment="center" height="429" width="659" class="img-thumbnail"]]
382
383 (% class="table-bordered" %)
384 |=(% style="width: 155px;" %)**Item**|=(% style="width: 689px;" %)**Description**
385 |(% style="width:155px" %)Word Address|(% style="width:689px" %)Select [Word Address] to display word addresses in list
386 |(% style="width:155px" %)Bit Address|(% style="width:689px" %)Select [Bit Address] to display bit addresses in list
387 |(% style="width:155px" %)Add|(% style="width:689px" %)Add a set of address to display in the address library to associate addresses with identifiers
388 |(% style="width:155px" %)Insert|(% style="width:689px" %)Insert (add) an new address before selected item in list
389 |(% style="width:155px" %)Edit|(% style="width:689px" %)Edit selected item
390 |(% style="width:155px" %)Delete|(% style="width:689px" %)Delete selected item in list
391 |(% style="width:155px" %)Up|(% style="width:689px" %)Move the selected item up one line
392 |(% style="width:155px" %)Close|(% style="width:689px" %)Close current setting window
393 |(% style="width:155px" %)Export EXCEL|(% style="width:689px" %)Export address library to PC as excel file
394 |(% style="width:155px" %)Import EXCEL|(% style="width:689px" %)Import address library from excel file
395 |(% style="width:155px" %)Clear|(% style="width:689px" %)Delete all items in list
396 |(% style="width:155px" %)Down|(% style="width:689px" %)Move the selected item down one line;
397 |(% style="width:155px" %)Help|(% style="width:689px" %)Click it to open help document;
398
399 **Operating procedures of creating new address**
400
401 (% style="text-align:center" %)
402 [[image:7.Library_html_7780dffdef1ce220.png||data-xwiki-image-style-alignment="center" height="420" width="553" class="img-thumbnail"]]
403
404 1. Click "Add" to open address edit window.
405 1. Set "Address name".
406 1. Set address.
407 1. Set PLC station number (It is not necessary setting, the user sets according to the actual situation).
408
409 (% class="box infomessage" %)
410 (((
411 **✎Note:**
412
413 1. Address Library: it supports importing addresses information from Excel files. However, the following two points need to be noted:
414 1. When importing an Excel file, if the contents of a certain Name, Type, and Address are all empty, the information of the subsequent ID will not be imported.
415 1. When importing Excel files, if there is pure digital content in the imported information, you need to set the format of the table box to "text" mode. Otherwise, the text import fails or an error occurs due to incorrect information format.
416 )))
417
418 = **Mapping** =
419
420 Address mapping is to build the relationship between two different addresses. Forwarding address from source address to target address, so the value in both addresses would be same according to the predefined mapping mode. Both addresses could be from different, in this way, to make HMI processing faster.
421
422 For example: Forward "D0" to "HDW100" (length: 10), so the address D0, D1,..., D9 would be related to HDW100, HDW101, .., HDW109.
423
424 **Description**
425
426 (% style="text-align:center" %)
427 [[image:8-1AddressMapping.png||data-xwiki-image-style-alignment="center" height="673" width="659"]]
428
429 **Address type**
430
431 It is used for selecting address type in address mapping.
432
433 **Source address**
434
435 The origin address that need to be mapped to other addresses. If there is calculation, 2 source addresses are required, and the result would be saved in "target address".
436
437 **Data type: **Only word address need to set data type. If it is the address of 32-bit register, check "32-bit register".
438
439 **Calculation**
440
441 Designated mathematical relationship between two source addresses, the result will be saved in target address.
442
443 **Length**
444
445 It is used to set the length of the operation address.
446
447 **For example**
448
449 Source address is D0, target address is 40, and length is 10.
450
451 **Result**
452
453 * 40=D0
454 * 41=D1
455 * ...
456 * 48=D8
457 * 49=D8
458
459 **Mode**
460
461 It provides two modes, Read-write and read only. The value of source address would not change if target value changed after read only selected.
462
463 **Update frequency**
464
465 It provides two modes, general and read-through.
466
467 * **General: **Read data from HMI cache (Recommended)
468 * **Read-Through: **Read data directly from the device without going through the HMI cache
469
470 **Mapping**
471
472 This is control bit for mapping one item, the default mode is mapping when OFF; If user want to change control condition, please check [Mapping when ON];
473
474 **Target address:**
475
476 It is address used to store source address data;
477
478 **Cont. Write:**
479
480 Write address length for single time, used for some special device addresses that need to be written continuously;
481
482 **Global mapping control**
483
484 The function and mode are similar to [Mapping], but it is used to control all mapping items. The setting screen as below show;
485
486 (% style="text-align:center" %)
487 [[image:7.Library_html_a04eddcc1d2f2f14.png||data-xwiki-image-style-alignment="center" height="199" width="419" class="img-thumbnail"]]
488
489 **Buttons**
490
491 * **Clear:** Delete all settings in settings, such as [Source address], [Length] and so on.
492 * **Add:** Create a new mapping item.
493 * **Edit:** Change selected item.
494 * **Delete:** Delete selected item.
495 * **Clear list: **Delete all mapping items in list.
496 * **Close: **Close address mapping window.
497 * **Help:** Click it to open help document.
498
499 **Item List**
500
501 It lists all address mapping items.
502
503 (% class="box infomessage" %)
504 (((
505 **✎Note:**
506
507 * Too many [Read-Through] items will cause HMI running slow.
508 * If there are multiple consecutive addresses, please increase the length to reduce the mapping items
509 )))
510
511 **Fucntion descrition**
512
513 Address mapping is to map the source address to the destination address or the two source addresses are mapped to the destination address by some operation. The source and destination addresses can be PLC addresses or internal addresses or from different serial ports.
514
515 For example: Map D0 to HDW100, the map length is 10, then the value of D0 to D9 are mapped to HDW100 to HDW109.
516
517 There are two map methods: read and write and read-only.
518
519 1. **Read and write: **If the value of source address is changed, the value of the destination address changes accordingly. After the value of the destination address is changed, the value of the corresponding source address does not change. Four some four operations or logical operations, they can only be selected in this way.
520 1. **Read-only: **If the value of source address is changed, the value of the destination address changes accordingly. After the value of the destination address is changed, the value of the corresponding source address changes too. Four some four operations or logical operations, they can not be selected in this way.
521
522 There can be two sets of source addresses, and mapping the results to the destination address through operations (four operations or logical operations). For example: source address 1 is HDW100, source address 2 is HDW200, Map to destination address HDW300 by addition and the map length is 10.
523
524 * HDW300=HDW100+HDW200
525 * HDW301=HDW101+HDW201
526 * HDW309=HDW109+HDW209
527
528 Yon could use the bit address to control whether to enable the mapping function. There is one bit address for bits and one for words. Each mapping block also has a bit address. For bit address mapping and word address mapping, there are controlled by their own global bit addresses. Each mapping block relationship can also have its own control address, but the global control bit address has a high priority.
529
530 (% class="box infomessage" %)
531 (((
532 **✎Note:**
533
534 * Some of four operations do not have inverse operation such as trigonometric function, shift, remainder and so on. They can only be read-only.
535 ** For example: If HDW100 is devided by HDW200, and the value is mapping to HDW300. When the value of HDW300 changes, the vaue of HDW100 will not change. Because you can't calculate what the HDW100 value should be.
536 * The maximum length of each mapping block is 2048.
537 * If there is no bit address to control the mapping, the mapping is enabled by default. If you set the bit address, the mapping is disabled when the value of the bit address is 1 and it is enabled when the value of the bit address is 0. If you select "control on closed state", the result is opposite.
538 * Update frequency refers to the update frequency of reading device data. The default is 0.
539 ** Normal read speed is 0, read through value is 1, fast read value is 2. There is no need to fill in the data type in address mapping. The selection of "32-bit register" is special for some PLC whose address interval is 1 in 32 bits. You don't have to choose it.
540 )))