Wiki source code of 10 Advanced Function

Version 19.1 by Mora Zhou on 2023/11/21 16:31

Show last authors
1 (% class="wikigeneratedid" %)
2 This chapter provides information about advanced functions in PIStudio. **These advanced functions work only on special HMI models.**
3
4 = **Audio** =
5
6 1. Audio playing could play audio on HMI. You need to configure the relevant information, triggered by the condition, broadcast the set the mp3 audio file. The audio file can only be stored in the flash mp3 file.
7 1. Only the 9000 Series HMIs with audio modules can use this feature, and an external 3.5mm headphone head is required.
8
9 == Configuration ==
10
11 In PIStudio software, the setting procedue is as follow.
12
13 (% style="text-align:center" %)
14 [[image:音频 1.png||height="655" width="528" class="img-thumbnail"]]
15
16 **Click "Set" to open "Audio settings" window.**
17
18 (% style="text-align:center" %)
19 [[image:11.Advanced Function_html_949272a66c003cd.png||height="402" width="588" class="img-thumbnail"]]
20
21 * Audio list: Display the audio files you added. Double click the audio to configure it.
22 * Add: Add a new audio file.
23 * Delete: Delete selected audio file.
24 * Audio set: Set the configurations of the audio, contolled by address.
25
26 **Trigger configuration for audio files**
27
28 (% style="text-align:center" %)
29 [[image:音频 2.png||class="img-thumbnail"]]
30
31 * **Audio files**
32 ** MP3 file supported only.
33 ** The audio filesize should be less than 30MB.
34 ** The suffix .mp3 is necessary. The length of name should be less than 20 (including .mp3).
35 ** Audio file needs to be saved into the folder named mp3 in HMI flash, if not, it would not play. User could use the ~[[[CopyFile>>path:#_CopyFile]]] script function to import audio files into the HMI flash.
36 * **Trigger mode settings: **There are 3 kinds trigger mode to choose. They coulf be valid at the same time.
37 ** **Play according to time interval: **Set the interval time. For example ,set 3 minutes, then it will play for each 3 minutes' interval.
38 ** **Trigger to play: **There are three bit trigger conditions: Rising edge, Falling edge and Bit change. You could trigger one condition to play the audio file.
39 ** **Play according to time: **Play the audio when the time is up.
40 * **Play settings.** Set the play times and the cycle interval when it is triggered.
41
42 **Audio file playback setting**
43
44 This function is to control the playback of audio file in the list by address. (It should be used with file list.)
45
46 (% style="text-align:center" %)
47 [[image:音频 3.png||height="429" width="620" class="img-thumbnail"]]
48
49 == Control address ==
50
51 The table below describes each bit address function (including play, pause, etc). If the audio control address is HDW120, then specific function details are as shown in the table below.
52
53 (% class="table-bordered" %)
54 |=(% scope="row" %)**Function**|=(% style="width: 177px;" %)**Address**|=(% style="width: 647px;" %)**Description**
55 |(% rowspan="7" %)Play Control|(% style="width:177px" %)HDX120.0 (0(% style="font-size:10.5px" %)th(%%) bit)|(% style="width:647px" %)Play control bit: Play the audio file when this bit address is triggered
56 |(% style="width:177px" %)HDX120.1 (1(% style="font-size:10.5px" %)st(%%) bit)|(% style="width:647px" %)Pause control bit: Pause playback when this bit address is triggered, or resume playback after pause
57 |(% style="width:177px" %)HDX120.2 (2(% style="font-size:10.5px" %)nd(%%) bit)|(% style="width:647px" %)Stop control bit: Stop the play when this bit address is triggered
58 |(% style="width:177px" %)HDX120.3 (3(% style="font-size:10.5px" %)rd(%%) bit)|(% style="width:647px" %)Last audio: Play last audio when this bit address is triggered.
59 |(% style="width:177px" %)HDX120.4 (4(% style="font-size:10.5px" %)th(%%) bit)|(% style="width:647px" %)Next audio: Play next audio when this bit address is triggered.
60 |(% style="width:177px" %)HDX120.5 (5(% style="font-size:10.5px" %)th(%%) bit)|(% style="width:647px" %)Volume increase(not supported yet), increase by 10
61 |(% style="width:177px" %)HDX120.6 (6(% style="font-size:10.5px" %)th(%%) bit)|(% style="width:647px" %)Volume decrease(not supported yet), decrease by 10
62 |(% rowspan="4" %)Mode Selection|(% style="width:177px" %)HDX120.7 (7(% style="font-size:10.5px" %)th(%%) bit)|(% style="width:647px" %)once: Only play current audio file only one time
63 |(% style="width:177px" %)HDX120.8 (8(% style="font-size:10.5px" %)th(%%) bit)|(% style="width:647px" %)Single cycle: Repeat playing current audio file
64 |(% style="width:177px" %)HDX120.9 (9(% style="font-size:10.5px" %)th(%%) bit)|(% style="width:647px" %)Order: Play audio file orderly and stop as soon as the tas finished
65 |(% style="width:177px" %)HDX120.10 (10(% style="font-size:10.5px" %)th(%%) bit)|(% style="width:647px" %)Repeat in order: Repeat to play the audio file of the list
66
67 == State address ==
68
69 The audio play status address occupies a continuous 35 word addresses. If audio play status address is set as HDW200, the specific function allocation details are shown as below table
70
71 (% class="table-bordered" %)
72 |=(% scope="row" style="width: 183px;" %)**Address**|=(% style="width: 314px;" %)**Function**|=(% style="width: 592px;" %)**Description**
73 |=(% style="width: 183px;" %)HDW200|(% style="width:314px" %)Playback status storage address|(% style="width:592px" %)(((
74 ~=0 : stop play
75
76 ~=1 : playing
77
78 ~=2 : pause play
79 )))
80 |=(% style="width: 183px;" %)HDW201|(% style="width:314px" %)Volume value storage address|(% style="width:592px" %)Range from 0 to 100(default value is 100, and it is not adjustable so fars
81 |=(% style="width: 183px;" %)HDW202~~HDW234|(% style="width:314px" %)Audio file name|(% style="width:592px" %)Displays the file name of the audio currently playing
82
83 (% class="box infomessage" %)
84 (((
85 ✎**Note:**
86
87 * The audio file needs to be stored in the flash of PI9000 series HMI.
88 * Only PI9000 series HMI with audio module could support this function, and an external 3.5mm headphone is required.
89 )))
90
91 = **Video** =
92
93 **Introduction**
94
95 1. Configure related information and play video files through conditional trigger.
96 1. Only HMI 9000 and 8150ig series support this function.
97 1. Video playing could play video on HMI project screen.
98 1. It requires "Customized Object" and "File List" objects.
99 1. Currently, the video format support by Wecon HMI are including ASF, AVI, MKV, MP4, RM, and FLV.
100 1. Olny supports playback of 360P and 480P resolution video.
101
102 == Configuration ==
103
104 **Custom object configuration**
105
106 (% style="text-align:center" %)
107 [[image:视频功能部件配置.png]]
108
109 **Basic**
110
111 The function address doesn't have to be configured. DLL file name needs to be "Custom_MoviePlayer".
112
113 **Custom Address**
114
115 * ID1 is the address for storing the video file name (including the suffix). It could not be empty and the length is 32 words.
116 * ID2 is the address for video control, and occupies 1 word. It could not be empty. Please refer to[[ "Video control address">>https://docs.we-con.com.cn/bin/view/PIStudio/11.Advanced%20Function/#HControladdress-1]].
117 * ID3 is the address of video status, and occupies 1 word. It could not be empty. 0 indicate stop, and 1 indicates play.
118 * ID4 is the address for stroring the volume of video file, and occupies 1 word. 8150ig can not adjust the volume, only 9000 series can be set.
119 * ID5 is the address for the video file path, and occupies 1 word. It could not be empty. Please refer to [["Video file path">>https://docs.we-con.com.cn/bin/view/PIStudio/11.Advanced%20Function/#HFilepath]].
120
121 == Control address ==
122
123 (% class="table-bordered" %)
124 |=(% style="width: 151px;" %)**Function**|=(% colspan="2" style="width: 200px;" %)**Address**|=(% style="width: 599px;" %)**Description**
125 |(% rowspan="7" style="width:151px" %)Play Control|(% style="width:92px" %)0(% style="font-size:10.5px" %)th(%%) bit|(% style="width:107px" %)HDX100.0|(% style="width:599px" %)(((
126 Bit for playing control:This address save the name of the video file to be played.
127 )))
128 |(% style="width:92px" %)1(% style="font-size:10.5px" %)st(%%) bit|(% style="width:107px" %)HDX100.1|(% style="width:599px" %)Bit for pause control:Pause playing when this bit address is triggered, or resume playing after pause
129 |(% style="width:92px" %)2(% style="font-size:10.5px" %)nd(%%) bit|(% style="width:107px" %)HDX100.2|(% style="width:599px" %)Bit for full screen control: Maximize the video when this bit address is triggered
130 |(% style="width:92px" %)3(% style="font-size:10.5px" %)rd(%%) bit|(% style="width:107px" %)HDX100.3|(% style="width:599px" %)Last video: Play the last video when this bit address is triggered.
131 |(% style="width:92px" %)4(% style="font-size:10.5px" %)th(%%) bit|(% style="width:107px" %)HDX100.4|(% style="width:599px" %)Next video: Play the next video when this bit address is triggered.
132 |(% style="width:92px" %)5(% style="font-size:10.5px" %)th(%%) bit|(% style="width:107px" %)HDX100.5|(% style="width:599px" %)Volume increase: Increased by 10 (only be supported 9000 series)
133 |(% style="width:92px" %)6(% style="font-size:10.5px" %)th(%%) bit|(% style="width:107px" %)HDX100.6|(% style="width:599px" %)Volume decrease: Decreased by 10 (only be supported 9000 series)
134 |(% rowspan="4" style="width:151px" %)Mode Selection|(% style="width:92px" %)7(% style="font-size:10.5px" %)th(%%) bit|(% style="width:107px" %)HDX100.7|(% style="width:599px" %)Once: Only play current video file once
135 |(% style="width:92px" %)8(% style="font-size:10.5px" %)th(%%) bit|(% style="width:107px" %)HDX100.8|(% style="width:599px" %)Single cycle: Repeat to play current video file
136 |(% style="width:92px" %)9(% style="font-size:10.5px" %)th(%%) bit|(% style="width:107px" %)HDX100.9|(% style="width:599px" %)Order: Play video file of the list and stop after done
137 |(% style="width:92px" %)10(% style="font-size:10.5px" %)th(%%) bit|(% style="width:107px" %)HDX100.10|(% style="width:599px" %)Repeat in order: Repeat to play the video file of the list
138
139 == (% style="color:inherit; font-family:inherit; font-size:23px" %)File path(%%) ==
140
141 (% class="table-bordered" %)
142 |=**Value**|=**Video File Path**|=**Description**
143 |0|USB flash disk|Please create a folder named mp4 in the U disk directory to store the video files to be played
144 |1|SD card|Please create a folder named mp4 in the SD card directory to store the video files to be played
145 |2|HMI flash|Copy the video files to the mp4 folder in the directory of flash
146
147 == Case ==
148
149 Operating Procedures of File List Object Settings
150
151 (% style="text-align:center" %)
152 [[image:file setting.png]]
153
154 Configure the customized object as the above picture
155
156 Configure the file list object as below:
157
158 1. Select the directory as the MP4 folder in USB flash disk. Set the file name address as HDW150
159 1. Add the video controlling address, refer to the above video controlling address table.
160 1. Compile the project and download it to HMI, trigger the bit address to play the video from the list.
161
162 == Demo ==
163
164 **PI8150ig Video Display: **[[Download link>>https://docs.we-con.com.cn/bin/view/PIStudio/2%20Demo/Applications/#H7PI8150igVideoDisplay]]
165
166 = **Email** =
167
168 Wecon HMI can send email with information from fields to the specified email address as soon as the conditions is triggered, but email sending is based on the network.
169
170 == Email setting ==
171
172 In "PIStudio" software, click "Project" → "E-mail" to open email function setting screen.
173
174 (% style="text-align:center" %)
175 [[image:邮件 1.png||height="780" width="597" class="img-thumbnail"]]
176
177 **SMTP Settings**
178
179 * **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.
180 * **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.
181 * **Confirm Password: **Confirm the password or authorization code of the mailbox.
182 * **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]].
183 * **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.
184
185 (% class="table-bordered" %)
186 |=Email|=Email server|=Port number
187 |163 email|smtp.163.com|465
188 |126 email|smtp.126.com|465
189 |QQ email|smtp.qq.com|465
190 |Sina email|smtp.sina.com|465
191 |Sohu email|smtp.sohu.com|465
192 |Yahoo email|smtp.mail.yahoo.com.cn|465
193 |Google email|smtp.gmail.com|465
194
195 (% class="box infomessage" %)
196 (((
197 **✎Note:** Gmail also needs to enable the [allow unsafe apps] option in the account, otherwise the mail will not be sent normally.
198 )))
199
200 (% style="list-style-type:disc" %)
201 * **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.
202 * **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.
203 ** 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.
204 ** 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.
205 ** 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.
206
207 (% class="box infomessage" %)
208 (((
209 **✎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.
210 )))
211
212 * **Error Message**
213 ** Set the error message receiving address, you could use the information to get the reasons of errors.
214 ** The error types in the mail function are divided into two types: custom rule error and server's error.
215 ** Custom rule errors are as follows.
216
217 (% class="table-bordered" %)
218 |**Message**
219 |Email settings are incorrect
220 |Email account is incorrect
221 |Email password could not include blank
222 |the settings of SMTP server are incorrect
223 |The range of SMTP server ports number should be integer, which is between 1 and 65535.
224 |The type of encryption for SMTP is incorrect
225 |The name of sender or email address setting is incorrect.
226 |The names of Recipients or email address setting are incorrect.
227 |The names of CC recipients or email address setting are incorrect.
228 |The names of Secret delivery recipients or email address setting are incorrect.
229 |Email topic could not be blank
230 |Email content could not be blank
231 |Total size of attachments should be below 25M
232 |Attachment "xxxx" is nonexistent
233
234 Server's errors are as follows.
235
236 (% class="table-bordered" %)
237 |**Message**
238 |smtp-server: 554 DT: SPM
239 |smtp-server: 550 RP: TRC
240 |smtp-server: 550 Limitation of connecting counts
241 |smtp-server: 535
242 |smtp-server: 550 Error: Content rejected
243 |smtp-server: 451 Internal server error
244 |smtp-server: 535 Invalid login user or password
245 |smtp-server: 550 too many sending requests today
246 |smtp-server: 452 Too many recipients received this hour.
247 |smtp-server: 535 Error: Authentication failed, system busy
248 |could not connect: Connection timed out
249 |Unexpected EOF on SMTP connection
250 |could not initiate SSL/TLS connection
251 |smtp-server: 530 Need to issue a STARTTLS command first.
252 |could not resolve host
253 |could not connect: Connection timed out
254 |could not connect: Connection refused
255 |smtp-server: 550 User not found: aaa.163.com
256
257 * **Manual Trigger**
258
259 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.
260
261 (% class="table-bordered" %)
262 |(% style="width:201px" %)**Address**|(% style="width:586px" %)**Description**
263 |(% style="width:201px" %)HDX100.0|(% style="width:586px" %)Sending trigger
264 |(% style="width:201px" %)HDX101.0~~101.15|(% style="width:586px" %)It is used for triggering recipient groups, for example, HDW101.0 set ON, and the address in group 1 will be in recipient list.
265 |(% style="width:201px" %)HDX103.0~~103.15|(% style="width:586px" %)It is used for triggering recipient groups, for example, HDW103.0 set ON, and the address in group 1 will be in CC list.
266 |(% style="width:201px" %)HDX105.0~~105.15|(% style="width:586px" %)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).
267 |(% style="width:201px" %)HDW107~~171|(% style="width:586px" %)The subject length is limited to 64 words. (If it exceeds, it will intercept 64 words of content); The length of 65 words only use 64 actually, the 65th word address is reserved;
268 |(% style="width:201px" %)HDW172~~300|(% style="width:586px" %)The content length is limited to 128 words. (If it exceeds, it will intercept 128 words of content)
269 |(% style="width:201px" %)HDX301.0|(% style="width:586px" %)Whether to send an alarm record file as attachment
270 (HMI V1.0 filename: AlarmDataFile.db)
271 (HMI V2.0 filename: AlarmDataFile_0.db)
272
273 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.
274 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.
275 1. Emails that sent manually would only be sent once no matter the sending error is custom error, network or other errors.
276
277 == Email sending settings ==
278
279 (% style="text-align:center" %)
280 [[image:邮件 2.png||class="img-thumbnail"]]
281
282 1. **Add. **A maximum of 1024 email can be added.
283 1. **Modify.** Select an email to modify the content and configuration.
284 1. **Delete. **You could select an email to delete or click the "ID" column to delete in batch.
285
286 (% style="text-align:center" %)
287 [[image:邮件 3.png||height="578" width="744" class="img-thumbnail"]]
288
289 **Email sending configuration.**
290
291 * **Theme. **The value cannot be empty and case sensitive. The total length  cannot exceed 256 characters.
292 * **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.
293 ** **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.
294 ** **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.
295 ** **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.
296 * **Preview. **Combine the content of current edited email and diaplay it for you to modify the content conviniently. The preview length cannot exceed 1024.
297 * **Sending method. **It is divided into timed send interval and bit address trigger tranmission. The two methods cannot be used at the same time.
298 ** 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.
299 ** 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.
300 * **Recipient.** It is set in groups. You could send  multiple groups, and each group can have multiple recipients.
301 * **Add CC.** Sends the current email to other recipients.
302 * **Add secret delivery. ** Sends the current email to other recipients, but the recipient and cc recipients do not see the BCC recipient.
303 * 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.
304 * **Recipient priority. **Set the priority order of recipients to recipient, BCC, and CC.
305
306 (% class="box infomessage" %)
307 (((
308 **✎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.
309 )))
310
311 == Recipient group setting ==
312
313 (% style="text-align:center" %)
314 [[image:邮件 4.png||class="img-thumbnail"]]
315
316 1. **All Group.** The groups you added.
317 1. **Group to send. **The groups that you send the emails to.
318 1. **Open recipinet settings.** Set the information of recipients, and add and subtract groups.
319
320 == Recipient setting ==
321
322 (% style="text-align:center" %)
323 [[image:邮件 5.png||class="img-thumbnail"]]
324
325 1. **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.
326
327 (% style="text-align:center" %)
328 [[image:邮件 6.png||class="img-thumbnail"]]
329
330 (% start="2" style="list-style-type:decimal" %)
331 1. **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.
332 1. **Delete.** Select one recipient or multiple recipents to delete, or click the ID column to select all.
333 1. **Nuber of group. **You could click the  up/down arrow to increase or devrease groups. The default number is 1. The maximum number is 16.
334 1. **Description. **To decribe the group information. The total length shall not exceed 32.
335
336 == Test sending settings ==
337
338 (% style="text-align:center" %)
339 [[image:邮件 7.png||class="img-thumbnail"]]
340
341 (% class="box infomessage" %)
342 (((
343 (% class="wikigeneratedid" %)
344 **✎Note: **
345
346 1. You can open this after the SMTP server is set.
347 1. When NetEase mail (126, 163 and yeah) occurs erros 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.
348 1. When TOM mail is sender's mail, the name of it and the recipient tested must be English, otherwise the email would be returned.
349 1. When testing with Zoho mailbox, there was a delay of less than 3 minutes.
350 1. The custom errors for the test error is as follows.
351 )))
352
353 (% class="table-bordered" %)
354 |=(% style="width: 129px;" %)Error code|=(% style="width: 946px;" %)Cause of reason
355 |(% style="width:129px" %)0|(% style="width:946px" %)CSMTP_NO_ERROR
356 |(% style="width:129px" %)100|(% style="width:946px" %)WSA_STARTUP = Unable to initialize winsock2
357 |(% style="width:129px" %)101|(% style="width:946px" %)WSA_VER = Wrong version of the winsock2
358 |(% style="width:129px" %)102|(% style="width:946px" %)WSA_SEND = Function send() failed
359 |(% style="width:129px" %)103|(% style="width:946px" %)WSA_RECV = Function recv() failed
360 |(% style="width:129px" %)104|(% style="width:946px" %)WSA_CONNECT = Function connect failed
361 |(% style="width:129px" %)105|(% style="width:946px" %)WSA_GETHOSTBY_NAME_ADDR = Unable to determine remote server
362 |(% style="width:129px" %)106|(% style="width:946px" %)WSA_INVALID_SOCKET = Invalid winsock2 socket
363 |(% style="width:129px" %)107|(% style="width:946px" %)WSA_HOSTNAME = Function hostname() failed
364 |(% style="width:129px" %)108|(% style="width:946px" %)WSA_IOCTLSOCKET = Function ioctlsocket() failed
365 |(% style="width:129px" %)109|(% style="width:946px" %)WSA_SELECT
366 |(% style="width:129px" %)110|(% style="width:946px" %)BAD_IPV4_ADDR = Improper IPv4 address
367 |(% style="width:129px" %)200|(% style="width:946px" %)UNDEF_MSG_HEADER = Undefined message header
368 |(% style="width:129px" %)201|(% style="width:946px" %)UNDEF_MAIL_FROM = Undefined mail sender
369 |(% style="width:129px" %)202|(% style="width:946px" %)UNDEF_SUBJECT = Undefined message subject
370 |(% style="width:129px" %)203|(% style="width:946px" %)UNDEF_RECIPIENTS = Undefined recipient
371 |(% style="width:129px" %)204|(% style="width:946px" %)UNDEF_RECIPIENT_MAIL = Undefined mail recipent
372 |(% style="width:129px" %)205|(% style="width:946px" %)UNDEF_LOGIN = Undefined user login
373 |(% style="width:129px" %)206|(% style="width:946px" %)UNDEF_PASSWORD = Undefined user password
374 |(% style="width:129px" %)207|(% style="width:946px" %)BAD_LOGIN_PASSWORD = Invalid user login or password
375 |(% style="width:129px" %)208|(% style="width:946px" %)BAD_DIGEST_RESPONSE = Server returned a bad digest MD5 response
376 |(% style="width:129px" %)209|(% style="width:946px" %)BAD_SERVER_NAME = Unable to determine server name for digest MD5 response
377 |(% style="width:129px" %)300|(% style="width:946px" %)COMMAND_MAIL_FROM = Server returned error after sending MAIL FROM
378 |(% style="width:129px" %)301|(% style="width:946px" %)COMMAND_EHLO = Server returned error after sending EHLO
379 |(% style="width:129px" %)302|(% style="width:946px" %)COMMAND_AUTH_PLAIN = Server returned error after sending AUTH PLAIN
380 |(% style="width:129px" %)303|(% style="width:946px" %)COMMAND_AUTH_LOGIN = Server returned error after sending AUTH LOGIN
381 |(% style="width:129px" %)304|(% style="width:946px" %)COMMAND_AUTH_CRAMMD5 = Server returned error after sending AUTH CRAM-MD5
382 |(% style="width:129px" %)305|(% style="width:946px" %)COMMAND_AUTH_DIGESTMD5 = Server returned error after sending AUTH DIGEST-MD5
383 |(% style="width:129px" %)306|(% style="width:946px" %)COMMAND_DIGESTMD5 = Server returned error after sending MD5 DIGEST
384 |(% style="width:129px" %)307|(% style="width:946px" %)COMMAND_DATA = Server returned error after sending DATA
385 |(% style="width:129px" %)308|(% style="width:946px" %)COMMAND_QUIT = Server returned error after sending QUIT
386 |(% style="width:129px" %)309|(% style="width:946px" %)COMMAND_RCPT_TO = Server returned error after sending RCPT TO
387 |(% style="width:129px" %)310|(% style="width:946px" %)MSG_BODY_ERROR = Error in message body (邮件正文中出现错误)
388 |(% style="width:129px" %)400|(% style="width:946px" %)CONNECTION_CLOSED = Server has closed the connection
389 |(% style="width:129px" %)401|(% style="width:946px" %)SERVER_NOT_READY = Server is not ready
390 |(% style="width:129px" %)402|(% style="width:946px" %)SERVER_NOT_RESPONDING = Server not responding
391 |(% style="width:129px" %)403|(% style="width:946px" %)SELECT_TIMEOUT
392 |(% style="width:129px" %)404|(% style="width:946px" %)FILE_NOT_EXIST = File not exist
393 |(% style="width:129px" %)405|(% style="width:946px" %)MSG_TOO_BIG = Message is too big
394 |(% style="width:129px" %)406|(% style="width:946px" %)BAD_LOGIN_PASS = Bad login or password
395 |(% style="width:129px" %)407|(% style="width:946px" %)UNDEF_XYZ_RESPONSE = Undefined xyz SMTP response
396 |(% style="width:129px" %)408|(% style="width:946px" %)LACK_OF_MEMORY = Lack of memory
397 |(% style="width:129px" %)409|(% style="width:946px" %)TIME_ERROR = time() error
398 |(% style="width:129px" %)410|(% style="width:946px" %)RECVBUF_IS_EMPTY = RecvBuf is empty
399 |(% style="width:129px" %)411|(% style="width:946px" %)SENDBUF_IS_EMPTY = SendBuf is empty
400 |(% style="width:129px" %)412|(% style="width:946px" %)OUT_OF_MSG_RANGE = Specified line number is out of message size
401 |(% style="width:129px" %)413|(% style="width:946px" %)COMMAND_EHLO_STARTTLS = Server returned error after sending STARTTLS
402 |(% style="width:129px" %)414|(% style="width:946px" %)SSL_PROBLEM = SSL problem
403 |(% style="width:129px" %)415|(% style="width:946px" %)SSL_PROBLEM = SSL problem
404 |(% style="width:129px" %)416|(% style="width:946px" %)STARTTLS_NOT_SUPPORTED = The STARTTLS command is not supported by the server
405 |(% style="width:129px" %)417|(% style="width:946px" %)LOGIN_NOT_SUPPORTED = AUTH LOGIN is not supported by the server
406
407 == Email status ==
408
409 **Network disconnection error**
410
411 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.
412
413 **Custom rule error**
414
415 If the fault is determined as a custom rule error, delete the information.
416
417 **Server return error**
418
419 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.
420
421 (% class="table-bordered" %)
422 |=(% style="width: 125px;" %)**Server name**|=(% style="width: 186px;" %)**The number of sent**|=(% style="width: 765px;" %)**Consequences of exceeding the limit**
423 |(% style="width:125px" %)126|(% style="width:186px" %)160|(% style="width:765px" %)No more delivery on that day
424 |(% style="width:125px" %)163|(% style="width:186px" %)160|(% style="width:765px" %)No more delivery on that day
425 |(% style="width:125px" %)we-con|(% style="width:186px" %)800|(% style="width:765px" %)No more delivery on that day
426 |(% style="width:125px" %)qq|(% style="width:186px" %)50|(% style="width:765px" %)It can be sent again after a few minutes or a few hours
427 |(% style="width:125px" %)sohu|(% style="width:186px" %)160|(% style="width:765px" %)No more delivery on that day
428 |(% style="width:125px" %)sina|(% style="width:186px" %)50|(% style="width:765px" %)It can be sent again after a few minutes or a few hours, but cannont be received normally
429 |(% style="width:125px" %)gmail|(% style="width:186px" %)500|(% style="width:765px" %)No more delivery on that day
430
431 **Message Prompt**
432
433 1. If the email to be sent is deleted, a message will pop up.
434 1. If the email is sent successfully, a messge will pop up: "The email is sent successfully."
435 1. If the five symbols ',' , ' | ', '<', '>' and '&' appear in the fields set by the message prompt, the message prompt will display an abnormal message.
436
437 **Mail attachment**
438
439 Currently, the email attachment function only supports sending the specified alarm record (AlarmDataFile.db file), and does not support selecting content to send.
440
441 = USB keyboard =
442
443 (% class="wikigeneratedid" id="HIntroduction" %)
444 **Introduction**
445
446 1. HMI support keyboard via USB port of HMI.
447 1. When the keyboard function is enabled, the "Cursor Display" function is enabled by default. The user could move the cursor through the "up, down, left and right buttons" of the keyboard, and then press the Enter key to select the object.
448 1. Multiple devices could be connected with HMI via USB HUB (up to 4 external devices), such as: mouse, keyboard, scanner, magnetic stripe reader, etc.
449
450 == Enable function ==
451
452 In the software PIStudio, Click "Project" → "Project settings" → "Extend", and check "Enable keyboard" in "Input device" settings area as below.
453
454 (% style="text-align:center" %)
455 [[image:11.Advanced Function_html_f6cded728eedf4ce.png||height="567" width="501" class="img-thumbnail"]]
456
457 == Configuration decription ==
458
459 1. When the keyboard function is enabled, the "Cursor Display" function is enabled by default. The user could move the cursor through the “up, down, left and right buttons” of the keyboard, and then press the Enter key to select the object;
460 1. NumLock: When NumLock key is not lit, the keypad number is not allowed to be input (offline simulation does not allow all numeric keys to be input, including the numeric keys on the left side of the keyboard);
461 1. Key combination: (1) "Shift" + the left side of the keyboard and the special symbol button, to achieve special character input, such as: ~~ ! @ # $ % ^ & * ( ) _ + { } : "<> ? ;
462 1. Use the system special addresses "HSW1073 and HSW1074" to write custom key combinations in the script (currently only two key combinations are supported);
463 1. Caps Lock: In lowercase mode, shift+ letters, to enter uppercase; in uppercase mode, shift+ letters enter lowercase;
464
465 == **System special address** ==
466
467 In practical application, the [Enable Keyboard] function could be combined with the related "system special address" to achieve multi-key combination operation.
468
469 (% class="table-bordered" %)
470 |=(% style="width: 114px;" %)**Address**|=(% style="width: 229px;" %)**Description**|=(% style="width: 733px;" %)**Function**
471 |(% style="width:114px" %)HSW1073|(% style="width:229px" %)Keyboard key value|(% style="width:733px" %)(((
472 The currently pressed key value is displayed. The key value is shown in Table 1
473
474 (The Numeric/Character display object is not updated when it is being entered)
475 )))
476 |(% style="width:114px" %)HSW1074|(% style="width:229px" %)Keyboard key status|(% style="width:733px" %)(((
477 Display current key states
478
479 ~=0: key release
480
481 ~=1: key press
482
483 ~=2: Press and hold long
484
485 (The Numeric/Character display object is not updated when it is being entered)
486 )))
487 |(% style="width:114px" %)HSW1075|(% style="width:229px" %)Cursor speed|(% style="width:733px" %)Control the movement speed of the cursor, the range is 0~~100, the default is 20
488 |(% style="width:114px" %)HSW1076|(% style="width:229px" %)X coordinate value of cursor|(% style="width:733px" %)The X value of the current position of the cursor, range: 0~~screen width-1
489 |(% style="width:114px" %)HSW1077|(% style="width:229px" %)Y coordinate value of cursor|(% style="width:733px" %)The Y value of the current position of the cursor, range: 0~~screen height-1
490 |(% style="width:114px" %)HSW1078|(% style="width:229px" %)The ASCII code of keyboard key|(% style="width:733px" %)(((
491 Only the ASCII values of letters, numbers, and symbols are displayed. The ASCII value of the function keys is not displayed, as shown in Table 2
492
493 (The Numeric/Character display object is not updated when it is being entered)
494 )))
495 |(% style="width:114px" %)HSW1079|(% style="width:229px" %)Enable cursor position and Enter key mode|(% style="width:733px" %)(((
496 HSX1079.0 = 1: Set the cursor position according to HSW1076 and HSW1077 value;
497
498 HSX1079.1 = 0: When Numeric/Character display object is entered, enter key is for end input instruction. When no Numeric/Character display object is entered, enter key is for normal click;
499
500 HSX1079.1 = 1: Enter key only for normal click, not for keyboard end input instruction;
501 )))
502
503 **Key-Value Appendix Table (Decimal) (104Keys)**
504
505 (% class="table-bordered" %)
506 |=**Key**|=**Value**|=**Key**|=**Value**|=**Key**|=**Value**
507 |ESC|1|i I|23|Alt (Right)|100
508 |F1|59|o O|24|windows(Right)|126
509 |F2|60|p P|25|Menu|127
510 |F3|61|[ {|26|Right_ctrl|97
511 |F4|62|] }|27|Print Screen|99
512 |F5|63|Enter|28|ScrollLock|70
513 |F6|64|CapsLock|58|PauseBreak|119
514 |F7|65|a A|30|Insert|110
515 |F8|66|s S|31|Home|102
516 |F9|67|d D|32|PageUp|104
517 |F10|68|f F|33|Delete|111
518 |F11|87|g G|34|End|107
519 |F12|88|h H|35|PageDown|109
520 |` ~~|41|j J|36|↑|103
521 |1 !|2|k K|37|↓|108
522 |2 @|3|l L|38|←|105
523 |3 #|4|; :|39|→|106
524 |4 $|5|' "|40|NumLock (Keypad)|69
525 |5%|6|\ ~||43|/ (Keypad)|98
526 |6 ^|7|Shift (Left)|42|* (Keypad)|55
527 |7 &|8|z Z|44|- (Keypad)|74
528 |8 *|9|x X|45|+ (Keypad)|78
529 |9 (|10|c C|46|Enter (Keypad)|96
530 |0 )|11|v V|47|. (Keypad)|83
531 |- _|12|b B|48|0 (Keypad)|82
532 |+ =|13|n N|49|1 (Keypad)|79
533 |Backspace|14|m M|50|2 (Keypad)|80
534 |Tab|15|, <|51|3 (Keypad)|81
535 |q Q|16|. >|52|4 (Keypad)|75
536 |w W|17|/ ?|53|5 (Keypad)|76
537 |e E|18|Shift (Right)|54 |6 (Keypad)|77
538 |r R|19|Ctrl (Left)|29|7 (Keypad)|71
539 |t T|20|Windows(Left)|125|8 (Keypad)|72
540 |Y y|21|Alt (Left)|56|9 (Keypad)|73
541 |u U|22|space|57| |
542
543 **ASCII Code**
544
545 (% class="table-bordered" %)
546 |**Code**|**Value**|**Code**|**Value**|**Code**|**Value**|**Code**|**Value**
547 |32|space|56|8|80|P|104|h
548 |33|!|57|9|81|Q|105|i
549 |34|"|58|:|82|R|106|j
550 |35|#|59|;|83|S|107|k
551 |36|$|60|<|84|T|108|l
552 |37| %|61|= |85|U|109|m
553 |38|&|62|>|86|V|110|n
554 |39|'|63|?|87|W|111|o
555 |40|(|64|@|88|X|112|p
556 |41|)|65|A|89|Y|113|q
557 |42|*|66|B|90|Z|114|r
558 |43|+|67|C|91|[|115|s
559 |44|,|68|D|92|\|116|t
560 |45|-|69|E|93|]|117|u
561 |46|.|70|F|94|^|118|v
562 |47|/|71|G|95|_|119|w
563 |48|0|72|H|96|`|120|x
564 |49|1|73|I|97|a|121|y
565 |50|2|74|J|98|b|122|z
566 |51|3|75|K|99|c|123|{
567 |52|4|76|L|100|d|124|~|
568 |53|5|77|M|101|e|125|}
569 |54|6|78|N|102|f|126|~~
570 |55|7|79|O|103|g| |
571
572 == **Scripts example** ==
573
574 'HSW1073 key value
575
576 'HSW1074 key states
577
578 * 0: released;
579 * 1: pressed;
580 * 2: Holding pressed
581
582 'HSW1078 ASCII value of key
583
584 **Example 1**
585
586 {{code language="lua"}}
587 if @W_HSW1073 = 29 then                                            'Ctrl key value is 29
588
589     if @W_HSW1074 = 1 or @W_HSW1074 = 2               'Press Ctrl key
590
591               @W_HDW1000 = 1
592
593     else                                                                               'Release Ctrl key
594
595               @W_HDW1000 = 0
596
597     endif
598
599 endif
600 {{/code}}
601
602 **Example 2**
603
604 {{code language="lua"}}
605 if @W_HSW1073 = 59 and (@W_HSW1074 = 1 or @W_HSW1074 = 2) then              'F1 key value is 59
606
607    if @W_HDW1000 = 1 then                                                                                          'Combination Ctrl + F1
608
609          @W_HDW2000 = @W_HDW2000 + 1                                                                  'Function of combination key is HDW2000 + 1
610
611     endif
612
613 endif
614 {{/code}}
615
616 **Example 3**
617
618 {{code language="lua"}}
619 if @W_HSW1073 = 60 and (@W_HSW1074 = 1 or @W_HSW1074 = 2) then              'the value of F2 is 60
620
621    if @W_HDW1000 = 1 then                                                                                          'Combination Ctrl + F2
622
623             @W_HDW2000 = @W_HDW2000 - 1                                                                'Function of combination key is HDW2000 - 1
624
625   endif
626
627 endif
628 {{/code}}
629
630 **Example 4**
631
632 {{code language="lua"}}
633 if AsString(@W_HSW1078) = "a" and (@W_HSW1074 = 1 or @W_HSW1074 = 2) then          'Page up
634
635     if @W_HSW13 > 0 then
636
637            @W_HSW13 = @W_HSW13 - 1
638
639     endif
640
641 endif
642 {{/code}}
643
644 **Example 5**
645
646 {{code language="lua"}}
647 if AsString(@W_HSW1078) = "b" and (@W_HSW1074 = 1 or @W_HSW1074 = 2) then          'Page down
648
649     @W_HSW13 = @W_HSW13 + 1
650
651      if @W_HSW13 > 3 then
652
653               @W_HSW13 = 3
654
655      endif
656
657 endif
658 {{/code}}
659
660 = **rtsp web camera** =
661
662 **Introduction**
663
664 1. An external IP Camera (web camera) can be used to display the screen captured by the it to achieve real-time monitoring of the scene of the equipment.
665 1. ONVIF protocol and H.264 coding camera (RTSP web camera) are supported.
666
667 **Supported Model:**
668
669 * Hikvision
670 ** DS-2CD1321D-I
671 ** DS-2CD3T20FD-I3W
672 ** DS-2CD1221D-I3
673 ** DS-2CV3Q21FD-IW
674 * Dahua
675 ** DH-IPC-HFW1025D
676 ** DH-IPC-HFW1235M-I1
677
678 1. 8000 series HMI can view only **one **IP Camera monitoring screen at a time (only **one **camera object can be placed in a project).
679 1. 8000 series HMI can view only **four** IP Camera monitoring screen at a time (only **four **camera object can be placed in a project).
680
681 == **Camera search** ==
682
683 In the software PIStudio, Click "Project" -> "Project settings"-> "Extend", and check "Enable camera search module", shown as below.
684
685 (% style="text-align:center" %)
686 [[image:rtsp摄像头 1.png||class="img-thumbnail"]]
687
688 The maximum number of searches: Configure the number of online camera.  The maximum number of searches does not exceed 20, and should be greater than that of online camera.
689
690 === **Function address** ===
691
692 To configure the information of searches anf the records of search results. There are as follows.
693
694 (% class="table-bordered" %)
695 |(% style="width:226px" %)**Address**|(% style="width:533px" %)**Description**|(% style="width:240px" %)**Length**
696 |(% style="width:226px" %)HDW200|(% style="width:533px" %)Username|(% style="width:240px" %)20 words
697 |(% style="width:226px" %)HDW220|(% style="width:533px" %)Password|(% style="width:240px" %)20 words
698 |(% style="width:226px" %)HDX240.0|(% style="width:533px" %)Falling edge trigger search|(% style="width:240px" %)1 bit
699 |(% style="width:226px" %)HDX240.1|(% style="width:533px" %)(((
700 Search status
701
702 0: The search is complete.
703
704 1: It is searching.
705 )))|(% style="width:240px" %)1 bit
706 |(% colspan="2" rowspan="1" style="width:109px" %)The first search result|(% style="width:240px" %)80 words
707 |(% style="width:226px" %)HDW241|(% style="width:533px" %)IP address|(% style="width:240px" %)16 words
708 |(% style="width:226px" %)HDW257|(% style="width:533px" %)(((
709 ~=1: correct password
710
711 ~=0: wrong password
712 )))|(% style="width:240px" %)1 word
713 |(% style="width:226px" %)HDW258|(% style="width:533px" %)Device serial number|(% style="width:240px" %)43 words
714 |(% style="width:226px" %)HDW301|(% style="width:533px" %)Camera alias|(% style="width:240px" %)20 words
715 |(% colspan="2" rowspan="1" style="width:109px" %)The second search result|(% style="width:240px" %)80 words
716 |(% style="width:226px" %)HDW321|(% style="width:533px" %)IP address|(% style="width:240px" %)16 words
717 |(% style="width:226px" %)...|(% style="width:533px" %)...|(% style="width:240px" %)...
718
719 The username and password of function address need to entered manually. When searching for cameras, the username and password will be matched first, then each camera under the account will be retrieved, and the retrieved results will be stored in the response address. If the password is correct, the corresponding serial number would be displayed.
720
721 == **Camera display** ==
722
723 Add the object "camera display" to the project, click "Enable rtsp camera", as below.
724
725 (% style="text-align:center" %)
726 [[image:rtsp摄像头 2.png]]
727
728
729 Compile and download project, please click [Search Camera] button to get camera information in LAN The username and password here need to be entered manually. During searching camera, it will try to use this username and password to log in IP camera and store the result of login. If the password is correct, the “password correct” address will be displayed as 1 and the device serial number will be displayed. If the “password correct” address is 0, the device serial number would not be displayed.
730
731 === **Function address** ===
732
733 (% class="table-bordered" %)
734 |=(% style="width: 204px;" %)**Address**|=(% colspan="2" style="width: 702px;" %)**Description**|=(% style="width: 245px;" %)**Length**
735 |(% style="width:204px" %)HAW100|(% colspan="2" style="width:702px" %)Username|(% style="width:245px" %)20 words
736 |(% style="width:204px" %)HAW120|(% colspan="2" style="width:702px" %)password|(% style="width:245px" %)20 words
737 |(% style="width:204px" %)HAW140|(% colspan="2" style="width:702px" %)Alias|(% style="width:245px" %)20 words
738 |(% style="width:204px" %)HAW160|(% colspan="2" style="width:702px" %)Device serial number|(% style="width:245px" %)43 words
739 |(% style="width:204px" %)HAW203|(% colspan="2" style="width:702px" %)Camera ID|(% style="width:245px" %)1 word
740 |(% colspan="1" rowspan="11" style="width:204px" %)HAW204|(% colspan="2" rowspan="1" style="width:702px" %)Camera Control|(% colspan="1" style="width:245px" %)1 word
741 |(% style="width:211px" %)HAX204.0|(% style="width:787px" %)Open camera|(% colspan="1" style="width:245px" %)1 word
742 |(% style="width:211px" %)HAX204.1|(% style="width:787px" %)Close camera|(% colspan="1" style="width:245px" %)1 word
743 |(% style="width:211px" %)HAX204.2|(% style="width:787px" %)Camera up|(% colspan="1" style="width:245px" %)1 word
744 |(% style="width:211px" %)HAX204.3|(% style="width:787px" %)Camera down|(% colspan="1" style="width:245px" %)1 word
745 |(% style="width:211px" %)HAX204.4|(% style="width:787px" %)Camera left|(% colspan="1" style="width:245px" %)1 word
746 |(% style="width:211px" %)HAX204.5|(% style="width:787px" %)Camera right|(% colspan="1" style="width:245px" %)1 word
747 |(% style="width:211px" %)HAX204.6|(% style="width:787px" %)screenshot|(% colspan="1" style="width:245px" %)1 word
748 |(% style="width:211px" %)HAX204.7|(% style="width:787px" %)Binding camera|(% colspan="1" style="width:245px" %)1 word
749 |(% style="width:211px" %)HAX204.8|(% style="width:787px" %)Set Alias|(% colspan="1" style="width:245px" %)1 word
750 |(% style="width:211px" %)HAX204.9|(% style="width:787px" %)Camera stop moving|(% colspan="1" style="width:245px" %)1 word
751 |(% style="width:204px" %)HAW205|(% colspan="2" style="width:702px" %)(((
752 Camera status
753
754 ~=0: camera disconnected
755
756 ~=1: camera connected
757
758 ~=2: Camera is connecting
759 )))|(% style="width:245px" %)1 word
760 |(% style="width:204px" %)HAW206|(% colspan="2" style="width:702px" %)(((
761 Screenshot save location
762
763 ~=0: Screenshot is saved into flash
764
765 ~=1: Screenshot is saved into USB disk
766
767 ~=2: Screenshot is saved into SD card
768 )))|(% style="width:245px" %)1 word
769
770 **Operating Procedures**
771
772 Fill the camera ID address with the camera serial number searched by the camera search module, and trigger the binding address to fill username and password.
773
774 * If the camera searching is disabled, then users need to manually enter the information of this camera, including username, password, and device serial number. Device serial number could be obtained by checking the label of camera.
775
776 (% style="text-align:center" %)
777 [[image:11.Advanced Function_html_9ba06415a43f4264.png||height="232" width="412" class="img-thumbnail"]]
778
779 * If the IP CAMERA was triggered successfully, we could see the monitor screen and we could also set a alias for the camera and control the movement of the camera(up, down, left and right, some IP camera could not support the movement) or the screenshot. These operations could not be performed if camera off.
780
781 (% style="text-align:center" %)
782 [[image:11.Advanced Function_html_5e0967606b906db1.jpg||height="250" width="333" class="img-thumbnail"]]
783
784
785 **✎Note:**
786
787 * Camera configuration. When you get the camera, you need to activate the camera and enable the onvif protocol for the camera according to the user manual and tools provided by the camera manufacturer. If the configuration is not correct, the camera cannot be used on the HMI.
788 * When reading camera information, you need to configure the user name and password for the camera. When multiple cameras are enabled, you are advised to set the user names and passwords of all cameras to be the same.
789 * When using the camera function, ensure that the camera and HMI are on the same LAN. When the HMI is directly connected to the camera through a network cable, set both HMI and camera to static IP addresses as follows.
790
791 (% class="table-bordered" %)
792 |=(% style="width: 166px;" %) |=(% style="width: 256px;" %)HMI|=(% style="width: 332px;" %)Camera
793 |(% style="width:166px" %)IP address|(% style="width:256px" %)192.168.1.1|(% style="width:332px" %)192.168.1.2
794 |(% style="width:166px" %)Gateway|(% style="width:256px" %)192.168.1.1|(% style="width:332px" %)192.168.1.1
795
796 * You could obtain the camera from the "Camera Search module" in "Project parameters" or manually fill in the address. You can obtain resources for the camera display object in the Camera Search module or manually enter the parameters.
797 * You are advised to configure and confirm the user name and password of the camera before using it. Do not use the wrong user name (password) to search for or link to the camera. Once the wrong user name (password) is exceeded for a certain number of times, the camera will be locked. During the lock period, the camera will reject any connection for at least half an hour generally.
798 * When monitoring HMI cameras, do not monitor the same camera at the same time. Otherwise, the monitoring screen may be lost.
799 * When the camera is disconnected due to network reasons, the system wouyld try to reconnect the camera every 20 seconds.
800 * The alias of the camera is saved in the user database. The alias in old project is retained when downloading new project, if [user database] is selected. Otherwise the it will be deleted.
801
802 (% style="text-align:center" %)
803 [[image:11.Advanced Function_html_804b6a35561fc436.png||height="367" width="600" class="img-thumbnail"]]
804
805 **Demo download link**
806
807 [[https:~~/~~/drive.google.com/open?id=10UR1cg8KDjcTvKJYgk1KR8z4YIApIsD8>>url:https://drive.google.com/open?id=10UR1cg8KDjcTvKJYgk1KR8z4YIApIsD8]]
808
809 = **LAN Monitoring** =
810
811 WECON provides [HMI Monitor System] software for user to monitor PI3000 series HMI in Local area network (LAN).
812
813 This function is only for the model with -O. For example PI3070N-O.
814
815 == **[HMI Monitor System] software** ==
816
817 **Device List: **It displays HMIs, that connected into this monitor software;
818
819 **State Indicator:** It shows state of HMI, green means online, gray means offline;
820
821 **Operation Buttons: **It provides three operations for HMI device;
822
823 * Add: Click it to open add setting window;
824 * Delete: Click it to delete selected HMI device;
825 * Monitor: Click it to open monitor window for selected HMI device;
826
827 (% style="text-align:center" %)
828 [[image:11.Advanced Function_html_fdfb5186d5dd123d.png||height="302" width="600" class="img-thumbnail"]]
829
830 == **Operating procedures** ==
831
832 Click [Add] button to open setting window;
833
834 Enter HMI IP and Note;
835
836 Click [Connection test] button;
837
838 * If IP is correct, it will display tip as below;
839
840 (% style="text-align:center" %)
841 [[image:11.Advanced Function_html_130ed411da07f4c4.png||height="376" width="550" class="img-thumbnail"]]
842
843 * If IP is incorrect, it will display tip as below
844
845 (% style="text-align:center" %)
846 [[image:11.Advanced Function_html_878d04362f1b81b6.png||height="122" width="150" class="img-thumbnail"]]
847
848 **✎Note:** For using this function in PC, it requires the setup of LAN Monitoring Firewall, using Windows 7 system as example. **If this function works well in your PC, please ignore below content.**
849
850 **Solution 1: Disable Firmware Completely**
851
852 Open "Control Panel" and select "System Security".
853
854 (% style="text-align:center" %)
855 [[image:11.Advanced Function_html_9616a538bd5b8890.png||height="426" width="600" class="img-thumbnail"]]
856
857 Select "Windows Firewall"
858
859 (% style="text-align:center" %)
860 [[image:11.Advanced Function_html_4ff5d9c605179616.png||height="427" width="600" class="img-thumbnail"]]
861
862 Select "turn Windows Firewall on or off"
863
864 (% style="text-align:center" %)
865 [[image:11.Advanced Function_html_8cce81685e77dd93.png||height="532" width="850" class="img-thumbnail"]]
866
867 Select "Turn off Windows Firewall"
868
869 (% style="text-align:center" %)
870 [[image:11.Advanced Function_html_8e40bd24335bee5f.png||height="451" width="700" class="img-thumbnail"]]
871
872 **Solution 2: Do not close the firewall, but allow HMIUI to pass through the firewall**
873
874 Open Control Panel selection "system Security"
875
876 (% style="text-align:center" %)
877 [[image:11.Advanced Function_html_4a5370b15f8344bf.png||height="363" width="550" class="img-thumbnail"]]
878
879 Select "Windows Firewall"
880
881 (% style="text-align:center" %)
882 [[image:11.Advanced Function_html_3f00b4c76667d218.png||height="394" width="600" class="img-thumbnail"]]
883
884 Select "run a program or function through Windows Firewall"
885
886 (% style="text-align:center" %)
887 [[image:11.Advanced Function_html_2ce833853fe2fe08.png||height="422" width="600" class="img-thumbnail"]]
888
889 Select "Allow to run another program".
890
891 (% style="text-align:center" %)
892 [[image:11.Advanced Function_html_49e43fd3e9e58bc3.png||height="401" width="600" class="img-thumbnail"]]
893
894 Select "browse" in the pop-up dialog box.
895
896 (% style="text-align:center" %)
897 [[image:11.Advanced Function_html_714b05b4f66641fb.png||height="447" width="450"]]
898
899 Locate the HMIUI.exe file in the HMIUI directory under the installation path of the monitoring software, and double-click HMIUI.exe.
900
901 (% style="text-align:center" %)
902 [[image:11.Advanced Function_html_cdf52e5522e2e568.png||height="596" width="600" class="img-thumbnail"]]
903
904 Select "add".
905
906 (% style="text-align:center" %)
907 [[image:11.Advanced Function_html_2cf5b5f0c9aa4f7a.png||height="467" width="535" class="img-thumbnail"]]
908
909 Check the corresponding options.
910
911 (% style="text-align:center" %)
912 [[image:11.Advanced Function_html_ffc611cca1a173f9.png||height="361" width="600" class="img-thumbnail"]]
913
914 select "OK".
915
916 (% style="text-align:center" %)
917 [[image:11.Advanced Function_html_934ebd63c53af3ee.png||height="442" width="600" class="img-thumbnail"]]
918
919 = **Remote access config** =
920
921 **Introduction**
922
923 In the traditional concept, it is rather Difficult and complicated to remotely connect HMI via Ethernet. Users not only need to consider the security issue, but also need to set up complex network parameters. In addition, subject to the stage of the network environment, users have to do everything possible to think of ways through all levels of routers and switches. And an independent IP could only correspond to one HMI in tradition sense of the remote control. The WECON remote access system will solve all of those problems.
924
925 The solution of WECON HMI remote access is "Everything is possible with one network, one HMI, one cable". No matter where the HMI is, users could easily remote access HMI through the network, to achieve exclude exceptions and resolve them in the first time. In local area network or remote Internet, users could make HMI connect to Ethernet by one cable without setting any parameters. All network settings could be set by WECON remote access system.
926
927 **Set the IP of HMI**
928
929 (% style="text-align:center" %)
930 [[image:远程访问 1.png||class="img-thumbnail"]]
931
932 **Use mobile phones, computers, tablets, etc., open a browser, enter the IP, you could access the project in the HMI screen.**
933
934 * You are advised to use Chrome or Firefox. If you want to use Internet Explorer, use Internet Explorer 9 or later.
935 * 360, Sogou and other browsers need to use speed mode.
936 * Support the iphone's own browser, or install a latest UC browser.
937 * As long as the browser supports HTML5.
938
939 **Access through the cloud**
940
941 Access through the cloud platform, enter the machine code (the machine code of each HMI is independent) and model, then monitor the HMI remotely.
942
943 **Access through V-NET (ig series)**
944
945 Access through the V-NET, enter the machine code (the machine code of each HMI is independent) and the device password, bind the HMI, and monitor the HMI remotely.
946
947 **System Components**
948
949 WECON PI8000 and advanced HMI with [-R], such as PI8070-R;
950
951 WECON Smart APP or WECON Cloud platform
952
953 **User manual for WECON Smart and cloud platform download link**
954
955 [[https:~~/~~/drive.google.com/open?id=1hI8QI4vmJhAis2GFuCISChV9xGU0BxQ9>>url:https://drive.google.com/open?id=1hI8QI4vmJhAis2GFuCISChV9xGU0BxQ9]]
956
957 **FAQ**
958
959 * What is the difference between the-R model and the normal model?
960 ** The-R model can be accessed directly and unrestricted. Normal models need to buy cloudmonitoring products before access. The number of monitoring normal model is limitedaccording to the customer's purchase of cloud monitor packages.
961 * How many customers could remote access HMI at the same time?
962 ** It supports max. 4 customers access HMI in the same time.
963
964 = **Mulit-link** =
965
966 == **Introduction** ==
967
968 The main principle of Multi-link is to use the method of Master&Slave to implement the One machine-Multiple screens by ethernet port. For example, one Master HMI connect to one Slave HMI, the Slave one can write or read value from PLC which is communicated with Master.
969
970 In Multi-link, there is only one Master, and all the other HMIs are Slaves. The Master HMI is the only one device communicate with PLC, and the data received from the PLC is transmitted to each slave through the host HMI(Master).
971
972 (% style="text-align:center" %)
973 [[image:1652345241521-592.png||class="img-thumbnail"]]
974
975 At present, the Multi-link is regarded as special function. So not any model HMI support it. Need the HMI come with the special machine code. The series support Multi-link function right now: General, HMI+, i Series. Multi link doesn’t support the online simulaion. PI3000/PI3000+/PI3000i series can only have one Slave when using this function, while PI8000/9000,PI8000+/PI9000+ series can use at most 5 Slaves.
976
977 == **PIStudio settings** ==
978
979 Check to enable Multi-link, select the corresponding option. For example, if it is a slave HMI, select Slave.
980
981 (% style="text-align:center" %)
982 [[image:多机互联.png||class="img-thumbnail"]]
983
984
985 (% class="wikigeneratedid" %)
986 Master IP address setting: Click "Project"→"Project settings"→"HMI IP", as below.
987
988 (% style="text-align:center" %)
989 [[image:远程访问 1.png||height="516" width="594" class="img-thumbnail"]]
990
991 == **Slave project** ==
992
993 In order to let the fonts in the Slave and the Master consistent with each others, so Slave project needs to add one screen that can set the IP address of Master HMI for connecting to the Master, on the original the Master project. If Master project has components that use other font styles, and Slave project If there is no component corresponding to Master project, then the default font style SimSun would be displayed when the Multi-link is enabled. To avoid the Slave device prompts communication timeout message, you can add HSW9 = 1 in the initial script of Slave device.
994
995 == **Address** ==
996
997 |Address|Address Description|Usage Method
998 |HSW1100|(% rowspan="4" %)The IP of Master HMI|IP address high endian 1
999 |HSW1101|IP address high endian 2
1000 |HSW1102|IP address high endian 3
1001 |HSW1103|IP address high endian 4
1002 |HSW1104|(((
1003 Control the Slave to connect to
1004
1005 the Master or not
1006 )))|(((
1007 1: Connect to Master
1008
1009 0: Disconnect
1010 )))
1011
1012 == **Notice** ==
1013
1014 During the connection, if the Master is downloading program, there is a highly chances that the slave screen is abnormal, and the Gallery and imported pictures cannot be displayed.
1015
1016 After the download process of Master HMI is finished, Slave needs to be restarted to monitor normally.
1017
1018 * If the Master and Slave are operated on any screen, the screen also will follow the changes and synchronize for other side.
1019 ** Using HSW12 = 1 on the Master, which can not affect each other.
1020 * There is no momentary delay function for buttons.
1021 * Multi-link version bit switch has no Min. holding time.
1022 * PI3000 series can only have one Slave when using this function, while PI8000/9000 series can use this function at most 5 Slaves.
1023 * Only supports Multi-link connection in the LAN network (local area network), or direct connection between Master and Slave.
1024 * The Master and Slave projects must be consistent (mainly for keeping the font style used by the Master and Slave HMI consistent), and the Slave HMI always adds the configuration of the “Master IP address".
1025 * After the special address is enabled, Slave will remotely monitor the interfaces from Master, and the source project will not be executed.
1026
1027 ✎Note: Slave project only needs to ensure that there is "the HSW address of the Master HMI IP" and the font style used by the Master.
1028
1029 = **V-NET Access (PC Side)** =
1030
1031 == **Login interface** ==
1032
1033 Enter the platform, as shown in Figure 1:
1034
1035 New users need to register first.
1036
1037 * The successfully registered account is the administrator account, which can bind the device and other operations.
1038 * The user needs to remember the registered account and password, and able to log in simultaneously on the PC Client/APP.
1039 * If the user forgets the password, he can click "Forgot Password" to reconfigure the password.
1040
1041 (% style="text-align:center" %)
1042 [[image:11.2-1.png||class="img-thumbnail"]]
1043
1044 Figure 1
1045
1046 Enter the account and password, and then click the "Login" button.
1047
1048 After successfully logging in, enter the "V-NET" interface, as shown in Figure 2. Add the HMI information you want to access through the "+" in the lower left corner.
1049
1050 (% style="text-align:center" %)
1051 [[image:11.Advanced Function_html_7618c4f92465545c.png||height="670" width="1366" class="img-thumbnail"]]
1052
1053 Figure 2
1054
1055 After the Add Device window pops up, enter the machine code and password of the device to add the device, as shown in Figure 3:   
1056
1057 (% style="text-align:center" %)
1058 [[image:11.Advanced Function_html_9b4cc907cf4a8c13.png||height="502" width="601" class="img-thumbnail"]]
1059
1060 Figure 3
1061
1062 * **Device machine code:** Each HMI has a unique and independent machine code, which is used to identify every remote device. (When binding multiple devices at the same time, the device passwords must be the same. Only one machine code can be entered on one line. When entering multiple machine codes, use the "Enter" key to change the line. If the format is wrong, the binding operation will fail and error will occur). Method of obtain machine code:
1063 ** PIStudio → "Project" → "Tool"→ "Download" →Copy the machine code.        
1064 ** Long press the upper right corner of HMI to enter the backstage, you can see "Machine Id" in "Machine Info".       
1065 ** Obtain the machine code from the backlabel of the device.
1066 * **Device password**: Refers to the Cloud access password, the default is 6 digits 8 (888888). Please refer to the cloud configuration if you first time binding the device.
1067 ** The length is 6 digits, English and special characters in English are allowed, spaces are not allowed, and cannot be empty.
1068 * **Device alias:** Refers to the name recognition of device in the menu bar of V-NET.
1069 ** Maximum 12 digits, except ·_-+=}]",.?,;: ""”【】—()...! these Special characters allowed others are limited to input, no spaces or blanks are allowed.
1070 ** If the device is successfully bound, click OK, and it would prompt message: The device is bound successfully!
1071
1072 (% class="box infomessage" %)
1073 (((
1074 **✎Note: **If you bind multiple machine codes in batch, the device alias will use the input device alias as the prefix, and the system will automatically add a suffix. Example: Default group (device alias)_1 (automatically added suffix).
1075 )))
1076
1077 == **V-NET module** ==
1078
1079 **Remote Monitoring**
1080
1081 The remote monitoring module can display the project page of the current screen in real time, and can operate the project on the web page, and the control of the screen. As shown in Figure 4:
1082
1083 (% style="text-align:center" %)
1084 [[image:11.2-4.png||class="img-thumbnail"]]
1085
1086 Figure 4
1087
1088 **Data Viewing**
1089
1090 The data viewing module is divided into Communication port, Collection point, Alarm configuration, Alarm records, Data Record configuration , Data Record, etc. As shown in Figure 5:
1091
1092 (% style="text-align:center" %)
1093 [[image:11.2-5.png||class="img-thumbnail"]]
1094
1095 Figure 5
1096
1097 The parameter configuration is as follows:
1098
1099 * Communication port : The communication port information, includes connection method and protocol name, can only be viewed, and cannot be added or modified. This info comes from the settings from HMI.
1100 * Collect point:Data monitoring module of the device. The collection point is the monitoring data, and its read-write, write-only, and read-only permissions also come from the Tags settings from HMI.
1101 * Note: You cannot add or delete collection points here. The read & write permissions of the collection points in the HMI will directly restrict the modification of the read & write permissions of the collection points by V-NET.
1102 * Alarm configuration: Alarm records of the device, monitoring points cannot be added, confirming the Alarm record and exporting data can be performed.
1103 * Data Record configuration: Data Record is historical data of the device, monitoring points cannot be added, curve and list viewing method are supported, and data records can be exported.
1104
1105 **Remote Download**
1106
1107 This function allows application on the PC to download directly to PLC or HMI, as shown in Figure 6:
1108
1109 (% style="text-align:center" %)
1110 [[image:11.2-6.png||class="img-thumbnail"]]
1111
1112 Figure 6
1113
1114 (% class="box infomessage" %)
1115 (((
1116 **✎Note: **The pass through function of remote download is temporarily unavailable on the web page, and it can be used normally in PC client. The configuration is as follows:
1117 )))
1118
1119 PLC download (only for Pass-through)
1120
1121 * Click the setting (gear icon) in the upper right corner of PC Client, and a dialog will pop up. The red area is the COM port configuration when the PLC pass-through downloads. As shown in Figure 7:
1122
1123 (% style="text-align:center" %)
1124 [[image:11.Advanced Function_html_870ebc5415b1a534.png||height="565" width="526" class="img-thumbnail"]]
1125
1126 Figure 7
1127
1128 * After configuring the COM port, go to the remote downloaded, PLC download, to config the name, communication port, virtual serial port and other configurations as shown in Figure 6.
1129
1130 HMI Download (only for Pass-through)
1131
1132 * Click the setting (gear icon) button in the upper right corner of PC Client, and a dialog will pop up. The red area is the configuration of the HMI download tool. As shown in Figure 8:
1133
1134 (% style="text-align:center" %)
1135 [[image:11.Advanced Function_html_64e406f9862f887e.png||height="565" width="526" class="img-thumbnail"]]
1136
1137 Figure 8
1138
1139 * Click the setting (gear icon) button, a dialog box will pop up, and automatically detect and find the PIStudio that has been installed in PC and conforms to the version, as shown in Figure 9:
1140 ** Location: Display the installation path of the current PIStudio.
1141 ** Version: Corresponding to the version of the current PIStudio.
1142 ** Browse: Click to manually set the installation path of PIStudio.
1143
1144 [[image:11.Advanced Function_html_df9946a5a7574454.png||height="349" width="642"]]
1145
1146 Figure 9
1147
1148 **Basic**
1149
1150 In the "Basic" sub-page of Basic, HMI name, record reserved selection, password, location and remarks, etc. As shown in Figure 10:
1151
1152 [[image:11.Advanced Function_html_c76828978cb6b697.png||height="670" width="1366"]] Figure 10
1153
1154 The device name is an alias of HMI, which is mainly used for easy distinction.
1155
1156 Online status: You can click the refresh button to refresh the online status of the HMI.
1157
1158 Machine code: Each HMI has a unique and independent machine code.
1159
1160 Record reserved: Checking the corresponding options will let HMI to suspend updating the corresponding configuration after downloading a new project.
1161
1162 Password: Refers to the cloud access password, the default is 6 digits 8 (888888); the cloud access password can be set and modified, the specific location is:
1163
1164 * V-NET → specified HMI → Baisc → "password” → modify and save, as shown in Figure 10.        
1165 * "Project" → "Cloud" → "Basic" → "Password" → of PIStudio (only unbind HMI can be modified), see Cloud Configuration.
1166
1167 Maximum storage of Alarm data: The maximum number of alarm data saved, with a range of 1 to 50000.    
1168
1169 Positioning:
1170
1171 * Use the device base station positioning to locate.        
1172 * Use manual positioning.
1173
1174 (% class="box infomessage" %)
1175 (((
1176 **✎Note:** After modifying the basic information of the device, you need to click Save below to save the modification successfully. If it is not saved successfully, please click Force Synchronization.
1177 )))