Wiki source code of 12 Character String Instruction
Last modified by Wecon on 2025/09/03 21:03
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 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 |