Last modified by Wecon on 2025/09/03 21:03

Hide last authors
Wecon 1.1 1 == **LEN/Length detection of string** ==
2
3 ----
4
5 LEN(P)
6
7 Detect the length of the string specified in (S), and store it after the device number specified in (d).
8
9 Data from the device number specified in (s) to the device number storing 00H is treated as a character string.
10
11 -[LEN (s) (d)]
12
13 Content, range and data type
14
15 |=**Parameter**|=**Content**|=**Range**|=**Data type**|=**Data type (label)**|=**Custom variable type**
16 |(s)|String or start number of device that stores string|-|String|ANYSTRING_SINGLE|~-~-
17 |(d)|Device number that stores the detected string length|-|Signed BIN16 bits|ANY16|INT
18
19 Device used
20
21 |=**Instruction**|=**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
22 | | |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|**HSC(bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
23 |(% colspan="1" rowspan="2" %)LEN|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
24 |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|●
25
26 Function
27
28 Detect the length of the string specified in (S), and store it after the device number specified in (d).
29
30 Data from the device number specified in (s) to the device number storing 00H is treated as a character string.
31
32 (% style="text-align:center" %)
33 [[image:1709791788019-797.png]]
34
35 Error code
36
37 |=**Error code**|=**Content**
38 |4085H|(s) read address exceeds the device range.
39 |408AH|The length of the read string of (s) exceeds the limit, and the continuous length of the string exceeds 400 characters.
40 |408BH|When (s) reading a character string, the maximum range of the device is read, but 00H is not found as the end.
41 |4086H|When using offset, the offset address of (d) exceeds the device range.
42
43 Example
44
45 (% style="text-align:center" %)
46 [[image:1709791829364-862.png]]
47
48 As shown in the above ladder program:
49
50 Use the asc command to write the string abcdef to the address starting from R0.
51
52 Then use LEN command to determine the length. At this point, D0 will display 6.
53
54
55
56 == **LEFT/Extracting from the left side of the string** ==
57
58 ----
59
60 LEFT(P)
61
62 For the character string data stored after device number specified in (s), ( n) Character data starting from the left side of the string (the start of the string) is stored after device number specified in (d).
63
64 -[LEFT (s) (d) (n)]
65
66 Content, range and data type
67
68 |=**Parameter**|=(% style="width: 440px;" %)**Content**|=(% style="width: 84px;" %)**Range**|=**Data type**|=**Data type (label)**|=**Custom variable type**
69 |(s)|(% style="width:440px" %)String or start number of device that stores string|(% style="width:84px" %)-|String|ANYSTRING_SINGLE|~-~-
70 |(d)|(% style="width:440px" %)Store the start number of the device of the string of (n) character starting from the left side of (s)|(% style="width:84px" %)-|String|ANYSTRING_SINGLE|~-~-
71 |(n)|(% style="width:440px" %)Number of characters extracted|(% style="width:84px" %)1 to 400|Signed BIN16 bits|ANY16|INT
72
73 Device used
74
75 |=**Instruction**|=**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
76 | | |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|**HSC(bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
77 |(% colspan="1" rowspan="3" %)LEFT|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
78 |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|●
79 |Parameter 3| | | | | | | | | | | |●|●|●|●|●|●|●|●| | |●|●| |●|●
80
81 Function
82
83 For the character string data stored after device number specified in (s), ( n) character data starting from the left side of the string (the start of the string) is stored after device number specified in (d).
84
85 (% style="text-align:center" %)
86 [[image:1709791965970-422.png]]
87
88
89 The string specified in (s) refers to the data in bytes from the specified device to the position where "00H" is first detected.
90
91 (N)=7:
92
93 (% style="text-align:center" %)
94 [[image:1709791985538-114.png]]
95
96 The final NULL code (00H) representing the string is automatically appended to the end of the string data.
97
98 If the number of extracted characters is odd, “00H” will be stored in the high byte of the device storing the final character. If the number of extracted characters is even, “0000H” will be stored in the low byte of the device storing the final character.
99
100 If the number of characters specified in (n) is 0, a NULL code (00H) is stored in (d).
101
102 Precautions
103
104 Attention shall be paid to the following points when handling the character codes other than ASCII code.
105
106 The number of characters is processed in bytes (8 bits). Therefore, like the shifted JIS code, the character code of 1 character is represented by 2 bytes and the number of characters of 1 character is “2”.
107
108 When extracting the string from the string for which the character code of 1 character is represented by 2 bytes like the shifted JIS code, the number of the characters extracted shall be determined by taking the character code of 1 character as the unit. Please note that if only 1 byte of a 2-byte character code is extracted, it will not be the desired character code.
109
110 Error code
111
112 |=**Error code**|=**Content**
113 |4085H|(s) read address exceeds the device range.
114 |408AH|The length of the read string of (s) exceeds the limit, and the continuous length of the string exceeds 400 characters.
115 |408BH|When (s) reading a character string, the maximum range of the device is read, but 00H is not found as the end.
116 |4084H|(n)<1 or (n)> string length
117 |4086H|(d) write address exceeds the device range.
118
119 Example
120
121 (% style="text-align:center" %)
122 [[image:1709794836459-700.png]]
123
124 Take five characters from the left of “abcdef” starting from D0 into R0, and the string of R0 is “abcde”.
125
126 (% style="text-align:center" %)
127 [[image:1709794861767-226.png]]
128
129
130 == **RIGHT/Extracting from the right side of the string** ==
131
132 ----
133
134 RIGHT(P)
135
136 For the character string data stored after device number specified in (s), ( n) character data starting from the right side of the string (the end of the string) is stored after device number specified in (d).
137
138 -[RIGHT (s) (d) (n)]
139
140 Content, range and data type
141
142 |=**Parameter**|=**Content**|=**Range**|=**Data type**|=**Data type (label)**|=**Custom variable type**
143 |(s)|String or start number of device that stores string|-|String|ANYSTRING_SINGLE|~-~-
144 |(d)|Store the start number of the device of the string of (n) character starting from the right side of (s)|-|String|ANYSTRING_SINGLE|~-~-
145 |(n)|Number of characters extracted|1 to 400|Signed BIN16 bits|ANY16|INT
146
147 Device used
148
149 |=**Instruction**|=**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
150 | | |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|**HSC(bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
151 |(% colspan="1" rowspan="3" %)RIGHT|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
152 |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|●
153 |Parameter 3| | | | | | | | | | | |●|●|●|●|●|●|●|●| | |●|●| |●|●
154
155 Function
156
157 For the character string data stored after device number specified in (s), ( n) character data starting from the right side of the string (the end of the string) is stored after device number specified in (d).
158
159 (% style="text-align:center" %)
160 [[image:1709795048946-260.png]]
161
162 The string specified in (s) refers to the data in bytes from the specified device to the position where "00H" is first detected.
163
164 (n)=5:
165
166 (% style="text-align:center" %)
167 [[image:1709795067861-165.png]]
168
169 The final NULL code (00H) representing the string is automatically appended to the end of the string data.
170
171 If the number of extracted characters is odd, “00H” will be stored in the high byte of the device storing the final character. If the number of extracted characters is even, “0000H” will be stored in the device after the device storing the final character.
172
173 If the number of characters specified in (n) is 0, a NULL code (00H) is stored in (d).
174
175 Precautions
176
177 Attention shall be paid to the following points when handling the character codes other than ASCII code.
178
179 The number of characters is processed in bytes (8 bits). Therefore, like the shifted JIS code, the character code of 1 character is represented by 2 bytes and the number of characters of 1 character is “2”.
180
181 When extracting the string from the string for which the character code of 1 character is represented by 2 bytes like the shifted JIS code, the number of the characters extracted shall be determined by taking the character code of 1 character as the unit. Please note that if only 1 byte of a 2-byte character code is extracted, it will not be the desired character code.
182
183 Error code
184
185 |=**Error code**|=**Content**
186 |4085H|The read address of (s) and (n) exceeds the device range.
187 |408AH|The length of the read string of (s) exceeds the limit, and the continuous length of the string exceeds 400 characters.
188 |408BH|When (s) reading a character string, the maximum range of the device is read, but 00H is not found as the end.
189 |4084H|(n)<1 or (n)> string length
190 |4086H|(d) write address exceeds the device range.
191
192 Example
193
194 (% style="text-align:center" %)
195 [[image:1709795109353-288.png]]
196
197 From the string “1234567890”, take three characters “890” from the right and store them into R0.
198
199 (% style="text-align:center" %)
200 [[image:1709795133306-391.png]]
201
202 == **MIDR/arbitrary extraction in the string** ==
203
204 ----
205
206 MIDR(P)
207
208 Store the data at any position in the character string data to the device number specified in (d).
209
210 -[MIDR (s1) (d) (s2)]
211
212 Content, range and data type
213
214 |=**Parameter**|=**Content**|=**Range**|=**Data type**|=**Data type (label)**|=**Custom variable type**
215 |(s1)|String or start number of device that stores string|-|String|ANYSTRING_SINGLE|~-~-
216 |(d)|The start number of device that stores operation result string data|-|String|ANYSTRING_SINGLE|~-~-
217 |(s2)|The start number of device that stores start character position and number of characters (s2)+0: The position of the start character, (s2) +1: the number of characters is signed|-|Signed BIN16 bits|ANY16_ARRAY|~-~-
218
219 Device used
220
221 |=**Instruction**|=**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
222 | | |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|**HSC(bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
223 |(% colspan="1" rowspan="3" %)MIDR|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
224 |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|●
225 |Parameter 3| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
226
227 Function
228
229 For the character string data stored after device number specified in (s1), character data designated in (s2)+1 starting from the designated position of (s2) is stored after device number specified in (d).
230
231 (% style="text-align:center" %)
232 [[image:1709795237617-165.png]]
233
234 The string specified in (s1) refers to the data in bytes from the specified device to the position where “00H” is first detected.
235
236 The final NULL code (00H) representing the string is automatically appended to the end of the string data.
237
238 If the number of extracted characters “(s2)+1” is odd, “00H” will be stored in the high byte of the device storing the final character. If the number of extracted characters “(s2)+1” is even, “0000H” will be stored in the device after the device storing the final character.
239
240 When the number of characters specified in (s2)+1 is 0, no processing is performed.
241
242 If the character designated in (s2)+1 is -1, the data ending at the position of the final character data designated in (s1) is stored after device number specified in (d).
243
244 (% style="text-align:center" %)
245 [[image:1709795256090-716.png]]
246
247 Precautions
248
249 Attention shall be paid to the following points when handling the character codes other than ASCII code:
250
251 ① The number of characters is processed in bytes (8 bits). Therefore, like the shifted JIS code, the character code of 1 character is represented by 2 bytes and the number of characters of 1 character is “2”.
252
253 ② When extracting the string from the string for which the character code of 1 character is represented by 2 bytes like the shifted JIS code, the number of the characters extracted shall be determined by taking the character code of 1 character as the unit. Please note that if only 1 byte of a 2-byte character code is extracted, it will not be the desired character code.
254
255 Error code
256
257 |=**Error code**|=**Content**
258 |4085H|(s1) and (s2) read address exceeds range of the device.
259 |408AH|(s1) The length of the read string of (s) exceeds the limit, and the continuous length of the string exceeds 400 characters.
260 |408BH|When (s1) reading a character string, the maximum range of the device is read, but 00H is not found as the end.
261 |4084H|(((
262 The value of (s2)+1 is less than -2 (including -2);
263
264 The value of (s2) exceeds the number of characters of (s1);
265
266 The value of (s2) is negative;
267
268 The value of (s2)+1 exceeds the number of characters of (s1);
269
270 The value obtained from the additive operation of (s2) and (s2)+1 exceeds the number of characters of (s1).
271 )))
272 |4086H|(d) Write address exceeds the device range.
273
274 Example
275
276 (% style="text-align:center" %)
277 [[image:1709795348030-138.png]]
278
279 From the string “123456”, take three characters “234” from the second character and store them into R0.
280
281 (% style="text-align:center" %)
282 [[image:1709795366043-264.png]]
283
284 == **$MOV/string transfer** ==
285
286 ----
287
288 $MOV(P)
289
290 Transfer the string data specified in (s) to the device number specified in (d).
291
292 -[$MOV (s) (d)]
293
294 Content, range and data type
295
296 |=**Parameter**|=**Content**|=**Range**|=**Data type**|=**Data type (label)**|=**Custom variable type**
297 |(s)|The start number of device that transfers string (max. 255 characters) or that stores string|-|String|ANYSTRING_SINGLE|~-~-
298 |(d)|The start number of device that stores and transfers the string|-|String|ANYSTRING_SINGLE|~-~-
299
300 Device used
301
302 |**Instruction**|**Parameter**|(% colspan="24" %)**Devices**|**Index modification**|**Pulse expansion**
303 | | |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|**HSC(bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
304 |$MOV|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
305 | |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|●
306
307 Function
308
309 Transfer the string data specified in (s) to the device number specified in (d). In the transfer of a string, a string enclosed by “” (double quotation marks) specified in (s) or a string starting from the device number to the device number that stores 00H is transferred once.
310
311 (% style="text-align:center" %)
312 [[image:1709795537426-309.png]]
313
314 Even if the device range (s)~~(s)+n that stores the transmitted string data repeates with the device range (d)~~(d)+n that stores the string data after transmission , it can be processed normally. For example, when the string stored in D10~~D13 is transmitted to D11~~D14, the situation is shown as follows.
315
316 (% style="text-align:center" %)
317 [[image:1709795558124-623.png]]
318
319
320 (1): Directly changed to the string before transmission.
321
322 If 00H is stored in the lower byte of (s) + n, 00H will be stored in both the higher byte and the lower byte of (d) + n.
323
324 (% style="text-align:center" %)
325 [[image:1709795574324-599.png]]
326
327 (1): High byte cannot be transmitted.
328
329 (2): Directly changed to the string before transmission.
330
331 (3): 00H is automatically stored in high bytes.
332
333
334 Error code
335
336 |=**Error code**|=**Content**
337 |4085H|(s) read address exceeds the device range.
338 |408AH|The length of the read string of (s) exceeds the limit, and the continuous length of the string exceeds 400 characters.
339 |408BH|When (s) reading a character string, the maximum range of the device is read, but 00H is not found as the end.
340 |4086H|(d) Write address exceeds the device range.
341
342 Example
343
344 (% style="text-align:center" %)
345 [[image:1709795780595-873.png]]
346
347 Copy the string “abcde” in the D0 to R0.
348
349 (% style="text-align:center" %)
350 [[image:1709795800868-894.png]]
351
352 == **MIDW/arbitrary substitution in the string** ==
353
354 ----
355
356 MIDW(P)
357
358 For the string data stored after device number specified in (s1), store the data of the character specified in (s2)+1 to the position designated in (s2) of the string data stored after the device number designated in (d).
359
360 -[MIDW (s1) (d) (s2)]
361
362 Content, range and data type
363
364 |=**Parameter**|=**Content**|=**Range**|=**Data type**|=**Data type (label)**|=**Custom variable type**
365 |(s1)|String or start number of device that stores string|-|String|ANYSTRING_SINGLE|~-~-
366 |(d)|The start number of device that stores operation result string data|-|String|ANYSTRING_SINGLE|~-~-
367 |(s2)|(((
368 The start number of device that stores start character position and number of characters
369
370 (s2)+0: The position of the start character, (s2) +1: The number of characters is signed
371 )))|-|Signed BIN16 bits|ANY16_ARRAY|~-~-
372
373 Device used
374
375 |=**Instruction**|=**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
376 | | |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|**HSC(bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
377 |(% colspan="1" rowspan="3" %)MIDW|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
378 |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|●
379 |Parameter 3| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
380
381 Function
382
383 For the string data stored after device number specified in (s1), store the data of the character specified in (s2)+1 to the position designated in (s2) of the string data stored after the device number designated in (d).
384
385 (% style="text-align:center" %)
386 [[image:1709795999167-809.png]]
387
388 The string specified in (s1) or (d) refers to the data in bytes from the specified device to the position where “00H” is first detected.
389
390 The final NULL code (00H) representing the string is automatically appended to the end of the string data.
391
392 When the number of characters specified in (s2)+1 is 0, no processing is performed.
393
394 If the number of characters designated in (s2)+1 exceeds the final character of the string data designated in (d), the data ending with the final character of (d) is stored.
395
396 (% style="text-align:center" %)
397 [[image:1709796032182-507.png]]
398
399 If the character designated in (s2)+1 is -1, the data ending at the position of the final character data designated in (s1) is stored after device number specified in (d).
400
401 (% style="text-align:center" %)
402 [[image:1709796056421-656.png]]
403
404 Precautions
405
406 Attention shall be paid to the following points when handling the character codes other than ASCII code.
407
408 The number of characters is processed in bytes (8 bits). Therefore, like the shifted JIS code, the character code of 1 character is represented by 2 bytes and the number of characters of 1 character is “2”.
409
410 When extracting the string from the string for which the character code of 1 character is represented by 2 bytes like the shifted JIS code, the number of the characters extracted shall be determined by taking the character code of 1 character as the unit. Please note that if only 1 byte of a 2-byte character code is extracted, it will not be the desired character code.
411
412 Error code
413
414 |=**Error code**|=**Content**
415 |4085H|(s1)(s2) (d) read address exceeds the range of the device.
416 |408AH|(s1) (d) The length of the read string exceeds the limit, and the continuous length of the string exceeds 400 characters.
417 |408BH|When (s1) (d) reading a character string, the maximum range of the device is read, but 00H is not found as the end.
418 |4084H|(((
419 The value of (s2)+1 is less than -2 (including -2);
420
421 The value of (s2) exceeds the number of characters of (d);
422
423 The value of (s2) is negative;
424
425 The value of (s2)+1 exceeds the number of characters of (s1).
426 )))
427 |4086H|(d) Write address exceeds the device range.
428
429 Example
430
431 (% style="text-align:center" %)
432 [[image:1709796114867-986.png]]
433
434 Replace the character with length of three characters starting from the second character in the string “qwery” stored in R0 with the first three characters in D20.
435
436 The result of R0 is “q123y”.
437
438 (% style="text-align:center" %)
439 [[image:1709796147183-706.png]]
440
441
442 == **STR/BIN16-bit data→string conversion** ==
443
444 ----
445
446 STR(P)
447
448 The BIN16-bit data specified in (s2) is converted to a character string with a decimal point at the position specified in (s1) and stored after device number specified in (d).
449
450 -[STR (s1) (s2) (d)]
451
452 Content, range and data type
453
454 |=**Parameter**|=**Content**|=**Range**|=**Data type**|=**Data type (label)**|=**Custom variable type**
455 |(s1)|The start number of device that stores the bits of the converted data|-|Signed BIN16 bits|ANY16_S_ARRAY|~-~-
456 |(s2)|Converted BIN data|-32768~~+32767|Signed BIN16 bits|ANY16_S|INT
457 |(d)|The start number of device that stores the converted string|-|String|ANYSTRING_SINGLE|~-~-
458
459 Device used
460
461 |=**Instruction**|=**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
462 | | |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|**HSC(bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
463 |(% colspan="1" rowspan="3" %)STR|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
464 |Parameter 2| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●| |●|●
465 |Parameter 3| | | | | | | | | | | | | | |●|●|●|●|●| | | | | |●|●
466
467 Function
468
469 The BIN16-bit data specified in (s2) is converted to a character string with a decimal point at the position specified in (s1) and stored after device number specified in (d).
470
471 (% style="text-align:center" %)
472 [[image:1709796268335-399.png]]
473
474
475 The total digits that can be specified in (s1) are 2~~8 digits.
476
477 The number of the decimal parts that can be specified in (s1)+1 are 0~~5 digits. However, the setting should meet the condition that the number of decimal parts ≤ (all digits-3).
478
479 The string data after conversion will be stored to the device number after (d) in following ways.
480
481 •In the symbol, when BIN16-bit data is positive, 20H (blank) is stored; and when it is negative, 2DH(-) is stored.
482
483 When the number of decimal places is set to any value other than 0, 2EH(.) is automatically stored in the number of specified decimal places+1 digit. . When the decimal place is 0, 2EH(.) is not stored. .
484
485 (% style="text-align:center" %)
486 [[image:1709796286469-559.png]]
487
488 If the value of the number of decimal place is greater than the number of bits of BIN16-bit data, it will be automatically attached with 0 and then aligned to the right and converted to “0.~*~**”.
489
490 (% style="text-align:center" %)
491 [[image:1709796308066-809.png]]
492
493 If the symbol is removed from the value of all bits and the value of the number of decimal place is greater than the number of bits of BIN16-bit data, 20H (blank) will be stored between the symbol and the value. If the number of bits of BIN 16-bit data is large, it will become an error state.
494
495 (% style="text-align:center" %)
496 [[image:1709796742261-643.png]]
497
498 00H is automatically stored at the end of the converted character string.
499
500 •If the number of total digits is even, “0000H” will be stored in the device after the device storing the final character. If the number of total digits is odd, “00H” will be stored in the high byte (8 bits) of the device storing the final character.
501
502 Error code
503
504 |=**Error code**|=**Content**
505 |4085H|(s1) and (s2) read address exceeds the range of the device.
506 |4084H|(((
507 (s1) or (s1+1) parameter setting value exceeds the range.
508
509 For example:
510
511 ~1. The value of (s1) is not within the range of 2-8.
512
513 ~1. The value of (s1+1) is not within the range of 0-5.
514
515 3. The value of (s1+1) is greater than the value of (s1) minus 3.
516
517 4. When (s1+1) is 0, the number of bits specified in (s1) is less than the bit number of BIN16-bit data specified in (s2)+1.
518
519 4. When (s1+1) is not 0, the number of bits specified in (s1) is less than the bit number of BIN16-bit data specified in (s2)+2.
520
521 (Number of digits of (s1))< number of bits of BIN 16-bit data without symbols of (s2) + the number of bits of symbols (+ or-) + the decimal point (.) Number of digits
522 )))
523 |4086H|When using offset, the offset address of (d) exceeds the device range.
524
525 Example
526
527 (% style="text-align:center" %)
528 [[image:1709796804142-604.png]]
529
530 After M8 is set as ON, it is converted into a string “12345” (a space in front of 1) according to the setting of all digits (6 decimal places and 0 digit).
531
532 (% style="text-align:center" %)
533 [[image:1709796819724-774.png]]
534
535
536 == **DSTR/BIN32-bit data→string conversion** ==
537
538 ----
539
540 DSTR(P)
541
542 The BIN32-bit data specified in (s2) is converted to a character string with a decimal point at the position specified in (s1) and stored after device number specified in (d).
543
544 -[DSTR (s1) (s2) (d)]
545
546 Content, range and data type
547
548 |=**Parameter**|=**Content**|=**Range**|=**Data type**|=**Data type (label)**|=**Custom variable type**
549 |(s1)|The start number of device that stores the bits of the converted data|-|Signed BIN16 bits|ANY16_S_ARRAY|~-~-
550 |(s2)|Converted BIN data|-2147483648 to 2147483647|Signed BIN 32 bit|ANY32_S|DINT
551 |(d)|The start number of device that stores the converted string|-|String|ANYSTRING_SINGLE|~-~-
552
553 Device used
554
555 |=**Instruction**|=**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
556 | | |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|**HSC(bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
557 |(% colspan="1" rowspan="3" %)DSTR|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
558 |Parameter 2| | | | | | | | | | |●|●|●|●|●|●|●|●|●|●|●|●|●| |●|●
559 |Parameter 3| | | | | | | | | | | | | | |●|●|●|●|●| | | | | |●|●
560
561 Function
562
563 The BIN32-bit data specified in (s2) is converted to a character string with a decimal point at the position specified in (s1) and stored after device number specified in (d).
564
565 (% style="text-align:center" %)
566 [[image:1709797229142-358.png]]
567
568 When -654.321 is specified in (s2):
569
570 The total digits that can be specified in (s1) are 2~~13 digits.
571
572 The number of the decimal places that can be specified in (s1)+1 are 0~~10 digits. However, the setting should meet the condition that the number of decimal parts ≤ (all digits-3).
573
574 The string data after conversion will be stored to the device number after (d) in following ways.
575
576 • In the symbol, when BIN32-bit data is positive, 20H (blank) is stored; and when it is negative, 20DH(-) is stored.
577
578 • When the number of decimal places is set to any value other than 0, 2EH(.) is automatically stored in the number of specified decimal places+1 digit. . When the decimal place is 0, 2EH(.) is not stored.
579
580 (% style="text-align:center" %)
581 [[image:1709797248127-726.png]]
582
583 •If the value of the number of decimal place is greater than the number of bits of BIN32-bit data, it will be automatically attached with 0 and then aligned to the right and converted to “0.~*~**”.
584
585 (% style="text-align:center" %)
586 [[image:1709797265792-274.png]]
587
588 •If the symbol is removed from the value of all bits and the value of the number of decimal place is greater than the number of bits of BIN32-bit data, 20H (blank) will be stored between the symbol and the value. If the number of bits of BIN 16-bit data is large, it will become an error state.
589
590 (% style="text-align:center" %)
591 [[image:1709797284135-416.png]]
592
593 •00H is automatically stored at the end of the converted character string.
594
595 •If the number of total digits is even, “0000H” will be stored in the device after the device storing the final character. If the number of total digits is odd, “00H” will be stored in the high byte (8 bits) of the device storing the final character.
596
597 Error code
598
599 |=**Error code**|=**Content**
600 |4085H|(s1) and (s2) read address exceeds the range of the device.
601 |4084H|(((
602 (s1) or (s1+1) parameter setting value exceeds the range. For example:
603
604 ~1. The value of (s1) is not within the range of 2-13.
605
606 2. The value of (s1+1) is not within the range of 0-10.
607
608 3. The value of (s1+1) is greater than the value of (S1) minus 3.
609
610 4. When (s1+1) is 0, the number of bits specified in (s1) is less than the bit number of BIN16-bit data specified in (s2)+1.
611
612 4. When (s1+1) is not 0, the number of bits specified in (s1) is less than the bit number of BIN16-bit data specified in (s2)+2.
613
614 (Number of digits of (s1))< number of bits of BIN 16-bit data without symbols of (s2) + the number of bits of symbols (+ or-) + the decimal point (.) Number of digits
615 )))
616 |4086H|When using offset, the offset address of (d) exceeds the device range.
617
618 Example
619
620 (% style="text-align:center" %)
621 [[image:1709797352189-763.png]]
622
623 As shown in the example, we need to convert 123456 to a floating-point string with three digits after nine decimal places.
624
625 The result of the conversion should be: 123.456, and the preceding value will have two spaces to supplement the insufficient number.
626
627 (% style="text-align:center" %)
628 [[image:1709797367228-320.png]]
629
630
631 == **$+/combination of string** ==
632
633 ----
634
635 $+(P)
636
637 Connect the string stored after the device number specified in (s2) to the string data stored after the device number specified in (s1), and store it after the device number specified in (d) .
638
639 -[$+ (s1) (s2) (d)]
640
641 Content, range and data type
642
643 |=**Parameter**|=**Content**|=**Range**|=**Data type**|=**Data type (label)**|=**Custom variable type**
644 |(s1)|Connect data or the device start number storing the data or the string specified directly|-|String|ANYSTRING_SINGLE|~-~-
645 |(s2)|Connected data or the start number of device that stores the connected data or the string specified directly|-|String|ANYSTRING_SINGLE|~-~-
646 |(d)|The start number of device that stores the connection result|-|String|ANYSTRING_SINGLE|~-~-
647
648 Device used
649
650 |=**Instruction**|=**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
651 | | |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|**HSC(bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
652 |(% colspan="1" rowspan="3" %)$+|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
653 |Parameter 2| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
654 |Parameter 3| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|●
655
656 Function
657
658 Connect the string stored after the device number specified in (s2) to the string data stored after the device number specified in (s1), and store it after the device number specified in (d) .
659
660 The string of (s1) and (s2) starts from the designated device number and ends at the device number that stores 00H.
661
662 (% style="text-align:center" %)
663 [[image:1709797459575-491.png]]
664
665 When strings are merged, 00H representing the end of the string specified in (s1) is ignored, and the string specified in (s2) is connected at the final character of (s1).
666
667 If strings are merged, 00H will be automatically attached at the end. If the number of connected characters is odd, “00H” will be stored in the high byte of the device storing the final character. If the number of extracted characters is even, “0000H” will be stored in the device after the device storing the final character.
668
669 Error code
670
671 |=**Error code**|=**Content**
672 |4085H|The read address of (s1) or (s2) exceeds the device range.
673 |408AH|The length of the read string of (s1) or (s2) exceeds the limit, and the continuous length of the string exceeds 400 characters.
674 |408BH|When (s1) or (s2) reading string, the maximum range of device is read, but 00H is not found as the end.
675 |4086H|(d) Write address exceeds the device range.
676
677 Example
678
679 (% style="text-align:center" %)
680 [[image:1709797544078-674.png||height="58" width="273"]]
681
682 After the string “12345” and string “abcde” are merged, the result is “12345abcde”.
683
684 (% style="text-align:center" %)
685 [[image:1709797565200-110.png]]
686
687
688 == **INSTR/string search** ==
689
690 ----
691
692 $+(P)
693
694 Start from the left (s3) character of the string data stored after device number specified in (s2), search the string data stored after the device number designated in (s1) and store the searched result in the device designated in (d).
695
696 -[ INSTR (s1) (s2) (d) (s3)]
697
698 Content, range and data type
699
700 |=**Parameter**|=**Content**|=**Range**|=**Data type**|=**Data type (label)**|=**Custom variable type**
701 |(s1)|Search string or the start number of device that stores the search string|-|String|ANYSTRING_SINGLE|~-~-
702 |(s2)|Searched string or the start number of device that stores the searched string|-|String|ANYSTRING_SINGLE|~-~-
703 |(d)|The start number of device that stores the search result|-|Signed BIN16 bits|ANY16|~-~-
704 |(s3)|Search start position|1 to 400|Signed BIN16 bits|ANY16|INT
705
706 Device used
707
708 |=**Instruction**|=**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
709 | | |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|**HSC(bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
710 |(% colspan="1" rowspan="4" %)INSTR|Parameter 1| | | | | | | | | | | | | | |●|●|●|●|●| | | | | |●|●
711 |Parameter 2| | | | | | | | | | | | | | |●|●|●|●|●| | | | | |●|●
712 |Parameter 3| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
713 |Parameter 4| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●| |●|●
714
715 Function
716
717 Start from the left (s3) character of the string data stored after device number specified in (s2), search the string data stored after the device number designated in (s1) and store the searched result in the device designated in (d). The search result will store the first xx character of the start character of the string data specified in (s2).
718
719 (% style="text-align:center" %)
720 [[image:1709797884541-826.png]]
721
722 If there is no consistent string data, 0 will be stored in (d).
723
724 When the search start position (s3) is “0”, no processing is performed. The searched string (s1) can directly designate the string.
725
726 (% style="text-align:center" %)
727 [[image:1709797925734-360.png]]
728
729 Error code
730
731 |=**Error code**|=**Content**
732 |4085H|The write address in (s1), (s2) and (s3) exceeds the device range.
733 |408AH|The length of the read string of (s1) and (s2) exceeds the limit, and the continuous length of the string exceeds 400 characters.
734 |408BH|When (s1) and (s2) reading the string, the maximum range of device is read, but 00H is not found as the end.
735 |4086H|(d) Write address exceeds the device range.
736 |4084H|(s3) <0 or (s3)>= string length
737
738 Example
739
740 (% style="text-align:center" %)
741 [[image:1709797967900-828.png]]
742
743 When searching “ef” string from the continuous string “abcdefg”, start searching from the first character and locate it at the 5th place.
744
745
746 == **ASC/ASCII data input** ==
747
748 ----
749
750 ASC
751
752 Instruction used to convert half-width/English numeric strings into ASCII codes. Used to select multiple messages for display in an external display.
753
754 -[ASC(s)|(d)]
755
756 Content, range and data type
757
758 |=**Parameter**|=**Content**|=**Range**|=**Data type**|=**Data type (label)**|=**Custom variable type**
759 |(s)|32-character half-width English numerals input by the computer|-|String (only ASCI code)|ANY_ASC|~-~-
760 |(d)|Start character device number that saves ASCII data|-|BIN16 bit|ANY16_S|~-~-
761
762 Device used
763
764 |=**Instruction**|=**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
765 | | |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|**HSC(bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
766 |(% colspan="1" rowspan="2" %)ASC|Parameter 1| | | | | | | | | | | | | | | | | | | | | | | | | |
767 |Parameter 2| | | | | | | | | | | | | | |●|●|●|●|●| | | | | |●|
768
769 Function
770
771 ~1. 16-bit operation (ASC)
772
773 •Convert half-width, English and numeric strings specified in (S) into ASCII codes and transmit them to (D).
774
775 (1) In (S), half-width characters of A ~~ Z, 0 ~~ 9 and symbols are processed. (Full-width strings are not processed.) When programming with a programming tool, enter a string.
776
777 (2) The converted ASCII code is stored in (D) every 2 charters/1 byte in the order of lower 8 bits and higher 8 bits.
778
779 2. Extended function
780
781 •After SM162 is set as ON, the extended function becomes valid; then convert half-width, English and numeric strings specified in (S) into ASCII codes and transmit them to the lower 8 bits of (D) (1 byte) in proper order.
782
783 Precautions
784
785 1.Occupied places of the device
786
787 (1) When the extended function is OFF, the number of characters occupied by D÷ 2 places (when it is not divisible, the decimal place is carried.)
788
789 (2) When the extended function is ON, the places occupied by D are the same as the number of characters occupied.
790
791 2. When using commands such as ASC, ASCI, BCC, CCD and CRC, the extended function sign bit SM161 is the sign bit commonly used for other commands.
792
793 When using the above commands and ASC commands, please note that the program SM161 ON or OFF is written in front of the ASC commands so as to avoid adverse impact.
794
795 Error code
796
797 |=**Error code**|=**Content**
798 |4085H|The output result of the read application command (s) exceeds the device range.
799 |4086H|The output result of the write application command (d) exceeds the device range.
800
801 Example
802
803 [[image:1709798266790-989.png||height="29" style="float:left" width="314"]]As shown in the following figure, the high byte of each variable is filled with 0 (hexadecimal):
804
805 |= |=(% colspan="2" %)**D**•|=**S**
806 | |**(High 8 bits)**|**(Low 8 bits)**|String
807 |[[image:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAbCAIAAAC1C5slAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADN0lEQVRIie2XX0hacRTHf169ZSKSWkG1l1G7D+4lGHdF7qGSiHoLepD21sZC6HE9hOBGQY2oB20Ek4wgerCXFgiBihiDYQa5zZmb5QalzLRAb8nVq5e7h1gz9f5z0Brs+3h+59zf53DPPedcAUVR4DYJ+tsAxfoPxCZ2oGw2G41GBZUKx3F+RBSNCIJYXl7u7++HIGhgYKDCfAGAIKivr89oNGIYRndXocoD+Xw+FEWFQuH4+PjS0lI4HObyrFJFIpHV1VW9Xl9TUyOXy9fX1ysBCgaDdXV1Op3u4OCgMo5SJRKJ6elpCIIsFgs/oFAo1NnZ2dPTg+N4oZ3Evn3w7lzKu+v7HI6lSd5Ys7OzMAxvbGzwABocHOzo6Ch930m7traoOhQPRswfMZ5YU1NTTU1NRdnSAnk8HpVKtba2VuqXtGtrQat+5+zi4uI8eRYJOIyP7wmAYsgazfMBSqVSCIIsLi5yAjIYDA0NDfl8mSuSdm0tQF58yvw2Zb+a1DBADB9+ZYthmMPhyOVyzExjY2NdXV10p9f6kN/vb2trEwqFnD7oqtahZ+3CkO3dDxIA4HQ6ZTJZb28vDMMkSTLEIQji9/spmhl6Dai+vl6tVnOiAQAASNp8txYkwvEsAMDlcl0dbG9vM4S1tLSgKEoQBDsQjuN2u50zECBzmTyAxSIIAKDRaK7s3d3dDFGBQCAYDFZXV7MDoShKUVQ6nebGk48HvqREd+43V10CJZPJra0tgiAEAgFD2MnJCRNxYUEdHR0pFAqj0cipqLH3z1sB/OjNd5YivqZYLCYWizc3N+kcivvQ6OgofR9qHllxut1ut8v+duXVk3YZqHr4cvecBw5FTU5OqlQqkqRtX8VAx8fHarVao9FkMplCe3FjhJVI99PXnjNefXFubg6GYZvNxuBTZpbt7+8rlUqdTnd4eMjnOiadnp7OzMxAEGQ2m5k9y0/7vb29q2k/Pz/v9Xq5lXkZLSwsTExMSCQSuVxutVpZ0Wn3oWw2a7FYhoeHpVLpn+xDEolEq9WaTKZUKsVKQ1GUgGL76yBJMh6PNzY2VkATj8cVCoVIJOIewg50w/oHl/wb1q0D+gkKChTjiTcXCQAAAABJRU5ErkJggg==]]|00|41|A
808 |[[image:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAbCAIAAAC1C5slAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADN0lEQVRIie2XX0hacRTHf169ZSKSWkG1l1G7D+4lGHdF7qGSiHoLepD21sZC6HE9hOBGQY2oB20Ek4wgerCXFgiBihiDYQa5zZmb5QalzLRAb8nVq5e7h1gz9f5z0Brs+3h+59zf53DPPedcAUVR4DYJ+tsAxfoPxCZ2oGw2G41GBZUKx3F+RBSNCIJYXl7u7++HIGhgYKDCfAGAIKivr89oNGIYRndXocoD+Xw+FEWFQuH4+PjS0lI4HObyrFJFIpHV1VW9Xl9TUyOXy9fX1ysBCgaDdXV1Op3u4OCgMo5SJRKJ6elpCIIsFgs/oFAo1NnZ2dPTg+N4oZ3Evn3w7lzKu+v7HI6lSd5Ys7OzMAxvbGzwABocHOzo6Ch930m7traoOhQPRswfMZ5YU1NTTU1NRdnSAnk8HpVKtba2VuqXtGtrQat+5+zi4uI8eRYJOIyP7wmAYsgazfMBSqVSCIIsLi5yAjIYDA0NDfl8mSuSdm0tQF58yvw2Zb+a1DBADB9+ZYthmMPhyOVyzExjY2NdXV10p9f6kN/vb2trEwqFnD7oqtahZ+3CkO3dDxIA4HQ6ZTJZb28vDMMkSTLEIQji9/spmhl6Dai+vl6tVnOiAQAASNp8txYkwvEsAMDlcl0dbG9vM4S1tLSgKEoQBDsQjuN2u50zECBzmTyAxSIIAKDRaK7s3d3dDFGBQCAYDFZXV7MDoShKUVQ6nebGk48HvqREd+43V10CJZPJra0tgiAEAgFD2MnJCRNxYUEdHR0pFAqj0cipqLH3z1sB/OjNd5YivqZYLCYWizc3N+kcivvQ6OgofR9qHllxut1ut8v+duXVk3YZqHr4cvecBw5FTU5OqlQqkqRtX8VAx8fHarVao9FkMplCe3FjhJVI99PXnjNefXFubg6GYZvNxuBTZpbt7+8rlUqdTnd4eMjnOiadnp7OzMxAEGQ2m5k9y0/7vb29q2k/Pz/v9Xq5lXkZLSwsTExMSCQSuVxutVpZ0Wn3oWw2a7FYhoeHpVLpn+xDEolEq9WaTKZUKsVKQ1GUgGL76yBJMh6PNzY2VkATj8cVCoVIJOIewg50w/oHl/wb1q0D+gkKChTjiTcXCQAAAABJRU5ErkJggg==]]+1|00|42|B
809 |[[image:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAbCAIAAAC1C5slAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADN0lEQVRIie2XX0hacRTHf169ZSKSWkG1l1G7D+4lGHdF7qGSiHoLepD21sZC6HE9hOBGQY2oB20Ek4wgerCXFgiBihiDYQa5zZmb5QalzLRAb8nVq5e7h1gz9f5z0Brs+3h+59zf53DPPedcAUVR4DYJ+tsAxfoPxCZ2oGw2G41GBZUKx3F+RBSNCIJYXl7u7++HIGhgYKDCfAGAIKivr89oNGIYRndXocoD+Xw+FEWFQuH4+PjS0lI4HObyrFJFIpHV1VW9Xl9TUyOXy9fX1ysBCgaDdXV1Op3u4OCgMo5SJRKJ6elpCIIsFgs/oFAo1NnZ2dPTg+N4oZ3Evn3w7lzKu+v7HI6lSd5Ys7OzMAxvbGzwABocHOzo6Ch930m7traoOhQPRswfMZ5YU1NTTU1NRdnSAnk8HpVKtba2VuqXtGtrQat+5+zi4uI8eRYJOIyP7wmAYsgazfMBSqVSCIIsLi5yAjIYDA0NDfl8mSuSdm0tQF58yvw2Zb+a1DBADB9+ZYthmMPhyOVyzExjY2NdXV10p9f6kN/vb2trEwqFnD7oqtahZ+3CkO3dDxIA4HQ6ZTJZb28vDMMkSTLEIQji9/spmhl6Dai+vl6tVnOiAQAASNp8txYkwvEsAMDlcl0dbG9vM4S1tLSgKEoQBDsQjuN2u50zECBzmTyAxSIIAKDRaK7s3d3dDFGBQCAYDFZXV7MDoShKUVQ6nebGk48HvqREd+43V10CJZPJra0tgiAEAgFD2MnJCRNxYUEdHR0pFAqj0cipqLH3z1sB/OjNd5YivqZYLCYWizc3N+kcivvQ6OgofR9qHllxut1ut8v+duXVk3YZqHr4cvecBw5FTU5OqlQqkqRtX8VAx8fHarVao9FkMplCe3FjhJVI99PXnjNefXFubg6GYZvNxuBTZpbt7+8rlUqdTnd4eMjnOiadnp7OzMxAEGQ2m5k9y0/7vb29q2k/Pz/v9Xq5lXkZLSwsTExMSCQSuVxutVpZ0Wn3oWw2a7FYhoeHpVLpn+xDEolEq9WaTKZUKsVKQ1GUgGL76yBJMh6PNzY2VkATj8cVCoVIJOIewg50w/oHl/wb1q0D+gkKChTjiTcXCQAAAABJRU5ErkJggg==]]+2|00|43|C
810 |[[image:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAbCAIAAAC1C5slAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADN0lEQVRIie2XX0hacRTHf169ZSKSWkG1l1G7D+4lGHdF7qGSiHoLepD21sZC6HE9hOBGQY2oB20Ek4wgerCXFgiBihiDYQa5zZmb5QalzLRAb8nVq5e7h1gz9f5z0Brs+3h+59zf53DPPedcAUVR4DYJ+tsAxfoPxCZ2oGw2G41GBZUKx3F+RBSNCIJYXl7u7++HIGhgYKDCfAGAIKivr89oNGIYRndXocoD+Xw+FEWFQuH4+PjS0lI4HObyrFJFIpHV1VW9Xl9TUyOXy9fX1ysBCgaDdXV1Op3u4OCgMo5SJRKJ6elpCIIsFgs/oFAo1NnZ2dPTg+N4oZ3Evn3w7lzKu+v7HI6lSd5Ys7OzMAxvbGzwABocHOzo6Ch930m7traoOhQPRswfMZ5YU1NTTU1NRdnSAnk8HpVKtba2VuqXtGtrQat+5+zi4uI8eRYJOIyP7wmAYsgazfMBSqVSCIIsLi5yAjIYDA0NDfl8mSuSdm0tQF58yvw2Zb+a1DBADB9+ZYthmMPhyOVyzExjY2NdXV10p9f6kN/vb2trEwqFnD7oqtahZ+3CkO3dDxIA4HQ6ZTJZb28vDMMkSTLEIQji9/spmhl6Dai+vl6tVnOiAQAASNp8txYkwvEsAMDlcl0dbG9vM4S1tLSgKEoQBDsQjuN2u50zECBzmTyAxSIIAKDRaK7s3d3dDFGBQCAYDFZXV7MDoShKUVQ6nebGk48HvqREd+43V10CJZPJra0tgiAEAgFD2MnJCRNxYUEdHR0pFAqj0cipqLH3z1sB/OjNd5YivqZYLCYWizc3N+kcivvQ6OgofR9qHllxut1ut8v+duXVk3YZqHr4cvecBw5FTU5OqlQqkqRtX8VAx8fHarVao9FkMplCe3FjhJVI99PXnjNefXFubg6GYZvNxuBTZpbt7+8rlUqdTnd4eMjnOiadnp7OzMxAEGQ2m5k9y0/7vb29q2k/Pz/v9Xq5lXkZLSwsTExMSCQSuVxutVpZ0Wn3oWw2a7FYhoeHpVLpn+xDEolEq9WaTKZUKsVKQ1GUgGL76yBJMh6PNzY2VkATj8cVCoVIJOIewg50w/oHl/wb1q0D+gkKChTjiTcXCQAAAABJRU5ErkJggg==]]+3|00|44|D
811 |[[image:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAbCAIAAAC1C5slAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADN0lEQVRIie2XX0hacRTHf169ZSKSWkG1l1G7D+4lGHdF7qGSiHoLepD21sZC6HE9hOBGQY2oB20Ek4wgerCXFgiBihiDYQa5zZmb5QalzLRAb8nVq5e7h1gz9f5z0Brs+3h+59zf53DPPedcAUVR4DYJ+tsAxfoPxCZ2oGw2G41GBZUKx3F+RBSNCIJYXl7u7++HIGhgYKDCfAGAIKivr89oNGIYRndXocoD+Xw+FEWFQuH4+PjS0lI4HObyrFJFIpHV1VW9Xl9TUyOXy9fX1ysBCgaDdXV1Op3u4OCgMo5SJRKJ6elpCIIsFgs/oFAo1NnZ2dPTg+N4oZ3Evn3w7lzKu+v7HI6lSd5Ys7OzMAxvbGzwABocHOzo6Ch930m7traoOhQPRswfMZ5YU1NTTU1NRdnSAnk8HpVKtba2VuqXtGtrQat+5+zi4uI8eRYJOIyP7wmAYsgazfMBSqVSCIIsLi5yAjIYDA0NDfl8mSuSdm0tQF58yvw2Zb+a1DBADB9+ZYthmMPhyOVyzExjY2NdXV10p9f6kN/vb2trEwqFnD7oqtahZ+3CkO3dDxIA4HQ6ZTJZb28vDMMkSTLEIQji9/spmhl6Dai+vl6tVnOiAQAASNp8txYkwvEsAMDlcl0dbG9vM4S1tLSgKEoQBDsQjuN2u50zECBzmTyAxSIIAKDRaK7s3d3dDFGBQCAYDFZXV7MDoShKUVQ6nebGk48HvqREd+43V10CJZPJra0tgiAEAgFD2MnJCRNxYUEdHR0pFAqj0cipqLH3z1sB/OjNd5YivqZYLCYWizc3N+kcivvQ6OgofR9qHllxut1ut8v+duXVk3YZqHr4cvecBw5FTU5OqlQqkqRtX8VAx8fHarVao9FkMplCe3FjhJVI99PXnjNefXFubg6GYZvNxuBTZpbt7+8rlUqdTnd4eMjnOiadnp7OzMxAEGQ2m5k9y0/7vb29q2k/Pz/v9Xq5lXkZLSwsTExMSCQSuVxutVpZ0Wn3oWw2a7FYhoeHpVLpn+xDEolEq9WaTKZUKsVKQ1GUgGL76yBJMh6PNzY2VkATj8cVCoVIJOIewg50w/oHl/wb1q0D+gkKChTjiTcXCQAAAABJRU5ErkJggg==]]+4|00|45|E
812 |[[image:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAbCAIAAAC1C5slAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADN0lEQVRIie2XX0hacRTHf169ZSKSWkG1l1G7D+4lGHdF7qGSiHoLepD21sZC6HE9hOBGQY2oB20Ek4wgerCXFgiBihiDYQa5zZmb5QalzLRAb8nVq5e7h1gz9f5z0Brs+3h+59zf53DPPedcAUVR4DYJ+tsAxfoPxCZ2oGw2G41GBZUKx3F+RBSNCIJYXl7u7++HIGhgYKDCfAGAIKivr89oNGIYRndXocoD+Xw+FEWFQuH4+PjS0lI4HObyrFJFIpHV1VW9Xl9TUyOXy9fX1ysBCgaDdXV1Op3u4OCgMo5SJRKJ6elpCIIsFgs/oFAo1NnZ2dPTg+N4oZ3Evn3w7lzKu+v7HI6lSd5Ys7OzMAxvbGzwABocHOzo6Ch930m7traoOhQPRswfMZ5YU1NTTU1NRdnSAnk8HpVKtba2VuqXtGtrQat+5+zi4uI8eRYJOIyP7wmAYsgazfMBSqVSCIIsLi5yAjIYDA0NDfl8mSuSdm0tQF58yvw2Zb+a1DBADB9+ZYthmMPhyOVyzExjY2NdXV10p9f6kN/vb2trEwqFnD7oqtahZ+3CkO3dDxIA4HQ6ZTJZb28vDMMkSTLEIQji9/spmhl6Dai+vl6tVnOiAQAASNp8txYkwvEsAMDlcl0dbG9vM4S1tLSgKEoQBDsQjuN2u50zECBzmTyAxSIIAKDRaK7s3d3dDFGBQCAYDFZXV7MDoShKUVQ6nebGk48HvqREd+43V10CJZPJra0tgiAEAgFD2MnJCRNxYUEdHR0pFAqj0cipqLH3z1sB/OjNd5YivqZYLCYWizc3N+kcivvQ6OgofR9qHllxut1ut8v+duXVk3YZqHr4cvecBw5FTU5OqlQqkqRtX8VAx8fHarVao9FkMplCe3FjhJVI99PXnjNefXFubg6GYZvNxuBTZpbt7+8rlUqdTnd4eMjnOiadnp7OzMxAEGQ2m5k9y0/7vb29q2k/Pz/v9Xq5lXkZLSwsTExMSCQSuVxutVpZ0Wn3oWw2a7FYhoeHpVLpn+xDEolEq9WaTKZUKsVKQ1GUgGL76yBJMh6PNzY2VkATj8cVCoVIJOIewg50w/oHl/wb1q0D+gkKChTjiTcXCQAAAABJRU5ErkJggg==]]+5|00|46|F
813 |[[image:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAbCAIAAAC1C5slAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADN0lEQVRIie2XX0hacRTHf169ZSKSWkG1l1G7D+4lGHdF7qGSiHoLepD21sZC6HE9hOBGQY2oB20Ek4wgerCXFgiBihiDYQa5zZmb5QalzLRAb8nVq5e7h1gz9f5z0Brs+3h+59zf53DPPedcAUVR4DYJ+tsAxfoPxCZ2oGw2G41GBZUKx3F+RBSNCIJYXl7u7++HIGhgYKDCfAGAIKivr89oNGIYRndXocoD+Xw+FEWFQuH4+PjS0lI4HObyrFJFIpHV1VW9Xl9TUyOXy9fX1ysBCgaDdXV1Op3u4OCgMo5SJRKJ6elpCIIsFgs/oFAo1NnZ2dPTg+N4oZ3Evn3w7lzKu+v7HI6lSd5Ys7OzMAxvbGzwABocHOzo6Ch930m7traoOhQPRswfMZ5YU1NTTU1NRdnSAnk8HpVKtba2VuqXtGtrQat+5+zi4uI8eRYJOIyP7wmAYsgazfMBSqVSCIIsLi5yAjIYDA0NDfl8mSuSdm0tQF58yvw2Zb+a1DBADB9+ZYthmMPhyOVyzExjY2NdXV10p9f6kN/vb2trEwqFnD7oqtahZ+3CkO3dDxIA4HQ6ZTJZb28vDMMkSTLEIQji9/spmhl6Dai+vl6tVnOiAQAASNp8txYkwvEsAMDlcl0dbG9vM4S1tLSgKEoQBDsQjuN2u50zECBzmTyAxSIIAKDRaK7s3d3dDFGBQCAYDFZXV7MDoShKUVQ6nebGk48HvqREd+43V10CJZPJra0tgiAEAgFD2MnJCRNxYUEdHR0pFAqj0cipqLH3z1sB/OjNd5YivqZYLCYWizc3N+kcivvQ6OgofR9qHllxut1ut8v+duXVk3YZqHr4cvecBw5FTU5OqlQqkqRtX8VAx8fHarVao9FkMplCe3FjhJVI99PXnjNefXFubg6GYZvNxuBTZpbt7+8rlUqdTnd4eMjnOiadnp7OzMxAEGQ2m5k9y0/7vb29q2k/Pz/v9Xq5lXkZLSwsTExMSCQSuVxutVpZ0Wn3oWw2a7FYhoeHpVLpn+xDEolEq9WaTKZUKsVKQ1GUgGL76yBJMh6PNzY2VkATj8cVCoVIJOIewg50w/oHl/wb1q0D+gkKChTjiTcXCQAAAABJRU5ErkJggg==]]+6|00|47|G
814 |[[image:data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAbCAIAAAC1C5slAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADN0lEQVRIie2XX0hacRTHf169ZSKSWkG1l1G7D+4lGHdF7qGSiHoLepD21sZC6HE9hOBGQY2oB20Ek4wgerCXFgiBihiDYQa5zZmb5QalzLRAb8nVq5e7h1gz9f5z0Brs+3h+59zf53DPPedcAUVR4DYJ+tsAxfoPxCZ2oGw2G41GBZUKx3F+RBSNCIJYXl7u7++HIGhgYKDCfAGAIKivr89oNGIYRndXocoD+Xw+FEWFQuH4+PjS0lI4HObyrFJFIpHV1VW9Xl9TUyOXy9fX1ysBCgaDdXV1Op3u4OCgMo5SJRKJ6elpCIIsFgs/oFAo1NnZ2dPTg+N4oZ3Evn3w7lzKu+v7HI6lSd5Ys7OzMAxvbGzwABocHOzo6Ch930m7traoOhQPRswfMZ5YU1NTTU1NRdnSAnk8HpVKtba2VuqXtGtrQat+5+zi4uI8eRYJOIyP7wmAYsgazfMBSqVSCIIsLi5yAjIYDA0NDfl8mSuSdm0tQF58yvw2Zb+a1DBADB9+ZYthmMPhyOVyzExjY2NdXV10p9f6kN/vb2trEwqFnD7oqtahZ+3CkO3dDxIA4HQ6ZTJZb28vDMMkSTLEIQji9/spmhl6Dai+vl6tVnOiAQAASNp8txYkwvEsAMDlcl0dbG9vM4S1tLSgKEoQBDsQjuN2u50zECBzmTyAxSIIAKDRaK7s3d3dDFGBQCAYDFZXV7MDoShKUVQ6nebGk48HvqREd+43V10CJZPJra0tgiAEAgFD2MnJCRNxYUEdHR0pFAqj0cipqLH3z1sB/OjNd5YivqZYLCYWizc3N+kcivvQ6OgofR9qHllxut1ut8v+duXVk3YZqHr4cvecBw5FTU5OqlQqkqRtX8VAx8fHarVao9FkMplCe3FjhJVI99PXnjNefXFubg6GYZvNxuBTZpbt7+8rlUqdTnd4eMjnOiadnp7OzMxAEGQ2m5k9y0/7vb29q2k/Pz/v9Xq5lXkZLSwsTExMSCQSuVxutVpZ0Wn3oWw2a7FYhoeHpVLpn+xDEolEq9WaTKZUKsVKQ1GUgGL76yBJMh6PNzY2VkATj8cVCoVIJOIewg50w/oHl/wb1q0D+gkKChTjiTcXCQAAAABJRU5ErkJggg==]]+7|00|48|H
815
816 When X20=ON, the assignment of D200~~D203 is shown as follows:
817
818 (% style="text-align:center" %)
819 [[image:1709798367205-556.png]]
820
821 When the special register SM161 is set as ON,
822
823 each ASCII character occupies one 16-bit variable after conversion.
824
825