Wiki source code of 05 Data processing
Last modified by Wecon on 2025/09/03 21:03
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | == **BCC/BIN16 and BIN8 bit data addition, subtraction and exclusive check** == |
| 2 | |||
| 3 | **BCC (P)** | ||
| 4 | |||
| 5 | Specify the calculation method of BCC in (S1), specify the destination start address in (S2), and specify the destination data length in (S3), and then store the operation result in the device specified in (D). | ||
| 6 | |||
| 7 | - [BCC (S1) (S2) (S3) (D)] | ||
| 8 | |||
| 9 | **Content, range and data type** | ||
| 10 | |||
| 11 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 12 | |(% style="text-align:center; vertical-align:middle" %)(S1)|16-bit constant or the calculation method of 16-bit regions (block check code)|(% style="text-align:center; vertical-align:middle" %)0 to 2|(% style="text-align:center; vertical-align:middle" %)BIN16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 13 | |(% style="text-align:center; vertical-align:middle" %)(S2)|Calculate the initial 16-bit regions of BCC|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)BIN16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 14 | |(% style="text-align:center; vertical-align:middle" %)(S3)|16-bit constant or 16-bit regions (specify the number of bytes calculated by BCC)|(% style="text-align:center; vertical-align:middle" %)0 to 32767|(% style="text-align:center; vertical-align:middle" %)BIN16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 15 | |(% style="text-align:center; vertical-align:middle" %)(D)|Stores 16-bit regions of BCC results|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)BIN16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 16 | |||
| 17 | **Device used** | ||
| 18 | |||
| 19 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 20 | **Offset modification** | ||
| 21 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 22 | **Pulse extension** | ||
| 23 | ))) | ||
| 24 | |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 25 | |(% rowspan="4" style="text-align:center; vertical-align:middle" %)BCC|(% style="text-align:center; vertical-align:middle" %)(S1)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 26 | |(% style="text-align:center; vertical-align:middle" %)(S2)|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 27 | |(% style="text-align:center; vertical-align:middle" %)(S3)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 28 | |(% style="text-align:center; vertical-align:middle" %)(D)|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 29 | |||
| 30 | **Features** | ||
| 31 | |||
| 32 | According to the calculation method specified by S1, starting from the 16-bit data specified by S2, calculate the ASCII block check code (BCC) of the number of bytes specified by S3, and then store the result of BCC code in the low byte of 16-bit data specified by D. | ||
| 33 | |||
| 34 | S1: Specify the calculation method of BCC. | ||
| 35 | |||
| 36 | K0: Addition operation | ||
| 37 | |||
| 38 | K1: Subtraction operation | ||
| 39 | |||
| 40 | K2: Exclusive or operation | ||
| 41 | |||
| 42 | S2 and s3: Specify the destination data | ||
| 43 | |||
| 44 | For example, if the destination is the 12 bytes data starting from D0, the settings are as below. | ||
| 45 | |||
| 46 | S2: D0 | ||
| 47 | |||
| 48 | S3: K12 (specify the data by decimal) | ||
| 49 | |||
| 50 | The modes used in the calculation of this instruction are 16-bit conversion mode and 8-bit conversion mode. For the actions of each mode, refer to the followings. | ||
| 51 | |||
| 52 | (1) 16-bit conversion mode (When SM161 is OFF) | ||
| 53 | |||
| 54 | Calculate the high 8-bit (byte) and low 8-bit (byte) of device that started from (S2) and specify the byte length by (S3), and store the low 8-bit of device specified by (D). The conversion result is as below. | ||
| 55 | |||
| 56 | (% style="text-align:center" %) | ||
| 57 | [[image:07-2 Basic instructions_html_8cb7ada16163d6a7.png]] | ||
| 58 | |||
| 59 | (2) 8-bit conversion mode (When SM161 is ON) | ||
| 60 | |||
| 61 | Calculate the low 8-bit (byte) of device that started from (S2) and specify the byte length by (S3), and store the low 8-bit of device specified by (D). The conversion result is as below. | ||
| 62 | |||
| 63 | (% style="text-align:center" %) | ||
| 64 | [[image:07-2 Basic instructions_html_310b05f64338abad.png]] | ||
| 65 | |||
| 66 | **Error code** | ||
| 67 | |||
| 68 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 69 | |(% style="text-align:center; vertical-align:middle" %)4084H|The read application instructions (S1) and (S3) input the data that exceeds the specified range | ||
| 70 | |(% style="text-align:center; vertical-align:middle" %)4085H|The device specified in the read application instructions (S1), (S2) and (S3) exceeds the corresponding device range | ||
| 71 | |(% style="text-align:center; vertical-align:middle" %)4086H|The device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 72 | |||
| 73 | **Example** | ||
| 74 | |||
| 75 | (% style="text-align:center" %) | ||
| 76 | [[image:07-2 Basic instructions_html_26b1cac4afae1305.png]] | ||
| 77 | |||
| 78 | When the trigger M0 is ON, calculate the a block check code (BCC) of 12-bit bytes of ASCII data starting from data register D0 by “exclusive or operation”. The block check code (BCC) is stored in the low bit byte of data register D6. | ||
| 79 | |||
| 80 | **Application example** | ||
| 81 | |||
| 82 | In the example ,calculate the BCC code and send as information after adding to the string “%01→RC”. | ||
| 83 | |||
| 84 | The data transmission is carried out in the form of ASCII codes. | ||
| 85 | |||
| 86 | CC calculations use logical exclusive OR, addition, and subtraction. | ||
| 87 | |||
| 88 | The information is stored as follows: | ||
| 89 | |||
| 90 | |(% style="text-align:center; vertical-align:middle" %)**Data register**|(% style="text-align:center; vertical-align:middle" %)D6|(% style="text-align:center; vertical-align:middle" %)D2|(% style="text-align:center; vertical-align:middle" %)D1|(% style="text-align:center; vertical-align:middle" %)D0 | ||
| 91 | |(% style="text-align:center; vertical-align:middle" %)**ASCII hexadecimal code**|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)4 3 5 2|(% style="text-align:center; vertical-align:middle" %)2 3 3 1|(% style="text-align:center; vertical-align:middle" %)3 0 2 5 | ||
| 92 | |(% style="text-align:center; vertical-align:middle" %)**ASCII code**|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)C R|(% style="text-align:center; vertical-align:middle" %)# 1|(% style="text-align:center; vertical-align:middle" %)0 % | ||
| 93 | |||
| 94 | D6: BCC check code | ||
| 95 | |||
| 96 | D2 to D0: 6 byte | ||
| 97 | |||
| 98 | BCC instruction is as below: | ||
| 99 | |||
| 100 | (% style="text-align:center" %) | ||
| 101 | [[image:07-2 Basic instructions_html_495775c10e5895c7.png]] | ||
| 102 | |||
| 103 | S1(K2): logic exclusive OR | ||
| 104 | |||
| 105 | S2(D0): The start of destination data | ||
| 106 | |||
| 107 | S3(K6): destination data lengt | ||
| 108 | |||
| 109 | D(D6): calculation result | ||
| 110 | |||
| 111 | **Execution or operation** | ||
| 112 | |||
| 113 | |(% style="text-align:center; vertical-align:middle" %)**a**|(% style="text-align:center; vertical-align:middle" %)**b**|(% style="text-align:center; vertical-align:middle" %)**OR result** | ||
| 114 | |(% style="text-align:center; vertical-align:middle" %)0|(% style="text-align:center; vertical-align:middle" %)0|(% style="text-align:center; vertical-align:middle" %)0 | ||
| 115 | |(% style="text-align:center; vertical-align:middle" %)0|(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)1 | ||
| 116 | |(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)0|(% style="text-align:center; vertical-align:middle" %)1 | ||
| 117 | |(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)0 | ||
| 118 | |||
| 119 | After the execution BCC code is stored in the last byte of D6. | ||
| 120 | |||
| 121 | How to calculate block check code (BCC) | ||
| 122 | |||
| 123 | Calculate block check code (BCD) with XOR for each ASCII code. | ||
| 124 | |||
| 125 | (% style="text-align:center" %) | ||
| 126 | [[image:07-2 Basic instructions_html_632af1db3189c584.gif||height="411" width="750"]] | ||
| 127 | |||
| 128 | BCC code | ||
| 129 | |||
| 130 | |(% style="text-align:center; vertical-align:middle" %)**ASCII hexadecimal code**|(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %) 6 | ||
| 131 | |(% style="text-align:center; vertical-align:middle" %)**ASCII binary code**|(% style="text-align:center; vertical-align:middle" %)0 0 0 1|(% style="text-align:center; vertical-align:middle" %)0 1 1 0 | ||
| 132 | |||
| 133 | ((( | ||
| 134 | The calculation result is stored in the low bit byte of D6 | ||
| 135 | ))) | ||
| 136 | |||
| 137 | == **MAX/BIN16 bit the maximum value of 16-bit data** == | ||
| 138 | |||
| 139 | **MAX (P)** | ||
| 140 | |||
| 141 | Specify the destination start address in (S1), and specify the destination end address in (S2), and then store the operation result in the device specified in (D). | ||
| 142 | |||
| 143 | - [MAX (S1) (S2) (D)] | ||
| 144 | |||
| 145 | **Content, range and data type** | ||
| 146 | |||
| 147 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 148 | |(% style="text-align:center; vertical-align:middle" %)(S1)|Device that stores the start address when getting the max data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 149 | |(% style="text-align:center; vertical-align:middle" %)(S2)|Device that stores the end address when getting the max data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 150 | |(% style="text-align:center; vertical-align:middle" %)(D)|Stores the max value between the device data of (S1) and (S2)|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 151 | |||
| 152 | **Device used** | ||
| 153 | |||
| 154 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="5" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 155 | **Offset modification** | ||
| 156 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 157 | **Pulse extension** | ||
| 158 | ))) | ||
| 159 | |(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 160 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)MAX|(% style="text-align:center; vertical-align:middle" %)(S1)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 161 | |(% style="text-align:center; vertical-align:middle" %)(S2)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 162 | |(% style="text-align:center; vertical-align:middle" %)(D)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 163 | |||
| 164 | (% class="box infomessage" %) | ||
| 165 | ((( | ||
| 166 | ✎**Note** | ||
| 167 | |||
| 168 | ~1. The devices specified by (S1) and (S2) should be the same type. The type of device (D) that gets the results could be different. | ||
| 169 | |||
| 170 | 2. The device size specified by (S1) can’t exceed the device size specified by (S2). For example, MAX D1 D5 D10 works, but MAX D5 D1 D10 doesn't. | ||
| 171 | ))) | ||
| 172 | |||
| 173 | **Error code** | ||
| 174 | |||
| 175 | **Features** | ||
| 176 | |||
| 177 | Use the BIN16 bit data specified in (S1) as the start address, and use the BIN16 bit data specified in (S2) as the end address to get the maximum value between the device of (S1) and (S2). | ||
| 178 | |||
| 179 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 180 | |(% style="text-align:center; vertical-align:middle" %)4084H|The read application instructions (S1) and (S2) input the data that exceeds the specified range | ||
| 181 | |(% style="text-align:center; vertical-align:middle" %)4085H|The device specified in the read application instructions (S1) and (S2) exceeds the device range | ||
| 182 | |(% style="text-align:center; vertical-align:middle" %)4086H|The device specified in the write application instruction (D) exceeds the device range | ||
| 183 | |(% style="text-align:center; vertical-align:middle" %)4093H|The specified ranges (S1) and (S2) are not the same device | ||
| 184 | |(% style="text-align:center; vertical-align:middle" %)4094H|The sequence of specified ranges (S1) and (S2) is abnormal | ||
| 185 | |||
| 186 | **Example** | ||
| 187 | |||
| 188 | (% style="text-align:center" %) | ||
| 189 | [[image:07-2 Basic instructions_html_a388b58f840bcae9.png]] | ||
| 190 | |||
| 191 | Use (D1) as the start address, and use (D5) as the end address to get the max value between them and store the result in (D6). As the figure above, the max value between (D1) and (D5) is the value in (D3) which is stored in (D6) for output. | ||
| 192 | |||
| 193 | == **DMAX/BIN32 bit the maximum value of 32-bit data** == | ||
| 194 | |||
| 195 | **DMAX (P)** | ||
| 196 | |||
| 197 | Specify the destination start address in (S1), and specify the destination end address in (S2), and then store the operation result in the device specified in (D). | ||
| 198 | |||
| 199 | - [DMAX (S1) (S2) (D)] | ||
| 200 | |||
| 201 | **Content, range and data type** | ||
| 202 | |||
| 203 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 204 | |(% style="text-align:center; vertical-align:middle" %)(S1)|Device that stores the start address when getting the max data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S | ||
| 205 | |(% style="text-align:center; vertical-align:middle" %)(S2)|Device that stores the end address when getting the max data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S | ||
| 206 | |(% style="text-align:center; vertical-align:middle" %)(D)|Stores the max value between the device data of (S1) and (S2)|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN32|(% style="text-align:center; vertical-align:middle" %)ANY32_S | ||
| 207 | |||
| 208 | **Device used** | ||
| 209 | |||
| 210 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="7" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 211 | **Offset modification** | ||
| 212 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 213 | **Pulse extension** | ||
| 214 | ))) | ||
| 215 | |(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 216 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DMAX|(% style="text-align:center; vertical-align:middle" %)(S1)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 217 | |(% style="text-align:center; vertical-align:middle" %)(S2)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 218 | |(% style="text-align:center; vertical-align:middle" %)(D)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 219 | |||
| 220 | **Features** | ||
| 221 | |||
| 222 | Use the BIN32 bit data specified in (S1) as the start address, and use the BIN32 bit data specified in (S2) as the end address to get the maximum value between the device of (S1) and (S2). | ||
| 223 | |||
| 224 | ✎**Note** | ||
| 225 | |||
| 226 | ~1. The devices specified by (S1) and (S2) should be the same type. The type of device (D) that gets the results could be different. | ||
| 227 | |||
| 228 | 2. The device size specified by (S1) can’t exceed the device size specified by (S2). For example, DMAX D1 D5 D10 works, but DMAX D5 D1 D10 doesn't. | ||
| 229 | |||
| 230 | **Error code** | ||
| 231 | |||
| 232 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 233 | |(% style="text-align:center; vertical-align:middle" %)4084H|The read application instructions (S1) and (S2) input the data that exceeds the speicified range | ||
| 234 | |(% style="text-align:center; vertical-align:middle" %)4085H|The device specified in the read application instructions (s1) and (S2) exceeds the device range | ||
| 235 | |(% style="text-align:center; vertical-align:middle" %)4086H|The device specified in the write application instruction (D) exceeds the device range | ||
| 236 | |(% style="text-align:center; vertical-align:middle" %)4093H|The specified ranges (S1) and (S2) are not the same device | ||
| 237 | |(% style="text-align:center; vertical-align:middle" %)4094H|The sequence of specified ranges (S1) and (S2) is abnormal | ||
| 238 | |||
| 239 | **Example** | ||
| 240 | |||
| 241 | ((( | ||
| 242 | Use (D1) as the start address, and use (D7) as the end address to get the max value between them and store the result in (D9). As the figure above, the max value between (D1) and (D7) is the value in (D7) which is stores in (D9) for output. | ||
| 243 | |||
| 244 | (% style="text-align:center" %) | ||
| 245 | [[image:07-2 Basic instructions_html_48178d8f933d20cb.png]] | ||
| 246 | ))) | ||
| 247 | |||
| 248 | == **MIN/BIN16 bit the minimum value of 16-bit data** == | ||
| 249 | |||
| 250 | **MIN (P)** | ||
| 251 | |||
| 252 | Specify the destination start address in (S1), and specify the destination end address in (S2), and then store the operation result in the device specified in (D). | ||
| 253 | |||
| 254 | - [MIN (S1) (S2) (D)] | ||
| 255 | |||
| 256 | **Content, range and data type** | ||
| 257 | |||
| 258 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 259 | |(% style="text-align:center; vertical-align:middle" %)(S1)|Device that stores the start address when getting the minimum data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 260 | |(% style="text-align:center; vertical-align:middle" %)(S2)|Device that stores the end address when getting the minimum data|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 261 | |(% style="text-align:center; vertical-align:middle" %)(D)|Stores the minimum value between the device data of (S1) and (S2)|(% style="text-align:center; vertical-align:middle" %)-32768 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 262 | |||
| 263 | **Device used** | ||
| 264 | |||
| 265 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="5" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 266 | **Offset modification** | ||
| 267 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 268 | **Pulse extension** | ||
| 269 | ))) | ||
| 270 | |(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 271 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)MIN|(% style="text-align:center; vertical-align:middle" %)(S1)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 272 | |(% style="text-align:center; vertical-align:middle" %)(S2)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 273 | |(% style="text-align:center; vertical-align:middle" %)(D)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 274 | |||
| 275 | **Features** | ||
| 276 | |||
| 277 | Use the BIN16 bit data specified in (S1) as the start address, and use the BIN16 bit data specified in (S2) as the end address to get the maximum value between the device of (S1) and (S2). | ||
| 278 | |||
| 279 | ✎**Note** | ||
| 280 | |||
| 281 | ~1. The devices specified by (S1) and (S2) should be the same type. The type of device (D) that gets the results could be different. | ||
| 282 | |||
| 283 | 2. The device size specified by (S1) can’t exceed the device size specified by (S2). For example, MAX D1 D5 D10 works, but MAX D5 D1 D10 doesn't. | ||
| 284 | |||
| 285 | **Error code** | ||
| 286 | |||
| 287 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 288 | |(% style="text-align:center; vertical-align:middle" %)4084H|The read application instructions (S1) and (S2) input the data that exceeds the specified range | ||
| 289 | |(% style="text-align:center; vertical-align:middle" %)4085H|The device specified in the read application instructions (S1) and (S2) exceeds the device range | ||
| 290 | |(% style="text-align:center; vertical-align:middle" %)4086H|The device specified in the write application instruction (D) exceeds the device range | ||
| 291 | |(% style="text-align:center; vertical-align:middle" %)4093H|The specified ranges (S1) and (S2) are not the same device | ||
| 292 | |(% style="text-align:center; vertical-align:middle" %)4094H|The sequence of specified ranges (S1) and (S2) is abnormal | ||
| 293 | |||
| 294 | **Example** | ||
| 295 | |||
| 296 | ((( | ||
| 297 | Use (D1) as the start address, and use (D5) as the end address to get the max value between them and store the result in (D6). As the figure above, the max value between (D1) and (D5) is the value in (D3) which is stored in (D6) for output. | ||
| 298 | |||
| 299 | (% style="text-align:center" %) | ||
| 300 | [[image:07-2 Basic instructions_html_a388b58f840bcae9.png]] | ||
| 301 | ))) | ||
| 302 | |||
| 303 | == **DMIN/BIN32 bit the minimum value of 32-bit data** == | ||
| 304 | |||
| 305 | **DMIN (P)** | ||
| 306 | |||
| 307 | Specify the destination start address in (S1), and specify the destination end address in (S2), and then store the operation result in the device specified in (D). | ||
| 308 | |||
| 309 | - [DMIN (S1) (S2) (D)] | ||
| 310 | |||
| 311 | **Content, range and data type** | ||
| 312 | |||
| 313 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 314 | |(% style="text-align:center; vertical-align:middle" %)(S1)|Device that stores the start address when getting the minimum data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 315 | |(% style="text-align:center; vertical-align:middle" %)(S2)|Device that stores the end address when getting the minimum data|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 316 | |(% style="text-align:center; vertical-align:middle" %)(D)|Stores the minimum value between the device data of (S1) and (S2)|(% style="text-align:center; vertical-align:middle" %)-2147483648 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN16|(% style="text-align:center; vertical-align:middle" %)ANY16_S | ||
| 317 | |||
| 318 | **Device used** | ||
| 319 | |||
| 320 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="5" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 321 | **Offset modification** | ||
| 322 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 323 | **Pulse extension** | ||
| 324 | ))) | ||
| 325 | |(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 326 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DMIN|(% style="text-align:center; vertical-align:middle" %)(S1)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 327 | |(% style="text-align:center; vertical-align:middle" %)(S2)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 328 | |(% style="text-align:center; vertical-align:middle" %)(D)|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 329 | |||
| 330 | **Features** | ||
| 331 | |||
| 332 | Use the BIN32 bit data specified in (S1) as the start address, and use the BIN32 bit data specified in (S2) as the end address to get the maximum value between the device of (S1) and (S2). | ||
| 333 | |||
| 334 | ✎**Note** | ||
| 335 | |||
| 336 | ~1. The devices specified by (S1) and (S2) should be the same type. The type of device (D) that gets the results could be different. | ||
| 337 | |||
| 338 | 2. The device size specified by (S1) can’t exceed the device size specified by (S2). For example, MAX D1 D5 D10 works, but MAX D5 D1 D10 doesn't. | ||
| 339 | |||
| 340 | **Error code** | ||
| 341 | |||
| 342 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 343 | |(% style="text-align:center; vertical-align:middle" %)4084H|The read application instructions (S1) and (S2) input the data that exceeds the specified range | ||
| 344 | |(% style="text-align:center; vertical-align:middle" %)4085H|The device specified in the read application instructions (S1) and (S2) exceeds the device range | ||
| 345 | |(% style="text-align:center; vertical-align:middle" %)4086H|The device specified in the write application instruction (D) exceeds the device range | ||
| 346 | |(% style="text-align:center; vertical-align:middle" %)4093H|The specified ranges (S1) and (S2) are not the same device | ||
| 347 | |(% style="text-align:center; vertical-align:middle" %)4094H|The sequence of specified ranges (S1) and (S2) is abnormal | ||
| 348 | |||
| 349 | **Example** | ||
| 350 | |||
| 351 | ((( | ||
| 352 | Use (D1) as the start address, and use (D5) as the end address to get the max value between them and store the result in (D6). As the figure above, the max value between (D1) and (D5) is the value in (D3) which is stored in (D6) for output. | ||
| 353 | |||
| 354 | (% style="text-align:center" %) | ||
| 355 | [[image:07-2 Basic instructions_html_a388b58f840bcae9.png]] | ||
| 356 | ))) | ||
| 357 | |||
| 358 | == **ANS/alarm settings** == | ||
| 359 | |||
| 360 | **ANS(P)** | ||
| 361 | |||
| 362 | Used to set alarm instructions. | ||
| 363 | |||
| 364 | -[ANS (S) (N) (D)] | ||
| 365 | |||
| 366 | **Content, range and data type** | ||
| 367 | |||
| 368 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 369 | |(% style="text-align:center; vertical-align:middle" %)(S)|Timer number for judging time|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 370 | |(% style="text-align:center; vertical-align:middle" %)(N)|Data that judges time|(% style="text-align:center; vertical-align:middle" %)1 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 371 | |(% style="text-align:center; vertical-align:middle" %)(D)|The set alarm device|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANY16_BOOL | ||
| 372 | |||
| 373 | **Device used** | ||
| 374 | |||
| 375 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="12" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 376 | **Offset modification** | ||
| 377 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 378 | **Pulse extension** | ||
| 379 | ))) | ||
| 380 | |(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 381 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)ANS|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 382 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 383 | |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 384 | |||
| 385 | **Features** | ||
| 386 | |||
| 387 | When the instruction input continues to be ON for the judgment time [(N)×100ms, timer (S)], set (D). If the instruction time turns off below the judgment time [(N)×100ms], the current value of the judgment timer (S) is reset, and (D) is not set. In addition, if the instruction input turns off, the judgment timer will be reset. | ||
| 388 | |||
| 389 | (% style="text-align:center" %) | ||
| 390 | [[image:07-2 Basic instructions_html_cc92e9a1f43558bd.png]] | ||
| 391 | |||
| 392 | (% style="text-align:center" %) | ||
| 393 | [[image:07-2 Basic instructions_html_e332fbc503049d2f.png]] | ||
| 394 | |||
| 395 | ~1. Judge the time ((N)X 100ms or less) | ||
| 396 | |||
| 397 | 2. Judgment time or more (inclusive) ((N) X 100ms or more (inclusive)) | ||
| 398 | |||
| 399 | **Related device** | ||
| 400 | |||
| 401 | |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 402 | |(% style="text-align:center; vertical-align:middle" %)SM249|Signal alarm is valid|After SM249 is ON, the following SM248 and SD249 act. | ||
| 403 | |(% style="text-align:center; vertical-align:middle" %)SM248|Signal alarm action|SM249 is ON, when any one of the states S900 to S999 is active, SM248 is ON | ||
| 404 | |(% style="text-align:center; vertical-align:middle" %)SD249|Signal alarm ON state minimum number|Save the smallest number of actions in S900 to S999. | ||
| 405 | |||
| 406 | **Error code** | ||
| 407 | |||
| 408 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 409 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)4084H|The value specified in (N1) and (N2) exceeds the range of 0 to 32767 | ||
| 410 | |The timer number is not in the range of T0 to T199. | ||
| 411 | |The signal alarm is not in the range of S900 to S999. | ||
| 412 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instructions (S) and (N) exceeds the corresponding device range | ||
| 413 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 414 | |||
| 415 | **Example** | ||
| 416 | |||
| 417 | The fault number is displayed by the signal alarm. | ||
| 418 | |||
| 419 | ((( | ||
| 420 | Monitoring is effective after SM249 is turned ON | ||
| 421 | |||
| 422 | As shown below, when you write a program for diagnosing external faults, such as monitoring the content of SM249 (the smallest number in the ON state), the smallest number in the ON state among S900 to S999 will be displayed. When multiple faults occur at the same time, the next fault number can be obtained after eliminating the fault with the smallest number. | ||
| 423 | ))) | ||
| 424 | |||
| 425 | ((( | ||
| 426 | Detect X1 for 2 seconds, turn ON, set S900 | ||
| 427 | |||
| 428 | X4 is detected for 1 second, turn ON, set S901 | ||
| 429 | |||
| 430 | SM248 will act after any one of S900 to S999 is ON, and the output fault display YY6 will act | ||
| 431 | |||
| 432 | Display the fault number to the D0 device | ||
| 433 | |||
| 434 | Through the external fault diagnosis program, use the reset button M0 to turn off the activated state. Each time M0 turns ON, the action status of the new number is set in turn, and the new number that is already ON is reset. | ||
| 435 | |||
| 436 | (% style="text-align:center" %) | ||
| 437 | [[image:07-2 Basic instructions_html_da49122879984485.png]] | ||
| 438 | ))) | ||
| 439 | |||
| 440 | == **ANR/Alarm reset** == | ||
| 441 | |||
| 442 | **ANR(P)** | ||
| 443 | |||
| 444 | The instruction to reset the small number that is ON in the alarm. | ||
| 445 | |||
| 446 | -[ANR] | ||
| 447 | |||
| 448 | **Content, range and data type** | ||
| 449 | |||
| 450 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 451 | |(% style="text-align:center; vertical-align:middle" %)No|(% style="text-align:center; vertical-align:middle" %)No parameter setting|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)- | ||
| 452 | |||
| 453 | **Device used** | ||
| 454 | |||
| 455 | (% style="width:1493px" %) | ||
| 456 | |(% rowspan="2" style="text-align:center; vertical-align:middle; width:71px" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle; width:114px" %)**Parameter**|(% colspan="24" style="text-align:center; vertical-align:middle; width:988px" %)**Devices**|(% style="text-align:center; vertical-align:middle; width:157px" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 457 | **Pulse extension** | ||
| 458 | ))) | ||
| 459 | |(% style="text-align:center; vertical-align:middle; width:75px" %)**X**|(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**T(bit)**|(% style="text-align:center; vertical-align:middle" %)**C(bit)**|(% style="text-align:center; vertical-align:middle" %)**LC(bit)**|(% style="text-align:center; vertical-align:middle" %)**HSC(bit)**|(% style="text-align:center; vertical-align:middle" %)**D.b**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle; width:1px" %)**E**|(% style="text-align:center; vertical-align:middle; width:157px" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 460 | |(% style="text-align:center; vertical-align:middle; width:71px" %)ANR|(% style="text-align:center; vertical-align:middle; width:114px" %)No|(% colspan="26" style="text-align:center; vertical-align:middle; width:1353px" %)No object device | ||
| 461 | |||
| 462 | **Features** | ||
| 463 | |||
| 464 | If the instruction input is ON, reset the active alarm in the alarm. | ||
| 465 | |||
| 466 | If multiple alarms are operating, reset the smaller number. If the input instruction is turned ON again, the next small number in the alarm that is operating will be reset. | ||
| 467 | |||
| 468 | (% style="text-align:center" %) | ||
| 469 | [[image:07-2 Basic instructions_html_878efe4b5d9b7937.png]] | ||
| 470 | |||
| 471 | **Related device** | ||
| 472 | |||
| 473 | |(% style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Name**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 474 | |(% style="text-align:center; vertical-align:middle" %)SM249|Signal alarm is valid|After SM249 is ON, the following SM248 and SD249 act. | ||
| 475 | |(% style="text-align:center; vertical-align:middle" %)SM248|Signal alarm action|SM249 is ON, when any one of the states S900 to S999 is active, SM248 is ON. | ||
| 476 | |(% style="text-align:center; vertical-align:middle" %)SD249|Signal alarm ON state minimum number|Save the smallest number of actions in S900 to S999. | ||
| 477 | |||
| 478 | ✎**Note: ** | ||
| 479 | |||
| 480 | If you use the ANR instruction, reset in sequence every cycle. | ||
| 481 | |||
| 482 | If the ANRP instruction is used, it will be executed in only one operation cycle. | ||
| 483 | |||
| 484 | **Error code** | ||
| 485 | |||
| 486 | No operation error. | ||
| 487 | |||
| 488 | **Example** | ||
| 489 | |||
| 490 | The fault number is displayed by the signal alarm. | ||
| 491 | |||
| 492 | As shown below, when you write a program for diagnosing external faults, such as monitoring the content of SM249 (the smallest number in the ON state), the smallest number in the ON state among S900 to S999 will be displayed. When multiple faults occur at the same time, the next fault number can be obtained after eliminating the fault with the smallest number. | ||
| 493 | |||
| 494 | ((( | ||
| 495 | Monitoring is effective after SM249 is turned ON | ||
| 496 | |||
| 497 | Detect X1 for 2 seconds, turn ON, set S900 | ||
| 498 | |||
| 499 | X4 is detected for 1 second, turn ON, set S901 | ||
| 500 | |||
| 501 | SM248 will act after any one of S900 to S999 is ON, and the output fault display YY6 will act | ||
| 502 | |||
| 503 | Display the fault number to the D0 device | ||
| 504 | |||
| 505 | Through the external fault diagnosis program, use the reset button M0 to turn off the activated state. Each time M0 turns ON, the action status of the new number is set in turn, and the new number that is already ON is reset. | ||
| 506 | |||
| 507 | (% style="text-align:center" %) | ||
| 508 | [[image:07-2 Basic instructions_html_da49122879984485.png]] | ||
| 509 | ))) | ||
| 510 | |||
| 511 | == **BON/16-bit data bit judgment** == | ||
| 512 | |||
| 513 | **BON(P)** | ||
| 514 | |||
| 515 | Check whether the state of the BIN 16-bit data (N) bit of the device specified in (S) is ON or OFF, and output the result to the device specified in (D). | ||
| 516 | |||
| 517 | -[BON (S) (N) (D)] | ||
| 518 | |||
| 519 | **Content, range and data type** | ||
| 520 | |||
| 521 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 522 | |(% style="text-align:center; vertical-align:middle" %)(S)|Data storage destination word device number|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 523 | |(% style="text-align:center; vertical-align:middle" %)(D)|Bit device number of drive|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANY16_BOOL | ||
| 524 | |(% style="text-align:center; vertical-align:middle" %)(N)|The position of the bit to be judged|(% style="text-align:center; vertical-align:middle" %)0 to 15|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 525 | |||
| 526 | **Device used** | ||
| 527 | |||
| 528 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="16" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 529 | **Offset modification** | ||
| 530 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 531 | **Pulse extension** | ||
| 532 | ))) | ||
| 533 | |(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**D.b**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 534 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)BON|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 535 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 536 | |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 537 | |||
| 538 | **Features** | ||
| 539 | |||
| 540 | Check whether the state of the BIN 16-bit data (N) bit of the device specified in (S) is ON or OFF, and output the result to the device specified in (D). | ||
| 541 | |||
| 542 | If the above result is ON, then (D)=ON, if it is OFF, then (D)=OFF. | ||
| 543 | |||
| 544 | If a constant (K) is specified in the device specified in (S), it will be automatically converted to BIN. | ||
| 545 | |||
| 546 | (% style="text-align:center" %) | ||
| 547 | [[image:07-2 Basic instructions_html_3b129068b54a368f.png||height="169" width="750"]] | ||
| 548 | |||
| 549 | **Error code** | ||
| 550 | |||
| 551 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 552 | |(% style="text-align:center; vertical-align:middle" %)4084H|The data input in (N) exceeds the specified range of 0 to 15. | ||
| 553 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instructions (S) and (N) exceeds the corresponding device range | ||
| 554 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 555 | |||
| 556 | **Example** | ||
| 557 | |||
| 558 | (% style="text-align:center" %) | ||
| 559 | [[image:07-2 Basic instructions_html_901a83d57e680bcb.png]] | ||
| 560 | |||
| 561 | When n in D0 = the third bit is 1 (ON), M0 is set to 1 (ON). | ||
| 562 | |||
| 563 | (% style="text-align:center" %) | ||
| 564 | [[image:07-2 Basic instructions_html_b667504fab3e5a62.png]] | ||
| 565 | |||
| 566 | == **DBON/32-bit data bit judgment** == | ||
| 567 | |||
| 568 | **DBON(P)** | ||
| 569 | |||
| 570 | Check whether the state of the BIN 32-bit data (N) bit of the device specified in (S) is ON or OFF, and output the result to the device specified in (D). | ||
| 571 | |||
| 572 | -[DBON (S) (N) (D)] | ||
| 573 | |||
| 574 | **Content, range and data type** | ||
| 575 | |||
| 576 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 577 | |(% style="text-align:center; vertical-align:middle" %)(S)|Data storage destination word device number|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 578 | |(% style="text-align:center; vertical-align:middle" %)(D)|Bit device number of drive|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit|(% style="text-align:center; vertical-align:middle" %)ANY32_BOOL | ||
| 579 | |(% style="text-align:center; vertical-align:middle" %)(N)|The position of the bit to be judged|(% style="text-align:center; vertical-align:middle" %)0 to 31|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 580 | |||
| 581 | **Device used** | ||
| 582 | |||
| 583 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="18" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 584 | **Offset modification** | ||
| 585 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 586 | **Pulse extension** | ||
| 587 | ))) | ||
| 588 | |(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**D.b**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 589 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DBON|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 590 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 591 | |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 592 | |||
| 593 | **Features** | ||
| 594 | |||
| 595 | Check whether the BIN 32-bit data (N) bit status of the device specified in (S) is ON or OFF, and output the result to the device specified in (D). | ||
| 596 | |||
| 597 | If the above result is ON, then (D)=ON, if it is OFF, then (D)=OFF. | ||
| 598 | |||
| 599 | If a constant (K) is specified in the device specified in (S), it will be automatically converted to BIN. | ||
| 600 | |||
| 601 | (% style="text-align:center" %) | ||
| 602 | [[image:07-2 Basic instructions_html_a2388083bdb6b3d7.png||height="187" width="750"]] | ||
| 603 | |||
| 604 | **Error code** | ||
| 605 | |||
| 606 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 607 | |(% style="text-align:center; vertical-align:middle" %)4084H|The data input in (N) exceeds the specified range of 0 to 31. | ||
| 608 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instructions (S) and (N) exceeds the corresponding device range | ||
| 609 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 610 | |||
| 611 | **Example** | ||
| 612 | |||
| 613 | When n in D0 = the third bit is 1 (ON), M0 is set to 1 (ON). | ||
| 614 | |||
| 615 | (% style="text-align:center" %) | ||
| 616 | [[image:07-2 Basic instructions_html_5ea1a2a6191d7209.png]] | ||
| 617 | |||
| 618 | (% style="text-align:center" %) | ||
| 619 | [[image:07-2 Basic instructions_html_4191aeacce9b050e.png]] | ||
| 620 | |||
| 621 | == **ENCO/Encode** == | ||
| 622 | |||
| 623 | **ENCO(P)** | ||
| 624 | |||
| 625 | Encode the data of the 2th (N)th power from (S) and store it in (D). | ||
| 626 | |||
| 627 | -[ENCO (S) (N) (D)] | ||
| 628 | |||
| 629 | **Content, range and data type** | ||
| 630 | |||
| 631 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 632 | |(% style="text-align:center; vertical-align:middle" %)(S)|Start device for storing coded data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit/Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY_ELEMENTARY | ||
| 633 | |(% style="text-align:center; vertical-align:middle" %)(D)|Device number storing the encoding result|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY_ELEMENTARY | ||
| 634 | |(% style="text-align:center; vertical-align:middle" %)(N)|Effective bit length|(% style="text-align:center; vertical-align:middle" %)0 to 8|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 635 | |||
| 636 | **Device used** | ||
| 637 | |||
| 638 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="16" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 639 | **Offset modification** | ||
| 640 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 641 | **Pulse extension** | ||
| 642 | ))) | ||
| 643 | |(% style="text-align:center; vertical-align:middle" %)**X**|(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 644 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)ENCO|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 645 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 646 | |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 647 | |||
| 648 | **Features** | ||
| 649 | |||
| 650 | The BIN value corresponding to the bit from 2^^ (N)^^ bits of (S) to 1 is stored in (D). | ||
| 651 | |||
| 652 | (% style="text-align:center" %) | ||
| 653 | [[image:07-2 Basic instructions_html_32b79f884e7c01e0.png]] | ||
| 654 | |||
| 655 | When (N)=0, it will be no processing, and the content of the device specified in (D) will not change. | ||
| 656 | |||
| 657 | Bit devices are treated as 1 bit, and word devices are treated as 16 bits. | ||
| 658 | |||
| 659 | When multiple digits are 1, it will be processed at the upper position. | ||
| 660 | |||
| 661 | **Error code** | ||
| 662 | |||
| 663 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 664 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)4084H|In the bit device specification of (S), when (N) is other than 0 to 8. | ||
| 665 | |In the word device specification of (S), when (N) is other than 0 to 4. | ||
| 666 | |When the data of 2^^(N) ^^bits starting from (S) are all 0. | ||
| 667 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instructions (S) and (N) exceeds the corresponding device range | ||
| 668 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 669 | |||
| 670 | **Example** | ||
| 671 | |||
| 672 | (% style="text-align:center" %) | ||
| 673 | [[image:07-2 Basic instructions_html_e70340d3db54a0d6.png]] | ||
| 674 | |||
| 675 | When M20 is turned ON, the D0 device is 16 after encoding. | ||
| 676 | |||
| 677 | == **DECO/Decode** == | ||
| 678 | |||
| 679 | **DECO(P)** | ||
| 680 | |||
| 681 | Decode the lower (N) bits of the device specified in (S), and store the result in the 2 (N)th power of the device specified in (D). | ||
| 682 | |||
| 683 | -[DECO (S) (N) (D)] | ||
| 684 | |||
| 685 | **Content, range and data type** | ||
| 686 | |||
| 687 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 688 | |(% style="text-align:center; vertical-align:middle" %)(S)|Decoded data or the device number storing the decoded data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Bit/Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY_ELEMENTARY | ||
| 689 | |(% style="text-align:center; vertical-align:middle" %)(D)|The start device storing the decoding result|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY_ELEMENTARY | ||
| 690 | |(% style="text-align:center; vertical-align:middle" %)(N)|Effective bit length|(% style="text-align:center; vertical-align:middle" %)0 to 8|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 691 | |||
| 692 | **Device used** | ||
| 693 | |||
| 694 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="16" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 695 | **Offset modification** | ||
| 696 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 697 | **Pulse extension** | ||
| 698 | ))) | ||
| 699 | |(% style="text-align:center; vertical-align:middle" %)**X**|(% style="text-align:center; vertical-align:middle" %)**Y**|(% style="text-align:center; vertical-align:middle" %)**M**|(% style="text-align:center; vertical-align:middle" %)**S**|(% style="text-align:center; vertical-align:middle" %)**SM**|(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 700 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DECO|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 701 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 702 | |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 703 | |||
| 704 | **Features** | ||
| 705 | |||
| 706 | Turn ON the position of (D) corresponding to the BIN value specified in the lower (N) bit of (S). | ||
| 707 | |||
| 708 | When (N)=0, it will be no processing, and the content of the device specified in (D) will not change. | ||
| 709 | |||
| 710 | Bit devices are treated as 1 bit, and word devices are treated as 16 bits. | ||
| 711 | |||
| 712 | (% style="text-align:center" %) | ||
| 713 | [[image:07-2 Basic instructions_html_676fed9d696c6525.png]] | ||
| 714 | |||
| 715 | **Error code** | ||
| 716 | |||
| 717 | |**Error code**|**Content** | ||
| 718 | |(% rowspan="2" %)4084H|In the bit device specification of (D), when (N) is other than 0 to 8. | ||
| 719 | |In the word device specification of (D), when (N) is other than 0 to 4. | ||
| 720 | |4085H|When the device specified in the read application instructions (S) and (N) exceeds the corresponding device range | ||
| 721 | |4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 722 | |||
| 723 | **Example** | ||
| 724 | |||
| 725 | (% style="text-align:center" %) | ||
| 726 | [[image:07-2 Basic instructions_html_e0ad47112aecfe84.png]] | ||
| 727 | |||
| 728 | When M20 is ON, M3 will be turned ON. | ||
| 729 | |||
| 730 | == **SUM/The ON bits of 16-bit data** == | ||
| 731 | |||
| 732 | **SUM(P)** | ||
| 733 | |||
| 734 | Store the total number of bits at 1 in the BIN 16-bit data of the device specified in (S) to the device specified in (D). | ||
| 735 | |||
| 736 | -[SUM (S) (D)] | ||
| 737 | |||
| 738 | **Content, range and data type** | ||
| 739 | |||
| 740 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 741 | |(% style="text-align:center; vertical-align:middle" %)(S)|The device start number that counts the total number of bits at 1|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 742 | |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number of the total number of storage bits|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 743 | |||
| 744 | **Device used** | ||
| 745 | |||
| 746 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 747 | **Offset modification** | ||
| 748 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 749 | **Pulse extension** | ||
| 750 | ))) | ||
| 751 | |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 752 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)SUM|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 753 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 754 | |||
| 755 | **Features** | ||
| 756 | |||
| 757 | Store the total number of bits at 1 in the BIN 16-bit data of the device specified in (S) to the device specified in (D). | ||
| 758 | |||
| 759 | When the BIN 16-bit data of the device specified in (S) is all 0, the zero flag (SM153) turns on. | ||
| 760 | |||
| 761 | ((( | ||
| 762 | The total number of 1 (ON) is stored in BIN. | ||
| 763 | |||
| 764 | There are 8 in the example on the left. | ||
| 765 | |||
| 766 | (% style="text-align:center" %) | ||
| 767 | [[image:07-2 Basic instructions_html_d0ff863c8a916f52.png||height="279" width="529"]] | ||
| 768 | ))) | ||
| 769 | |||
| 770 | **Error code** | ||
| 771 | |||
| 772 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 773 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instructions (S) exceeds the corresponding device range | ||
| 774 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 775 | |||
| 776 | **Example** | ||
| 777 | |||
| 778 | (% style="text-align:center" %) | ||
| 779 | [[image:07-2 Basic instructions_html_604fe690248c20c4.png]] | ||
| 780 | |||
| 781 | When M0 is ON, the number of ON bits in D0 is counted and stored in D1. The value after D1 is executed is 4. | ||
| 782 | |||
| 783 | == **DSUM/The ON bits of 32-bit data** == | ||
| 784 | |||
| 785 | **DSUM(P)** | ||
| 786 | |||
| 787 | Store the total number of bits at 1 in the BIN 32-bit data of the device specified in (S) to the device specified in (D). | ||
| 788 | |||
| 789 | -[SUM (S) (D)] | ||
| 790 | |||
| 791 | **Content, range and data type** | ||
| 792 | |||
| 793 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 794 | |(% style="text-align:center; vertical-align:middle" %)(S)|The device start number that counts the total number of bits at 1|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 795 | |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number of the total number of storage bits|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 796 | |||
| 797 | **Device used** | ||
| 798 | |||
| 799 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 800 | **Offset modification** | ||
| 801 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 802 | **Pulse extension** | ||
| 803 | ))) | ||
| 804 | |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 805 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)DSUM|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 806 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 807 | |||
| 808 | **Features** | ||
| 809 | |||
| 810 | Store the total number of bits at 1 in the BIN 32-bit data of the device specified in (S) to the device specified in (D). | ||
| 811 | |||
| 812 | When the BIN 32-bit data of the device specified in (S) is all 0 (OFF), the zero flag (SM153) turns on. | ||
| 813 | |||
| 814 | ((( | ||
| 815 | The total number of 1 (ON) is stored in BIN. | ||
| 816 | |||
| 817 | There are 16 in the example on the left. | ||
| 818 | |||
| 819 | (% style="text-align:center" %) | ||
| 820 | [[image:07-2 Basic instructions_html_c50dbc953689f502.png||height="259" width="750"]] | ||
| 821 | ))) | ||
| 822 | |||
| 823 | ✎**Note: ** When the instruction input is OFF, the instruction will not be executed, and the output of the ON digits of the action will remain the same as before. | ||
| 824 | |||
| 825 | **Error code** | ||
| 826 | |||
| 827 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 828 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instructions (S) exceeds the corresponding device range | ||
| 829 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 830 | |||
| 831 | **Example** | ||
| 832 | |||
| 833 | (% style="text-align:center" %) | ||
| 834 | [[image:07-2 Basic instructions_html_f362ddb84e2d24a2.png]] | ||
| 835 | |||
| 836 | When M0 is ON, the number of ON bits in D0 is counted and stored in D10, and the value after D10 is executed is 4. | ||
| 837 | |||
| 838 | == **MEAN/Mean value of 16-bit data** == | ||
| 839 | |||
| 840 | **MEAN(P)** | ||
| 841 | |||
| 842 | The average value of the (n) point (16-bit) at the beginning of the soft component specified in (s) is calculated and the result is stored in (d). | ||
| 843 | |||
| 844 | -[MEAN (S) (D) (N)] | ||
| 845 | |||
| 846 | **Content, range and data type** | ||
| 847 | |||
| 848 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 849 | |(% style="text-align:center; vertical-align:middle" %)(S)|The device start number storing the data for average calculation|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 850 | |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number storing the average value|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 851 | |(% style="text-align:center; vertical-align:middle" %)(N)|Number of data or the device number storing the number of data|(% style="text-align:center; vertical-align:middle" %)1 to 32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 852 | |||
| 853 | **Device used** | ||
| 854 | |||
| 855 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 856 | **Offset modification** | ||
| 857 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 858 | **Pulse extension** | ||
| 859 | ))) | ||
| 860 | |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 861 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)MEAN|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 862 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 863 | |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 864 | |||
| 865 | **Features** | ||
| 866 | |||
| 867 | Calculate the average value of the 16-bit data at (N) points starting from the device specified in (S) and store it in the device specified in (D). | ||
| 868 | |||
| 869 | The total is calculated from the algebraic sum and divided by (N). | ||
| 870 | |||
| 871 | The remainder is rounded off. | ||
| 872 | |||
| 873 | (% style="text-align:center" %) | ||
| 874 | [[image:07-2 Basic instructions_html_6d7059ace00e2f07.png||height="181" width="750"]] | ||
| 875 | |||
| 876 | **Error code** | ||
| 877 | |||
| 878 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 879 | |(% style="text-align:center; vertical-align:middle" %)4084H|The data input by (N) in the application instruction exceeds the specifiable range. N≤0 | ||
| 880 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instructions (S) and (N) exceeds the corresponding device range | ||
| 881 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 882 | |||
| 883 | **Example** | ||
| 884 | |||
| 885 | (% style="text-align:center" %) | ||
| 886 | [[image:07-2 Basic instructions_html_13566d51340cd9ac.png]] | ||
| 887 | |||
| 888 | Add the data of D0, D1, and D2 and save the value obtained after dividing by 3 in D10. The calculated average value is 6. | ||
| 889 | |||
| 890 | == **DMEAN/Mean value of 16-bit data** == | ||
| 891 | |||
| 892 | **DMEAN(P)** | ||
| 893 | |||
| 894 | The average value of the (n) point (32-bit) at the beginning of the soft component specified in (s) is calculated and the result is stored in (d). | ||
| 895 | |||
| 896 | -[DMEAN (S) (D) (N)] | ||
| 897 | |||
| 898 | **Content, range and data type** | ||
| 899 | |||
| 900 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 901 | |(% style="text-align:center; vertical-align:middle" %)(S)|The device start number storing the data for average calculation|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 902 | |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number storing the average value|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 903 | |(% style="text-align:center; vertical-align:middle" %)(N)|Number of data or the device number storing the number of data|(% style="text-align:center; vertical-align:middle" %)1 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 904 | |||
| 905 | **Device used** | ||
| 906 | |||
| 907 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 908 | **Pulse extension** | ||
| 909 | ))) | ||
| 910 | |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 911 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DMEAN|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 912 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 913 | |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 914 | |||
| 915 | **Features** | ||
| 916 | |||
| 917 | Calculate the mean value of BIN 32-bit data at (N) points starting from the device specified in (S) and store it in the device specified in (D). | ||
| 918 | |||
| 919 | The total is calculated from the algebraic sum and divided by (N). | ||
| 920 | |||
| 921 | The remainder is rounded off. | ||
| 922 | |||
| 923 | (% style="text-align:center" %) | ||
| 924 | [[image:07-2 Basic instructions_html_ba33fd31e81f4c99.png||height="121" width="750"]] | ||
| 925 | |||
| 926 | ✎**Note: ** When the device number exceeds, (N) is handled as a smaller value within the allowable range. | ||
| 927 | |||
| 928 | **Error code** | ||
| 929 | |||
| 930 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 931 | |(% style="text-align:center; vertical-align:middle" %)4084H|The data input in (N) exceeds the specifiable range. N≤0 | ||
| 932 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instructions (S) and (N) exceeds the corresponding device range | ||
| 933 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 934 | |||
| 935 | **Example** | ||
| 936 | |||
| 937 | (% style="text-align:center" %) | ||
| 938 | [[image:07-2 Basic instructions_html_2c823dad156101dc.png]] | ||
| 939 | |||
| 940 | Add the data of D0, D2, and D4, and save the value obtained after dividing by 3 in D10 and D11, and the calculated average value is 6. | ||
| 941 | |||
| 942 | == **SQR/16-bit square root** == | ||
| 943 | |||
| 944 | **SQR(P)** | ||
| 945 | |||
| 946 | Calculate the square root of the BIN 16-bit data specified in (S), and store the calculation result in (D). | ||
| 947 | |||
| 948 | -[SQR (S) (D)] | ||
| 949 | |||
| 950 | **Content, range and data type** | ||
| 951 | |||
| 952 | |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)** | ||
| 953 | |(S)|The data device storing for square root calculation|0 to +32767|Signed BIN 16 bit|ANY16 | ||
| 954 | |(D)|The device storing the calculated square root|-|Signed BIN 16 bit|ANY16 | ||
| 955 | |||
| 956 | **Device used** | ||
| 957 | |||
| 958 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="5" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 959 | **Pulse extension** | ||
| 960 | ))) | ||
| 961 | |(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 962 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)SQR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 963 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 964 | |||
| 965 | **Features** | ||
| 966 | |||
| 967 | Calculate the square root of the BIN 16-bit data specified in (S), and store the calculation result in (D). | ||
| 968 | |||
| 969 | (% style="text-align:center" %) | ||
| 970 | [[image:07-2 Basic instructions_html_3ee4c015d89635f5.png]] | ||
| 971 | |||
| 972 | ✎**Note: ** The decimal point of operation result will be rounded off and become an integer. If rounding occurs, SM152 (borrow flag) turns ON. | ||
| 973 | |||
| 974 | When the operation result is really 0, SM153 (zero flag) turns ON. | ||
| 975 | |||
| 976 | **Error code** | ||
| 977 | |||
| 978 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 979 | |(% style="text-align:center; vertical-align:middle" %)4084H|When a negative value is specified in (S). | ||
| 980 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instructions (S) exceeds the corresponding device range | ||
| 981 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 982 | |||
| 983 | **Example** | ||
| 984 | |||
| 985 | (% style="text-align:center" %) | ||
| 986 | [[image:07-2 Basic instructions_html_92245aa43f6ffa87.png]] | ||
| 987 | |||
| 988 | The square root of D0 is stored in D2, and the value of D0 is 100, so the value of D2 is 10. | ||
| 989 | |||
| 990 | == **DSQR/32-bit square root** == | ||
| 991 | |||
| 992 | **DSQR(P)** | ||
| 993 | |||
| 994 | Calculate the square root of the BIN 32-bit data specified in (S), and store the calculation result in (D). | ||
| 995 | |||
| 996 | -[DSQR (S) (D)] | ||
| 997 | |||
| 998 | **Content, range and data type** | ||
| 999 | |||
| 1000 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 1001 | |(% style="text-align:center; vertical-align:middle" %)(S)|The data device storing for square root calculation|(% style="text-align:center; vertical-align:middle" %)0 to 2147483647|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 1002 | |(% style="text-align:center; vertical-align:middle" %)(D)|The device storing the calculated square root|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 1003 | |||
| 1004 | **Device used** | ||
| 1005 | |||
| 1006 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="7" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 1007 | **Pulse extension** | ||
| 1008 | ))) | ||
| 1009 | |(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 1010 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)DSQR|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 1011 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 1012 | |||
| 1013 | **Features** | ||
| 1014 | |||
| 1015 | Calculate the square root of the BIN 32-bit data specified in (S) and store the calculation result in (D). | ||
| 1016 | |||
| 1017 | (% style="text-align:center" %) | ||
| 1018 | [[image:07-2 Basic instructions_html_51d10bf1ab821717.png]] | ||
| 1019 | |||
| 1020 | ✎**Note:** The decimal point of operation result will be rounded off and become an integer. If rounding occurs, SM152 (borrow flag) turns ON. | ||
| 1021 | |||
| 1022 | When the operation result is really 0, SM153 (zero flag) turns on. | ||
| 1023 | |||
| 1024 | **Error code** | ||
| 1025 | |||
| 1026 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 1027 | |(% style="text-align:center; vertical-align:middle" %)4084H|When a negative value is specified in (S). | ||
| 1028 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instructions (S) exceeds the corresponding device range | ||
| 1029 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 1030 | |||
| 1031 | **Example** | ||
| 1032 | |||
| 1033 | (% style="text-align:center" %) | ||
| 1034 | [[image:07-2 Basic instructions_html_d7c5cf75a5e766d2.png]] | ||
| 1035 | |||
| 1036 | The square root of D0 is stored in D2, and the value of D0 is 110, so the value in the D2 soft component is 10 (the fractional part is discarded), and the borrow flag SM152 is turned ON. | ||
| 1037 | |||
| 1038 | == **WSUM/The sum value of 16-bit data** == | ||
| 1039 | |||
| 1040 | **WSUM(P)** | ||
| 1041 | |||
| 1042 | After adding all the BIN 16-bit data of point (n) starting from the device specified in (S), it is stored in the device specified in (D). | ||
| 1043 | |||
| 1044 | -[WSUM (S) (D) (N)] | ||
| 1045 | |||
| 1046 | **Content, range and data type** | ||
| 1047 | |||
| 1048 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 1049 | |(% style="text-align:center; vertical-align:middle" %)(S)|The device start number storing the data for sum value calculation|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1050 | |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number storing the sum value|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 1051 | |(% style="text-align:center; vertical-align:middle" %)(N)|Number of data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1052 | |||
| 1053 | **Device used** | ||
| 1054 | |||
| 1055 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 1056 | **Pulse extension** | ||
| 1057 | ))) | ||
| 1058 | |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 1059 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)WSUM|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 1060 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 1061 | |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 1062 | |||
| 1063 | **Features** | ||
| 1064 | |||
| 1065 | After adding all the BIN 16-bit data of point (N) starting from the device specified in (S), it is stored in the device specified in (D). | ||
| 1066 | |||
| 1067 | (% style="text-align:center" %) | ||
| 1068 | [[image:07-2 Basic instructions_html_7495632d1d596fe7.png||height="232" width="750"]] | ||
| 1069 | |||
| 1070 | **Error code** | ||
| 1071 | |||
| 1072 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 1073 | |(% style="text-align:center; vertical-align:middle" %)4084H|When a negative value is specified in (N). | ||
| 1074 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instructions (S) and (N) exceeds the corresponding device range | ||
| 1075 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 1076 | |||
| 1077 | **Example** | ||
| 1078 | |||
| 1079 | (% style="text-align:center" %) | ||
| 1080 | [[image:07-2 Basic instructions_html_8e8f6bedc6333b2f.png]] | ||
| 1081 | |||
| 1082 | When M0=ON, the total of 16-bit data of D0 to D2 is saved in [D100, D101], and the accounting result is 18. | ||
| 1083 | |||
| 1084 | == **DWSUM/The sum value of 32-bit data** == | ||
| 1085 | |||
| 1086 | **DWSUM(P)** | ||
| 1087 | |||
| 1088 | Add all the 32-bit BIN data of point (N) starting from the device specified in (S) and store it in the device specified in (D). | ||
| 1089 | |||
| 1090 | -[DWSUM (S) (D) (N)] | ||
| 1091 | |||
| 1092 | **Content, range and data type** | ||
| 1093 | |||
| 1094 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 1095 | |(% style="text-align:center; vertical-align:middle" %)(S)|The device start number storing the data for total value calculation|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 1096 | |(% style="text-align:center; vertical-align:middle" %)(D)|The device start number storing the total value|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN64 bit|(% style="text-align:center; vertical-align:middle" %)ANY64 | ||
| 1097 | |(% style="text-align:center; vertical-align:middle" %)(N)|Number of data|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 1098 | |||
| 1099 | **Device used** | ||
| 1100 | |||
| 1101 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 1102 | **Pulse extension** | ||
| 1103 | ))) | ||
| 1104 | |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 1105 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)DWSUM|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 1106 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 1107 | |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 1108 | |||
| 1109 | **Features** | ||
| 1110 | |||
| 1111 | Add all the 32-bit BIN data of point (n) starting from the device specified in (s) and store it in the device specified in (d). | ||
| 1112 | |||
| 1113 | (% style="text-align:center" %) | ||
| 1114 | [[image:07-2 Basic instructions_html_f752f81c0b00f696.png||height="175" width="750"]] | ||
| 1115 | |||
| 1116 | ✎**Note:** When the number of bits is specified in (D), the value of n ranges from 1 to 8, such as K8 (32-bit instructions, such as K8M0) without K16 (64-bit instructions). | ||
| 1117 | |||
| 1118 | **Error code** | ||
| 1119 | |||
| 1120 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 1121 | |(% style="text-align:center; vertical-align:middle" %)4084H|When a negative value is specified in (N). | ||
| 1122 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instructions (S) and (N) exceeds the corresponding device range | ||
| 1123 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 1124 | |||
| 1125 | **Example** | ||
| 1126 | |||
| 1127 | (% style="text-align:center" %) | ||
| 1128 | [[image:07-2 Basic instructions_html_baf1223bd45a93dd.png]] | ||
| 1129 | |||
| 1130 | When M0=ON, the total of 16-bit data of D0 to D2 is saved in [D100, D101], and the accounting result is 18. | ||
| 1131 | |||
| 1132 | == **SORT/16-bit data sorting** == | ||
| 1133 | |||
| 1134 | **SORT** | ||
| 1135 | |||
| 1136 | Sort the data rows in ascending order based on the group data of column (N3) in the BIN 16-bit data table (sorting source) of (N1×N2) points specified in (S) and store them in the specified in (D) (N1×N2) points in the BIN 16-bit data table (after sorting). | ||
| 1137 | |||
| 1138 | -[SORT (S) (N1) (N2) (D) (N3)] | ||
| 1139 | |||
| 1140 | **Content, range and data type** | ||
| 1141 | |||
| 1142 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 1143 | |(% style="text-align:center; vertical-align:middle" %)(S)|The start device number storing the data table|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1144 | |(% style="text-align:center; vertical-align:middle" %)(N1)|Number of data (rows)|(% style="text-align:center; vertical-align:middle" %)1 to 32|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1145 | |(% style="text-align:center; vertical-align:middle" %)(N2)|Number of group data (columns)|(% style="text-align:center; vertical-align:middle" %)1 to 6|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1146 | |(% style="text-align:center; vertical-align:middle" %)(D)|The start device number storing the operation result|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1147 | |(% style="text-align:center; vertical-align:middle" %)(N3)|The column number of the group data (column) as the sorting basis|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1148 | |||
| 1149 | **Device used** | ||
| 1150 | |||
| 1151 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 1152 | **Offset modification** | ||
| 1153 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 1154 | **Pulse extension** | ||
| 1155 | ))) | ||
| 1156 | |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 1157 | |(% rowspan="5" style="text-align:center; vertical-align:middle" %)SORT|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1158 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1159 | |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1160 | |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1161 | |(% style="text-align:center; vertical-align:middle" %)Parameter 5|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1162 | |||
| 1163 | **Features** | ||
| 1164 | |||
| 1165 | The BIN 16-bit data table (sorting source) of (N1×N2) points specified in (S), based on the group data of column (N3), sort the data rows in ascending order, and store them in (D). The (N1×N2) point of the BIN 16-bit data table (after sorting). | ||
| 1166 | |||
| 1167 | Take (N1)=K3, (N2)=K4 in the sort source as an example, the data table structure is as follows. In the case of a sorted data table, (S) should be replaced with (D). | ||
| 1168 | |||
| 1169 | |(% colspan="2" rowspan="3" style="text-align:center; vertical-align:middle" %) |(% colspan="4" style="text-align:center; vertical-align:middle" %)**Number of groups (N2) ((N2)=K4)** | ||
| 1170 | |(% style="text-align:center; vertical-align:middle" %)**Column NO. 1**|(% style="text-align:center; vertical-align:middle" %)**Column NO. 2**|(% style="text-align:center; vertical-align:middle" %)**Column NO. 3**|(% style="text-align:center; vertical-align:middle" %)**Column NO. 4** | ||
| 1171 | |(% style="text-align:center; vertical-align:middle" %)**Management number**|(% style="text-align:center; vertical-align:middle" %)**Height**|(% style="text-align:center; vertical-align:middle" %)**Weight**|(% style="text-align:center; vertical-align:middle" %)**Age** | ||
| 1172 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)When the number of data (N1)=3|(% style="text-align:center; vertical-align:middle" %)Line NO.1|(% style="text-align:center; vertical-align:middle" %)(S)|(% style="text-align:center; vertical-align:middle" %)(S) +3|(% style="text-align:center; vertical-align:middle" %)(S) +6|(% style="text-align:center; vertical-align:middle" %)(S) +9 | ||
| 1173 | |(% style="text-align:center; vertical-align:middle" %)Line NO.2|(% style="text-align:center; vertical-align:middle" %)(S)+1|(% style="text-align:center; vertical-align:middle" %)(S) +4|(% style="text-align:center; vertical-align:middle" %)(S) +7|(% style="text-align:center; vertical-align:middle" %)(S) +10 | ||
| 1174 | |(% style="text-align:center; vertical-align:middle" %)Line NO.3|(% style="text-align:center; vertical-align:middle" %)(S)+2|(% style="text-align:center; vertical-align:middle" %)(S) +5|(% style="text-align:center; vertical-align:middle" %)(S) +8|(% style="text-align:center; vertical-align:middle" %)(s) +11 | ||
| 1175 | |||
| 1176 | Data alignment starts when instruction input is ON, data alignment ends after (N1) scan, instruction execution end flag SM229 is set to ON. According to the source data sorted as follows, an example of the operation is shown below. In addition, by putting serial numbers such as management numbers in the first column in advance, the original row number can be judged based on the content, which is very convenient. | ||
| 1177 | |||
| 1178 | |(% colspan="2" rowspan="3" style="text-align:center; vertical-align:middle" %) |(% colspan="4" style="text-align:center; vertical-align:middle" %)**Number of groups (N2) ((N2)=K4)** | ||
| 1179 | |(% style="text-align:center; vertical-align:middle" %)**Column NO. 1**|(% style="text-align:center; vertical-align:middle" %)**Column NO. 2**|(% style="text-align:center; vertical-align:middle" %)**Column NO. 3**|(% style="text-align:center; vertical-align:middle" %)**Column NO. 4** | ||
| 1180 | |(% style="text-align:center; vertical-align:middle" %)**Management number**|(% style="text-align:center; vertical-align:middle" %)**Height**|(% style="text-align:center; vertical-align:middle" %)**Weight**|(% style="text-align:center; vertical-align:middle" %)**Age** | ||
| 1181 | |(% rowspan="10" style="text-align:center; vertical-align:middle" %)When the number of data (N1) = 5|(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.1|(% style="text-align:center; vertical-align:middle" %)(S)|(% style="text-align:center; vertical-align:middle" %)(S) +5|(% style="text-align:center; vertical-align:middle" %)(S) +10|(% style="text-align:center; vertical-align:middle" %)(S) +15 | ||
| 1182 | |(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)45|(% style="text-align:center; vertical-align:middle" %)20 | ||
| 1183 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.2|(% style="text-align:center; vertical-align:middle" %)(S)+1|(% style="text-align:center; vertical-align:middle" %)(S) +6|(% style="text-align:center; vertical-align:middle" %)(S) +11|(% style="text-align:center; vertical-align:middle" %)(S) +16 | ||
| 1184 | |(% style="text-align:center; vertical-align:middle" %)2|(% style="text-align:center; vertical-align:middle" %)180|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)40 | ||
| 1185 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.3|(% style="text-align:center; vertical-align:middle" %)(S)+2|(% style="text-align:center; vertical-align:middle" %)(S) +7|(% style="text-align:center; vertical-align:middle" %)(S) +12|(% style="text-align:center; vertical-align:middle" %)(S) +17 | ||
| 1186 | |(% style="text-align:center; vertical-align:middle" %)3|(% style="text-align:center; vertical-align:middle" %)160|(% style="text-align:center; vertical-align:middle" %)70|(% style="text-align:center; vertical-align:middle" %)30 | ||
| 1187 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.4|(% style="text-align:center; vertical-align:middle" %)(S) +3|(% style="text-align:center; vertical-align:middle" %)(S) +8|(% style="text-align:center; vertical-align:middle" %)(S) +13|(% style="text-align:center; vertical-align:middle" %)(S) +18 | ||
| 1188 | |(% style="text-align:center; vertical-align:middle" %)4|(% style="text-align:center; vertical-align:middle" %)100|(% style="text-align:center; vertical-align:middle" %)20|(% style="text-align:center; vertical-align:middle" %)8 | ||
| 1189 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.5|(% style="text-align:center; vertical-align:middle" %)(S) +4|(% style="text-align:center; vertical-align:middle" %)(S) +9|(% style="text-align:center; vertical-align:middle" %)(S) +14|(% style="text-align:center; vertical-align:middle" %)(S) +19 | ||
| 1190 | |(% style="text-align:center; vertical-align:middle" %)5|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)45 | ||
| 1191 | |||
| 1192 | Press (N3)=K2 (column number 2) to execute the sorting result. | ||
| 1193 | |||
| 1194 | |(% colspan="2" rowspan="3" style="text-align:center; vertical-align:middle" %) |(% colspan="4" style="text-align:center; vertical-align:middle" %)**Number of groups (N2) ((N2)=K4)** | ||
| 1195 | |(% style="text-align:center; vertical-align:middle" %)**Column NO.1**|(% style="text-align:center; vertical-align:middle" %)**Column NO.2**|(% style="text-align:center; vertical-align:middle" %)**Column NO.3**|(% style="text-align:center; vertical-align:middle" %)**Column NO.4** | ||
| 1196 | |(% style="text-align:center; vertical-align:middle" %)**Management number**|(% style="text-align:center; vertical-align:middle" %)**Height**|(% style="text-align:center; vertical-align:middle" %)**Weight**|(% style="text-align:center; vertical-align:middle" %)**Age** | ||
| 1197 | |(% rowspan="10" style="text-align:center; vertical-align:middle" %)When the number of data (N1) = 5|(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.1|(% style="text-align:center; vertical-align:middle" %)(D)|(% style="text-align:center; vertical-align:middle" %)(D) +5|(% style="text-align:center; vertical-align:middle" %)(D) +10|(% style="text-align:center; vertical-align:middle" %)(D) +15 | ||
| 1198 | |(% style="text-align:center; vertical-align:middle" %)4|(% style="text-align:center; vertical-align:middle" %)100|(% style="text-align:center; vertical-align:middle" %)20|(% style="text-align:center; vertical-align:middle" %)8 | ||
| 1199 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.2|(% style="text-align:center; vertical-align:middle" %)(D) +1|(% style="text-align:center; vertical-align:middle" %)(D) +6|(% style="text-align:center; vertical-align:middle" %)(D) +11|(% style="text-align:center; vertical-align:middle" %)(D) +16 | ||
| 1200 | |(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)45|(% style="text-align:center; vertical-align:middle" %)20 | ||
| 1201 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.3|(% style="text-align:center; vertical-align:middle" %)(D) +2|(% style="text-align:center; vertical-align:middle" %)(D) +7|(% style="text-align:center; vertical-align:middle" %)(D) +12|(% style="text-align:center; vertical-align:middle" %)(D) +17 | ||
| 1202 | |(% style="text-align:center; vertical-align:middle" %)5|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)45 | ||
| 1203 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.4|(% style="text-align:center; vertical-align:middle" %)(D) +3|(% style="text-align:center; vertical-align:middle" %)(D) +8|(% style="text-align:center; vertical-align:middle" %)(D) +13|(% style="text-align:center; vertical-align:middle" %)(D) +18 | ||
| 1204 | |(% style="text-align:center; vertical-align:middle" %)3|(% style="text-align:center; vertical-align:middle" %)160|(% style="text-align:center; vertical-align:middle" %)70|(% style="text-align:center; vertical-align:middle" %)30 | ||
| 1205 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.5|(% style="text-align:center; vertical-align:middle" %)(D) +4|(% style="text-align:center; vertical-align:middle" %)(D) +9|(% style="text-align:center; vertical-align:middle" %)(D) +14|(% style="text-align:center; vertical-align:middle" %)(D) +19 | ||
| 1206 | |(% style="text-align:center; vertical-align:middle" %)2|(% style="text-align:center; vertical-align:middle" %)180|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)40 | ||
| 1207 | |||
| 1208 | Press (N3)=K3 (column number 3) to execute the sorting result. | ||
| 1209 | |||
| 1210 | |(% colspan="2" rowspan="3" style="text-align:center; vertical-align:middle" %) |(% colspan="4" style="text-align:center; vertical-align:middle" %)**Number of groups (N2) ((N2)=K4)** | ||
| 1211 | |(% style="text-align:center; vertical-align:middle" %)**Column NO.1**|(% style="text-align:center; vertical-align:middle" %)**Column NO.2**|(% style="text-align:center; vertical-align:middle" %)**Column NO.3**|(% style="text-align:center; vertical-align:middle" %)**Column NO.4** | ||
| 1212 | |(% style="text-align:center; vertical-align:middle" %)**Management number**|(% style="text-align:center; vertical-align:middle" %)**Height**|(% style="text-align:center; vertical-align:middle" %)**Weight**|(% style="text-align:center; vertical-align:middle" %)**Age** | ||
| 1213 | |(% rowspan="10" style="text-align:center; vertical-align:middle" %)When the number of data (N1) = 5|(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.1|(% style="text-align:center; vertical-align:middle" %)(D)|(% style="text-align:center; vertical-align:middle" %)(D) +5|(% style="text-align:center; vertical-align:middle" %)(D) +10|(% style="text-align:center; vertical-align:middle" %)(D) +15 | ||
| 1214 | |(% style="text-align:center; vertical-align:middle" %)4|(% style="text-align:center; vertical-align:middle" %)100|(% style="text-align:center; vertical-align:middle" %)20|(% style="text-align:center; vertical-align:middle" %)8 | ||
| 1215 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.2|(% style="text-align:center; vertical-align:middle" %)(D) +1|(% style="text-align:center; vertical-align:middle" %)(D) +6|(% style="text-align:center; vertical-align:middle" %)(D) +11|(% style="text-align:center; vertical-align:middle" %)(D) +16 | ||
| 1216 | |(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)45|(% style="text-align:center; vertical-align:middle" %)20 | ||
| 1217 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.3|(% style="text-align:center; vertical-align:middle" %)(D) +2|(% style="text-align:center; vertical-align:middle" %)(D) +7|(% style="text-align:center; vertical-align:middle" %)(D) +12|(% style="text-align:center; vertical-align:middle" %)(D) +17 | ||
| 1218 | |(% style="text-align:center; vertical-align:middle" %)2|(% style="text-align:center; vertical-align:middle" %)180|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)40 | ||
| 1219 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.4|(% style="text-align:center; vertical-align:middle" %)(D) +3|(% style="text-align:center; vertical-align:middle" %)(D) +8|(% style="text-align:center; vertical-align:middle" %)(D) +13|(% style="text-align:center; vertical-align:middle" %)(D +18 | ||
| 1220 | |(% style="text-align:center; vertical-align:middle" %)5|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)45 | ||
| 1221 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.5|(% style="text-align:center; vertical-align:middle" %)(D) +4|(% style="text-align:center; vertical-align:middle" %)(D) +9|(% style="text-align:center; vertical-align:middle" %)(D) +14|(% style="text-align:center; vertical-align:middle" %)(D) +19 | ||
| 1222 | |(% style="text-align:center; vertical-align:middle" %)3|(% style="text-align:center; vertical-align:middle" %)160|(% style="text-align:center; vertical-align:middle" %)70|(% style="text-align:center; vertical-align:middle" %)30 | ||
| 1223 | |||
| 1224 | ✎**Note:** only ascending order is supported by SORT instruction . | ||
| 1225 | |||
| 1226 | Do not change the operand and data content during operation. | ||
| 1227 | |||
| 1228 | When executing again, the instruction input should be turned OFF once. | ||
| 1229 | |||
| 1230 | SORT instruction can drive at most one in the program. | ||
| 1231 | |||
| 1232 | When the same device is specified in (S) and (D), the source data is rewritten to the sorted data order. Please pay special attention not to change the content of (S) before the end of execution. | ||
| 1233 | |||
| 1234 | **Error code** | ||
| 1235 | |||
| 1236 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 1237 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N1) exceeds the range of 1 to 32 | ||
| 1238 | |When the value specified in (N2) exceeds the range of 1 to 6 | ||
| 1239 | |When the value specified in (N3) exceeds the range of 1 to n2 | ||
| 1240 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in read application instruction (S), (N1), (N2 )and (N3) exceeds the corresponding device range | ||
| 1241 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 1242 | |(% style="text-align:center; vertical-align:middle" %)4087H|When the (D) parameter in the application instruction uses an unsupported device | ||
| 1243 | |(% style="text-align:center; vertical-align:middle" %)4089H|The number of application instructions exceeds the limit. | ||
| 1244 | |||
| 1245 | **Example** | ||
| 1246 | |||
| 1247 | Refer to the function description example. | ||
| 1248 | |||
| 1249 | (% style="text-align:center" %) | ||
| 1250 | [[image:07-2 Basic instructions_html_2b87a0892241f0a3.png]] | ||
| 1251 | |||
| 1252 | == **SORT2/16-bit data sorting** == | ||
| 1253 | |||
| 1254 | **SORT2(P)** | ||
| 1255 | |||
| 1256 | Sort the data rows in ascending or descending order based on the group data in column (N3), and store them in (D), based on the BIN 16-bit data table (sorting source) of (N1×N2) points specified in (S) In the BIN 16-bit data table (after sorting) of the specified (N1×N2) points. | ||
| 1257 | |||
| 1258 | -[SORT2 (S) (N1) (N2) (D) (N3)] | ||
| 1259 | |||
| 1260 | **Content, range and data type** | ||
| 1261 | |||
| 1262 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 1263 | |(% style="text-align:center; vertical-align:middle" %)(S)|The start device number storing the data table|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1264 | |(% style="text-align:center; vertical-align:middle" %)(N1)|Number of data (rows)|(% style="text-align:center; vertical-align:middle" %)1 to 32|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1265 | |(% style="text-align:center; vertical-align:middle" %)(N2)|Number of group data (columns)|(% style="text-align:center; vertical-align:middle" %)1 to 6|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1266 | |(% style="text-align:center; vertical-align:middle" %)(D)|The start device number storing the operation result|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1267 | |(% style="text-align:center; vertical-align:middle" %)(N3)|The column number of the group data (column) as the sorting basis|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1268 | |||
| 1269 | **Device used** | ||
| 1270 | |||
| 1271 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="11" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 1272 | **Offset modification** | ||
| 1273 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 1274 | **Pulse extension** | ||
| 1275 | ))) | ||
| 1276 | |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 1277 | |(% rowspan="5" style="text-align:center; vertical-align:middle" %)SORT2|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1278 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1279 | |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1280 | |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1281 | |(% style="text-align:center; vertical-align:middle" %)Parameter 5|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1282 | |||
| 1283 | **Features** | ||
| 1284 | |||
| 1285 | Sort the data rows in ascending or descending order based on the group data in column (N3) and store them in (D) (N1×N2) point specified in the BIN 16-bit data table (after sorting). | ||
| 1286 | |||
| 1287 | Take (N1)=K3, (N2)=K4 in the sort source as an example, the data table structure is as follows. In the case of a sorted data table, (S) should be replaced with (D). | ||
| 1288 | |||
| 1289 | |(% colspan="2" rowspan="3" style="text-align:center; vertical-align:middle" %) |(% colspan="4" style="text-align:center; vertical-align:middle" %)**When the number of groups (N2) (N2) = K4** | ||
| 1290 | |(% style="text-align:center; vertical-align:middle" %)**Column NO.1**|(% style="text-align:center; vertical-align:middle" %)**Column NO.2**|(% style="text-align:center; vertical-align:middle" %)**Column NO.3**|(% style="text-align:center; vertical-align:middle" %)**Column NO.4** | ||
| 1291 | |(% style="text-align:center; vertical-align:middle" %)**Management number**|(% style="text-align:center; vertical-align:middle" %)**Height**|(% style="text-align:center; vertical-align:middle" %)**Weight**|(% style="text-align:center; vertical-align:middle" %)**Age** | ||
| 1292 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)When the number of data (N1)=3|(% style="text-align:center; vertical-align:middle" %)Line NO.1|(% style="text-align:center; vertical-align:middle" %)(S)|(% style="text-align:center; vertical-align:middle" %)(S)+1|(% style="text-align:center; vertical-align:middle" %)(S) +2|(% style="text-align:center; vertical-align:middle" %)(S) +3 | ||
| 1293 | |(% style="text-align:center; vertical-align:middle" %)Line NO.2|(% style="text-align:center; vertical-align:middle" %)(S) +4|(% style="text-align:center; vertical-align:middle" %)(S) +5|(% style="text-align:center; vertical-align:middle" %)(S) +6|(% style="text-align:center; vertical-align:middle" %)(S) +7 | ||
| 1294 | |(% style="text-align:center; vertical-align:middle" %)Line NO.3|(% style="text-align:center; vertical-align:middle" %)(S) +8|(% style="text-align:center; vertical-align:middle" %)(S) +9|(% style="text-align:center; vertical-align:middle" %)(S) +10|(% style="text-align:center; vertical-align:middle" %)(S) +100 | ||
| 1295 | |||
| 1296 | Sequence is set by the ON/OFF status of SM165 | ||
| 1297 | |||
| 1298 | |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)**Sort order setting instruction** | ||
| 1299 | |(% style="text-align:center; vertical-align:middle" %)SM165=ON|(% style="text-align:center; vertical-align:middle" %)Descending | ||
| 1300 | |(% style="text-align:center; vertical-align:middle" %)SM165=OFF|(% style="text-align:center; vertical-align:middle" %)Ascending | ||
| 1301 | |||
| 1302 | Data alignment starts when instruction input is ON, data alignment ends after (N1) scan, instruction execution end flag SM229 is set to ON. | ||
| 1303 | |||
| 1304 | According to the source data sorted as follows, an example of the operation is shown below. In addition, by putting serial numbers such as management numbers in the first column in advance, the original row number can be judged based on the content, which is very convenient. | ||
| 1305 | |||
| 1306 | |(% colspan="2" rowspan="3" style="text-align:center; vertical-align:middle" %) |(% colspan="4" style="text-align:center; vertical-align:middle" %)**When the number of groups (N2) (N2) = K4** | ||
| 1307 | |(% style="text-align:center; vertical-align:middle" %)**Column NO.1**|(% style="text-align:center; vertical-align:middle" %)**Column NO.2**|(% style="text-align:center; vertical-align:middle" %)**Column NO.3**|(% style="text-align:center; vertical-align:middle" %)**Column NO.4** | ||
| 1308 | |(% style="text-align:center; vertical-align:middle" %)**Management number**|(% style="text-align:center; vertical-align:middle" %)**Height**|(% style="text-align:center; vertical-align:middle" %)**Weight**|(% style="text-align:center; vertical-align:middle" %)**Age** | ||
| 1309 | |(% rowspan="10" style="text-align:center; vertical-align:middle" %)When the number of data (N1) = 5|(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.1|(% style="text-align:center; vertical-align:middle" %)(S)|(% style="text-align:center; vertical-align:middle" %)(S)+1|(% style="text-align:center; vertical-align:middle" %)(S) +2|(% style="text-align:center; vertical-align:middle" %)(S) +3 | ||
| 1310 | |(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)45|(% style="text-align:center; vertical-align:middle" %)20 | ||
| 1311 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.2|(% style="text-align:center; vertical-align:middle" %)(S) +4|(% style="text-align:center; vertical-align:middle" %)(S) +5|(% style="text-align:center; vertical-align:middle" %)(S) +6|(% style="text-align:center; vertical-align:middle" %)(S) +7 | ||
| 1312 | |(% style="text-align:center; vertical-align:middle" %)2|(% style="text-align:center; vertical-align:middle" %)180|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)40 | ||
| 1313 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.3|(% style="text-align:center; vertical-align:middle" %)(S) +8|(% style="text-align:center; vertical-align:middle" %)(S) +9|(% style="text-align:center; vertical-align:middle" %)(S) +10|(% style="text-align:center; vertical-align:middle" %)(S) +100 | ||
| 1314 | |(% style="text-align:center; vertical-align:middle" %)3|(% style="text-align:center; vertical-align:middle" %)160|(% style="text-align:center; vertical-align:middle" %)70|(% style="text-align:center; vertical-align:middle" %)30 | ||
| 1315 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.4|(% style="text-align:center; vertical-align:middle" %)(S) +12|(% style="text-align:center; vertical-align:middle" %)(S) +13|(% style="text-align:center; vertical-align:middle" %)(S) +14|(% style="text-align:center; vertical-align:middle" %)(S) +15 | ||
| 1316 | |(% style="text-align:center; vertical-align:middle" %)4|(% style="text-align:center; vertical-align:middle" %)100|(% style="text-align:center; vertical-align:middle" %)20|(% style="text-align:center; vertical-align:middle" %)8 | ||
| 1317 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.5|(% style="text-align:center; vertical-align:middle" %)(S) +16|(% style="text-align:center; vertical-align:middle" %)(S) +17|(% style="text-align:center; vertical-align:middle" %)(S) +18|(% style="text-align:center; vertical-align:middle" %)(S) +19 | ||
| 1318 | |(% style="text-align:center; vertical-align:middle" %)5|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)45 | ||
| 1319 | |||
| 1320 | Press (N3)=K2 (column number 2) to execute the sorting result (SM165=OFF in the case of ascending order) | ||
| 1321 | |||
| 1322 | |(% colspan="2" rowspan="3" style="text-align:center; vertical-align:middle" %) |(% colspan="4" style="text-align:center; vertical-align:middle" %)**When the number of groups (N2) (N2) = K4** | ||
| 1323 | |(% style="text-align:center; vertical-align:middle" %)**Column NO.1**|(% style="text-align:center; vertical-align:middle" %)**Column NO.2**|(% style="text-align:center; vertical-align:middle" %)**Column NO.3**|(% style="text-align:center; vertical-align:middle" %)**Column NO.4** | ||
| 1324 | |(% style="text-align:center; vertical-align:middle" %)**Management number**|(% style="text-align:center; vertical-align:middle" %)**Height**|(% style="text-align:center; vertical-align:middle" %)**Weight**|(% style="text-align:center; vertical-align:middle" %)**Age** | ||
| 1325 | |(% rowspan="10" style="text-align:center; vertical-align:middle" %)When the number of data (N1) = 5|(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.1|(% style="text-align:center; vertical-align:middle" %)(D)|(% style="text-align:center; vertical-align:middle" %)(D) +1|(% style="text-align:center; vertical-align:middle" %)(D) +2|(% style="text-align:center; vertical-align:middle" %)(D) +3 | ||
| 1326 | |(% style="text-align:center; vertical-align:middle" %)4|(% style="text-align:center; vertical-align:middle" %)100|(% style="text-align:center; vertical-align:middle" %)20|(% style="text-align:center; vertical-align:middle" %)8 | ||
| 1327 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.2|(% style="text-align:center; vertical-align:middle" %)(D) +4|(% style="text-align:center; vertical-align:middle" %)(D) +5|(% style="text-align:center; vertical-align:middle" %)(D) +6|(% style="text-align:center; vertical-align:middle" %)(D) +7 | ||
| 1328 | |(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)45|(% style="text-align:center; vertical-align:middle" %)20 | ||
| 1329 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.3|(% style="text-align:center; vertical-align:middle" %)(D) +8|(% style="text-align:center; vertical-align:middle" %)(D) +9|(% style="text-align:center; vertical-align:middle" %)(D) +10|(% style="text-align:center; vertical-align:middle" %)(D) +100 | ||
| 1330 | |(% style="text-align:center; vertical-align:middle" %)5|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)45 | ||
| 1331 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.4|(% style="text-align:center; vertical-align:middle" %)(D) +12|(% style="text-align:center; vertical-align:middle" %)(D) +13|(% style="text-align:center; vertical-align:middle" %)(D) +14|(% style="text-align:center; vertical-align:middle" %)(D) +15 | ||
| 1332 | |(% style="text-align:center; vertical-align:middle" %)3|(% style="text-align:center; vertical-align:middle" %)160|(% style="text-align:center; vertical-align:middle" %)70|(% style="text-align:center; vertical-align:middle" %)30 | ||
| 1333 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.5|(% style="text-align:center; vertical-align:middle" %)(D) +16|(% style="text-align:center; vertical-align:middle" %)(D) +17|(% style="text-align:center; vertical-align:middle" %)(D) +18|(% style="text-align:center; vertical-align:middle" %)(D) +19 | ||
| 1334 | |(% style="text-align:center; vertical-align:middle" %)2|(% style="text-align:center; vertical-align:middle" %)180|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)40 | ||
| 1335 | |||
| 1336 | Press (N3)=K3 (column number 3) to execute the sorting result (SM165=ON in the case of ascending order) | ||
| 1337 | |||
| 1338 | |(% colspan="2" rowspan="3" style="text-align:center; vertical-align:middle" %) |(% colspan="4" style="text-align:center; vertical-align:middle" %)**When the number of groups (N2) (N2) = K4** | ||
| 1339 | |(% style="text-align:center; vertical-align:middle" %)**Column NO.1**|(% style="text-align:center; vertical-align:middle" %)**Column NO.2**|(% style="text-align:center; vertical-align:middle" %)**Column NO.3**|(% style="text-align:center; vertical-align:middle" %)**Column NO.4** | ||
| 1340 | |(% style="text-align:center; vertical-align:middle" %)**Management number**|(% style="text-align:center; vertical-align:middle" %)**Height**|(% style="text-align:center; vertical-align:middle" %)**Weight**|(% style="text-align:center; vertical-align:middle" %)**Age** | ||
| 1341 | |(% rowspan="10" style="text-align:center; vertical-align:middle" %)When the number of data (N1) = 5|(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.1|(% style="text-align:center; vertical-align:middle" %)(D)|(% style="text-align:center; vertical-align:middle" %)(D) +1|(% style="text-align:center; vertical-align:middle" %)(D) +2|(% style="text-align:center; vertical-align:middle" %)(D) +3 | ||
| 1342 | |(% style="text-align:center; vertical-align:middle" %)3|(% style="text-align:center; vertical-align:middle" %)160|(% style="text-align:center; vertical-align:middle" %)70|(% style="text-align:center; vertical-align:middle" %)30 | ||
| 1343 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.2|(% style="text-align:center; vertical-align:middle" %)(D) +4|(% style="text-align:center; vertical-align:middle" %)(D) +5|(% style="text-align:center; vertical-align:middle" %)(D) +6|(% style="text-align:center; vertical-align:middle" %)(D) +7 | ||
| 1344 | |(% style="text-align:center; vertical-align:middle" %)2|(% style="text-align:center; vertical-align:middle" %)180|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)40 | ||
| 1345 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.3|(% style="text-align:center; vertical-align:middle" %)(D) +8|(% style="text-align:center; vertical-align:middle" %)(D) +9|(% style="text-align:center; vertical-align:middle" %)(D) +10|(% style="text-align:center; vertical-align:middle" %)(D) +100 | ||
| 1346 | |(% style="text-align:center; vertical-align:middle" %)5|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)45 | ||
| 1347 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.4|(% style="text-align:center; vertical-align:middle" %)(D) +12|(% style="text-align:center; vertical-align:middle" %)(D) +13|(% style="text-align:center; vertical-align:middle" %)(D) +14|(% style="text-align:center; vertical-align:middle" %)(D) +15 | ||
| 1348 | |(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)45|(% style="text-align:center; vertical-align:middle" %)20 | ||
| 1349 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.5|(% style="text-align:center; vertical-align:middle" %)(D) +16|(% style="text-align:center; vertical-align:middle" %)(D) +17|(% style="text-align:center; vertical-align:middle" %)(D) +18|(% style="text-align:center; vertical-align:middle" %)(D) +19 | ||
| 1350 | |(% style="text-align:center; vertical-align:middle" %)4|(% style="text-align:center; vertical-align:middle" %)100|(% style="text-align:center; vertical-align:middle" %)20|(% style="text-align:center; vertical-align:middle" %)8 | ||
| 1351 | |||
| 1352 | ✎**Note: ** Do not change the operand and data content during operation. | ||
| 1353 | |||
| 1354 | When executing again, the instruction input should be turned OFF once. | ||
| 1355 | |||
| 1356 | The SORT2 instruction can only be written in the program to drive 2 at most. | ||
| 1357 | |||
| 1358 | When the same device is specified in (S) and (D), the source data is rewritten to the sorted data order. Please pay special attention not to change the content of (S) before the end of execution. | ||
| 1359 | |||
| 1360 | Do not overlap the source data and the sorted data. | ||
| 1361 | |||
| 1362 | (% style="text-align:center" %) | ||
| 1363 | [[image:07-2 Basic instructions_html_d78408a5465eaf25.gif||height="485" width="657"]] | ||
| 1364 | |||
| 1365 | **Error code** | ||
| 1366 | |||
| 1367 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 1368 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N1) exceeds the range of 1 to 32 | ||
| 1369 | |When the value specified in (N2) exceeds the range of 1 to 6 | ||
| 1370 | |When the value specified in (N3) exceeds the range of 1 to n2 | ||
| 1371 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in read application instruction (S), (D), (N1), (N2 )and (N3) exceeds the corresponding device range | ||
| 1372 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 1373 | |(% style="text-align:center; vertical-align:middle" %)4089H|The number of application instructions exceeded the limit. | ||
| 1374 | |||
| 1375 | **Example** | ||
| 1376 | |||
| 1377 | Refer to the function description example. | ||
| 1378 | |||
| 1379 | (% style="text-align:center" %) | ||
| 1380 | [[image:07-2 Basic instructions_html_3a995438f23dce64.png||height="158" width="695"]] | ||
| 1381 | |||
| 1382 | == **DSORT2/32-bit data sorting** == | ||
| 1383 | |||
| 1384 | **DSORT2(P)** | ||
| 1385 | |||
| 1386 | Sort the data rows in ascending or descending order based on the group data of column (N3) in the BIN 32-bit data table (sorting source) of (N1×N2) points specified in (S) and store them in (D) The specified (N1×N2) point BIN 32-bit data table (after sorting). | ||
| 1387 | |||
| 1388 | -[DSORT2 (S) (N1) (N2) (D) (N3)] | ||
| 1389 | |||
| 1390 | **Content, range and data type** | ||
| 1391 | |||
| 1392 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 1393 | |(% style="text-align:center; vertical-align:middle" %)(S)|The start device number storing the data table|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 1394 | |(% style="text-align:center; vertical-align:middle" %)(N1)|Number of data (rows)|(% style="text-align:center; vertical-align:middle" %)1 to 32|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 1395 | |(% style="text-align:center; vertical-align:middle" %)(N2)|Number of group data (columns)|(% style="text-align:center; vertical-align:middle" %)1 to 6|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 1396 | |(% style="text-align:center; vertical-align:middle" %)(D)|The start device number storing the operation result|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 1397 | |(% style="text-align:center; vertical-align:middle" %)(N3)|The column number of the group data (column) as the sorting basis|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 1398 | |||
| 1399 | **Device used** | ||
| 1400 | |||
| 1401 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="13" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)**Offset modification**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 1402 | **Pulse extension** | ||
| 1403 | ))) | ||
| 1404 | |(% style="text-align:center; vertical-align:middle" %)**KnX**|(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**K**|(% style="text-align:center; vertical-align:middle" %)**H**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 1405 | |(% rowspan="5" style="text-align:center; vertical-align:middle" %)DSORT2|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1406 | |(% style="text-align:center; vertical-align:middle" %)Parameter 2|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1407 | |(% style="text-align:center; vertical-align:middle" %)Parameter 3|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1408 | |(% style="text-align:center; vertical-align:middle" %)Parameter 4|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1409 | |(% style="text-align:center; vertical-align:middle" %)Parameter 5|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %) | ||
| 1410 | |||
| 1411 | **Features** | ||
| 1412 | |||
| 1413 | Sort the data rows in ascending or descending order based on the group data in the (N3) column of the (N1×N2) point BIN 32-bit data table (sorting source) specified in (S), and store to (d) (N1×N2) specified in the BIN 32-bit data table (after sorting). | ||
| 1414 | |||
| 1415 | Take (N1)=K3, (N2)=K4 in the sort source as an example, the data table structure is as follows. In the case of a sorted data table, (S) should be replaced with (D). | ||
| 1416 | |||
| 1417 | |(% colspan="2" rowspan="3" style="text-align:center; vertical-align:middle" %) |(% colspan="4" style="text-align:center; vertical-align:middle" %)**When the number of groups (N2) (N2) = K4** | ||
| 1418 | |(% style="text-align:center; vertical-align:middle" %)**Column NO.1**|(% style="text-align:center; vertical-align:middle" %)**Column NO.2**|(% style="text-align:center; vertical-align:middle" %)**Column NO.3**|(% style="text-align:center; vertical-align:middle" %)**Column NO.4** | ||
| 1419 | |(% style="text-align:center; vertical-align:middle" %)**Management number**|(% style="text-align:center; vertical-align:middle" %)**Height**|(% style="text-align:center; vertical-align:middle" %)**Weight**|(% style="text-align:center; vertical-align:middle" %)**Age** | ||
| 1420 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)When the number of data (N1)=3|(% style="text-align:center; vertical-align:middle" %)Line NO.1|(% style="text-align:center; vertical-align:middle" %)(S)+1, (S)|(% style="text-align:center; vertical-align:middle" %)(S)+3, (S)+2|(% style="text-align:center; vertical-align:middle" %)(S)+5, (S)+4|(% style="text-align:center; vertical-align:middle" %)(S) +7, (S) +6 | ||
| 1421 | |(% style="text-align:center; vertical-align:middle" %)Line NO.2|(% style="text-align:center; vertical-align:middle" %)(S) +9, (S) +8|(% style="text-align:center; vertical-align:middle" %)(S)+11, (S)+10|(% style="text-align:center; vertical-align:middle" %)(S) +13, (S) +12|(% style="text-align:center; vertical-align:middle" %)(S) +15, (S) +14 | ||
| 1422 | |(% style="text-align:center; vertical-align:middle" %)Line NO.3|(% style="text-align:center; vertical-align:middle" %)(S) +17, (S) +16|(% style="text-align:center; vertical-align:middle" %)(S) +19, (S) +18|(% style="text-align:center; vertical-align:middle" %)(S) +21, (S) +20|(% style="text-align:center; vertical-align:middle" %)(S) +23, (S) +22 | ||
| 1423 | |||
| 1424 | Sequence is set by the ON/OFF status of SM165 | ||
| 1425 | |||
| 1426 | |(% style="text-align:center; vertical-align:middle" %) |(% style="text-align:center; vertical-align:middle" %)**Sort order setting instructions** | ||
| 1427 | |(% style="text-align:center; vertical-align:middle" %)SM165=ON|(% style="text-align:center; vertical-align:middle" %)Descending | ||
| 1428 | |(% style="text-align:center; vertical-align:middle" %)SM165=OFF|(% style="text-align:center; vertical-align:middle" %)Ascending | ||
| 1429 | |||
| 1430 | Data alignment starts when instruction input is ON, data alignment ends after (n1) scan, instruction execution end flag SM229 is set to ON. | ||
| 1431 | |||
| 1432 | According to the source data sorted as follows, an example of the operation is shown below. In addition, by putting serial numbers such as management numbers in the first column in advance, the original row number can be judged based on the content, which is very convenient. | ||
| 1433 | |||
| 1434 | |(% colspan="2" rowspan="3" style="text-align:center; vertical-align:middle" %) |(% colspan="4" style="text-align:center; vertical-align:middle" %)**When the number of groups (N2) (N2) = K4** | ||
| 1435 | |(% style="text-align:center; vertical-align:middle" %)**Column NO.1**|(% style="text-align:center; vertical-align:middle" %)**Column NO.2**|(% style="text-align:center; vertical-align:middle" %)**Column NO.3**|(% style="text-align:center; vertical-align:middle" %)**Column NO.4** | ||
| 1436 | |(% style="text-align:center; vertical-align:middle" %)**Management number**|(% style="text-align:center; vertical-align:middle" %)**height**|(% style="text-align:center; vertical-align:middle" %)**body weight**|(% style="text-align:center; vertical-align:middle" %)**age** | ||
| 1437 | |(% rowspan="10" style="text-align:center; vertical-align:middle" %)When the number of data (N1) = 5|(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.1|(% style="text-align:center; vertical-align:middle" %)(S)+1, (S)|(% style="text-align:center; vertical-align:middle" %)(S)+3, (S)+2|(% style="text-align:center; vertical-align:middle" %)(S)+5, (S)+4|(% style="text-align:center; vertical-align:middle" %)(S) +7, (S) +6 | ||
| 1438 | |(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)45|(% style="text-align:center; vertical-align:middle" %)20 | ||
| 1439 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.2|(% style="text-align:center; vertical-align:middle" %)(S) +9, (S) +8|(% style="text-align:center; vertical-align:middle" %)(S)+11, (S)+10|(% style="text-align:center; vertical-align:middle" %)(S) +13, (S) +12|(% style="text-align:center; vertical-align:middle" %)(S) +15, (S) +14 | ||
| 1440 | |(% style="text-align:center; vertical-align:middle" %)2|(% style="text-align:center; vertical-align:middle" %)180|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)40 | ||
| 1441 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.3|(% style="text-align:center; vertical-align:middle" %)(S) +17, (S) +16|(% style="text-align:center; vertical-align:middle" %)(S) +19, (S) +18|(% style="text-align:center; vertical-align:middle" %)(S) +21, (S) +20|(% style="text-align:center; vertical-align:middle" %)(S) +23, (S) +22 | ||
| 1442 | |(% style="text-align:center; vertical-align:middle" %)3|(% style="text-align:center; vertical-align:middle" %)160|(% style="text-align:center; vertical-align:middle" %)70|(% style="text-align:center; vertical-align:middle" %)30 | ||
| 1443 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.4|(% style="text-align:center; vertical-align:middle" %)(S) +25, (S) +24|(% style="text-align:center; vertical-align:middle" %)(S) +27, (S) +26|(% style="text-align:center; vertical-align:middle" %)(S) +29, (S) +28|(% style="text-align:center; vertical-align:middle" %)(S) +31, (S) +30 | ||
| 1444 | |(% style="text-align:center; vertical-align:middle" %)4|(% style="text-align:center; vertical-align:middle" %)100|(% style="text-align:center; vertical-align:middle" %)20|(% style="text-align:center; vertical-align:middle" %)8 | ||
| 1445 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.5|(% style="text-align:center; vertical-align:middle" %)(S) +33, (S) +32|(% style="text-align:center; vertical-align:middle" %)(S) +35, (S) +34|(% style="text-align:center; vertical-align:middle" %)(S) +37, (S) +36|(% style="text-align:center; vertical-align:middle" %)(S) +39, (S) +38 | ||
| 1446 | |(% style="text-align:center; vertical-align:middle" %)5|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)45 | ||
| 1447 | |||
| 1448 | Press (N3)=K2 (column NO.2) to execute the sorting result (SM165=OFF in the case of ascending order) | ||
| 1449 | |||
| 1450 | |(% colspan="2" rowspan="3" style="text-align:center; vertical-align:middle" %) |(% colspan="4" style="text-align:center; vertical-align:middle" %)**When the number of groups (N2) (N2) = K4** | ||
| 1451 | |(% style="text-align:center; vertical-align:middle" %)**Column NO.1**|(% style="text-align:center; vertical-align:middle" %)**Column NO.2**|(% style="text-align:center; vertical-align:middle" %)**Column NO.3**|(% style="text-align:center; vertical-align:middle" %)**Column NO.4** | ||
| 1452 | |(% style="text-align:center; vertical-align:middle" %)**Management number**|(% style="text-align:center; vertical-align:middle" %)**height**|(% style="text-align:center; vertical-align:middle" %)**body weight**|(% style="text-align:center; vertical-align:middle" %)**age** | ||
| 1453 | |(% rowspan="10" style="text-align:center; vertical-align:middle" %)When the number of data (N1) = 5|(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.1|(% style="text-align:center; vertical-align:middle" %)(S)+1, (S)|(% style="text-align:center; vertical-align:middle" %)(S)+3, (S)+2|(% style="text-align:center; vertical-align:middle" %)(S)+5, (S)+4|(% style="text-align:center; vertical-align:middle" %)(S) +7, (S) +6 | ||
| 1454 | |(% style="text-align:center; vertical-align:middle" %)4|(% style="text-align:center; vertical-align:middle" %)100|(% style="text-align:center; vertical-align:middle" %)20|(% style="text-align:center; vertical-align:middle" %)8 | ||
| 1455 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.2|(% style="text-align:center; vertical-align:middle" %)(S) +9, (S) +8|(% style="text-align:center; vertical-align:middle" %)(S)+11, (S)+10|(% style="text-align:center; vertical-align:middle" %)(S) +13, (S) +12|(% style="text-align:center; vertical-align:middle" %)(S) +15, (S) +14 | ||
| 1456 | |(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)45|(% style="text-align:center; vertical-align:middle" %)20 | ||
| 1457 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.3|(% style="text-align:center; vertical-align:middle" %)(S) +17, (S) +16|(% style="text-align:center; vertical-align:middle" %)(S) +19, (S) +18|(% style="text-align:center; vertical-align:middle" %)(S) +21, (S) +20|(% style="text-align:center; vertical-align:middle" %)(S) +23, (S) +22 | ||
| 1458 | |(% style="text-align:center; vertical-align:middle" %)5|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)45 | ||
| 1459 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.4|(% style="text-align:center; vertical-align:middle" %)(S) +25, (S) +24|(% style="text-align:center; vertical-align:middle" %)(S) +27, (S) +26|(% style="text-align:center; vertical-align:middle" %)(S) +29, (S) +28|(% style="text-align:center; vertical-align:middle" %)(S) +31, (S) +30 | ||
| 1460 | |(% style="text-align:center; vertical-align:middle" %)3|(% style="text-align:center; vertical-align:middle" %)160|(% style="text-align:center; vertical-align:middle" %)70|(% style="text-align:center; vertical-align:middle" %)30 | ||
| 1461 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.5|(% style="text-align:center; vertical-align:middle" %)(S) +33, (S) +32|(% style="text-align:center; vertical-align:middle" %)(S) +35, (S) +34|(% style="text-align:center; vertical-align:middle" %)(S) +37, (S) +36|(% style="text-align:center; vertical-align:middle" %)(S) +39, (S) +38 | ||
| 1462 | |(% style="text-align:center; vertical-align:middle" %)2|(% style="text-align:center; vertical-align:middle" %)180|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)40 | ||
| 1463 | |||
| 1464 | Press (N3)=K3 (column NO.3) to execute the sorting result (SM165=ON in the case of ascending order) | ||
| 1465 | |||
| 1466 | |(% colspan="2" rowspan="3" style="text-align:center; vertical-align:middle" %) |(% colspan="4" style="text-align:center; vertical-align:middle" %)**When the number of groups (N2) (N2) = K4** | ||
| 1467 | |(% style="text-align:center; vertical-align:middle" %)**Column NO.1**|(% style="text-align:center; vertical-align:middle" %)**Column NO.2**|(% style="text-align:center; vertical-align:middle" %)**Column NO.3**|(% style="text-align:center; vertical-align:middle" %)**Column NO.4** | ||
| 1468 | |(% style="text-align:center; vertical-align:middle" %)**Management number**|(% style="text-align:center; vertical-align:middle" %)**height**|(% style="text-align:center; vertical-align:middle" %)**body weight**|(% style="text-align:center; vertical-align:middle" %)**age** | ||
| 1469 | |(% rowspan="10" style="text-align:center; vertical-align:middle" %)When the number of data (N1) = 5|(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.1|(% style="text-align:center; vertical-align:middle" %)(S)+1, (S)|(% style="text-align:center; vertical-align:middle" %)(S)+3, (S)+2|(% style="text-align:center; vertical-align:middle" %)(S)+5, (S)+4|(% style="text-align:center; vertical-align:middle" %)(S) +7, (S) +6 | ||
| 1470 | |(% style="text-align:center; vertical-align:middle" %)3|(% style="text-align:center; vertical-align:middle" %)160|(% style="text-align:center; vertical-align:middle" %)70|(% style="text-align:center; vertical-align:middle" %)30 | ||
| 1471 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.2|(% style="text-align:center; vertical-align:middle" %)(S) +9, (S) +8|(% style="text-align:center; vertical-align:middle" %)(S)+11, (S)+10|(% style="text-align:center; vertical-align:middle" %)(S) +13, (S) +12|(% style="text-align:center; vertical-align:middle" %)(S) +15, (S) +14 | ||
| 1472 | |(% style="text-align:center; vertical-align:middle" %)2|(% style="text-align:center; vertical-align:middle" %)180|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)40 | ||
| 1473 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.3|(% style="text-align:center; vertical-align:middle" %)(S) +17, (S) +16|(% style="text-align:center; vertical-align:middle" %)(S) +19, (S) +18|(% style="text-align:center; vertical-align:middle" %)(S) +21, (S) +20|(% style="text-align:center; vertical-align:middle" %)(S) +23, (S) +22 | ||
| 1474 | |(% style="text-align:center; vertical-align:middle" %)5|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)50|(% style="text-align:center; vertical-align:middle" %)45 | ||
| 1475 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.4|(% style="text-align:center; vertical-align:middle" %)(S) +25, (S) +24|(% style="text-align:center; vertical-align:middle" %)(S) +27, (S) +26|(% style="text-align:center; vertical-align:middle" %)(S) +29, (S) +28|(% style="text-align:center; vertical-align:middle" %)(S) +31, (S) +30 | ||
| 1476 | |(% style="text-align:center; vertical-align:middle" %)1|(% style="text-align:center; vertical-align:middle" %)150|(% style="text-align:center; vertical-align:middle" %)45|(% style="text-align:center; vertical-align:middle" %)20 | ||
| 1477 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)Line NO.5|(% style="text-align:center; vertical-align:middle" %)(S) +33, (S) +32|(% style="text-align:center; vertical-align:middle" %)(S) +35, (S) +34|(% style="text-align:center; vertical-align:middle" %)(S) +37, (S) +36|(% style="text-align:center; vertical-align:middle" %)(S) +39, (S) +38 | ||
| 1478 | |(% style="text-align:center; vertical-align:middle" %)4|(% style="text-align:center; vertical-align:middle" %)100|(% style="text-align:center; vertical-align:middle" %)20|(% style="text-align:center; vertical-align:middle" %)8 | ||
| 1479 | |||
| 1480 | ✎**Note: ** Do not change the operand and data content during operation. | ||
| 1481 | |||
| 1482 | When executing again, the instruction input should be turned OFF once. | ||
| 1483 | |||
| 1484 | The SORT2 instruction can only be written twice in the program. | ||
| 1485 | |||
| 1486 | When the same device is specified in (S) and (D), the source data is rewritten to the sorted data order. Please pay special attention not to change the content of (S) before the end of execution. | ||
| 1487 | |||
| 1488 | Do not overlap the source data and the sorted data. | ||
| 1489 | |||
| 1490 | (% style="text-align:center" %) | ||
| 1491 | [[image:07-2 Basic instructions_html_d78408a5465eaf25.gif||height="518" width="701"]] | ||
| 1492 | |||
| 1493 | **Error code** | ||
| 1494 | |||
| 1495 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 1496 | |(% rowspan="3" style="text-align:center; vertical-align:middle" %)4084H|When the value specified in (N1) exceeds the range of 1 to 32 | ||
| 1497 | |When the value specified in (N2) exceeds the range of 1 to 6 | ||
| 1498 | |When the value specified in (N3) exceeds the range of 1 to n2 | ||
| 1499 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in read application instruction (S), (D), (N1), (N2 )and (N3) exceeds the corresponding device range | ||
| 1500 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 1501 | |(% style="text-align:center; vertical-align:middle" %)4089H|The number of application instructions exceeded the limit. | ||
| 1502 | |||
| 1503 | **Example** | ||
| 1504 | |||
| 1505 | Refer to the function description example. | ||
| 1506 | |||
| 1507 | (% style="text-align:center" %) | ||
| 1508 | [[image:07-2 Basic instructions_html_1f225b781e4ba2f.png||height="139" width="605"]] | ||
| 1509 | |||
| 1510 | == **SWAP/16-bit data high and low byte swap** == | ||
| 1511 | |||
| 1512 | **SWAP(P)** | ||
| 1513 | |||
| 1514 | Swap the high and low 8-bit value of the device specified in (D). | ||
| 1515 | |||
| 1516 | -[SWAP (D)] | ||
| 1517 | |||
| 1518 | **Content, range and data type** | ||
| 1519 | |||
| 1520 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 1521 | |(% style="text-align:center; vertical-align:middle" %)(D)|Word device with high and low byte swap|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1522 | |||
| 1523 | **Device used** | ||
| 1524 | |||
| 1525 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="8" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 1526 | **Offset modification** | ||
| 1527 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 1528 | **Pulse extension** | ||
| 1529 | ))) | ||
| 1530 | |(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 1531 | |(% style="text-align:center; vertical-align:middle" %)SWAP|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 1532 | |||
| 1533 | **Features** | ||
| 1534 | |||
| 1535 | Convert the high and low 8-bit value of the device specified in (D). | ||
| 1536 | |||
| 1537 | (% style="text-align:center" %) | ||
| 1538 | [[image:07-2 Basic instructions_html_3716816d1bf23d09.png||height="321" width="568"]] | ||
| 1539 | |||
| 1540 | **Error code** | ||
| 1541 | |||
| 1542 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 1543 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instruction (D) exceeds the corresponding device range | ||
| 1544 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 1545 | |||
| 1546 | **Example** | ||
| 1547 | |||
| 1548 | (% style="text-align:center" %) | ||
| 1549 | [[image:07-2 Basic instructions_html_4955b8e80583b752.png]] | ||
| 1550 | |||
| 1551 | When the rising edge of M0 is triggered, swap the low 8 bits and high 8 bits of D0 to get H8F2A. | ||
| 1552 | |||
| 1553 | == **DSWAP/32-bit data high and low byte swap** == | ||
| 1554 | |||
| 1555 | **DSWAP(P)** | ||
| 1556 | |||
| 1557 | The devices specified in (D) and (D)+1 will be converted to the high and low 8-bit values respectively. | ||
| 1558 | |||
| 1559 | -[DSWAP (D)] | ||
| 1560 | |||
| 1561 | **Content, range and data type** | ||
| 1562 | |||
| 1563 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 1564 | |(% style="text-align:center; vertical-align:middle" %)(D)|Word device with high and low byte swap|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 32 bit|(% style="text-align:center; vertical-align:middle" %)ANY32 | ||
| 1565 | |||
| 1566 | **Device used** | ||
| 1567 | |||
| 1568 | |(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Instruction**|(% rowspan="2" style="text-align:center; vertical-align:middle" %)**Parameter**|(% colspan="10" style="text-align:center; vertical-align:middle" %)**Devices**|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 1569 | **Offset modification** | ||
| 1570 | )))|(% style="text-align:center; vertical-align:middle" %)((( | ||
| 1571 | **Pulse extension** | ||
| 1572 | ))) | ||
| 1573 | |(% style="text-align:center; vertical-align:middle" %)**KnY**|(% style="text-align:center; vertical-align:middle" %)**KnM**|(% style="text-align:center; vertical-align:middle" %)**KnS**|(% style="text-align:center; vertical-align:middle" %)**T**|(% style="text-align:center; vertical-align:middle" %)**C**|(% style="text-align:center; vertical-align:middle" %)**D**|(% style="text-align:center; vertical-align:middle" %)**R**|(% style="text-align:center; vertical-align:middle" %)**SD**|(% style="text-align:center; vertical-align:middle" %)**LC**|(% style="text-align:center; vertical-align:middle" %)**HSC**|(% style="text-align:center; vertical-align:middle" %)**[D]**|(% style="text-align:center; vertical-align:middle" %)**XXP** | ||
| 1574 | |(% style="text-align:center; vertical-align:middle" %)DSWAP|(% style="text-align:center; vertical-align:middle" %)Parameter 1|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)●|(% style="text-align:center; vertical-align:middle" %)● | ||
| 1575 | |||
| 1576 | **Features** | ||
| 1577 | |||
| 1578 | The devices specified in (D) and (D)+1 will be converted to the upper and lower 8-bit values respectively. | ||
| 1579 | |||
| 1580 | (% style="text-align:center" %) | ||
| 1581 | [[image:07-2 Basic instructions_html_4d64dcd321d22f11.png]] | ||
| 1582 | |||
| 1583 | ✎**Note: ** If continuous execution instructions are used, conversion will be performed every scan cycle. | ||
| 1584 | |||
| 1585 | **Error code** | ||
| 1586 | |||
| 1587 | |(% style="text-align:center; vertical-align:middle" %)**Error code**|(% style="text-align:center; vertical-align:middle" %)**Content** | ||
| 1588 | |(% style="text-align:center; vertical-align:middle" %)4085H|When the device specified in the read application instruction (D) exceeds the corresponding device range | ||
| 1589 | |(% style="text-align:center; vertical-align:middle" %)4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 1590 | |||
| 1591 | **Example** | ||
| 1592 | |||
| 1593 | (% style="text-align:center" %) | ||
| 1594 | [[image:07-2 Basic instructions_html_81e3d6e4b87b8c93.png]] | ||
| 1595 | |||
| 1596 | When the rising edge of M0 is triggered, the low 8 bits and the high 8 bits of D0 and D1 are swapped, and D0=H8F2A, D1=H3412 are obtained. | ||
| 1597 | |||
| 1598 | (% style="text-align:center" %) | ||
| 1599 | [[image:07-2 Basic instructions_html_80e0730a6f8e691a.png||height="91" width="750"]] | ||
| 1600 | |||
| 1601 | == **BTOW/Byte unit data merge** == | ||
| 1602 | |||
| 1603 | **BTOW(P)** | ||
| 1604 | |||
| 1605 | Combine the low 8 bits of (N) bytes of BIN 16-bit data stored after the device number specified in (S) into word units and store it after the device number specified in (D). | ||
| 1606 | |||
| 1607 | -[BTOW (S) (D) (N)] | ||
| 1608 | |||
| 1609 | **Content, range and data type** | ||
| 1610 | |||
| 1611 | |(% style="text-align:center; vertical-align:middle" %)**Parameter**|(% style="text-align:center; vertical-align:middle" %)**Content**|(% style="text-align:center; vertical-align:middle" %)**Range**|(% style="text-align:center; vertical-align:middle" %)**Data type**|(% style="text-align:center; vertical-align:middle" %)**Data type (label)** | ||
| 1612 | |(% style="text-align:center; vertical-align:middle" %)(S)|(% style="text-align:center; vertical-align:middle" %)The start device that stores the data merging in byte units|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1613 | |(% style="text-align:center; vertical-align:middle" %)(D)|(% style="text-align:center; vertical-align:middle" %)The start device that stores the result of merging in byte units|(% style="text-align:center; vertical-align:middle" %)-|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1614 | |(% style="text-align:center; vertical-align:middle" %)(N)|(% style="text-align:center; vertical-align:middle" %)Number of byte data merged|(% style="text-align:center; vertical-align:middle" %)0-32767|(% style="text-align:center; vertical-align:middle" %)Signed BIN 16 bit|(% style="text-align:center; vertical-align:middle" %)ANY16 | ||
| 1615 | |||
| 1616 | **Device used** | ||
| 1617 | |||
| 1618 | |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="11" %)**Devices**|((( | ||
| 1619 | **Offset modification** | ||
| 1620 | )))|((( | ||
| 1621 | **Pulse extension** | ||
| 1622 | ))) | ||
| 1623 | |**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**K**|**H**|**[D]**|**XXP** | ||
| 1624 | |(% rowspan="3" %)BTOW|Parameter 1| | | | |●|●|●|●|●| | |●|● | ||
| 1625 | |Parameter 2| | | | |●|●|●|●|●| | |●|● | ||
| 1626 | |Parameter 3|●|●|●|●|●|●|●|●|●|●|●|●|● | ||
| 1627 | |||
| 1628 | **Features** | ||
| 1629 | |||
| 1630 | After the device number specified in (s), the lower 8 bits of the 16-bit BIN data stored in (n) bytes are combined into word units and stored in the device number specified in (d) or later. | ||
| 1631 | |||
| 1632 | The upper 8 bits of (n) word data stored after the device number specified in (s) will be ignored. In addition, when (n) is an odd number, 0 is stored in the upper 8 bits of the device storing the (n)th byte of data. | ||
| 1633 | |||
| 1634 | (% style="text-align:center" %) | ||
| 1635 | [[image:07-2 Basic instructions_html_f7abd03fc8a46b74.png||height="204" width="963"]] | ||
| 1636 | |||
| 1637 | £: the £th byte data; | ||
| 1638 | |||
| 1639 | (1): Ignore the high byte | ||
| 1640 | |||
| 1641 | *1: Carry below the decimal point. | ||
| 1642 | |||
| 1643 | **Example** | ||
| 1644 | |||
| 1645 | When (N)=5, the data up to the lower 8 bits of (S)+(S)+4 is stored in (D)+(D)+2. | ||
| 1646 | |||
| 1647 | (% style="text-align:center" %) | ||
| 1648 | [[image:07-2 Basic instructions_html_50df057d754891b2.png||height="163" width="1077"]] | ||
| 1649 | |||
| 1650 | (1): When (N)=5 | ||
| 1651 | |||
| 1652 | (2): Change to 00H | ||
| 1653 | |||
| 1654 | By setting the number of bytes in (N), the range of byte data specified in (S) and the range of the device storing the combined data specified in (D) will be automatically determined. | ||
| 1655 | |||
| 1656 | When the number of bytes specified in (N) is 0, no processing is performed. | ||
| 1657 | |||
| 1658 | The upper 8 bits of the byte data storage device specified in (S) will be ignored, and the lower 8 bits will be the target. | ||
| 1659 | |||
| 1660 | **Example** | ||
| 1661 | |||
| 1662 | When the low 8 bits of D11 to D16 is stored in D12 to D14. | ||
| 1663 | |||
| 1664 | (% style="text-align:center" %) | ||
| 1665 | [[image:07-2 Basic instructions_html_9e8f8fd8cc532de.png||height="163" width="876"]] | ||
| 1666 | |||
| 1667 | Even if the device range storing the data before merging overlaps the device rangestoring merged data, it will be handled as normal. | ||
| 1668 | |||
| 1669 | |**Device range storing the data before merging**|**Device range for storing merged data** | ||
| 1670 | |(S)+0 to (S)+(N)-1|(D) to (D) + (N/2-1) | ||
| 1671 | |||
| 1672 | **Error code** | ||
| 1673 | |||
| 1674 | |**Error code**|**Content** | ||
| 1675 | |4084H|The value specified in (N) exceed range of 0 to 32767 | ||
| 1676 | |4085H|When the device specified in the write application instruction (S),(D) and (N) exceeds the corresponding device range | ||
| 1677 | |||
| 1678 | **Example** | ||
| 1679 | |||
| 1680 | (% style="text-align:center" %) | ||
| 1681 | [[image:07-2 Basic instructions_html_5451ed9cd96c7f44.png]] | ||
| 1682 | |||
| 1683 | When M0 is ON, the data of D20 to D25 is separated according to byte units, and then stored in D10 to D12. | ||
| 1684 | |||
| 1685 | (% style="text-align:center" %) | ||
| 1686 | [[image:07-2 Basic instructions_html_952713e3b4e74083.png||height="195" width="750"]] | ||
| 1687 | |||
| 1688 | == **WTOB/Byte unit data separation** == | ||
| 1689 | |||
| 1690 | **WTOB(P)** | ||
| 1691 | |||
| 1692 | After separating the BIN 16-bit data stored after the device number specified in (S) into (N) bytes, store it after the device number specified in (D). | ||
| 1693 | |||
| 1694 | -[WTOB (S) (D) (N)] | ||
| 1695 | |||
| 1696 | **Content, range and data type** | ||
| 1697 | |||
| 1698 | |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)** | ||
| 1699 | |(S)|The start device that stores the data separation in byte unit|-|Signed BIN 16 bit|ANY16 | ||
| 1700 | |(D)|The start device that stores the result of separation in byte unit|-|Signed BIN 16 bit|ANY16 | ||
| 1701 | |(N)|Number of byte data separated|0-32767|Signed BIN 16 bit|ANY16 | ||
| 1702 | |||
| 1703 | **Device used** | ||
| 1704 | |||
| 1705 | |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="7" %)**Devices**|**Offset modification**|((( | ||
| 1706 | **Pulse extension** | ||
| 1707 | ))) | ||
| 1708 | |**T**|**C**|**D**|**R**|**SD**|**K**|**H**|**[D]**|**XXP** | ||
| 1709 | |(% rowspan="3" %)WTOB|Parameter 1|●|●|●|●|●| | |●|● | ||
| 1710 | |Parameter 2|●|●|●|●|●| | |●|● | ||
| 1711 | |Parameter 3| | |●|●|●|●|●|●|● | ||
| 1712 | |||
| 1713 | **Features** | ||
| 1714 | |||
| 1715 | After separating the BIN 16-bit data stored after the device number specified in (S) into (N) bytes, store it after the device number specified in (D). | ||
| 1716 | |||
| 1717 | (% style="text-align:center" %) | ||
| 1718 | [[image:07-2 Basic instructions_html_7c0bf2832b8707c3.png]] | ||
| 1719 | |||
| 1720 | 1. High byte; | ||
| 1721 | 1. Low byte; | ||
| 1722 | 1. High byte data; | ||
| 1723 | 1. Low byte data; | ||
| 1724 | 1. *1: Carry below the decimal point. | ||
| 1725 | |||
| 1726 | **Example** | ||
| 1727 | |||
| 1728 | In the case of (N)=5, store the data up to the lower 8 bits of (S) to (S)+2 in (D) to (D)+4: | ||
| 1729 | |||
| 1730 | (% style="text-align:center" %) | ||
| 1731 | [[image:07-2 Basic instructions_html_fe50c08e8ade2455.png]] | ||
| 1732 | |||
| 1733 | 1. (N)=5 is ignored. | ||
| 1734 | 1. (N)=5. | ||
| 1735 | |||
| 1736 | By setting the number of bytes in (N), the range of BIN 16-bit data specified in (S) and the range of the device storing the byte data specified in (D) will be automatically determined. | ||
| 1737 | |||
| 1738 | When the number of bytes specified in (N) is 0, no processing is performed. | ||
| 1739 | |||
| 1740 | 00H is automatically stored in the upper 8 bits of the byte data storage device specified in (D). | ||
| 1741 | |||
| 1742 | **Example** | ||
| 1743 | |||
| 1744 | When D12 to D14 is stored in the low 8 bits of D11 to D16 | ||
| 1745 | |||
| 1746 | (% style="text-align:center" %) | ||
| 1747 | [[image:07-2 Basic instructions_html_e3a3ed7cb6d9e035.png]] | ||
| 1748 | |||
| 1749 | Even if the device range storing the data before merging overlaps the device rangestoring merged data, it will be handled as normal. | ||
| 1750 | |||
| 1751 | |**Device range storing the data before merging**|**Device range storing separated data** | ||
| 1752 | |(S) to (S) + (N/2-1)|(D)+0 to (D)+(N)-1 | ||
| 1753 | |||
| 1754 | **Error code** | ||
| 1755 | |||
| 1756 | |**Error code**|**Content** | ||
| 1757 | |4084H|The value specified by (N) exceed the range of 0 to 32767 | ||
| 1758 | |4085H|When the device specified in read application instruction (S) and (N) exceeds the corresponding device range | ||
| 1759 | |4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 1760 | |||
| 1761 | **Example** | ||
| 1762 | |||
| 1763 | (% style="text-align:center" %) | ||
| 1764 | [[image:07-2 Basic instructions_html_da482b8ab5a3e35a.png]] | ||
| 1765 | |||
| 1766 | When M0 is ON, the data of D10 to D12 are separated according to byte units, and then stored in D20 to D25. | ||
| 1767 | |||
| 1768 | (% style="text-align:center" %) | ||
| 1769 | [[image:07-2 Basic instructions_html_9da7a305c36b78d1.png||height="191" width="752"]] | ||
| 1770 | |||
| 1771 | == **DIS/4-bit separation of 16-bit data** == | ||
| 1772 | |||
| 1773 | **DIS(P)** | ||
| 1774 | |||
| 1775 | Store the data of the low (N) bits (1 bit of 4 bits) of the BIN 16-bit data specified in (S) into the low 4-bit of the (N) point starting from the device specified in (D). | ||
| 1776 | |||
| 1777 | -[DIS (S) (D) (N)] | ||
| 1778 | |||
| 1779 | **Content, range and data type** | ||
| 1780 | |||
| 1781 | |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)** | ||
| 1782 | |(S)|The start device storing the data before separation|-|Signed BIN 16 bit|ANY16 | ||
| 1783 | |(D)|The start device storing separated data|-|Signed BIN 16 bit|ANY16 | ||
| 1784 | |(N)|Separation number (0 means no processing)|0-4|Signed BIN 16 bit|ANY16 | ||
| 1785 | |||
| 1786 | **Device used** | ||
| 1787 | |||
| 1788 | |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="11" %)**Devices**|((( | ||
| 1789 | **Offset modification** | ||
| 1790 | )))|((( | ||
| 1791 | **Pulse extension** | ||
| 1792 | ))) | ||
| 1793 | |**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**K**|**H**|**[D]**|**XXP** | ||
| 1794 | |(% rowspan="3" %)DIS|Parameter 1|●|●|●|●|●|●|●|●|●|●|●|●|● | ||
| 1795 | |Parameter 2| | | | |●|●|●|●|●| | |●|● | ||
| 1796 | |Parameter 3|●|●|●|●|●|●|●|●|●|●|●|●|● | ||
| 1797 | |||
| 1798 | **Features** | ||
| 1799 | |||
| 1800 | Store the low-(N) bit (1 bits of 4 bits) of the BIN 16-bit data specified in (S) in the low 4-bit of the (N) point starting from the device specified in (D). | ||
| 1801 | |||
| 1802 | (% style="text-align:center" %) | ||
| 1803 | [[image:07-2 Basic instructions_html_5938199acdc55dc1.png||height="180" width="709"]] | ||
| 1804 | |||
| 1805 | The hig-12 bit of the point (N) starting from the device specified in (S) will become 0. | ||
| 1806 | |||
| 1807 | When (N)=0, it will become no processing, and the content of point (N) starting from the device of (D) will not change. | ||
| 1808 | |||
| 1809 | **Error code** | ||
| 1810 | |||
| 1811 | |**Error code**|**Content** | ||
| 1812 | |4084H|The data in (N) exceed the range of 0 to 4 | ||
| 1813 | |4085H|When the device specified in read application instruction (S) and (N) exceeds the corresponding device range | ||
| 1814 | |4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 1815 | |||
| 1816 | **Example** | ||
| 1817 | |||
| 1818 | (% style="text-align:center" %) | ||
| 1819 | [[image:07-2 Basic instructions_html_c0329da3be0da41.png]] | ||
| 1820 | |||
| 1821 | When M0 is ON, D0 is separated every 4 bits and stored in D10 to D12. The result is D10 = HF, D11 = H8, D12 = HA. | ||
| 1822 | |||
| 1823 | == **UNI/4-bit combination of 16-bit data** == | ||
| 1824 | |||
| 1825 | **UNI(P)** | ||
| 1826 | |||
| 1827 | Combine the low 4 bits of the BIN 16-bit data of point (N) starting from the device specified in (S) into the BIN 16-bit device specified in (D). | ||
| 1828 | |||
| 1829 | -[UNI (S) (D) (N)] | ||
| 1830 | |||
| 1831 | **Content, range and data type** | ||
| 1832 | |||
| 1833 | |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)** | ||
| 1834 | |(S)|The start device storing the data before merging|-|Signed BIN 16 bit|ANY16 | ||
| 1835 | |(D)|The start device storing the merged data|-|Signed BIN 16 bit|ANY16 | ||
| 1836 | |(N)|Number of merger|0-4|Signed BIN 16 bit|ANY16 | ||
| 1837 | |||
| 1838 | **Device used** | ||
| 1839 | |||
| 1840 | |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="11" %)**Devices**|((( | ||
| 1841 | **Offset modification** | ||
| 1842 | )))|((( | ||
| 1843 | **Pulse extension** | ||
| 1844 | ))) | ||
| 1845 | |**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**K**|**H**|**[D]**|**XXP** | ||
| 1846 | |(% rowspan="3" %)UNI|Parameter 1| | | | |●|●|●|●|●| | |●|● | ||
| 1847 | |Parameter 2| |●|●|●|●|●|●|●|●| | |●|● | ||
| 1848 | |Parameter 3|●|●|●|●|●|●|●|●|●|●|●|●|● | ||
| 1849 | |||
| 1850 | **Features** | ||
| 1851 | |||
| 1852 | Combine the low 4 bits of the BIN 16-bit data at point (N) starting from the device specified in (S) into the BIN 16-bit device specified in (D). | ||
| 1853 | |||
| 1854 | (% style="text-align:center" %) | ||
| 1855 | [[image:07-2 Basic instructions_html_ac539a0af5621485.png||height="170" width="732"]] | ||
| 1856 | |||
| 1857 | The high (4-N) bits of the device specified in (D) will become 0. | ||
| 1858 | |||
| 1859 | When (N)=0, it will become no processing, and the content of the device in (D) will not change. | ||
| 1860 | |||
| 1861 | **Error code** | ||
| 1862 | |||
| 1863 | |**Code**|**Content** | ||
| 1864 | |4084H|The data in (N) exceed the range of 0 to 4 | ||
| 1865 | |4085H|When the device specified in read application instruction (S) and (N) exceeds the corresponding device range | ||
| 1866 | |4086H|When the device specified in the write application instruction (D) exceeds the corresponding device range | ||
| 1867 | |||
| 1868 | **Example** | ||
| 1869 | |||
| 1870 | (% style="text-align:center" %) | ||
| 1871 | [[image:07-2 Basic instructions_html_c01aef986a0a77b0.png||height="195" width="480"]] | ||
| 1872 | |||
| 1873 | When M0 is ON, the low 4 bits of D0 to D3 are combined and stored in D10, the value is H236F. | ||
| 1874 | |||
| 1875 | == **ZRST/Data batch reset** == | ||
| 1876 | |||
| 1877 | **ZRST(P)** | ||
| 1878 | |||
| 1879 | Perform a batch reset between the devices specified in (d1) and (d2) of the same type. It is used when interrupting operation, performing initial operation, or resetting control data. | ||
| 1880 | |||
| 1881 | -[ZRST (d1) (d2)] | ||
| 1882 | |||
| 1883 | **Content, range and data type** | ||
| 1884 | |||
| 1885 | |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)** | ||
| 1886 | |(d1)|The start bit or word device number of batch reset|-|Bit/Signed BIN 16 bit|ANY_ELEMENTARY | ||
| 1887 | |(d2)|The final bit or word device number of batch reset|-|Bit/Signed BIN 16 bit|ANY_ELEMENTARY | ||
| 1888 | |||
| 1889 | **Device used** | ||
| 1890 | |||
| 1891 | |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="15" %)**Devices**|((( | ||
| 1892 | **Offset modification** | ||
| 1893 | )))|((( | ||
| 1894 | **Pulse extension** | ||
| 1895 | ))) | ||
| 1896 | |**Y**|**M**|**S**|**SM**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**[D]**|**XXP** | ||
| 1897 | |(% rowspan="2" %)ZRST|Parameter 1|●|●|●|●|●|●|●|●|●|●|●|●|●|●|●|●|● | ||
| 1898 | |Parameter 2|●|●|●|●|●|●|●|●|●|●|●|●|●|●|●|●|● | ||
| 1899 | |||
| 1900 | **Features** | ||
| 1901 | |||
| 1902 | Perform batch reset between the devices specified in (d1) and (d2) of the same type. | ||
| 1903 | |||
| 1904 | ((( | ||
| 1905 | When (d1) and (d2) are bit devices, write OFF (reset) in the entire device range of (d1) to (d2). | ||
| 1906 | |||
| 1907 | (% style="text-align:center" %) | ||
| 1908 | [[image:07-2 Basic instructions_html_6a643f895dce5dcf.png||height="179" width="750"]] | ||
| 1909 | ))) | ||
| 1910 | |||
| 1911 | |||
| 1912 | |||
| 1913 | ((( | ||
| 1914 | When (d1) and (d2) are word devices, write K0 in the entire device range of (d1) to (d2). | ||
| 1915 | |||
| 1916 | (% style="text-align:center" %) | ||
| 1917 | [[image:07-2 Basic instructions_html_4e253e658fd251d8.png||height="186" width="750"]] | ||
| 1918 | ))) | ||
| 1919 | |||
| 1920 | As a separate reset instruction for the device, the RST instruction can be used for bit devices or word devices. | ||
| 1921 | |||
| 1922 | ((( | ||
| 1923 | Reset M0 | ||
| 1924 | |||
| 1925 | Reset D0 | ||
| 1926 | |||
| 1927 | Reset the current value of T0 | ||
| 1928 | |||
| 1929 | (% style="text-align:center" %) | ||
| 1930 | [[image:07-2 Basic instructions_html_db7123fa756a328e.png||height="152" width="348"]] | ||
| 1931 | ))) | ||
| 1932 | |||
| 1933 | The batch write instruction of constant (for example: K0) has FMOV (P) instruction, which can write 0 to word devices (including bit device specification). | ||
| 1934 | |||
| 1935 | ((( | ||
| 1936 | Write K0 in D0 to D99. | ||
| 1937 | |||
| 1938 | (% style="text-align:center" %) | ||
| 1939 | [[image:07-2 Basic instructions_html_edf867a50a714481.png||height="64" width="442"]] | ||
| 1940 | ))) | ||
| 1941 | |||
| 1942 | ✎**Note:** Please specify the same type number for (d1) and (d2), and make (d1) number <(d2) number. When (d1) number ≥ (d2) number, only 1 point will be reset for the device specified in (d1). | ||
| 1943 | |||
| 1944 | ZRST(P) instruction is a 16-bit instruction, which can specify (LC) and (HSC) devices for (d1) and (d2). | ||
| 1945 | |||
| 1946 | **Error code** | ||
| 1947 | |||
| 1948 | |**Error code**|**Content** | ||
| 1949 | |4084H|When the device type specified in (d1) is different from the device type specified in (d2). | ||
| 1950 | |4085H|When the device specified in the read application instruction (d1) and (d2) exceeds the corresponding device range | ||
| 1951 | |4086H|When the device specified in the write application instruction (d1) exceeds the corresponding device range | ||
| 1952 | |||
| 1953 | **Example** | ||
| 1954 | |||
| 1955 | (% style="text-align:center" %) | ||
| 1956 | [[image:07-2 Basic instructions_html_f78d26cb1f6908b7.png]] | ||
| 1957 | |||
| 1958 | The function of this Circuit program instruction is to set the value of the D0 to D100 device to 0. | ||
| 1959 | |||
| 1960 | == **ZSET/Data batch set** == | ||
| 1961 | |||
| 1962 | **ZSET(P)** | ||
| 1963 | |||
| 1964 | Perform a batch set between the devices specified in (d1) and (d2) of the same type. | ||
| 1965 | |||
| 1966 | (% style="text-align:center" %) | ||
| 1967 | [[image:07-2 Basic instructions_html_da64e5c21415b34f.png]] | ||
| 1968 | |||
| 1969 | **Content, range and data type** | ||
| 1970 | |||
| 1971 | |**Parameter**|**Content**|**Range**|**Data type**|**Data type(label)** | ||
| 1972 | |(d1)|The start bit device number of batch set|-|Bit|ANY_BOOL | ||
| 1973 | |(d2)|The final bit device number of batch set|-|Bit|ANY_BOOL | ||
| 1974 | |||
| 1975 | **Device used** | ||
| 1976 | |||
| 1977 | |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="5" %)**Devices**|**Offset modification** | ||
| 1978 | |**Y**|**M**|**S**|**SM**|**D.b**|**[D]** | ||
| 1979 | |(% rowspan="2" %)ZSET|Parameter 1|●|●|●|●|●|● | ||
| 1980 | |Parameter 2|●|●|●|●|●|● | ||
| 1981 | |||
| 1982 | **Features** | ||
| 1983 | |||
| 1984 | ·Perform a batch set between the devices specified in (d1) and (d2) of the same type. | ||
| 1985 | |||
| 1986 | ·Write ON (set) in the entire device range of (d1) to (d2) | ||
| 1987 | |||
| 1988 | (% style="text-align:center" %) | ||
| 1989 | [[image:07-2 Basic instructions_html_6c035079ef5cc84b.png]] | ||
| 1990 | |||
| 1991 | ·As a separate set instruction for the device, the SET instruction can be used for bit devices. | ||
| 1992 | |||
| 1993 | ((( | ||
| 1994 | Set M1 | ||
| 1995 | |||
| 1996 | Set Y1 | ||
| 1997 | |||
| 1998 | Set S1 | ||
| 1999 | |||
| 2000 | (% style="text-align:center" %) | ||
| 2001 | [[image:07-2 Basic instructions_html_e8901e24a4d0b868.png]] | ||
| 2002 | ))) | ||
| 2003 | |||
| 2004 | (% class="box infomessage" %) | ||
| 2005 | ((( | ||
| 2006 | ✎**Note: **Please specify the same type number for (d1) and (d2), and make (d1) number <(d2) number. When (d1) number ≥ (d2) number, only 1 point will be set for the device specified in (d1). | ||
| 2007 | ))) | ||
| 2008 | |||
| 2009 | **Error code** | ||
| 2010 | |||
| 2011 | |**Error code**|**Content** | ||
| 2012 | |4084H|When the device type specified in (d1) is different from the device type specified in (d2). | ||
| 2013 | |4085H|When the device specified in the read application instruction (d1) and (d2) exceeds the corresponding device range | ||
| 2014 | |4086H|When the device specified in the write application instruction (d1) exceeds the corresponding device range | ||
| 2015 | |4087H|When the device type specified in (d1) and (d2) are not bit device. | ||
| 2016 | |||
| 2017 | **Example** | ||
| 2018 | |||
| 2019 | (% style="text-align:center" %) | ||
| 2020 | [[image:07-2 Basic instructions_html_b7756e9ffdc0d901.png]] | ||
| 2021 | |||
| 2022 | The function of this LAD instruction is to set the value of the M1 to M4 device to ON. | ||
| 2023 | |||
| 2024 | == **CRC/cyclic redundancy check instruction** == | ||
| 2025 | |||
| 2026 | **CRC(P)** | ||
| 2027 | |||
| 2028 | Calculate the CRC (Cyclic Redundancy Check) value, which is one of the error checking methods used in communications. In addition to CRC, error checking methods include parity and | ||
| 2029 | |||
| 2030 | Sum check (checksum), calculate horizontal parity check value and sum check value can use CCD(P) instruction . And this instruction is used in the generator polynomial that generates the CRC value (CRC-16) | ||
| 2031 | |||
| 2032 | "X 16 +X 15 +X 2 +1". | ||
| 2033 | |||
| 2034 | -[CRC(P) (S) (D) (N)] | ||
| 2035 | |||
| 2036 | **Content, range and data type** | ||
| 2037 | |||
| 2038 | |**Parameter**|(% style="width:826px" %)**Content**|(% style="width:137px" %)**Range**|(% style="width:196px" %)**Data type**|(% style="width:217px" %)**Data type (label)** | ||
| 2039 | |(S)|(% style="width:826px" %)The device start number storing the data of CRC value generated objects|(% style="width:137px" %)-|(% style="width:196px" %)Signed BIN16|(% style="width:217px" %)ANY16 | ||
| 2040 | |(D)|(% style="width:826px" %)The destination device number of the generated CRC value|(% style="width:137px" %)-|(% style="width:196px" %)Signed BIN16|(% style="width:217px" %)ANY16 | ||
| 2041 | |(N)|(% style="width:826px" %)The number of 8-bit data (bytes) for calculating the CRC value or the number of the device storing the number of data|(% style="width:137px" %)1 to 256|(% style="width:196px" %)Unsigned BIN16|(% style="width:217px" %)ANY16_U | ||
| 2042 | |||
| 2043 | **Device used** | ||
| 2044 | |||
| 2045 | (% style="width:1435px" %) | ||
| 2046 | |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="11" %)**Devices**|((( | ||
| 2047 | **Offset modification** | ||
| 2048 | )))|((( | ||
| 2049 | **Pulse extension** | ||
| 2050 | ))) | ||
| 2051 | |**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**K**|**H**|**[D]**|**XXP** | ||
| 2052 | |(% rowspan="3" %)CRC|Parameter 1|●|●|●|●|●|●|●|●|●| | |●|● | ||
| 2053 | |Parameter 2| |●|●|●|●|●|●|●|●| | |●|● | ||
| 2054 | |Parameter 3|●|●|●|●|●|●|●|●|●|●|●| |● | ||
| 2055 | |||
| 2056 | **Features** | ||
| 2057 | |||
| 2058 | Start with the device specified in (S), generate the CRC value of 8-bit data (byte unit) at (N) point, and store it in (D). | ||
| 2059 | |||
| 2060 | The mode used by this instruction in calculation includes 16-bit conversion mode and 8-bit conversion mode. For the operation of each mode, please refer to the following content. | ||
| 2061 | |||
| 2062 | ~1. 16-bit conversion mode (when SM161=OFF) | ||
| 2063 | |||
| 2064 | Calculate the upper 8 bits (byte) and lower 8 bits (byte) of the (S) device. The result is stored in 16 bits of 1 point of the device specified in (D). In the case of the following program, perform the conversion as shown below. | ||
| 2065 | |||
| 2066 | (% style="text-align:center" %) | ||
| 2067 | [[image:07-2 Basic instructions_html_860919febd080a5a.gif]] | ||
| 2068 | |||
| 2069 | |(% colspan="3" rowspan="3" %) |(% colspan="3" %)**Example (s)=D100, (d)=D0, (n)=6** | ||
| 2070 | |(% rowspan="2" %)**Devices**|(% colspan="2" %)**Content of object data** | ||
| 2071 | |**8-bit**|**16-bit** | ||
| 2072 | |(% rowspan="9" %)CRC value generation target data storage destination|(% rowspan="2" %)(s)|Low byte|D100 low|01H|0301H | ||
| 2073 | |High byte|D100 high|03H| | ||
| 2074 | |(% rowspan="2" %)(s)+1|Low byte|D101 low|03H|0203H | ||
| 2075 | |High byte|D101 high|02H| | ||
| 2076 | |(% rowspan="2" %)(s)+2|Low byte|D102 low|00H|1400H | ||
| 2077 | |High byte|D102 high|14H| | ||
| 2078 | |...||(% colspan="3" %) | ||
| 2079 | |(% rowspan="2" %)(S)+(N)/2-1|Low byte|(% colspan="3" rowspan="2" %) | ||
| 2080 | |High byte | ||
| 2081 | |(% rowspan="2" %)CRC value storage target|(% rowspan="2" %)(d)|Low byte|D0 low|E4H|41E4H | ||
| 2082 | |High byte|D0 high|41H| | ||
| 2083 | |||
| 2084 | 2. 8-bit conversion mode (when SM8161=ON) | ||
| 2085 | |||
| 2086 | In 8-bit conversion mode, only the lower 8 bits (lower byte) of the (s) device are operated on. As a result, 2 points are used starting from the device specified in (d), the lower 8 bits (bytes) are stored in (d), and the upper 8 bits (bytes) are stored in (d)+1. | ||
| 2087 | |||
| 2088 | In the case of the following program, perform the conversion as shown below. | ||
| 2089 | |||
| 2090 | (% style="text-align:center" %) | ||
| 2091 | [[image:07-2 Basic instructions_html_e6f8991549727060.gif]] | ||
| 2092 | |||
| 2093 | |(% colspan="3" rowspan="2" %) |(% colspan="2" %)**Example) (s)=D100, (d)=D0, (n)=6** | ||
| 2094 | |**Devices**|**Content of object data** | ||
| 2095 | |(% rowspan="8" %)CRC value generation target data storage destination|(s)|Low byte|D100 low|01H | ||
| 2096 | |(s)+1|Low byte|D101 low|03H | ||
| 2097 | |(s)+2|Low byte|D102 low|03H | ||
| 2098 | |(s)+3|Low byte|D103 low|02H | ||
| 2099 | |(s)+4|Low byte|D104 low|00H | ||
| 2100 | |(s)+5|Low byte|D105 low|14H | ||
| 2101 | |(% colspan="2" %)...|(% colspan="2" %) | ||
| 2102 | |(S)+(N)-1|Low byte|(% colspan="2" %) | ||
| 2103 | |(% rowspan="2" %)CRC value storage target|(d)|Low byte|D0|E4H | ||
| 2104 | |(d)+1|Low byte|D1|41H | ||
| 2105 | |||
| 2106 | In the CRC(P) instruction, the generator polynomial of the CRC value (CRC-16) uses "X16+X15+X2+1", but there are also many standardized generator polynomials for the CRC value. If the generator polynomial is different, it will become a completely different CRC value, which should be noted. The main CRC value generator polynomials are shown below. | ||
| 2107 | |||
| 2108 | |**Name**|**Generator polynomial** | ||
| 2109 | |CRC-12|X^^12^^+X^^11^^+X^^3^^+X^^2^^+X+1 | ||
| 2110 | |CRC-16|X^^16^^+X^^15^^+X^^2^^+1 | ||
| 2111 | |CRC-32|X^^32^^+X^^26^^+X^^23^^+X^^22^^+X^^16^^+X^^12^^+X^^11^^+X^^10^^+X^^8^^+X^^7^^+X^^5^^+X^^4^^+X^^2^^+X+1 | ||
| 2112 | |CRC-CCITT|X^^16^^+X^^12^^+X^^5^^+1 | ||
| 2113 | |||
| 2114 | ✎**Note: ** | ||
| 2115 | |||
| 2116 | When (s1) use KnX, KnY, KnM, KnS, n must be specified as 4. | ||
| 2117 | |||
| 2118 | **Error code** | ||
| 2119 | |||
| 2120 | |**Error code**|**Content** | ||
| 2121 | |4084H|The range of (N) exceeds 1 to 256 | ||
| 2122 | |4085H|The data address of (S) to be converted exceeds the device range | ||
| 2123 | |4086H|The (D) write address exceeds the device range | ||
| 2124 | |4087H|Unsupported device type is used by (S) and (D) | ||
| 2125 | |||
| 2126 | **Example** | ||
| 2127 | |||
| 2128 | ~1. 16-bit conversion mode | ||
| 2129 | |||
| 2130 | (% style="text-align:center" %) | ||
| 2131 | [[image:07-2 Basic instructions_html_8440fd092cae48b0.gif]] | ||
| 2132 | |||
| 2133 | 2. 8-bit conversion mode | ||
| 2134 | |||
| 2135 | (% style="text-align:center" %) | ||
| 2136 | [[image:07-2 Basic instructions_html_b95cce31a754112b.gif]] | ||
| 2137 | |||
| 2138 | == **CRC-XMODEM/cyclic redundancy check instruction ** == | ||
| 2139 | |||
| 2140 | **CRC-XMODEM(P)** | ||
| 2141 | |||
| 2142 | The device specified in (s) is used as the start, and the CRC value of 8-bit data (byte units) at point (n) is generated and stored in (d) | ||
| 2143 | |||
| 2144 | PLC Editor2 version that supports this command: 2.3.1 and above | ||
| 2145 | |||
| 2146 | -[CRC-XMODEM(P) (s) (d) (n)] | ||
| 2147 | |||
| 2148 | **Content, range and data type** | ||
| 2149 | |||
| 2150 | |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)** | ||
| 2151 | |(s)|The device start number storing the data of CRC-XMODEM value generated objects |-|Signed BIN16|ANY16 | ||
| 2152 | |(d)|The destination device number of the generated CRC-XMODEM value|-|Signed BIN16|ANY16 | ||
| 2153 | |(n)|The number of 8-bit data (bytes) for calculating the CRC-XMODEM value or the number of the device storing the number of data|1 to 256|Unsigned BIN16|ANY16_U | ||
| 2154 | |||
| 2155 | **Device used** | ||
| 2156 | |||
| 2157 | |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Devices**|(% colspan="2" %)((( | ||
| 2158 | **Offset** | ||
| 2159 | |||
| 2160 | **modification** | ||
| 2161 | )))|(% colspan="2" %)((( | ||
| 2162 | **Pulse** | ||
| 2163 | |||
| 2164 | **extension** | ||
| 2165 | ))) | ||
| 2166 | |**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**|(% colspan="2" %)**E**|(% colspan="2" %)**[D]**|(% colspan="2" %)**XXP** | ||
| 2167 | |(% rowspan="3" %)CRC-XMODEM|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | |(% colspan="2" %) |(% colspan="2" %)●|(% colspan="2" %)● | ||
| 2168 | |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | |(% colspan="2" %) |(% colspan="2" %)●|(% colspan="2" %)● | ||
| 2169 | |Parameter 3| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●|(% colspan="2" %) |(% colspan="2" %) |(% colspan="2" %)● | ||
| 2170 | |||
| 2171 | **Features** | ||
| 2172 | |||
| 2173 | CRC-XMODEM (Cyclic Redundancy Check-XMODEM, abbreviation: CRC-XMODEM) is one of the error checking methods used in communication. In addition to CRC-XMODEM, there are also parity and checksum (checksum) error checking methods, and the CCD (P) instruction can be used to calculate the horizontal parity and checksum values. | ||
| 2174 | |||
| 2175 | The polynomial for generating the CRC-XMODEM value (CRC-CCITT) in this command uses "X16+X12+X5+1" | ||
| 2176 | |||
| 2177 | The modes used in this instruction for calculation are 16-bit conversion mode and 8-bit conversion mode. For the action of each mode, please refer to the following. | ||
| 2178 | |||
| 2179 | (1) 16-bit conversion mode (when SM161=OFF) | ||
| 2180 | |||
| 2181 | The high 8 bits (bytes) and low 8 bits (bytes) of the device in (s) are operated. The result is stored to the 16 bits of the soft element 1 point specified in (d). | ||
| 2182 | |||
| 2183 | In the case of the following program, the conversion is executed as follows | ||
| 2184 | |||
| 2185 | |||
| 2186 | (% style="text-align:center" %) | ||
| 2187 | [[image:图片9.png]] | ||
| 2188 | |||
| 2189 | |(% colspan="3" rowspan="3" %)**CRC-XMODEM 16-bit mode**|(% colspan="9" %)**CRC value generation object data storage target**|(% colspan="2" %)**CRC value storage target** | ||
| 2190 | |(% colspan="2" %)**(s)**|(% colspan="2" %)**(s)+1**|(% colspan="2" %)**(s)+2**|**...**|(% colspan="2" %)**(s)+(n)/2-1**|(% colspan="2" %)**(d)** | ||
| 2191 | |((( | ||
| 2192 | **Low** | ||
| 2193 | |||
| 2194 | **Byte** | ||
| 2195 | )))|((( | ||
| 2196 | **High** | ||
| 2197 | |||
| 2198 | **Byte** | ||
| 2199 | )))|((( | ||
| 2200 | **Low** | ||
| 2201 | |||
| 2202 | **Byte** | ||
| 2203 | )))|((( | ||
| 2204 | **High** | ||
| 2205 | |||
| 2206 | **Byte** | ||
| 2207 | )))|((( | ||
| 2208 | **Low** | ||
| 2209 | |||
| 2210 | **Byte** | ||
| 2211 | )))|((( | ||
| 2212 | **High** | ||
| 2213 | |||
| 2214 | **Byte** | ||
| 2215 | )))| |((( | ||
| 2216 | **Low** | ||
| 2217 | |||
| 2218 | **Byte** | ||
| 2219 | )))|((( | ||
| 2220 | **High** | ||
| 2221 | |||
| 2222 | **Byte** | ||
| 2223 | )))|((( | ||
| 2224 | **Low** | ||
| 2225 | |||
| 2226 | **Byte** | ||
| 2227 | )))|((( | ||
| 2228 | **High** | ||
| 2229 | |||
| 2230 | **Byte** | ||
| 2231 | ))) | ||
| 2232 | |(% rowspan="3" %)**(s)=D100,(d)=D0,(n)=6**|(% colspan="2" %)**Device**|((( | ||
| 2233 | D100 | ||
| 2234 | |||
| 2235 | low | ||
| 2236 | )))|((( | ||
| 2237 | D100 | ||
| 2238 | |||
| 2239 | high | ||
| 2240 | )))|((( | ||
| 2241 | D101 | ||
| 2242 | |||
| 2243 | low | ||
| 2244 | )))|((( | ||
| 2245 | D101 | ||
| 2246 | |||
| 2247 | high | ||
| 2248 | )))|((( | ||
| 2249 | D102 | ||
| 2250 | |||
| 2251 | low | ||
| 2252 | )))|((( | ||
| 2253 | D102 | ||
| 2254 | |||
| 2255 | high | ||
| 2256 | )))|(% rowspan="3" %) |(% colspan="2" rowspan="3" %)-|((( | ||
| 2257 | D0 | ||
| 2258 | |||
| 2259 | low | ||
| 2260 | )))|((( | ||
| 2261 | D0 | ||
| 2262 | |||
| 2263 | high | ||
| 2264 | ))) | ||
| 2265 | |(% rowspan="2" %)**Contents of object data**|**8-bit**|01H|03H|03H|02H|00H|14H|7BH|0CH | ||
| 2266 | |**16-bit**|0301H| |0203H| |1400H| |0C7BH| | ||
| 2267 | |||
| 2268 | (1) 8-bit conversion mode (when SM161=ON) | ||
| 2269 | |||
| 2270 | In the 8-bit conversion mode, only the low 8 bits (low byte) of the device of (s) are operated. The result uses 2 points from the soft component specified in (d), storing the low 8 bits (bytes) in (d) and the high 8 bits (bytes) in (d) + 1. | ||
| 2271 | |||
| 2272 | In the case of the following program, the conversion is executed as follows | ||
| 2273 | |||
| 2274 | |||
| 2275 | (% style="text-align:center" %) | ||
| 2276 | [[image:10.png]] | ||
| 2277 | |||
| 2278 | |(% colspan="2" rowspan="3" %) | ||
| 2279 | **CRC-XMODEM 8-bit mode**|(% colspan="8" %)**CRC value generation object data storage target**|(% colspan="2" %)**CRC value storage target** | ||
| 2280 | |**(s)**|**(s)+1**|**(s)+2**|**(s)+3**|**(s)+4**|**(s)+5**|**...**|**(s)+(n)-1**|**(d)**|**(d)+1** | ||
| 2281 | |((( | ||
| 2282 | **Low** | ||
| 2283 | |||
| 2284 | **Byte** | ||
| 2285 | )))|((( | ||
| 2286 | **Low** | ||
| 2287 | |||
| 2288 | **Byte** | ||
| 2289 | )))|((( | ||
| 2290 | **Low** | ||
| 2291 | |||
| 2292 | **Byte** | ||
| 2293 | )))|((( | ||
| 2294 | **Low** | ||
| 2295 | |||
| 2296 | **Byte** | ||
| 2297 | )))|((( | ||
| 2298 | **Low** | ||
| 2299 | |||
| 2300 | **Byte** | ||
| 2301 | )))|((( | ||
| 2302 | **Low** | ||
| 2303 | |||
| 2304 | **Byte** | ||
| 2305 | )))| |((( | ||
| 2306 | **Low** | ||
| 2307 | |||
| 2308 | **Byte** | ||
| 2309 | )))|((( | ||
| 2310 | **Low** | ||
| 2311 | |||
| 2312 | **Byte** | ||
| 2313 | )))|((( | ||
| 2314 | **Low** | ||
| 2315 | |||
| 2316 | **Byte** | ||
| 2317 | ))) | ||
| 2318 | |(% rowspan="2" %)**(s)=D100,(d)=D0,(n)=6**|**Device**|((( | ||
| 2319 | D100 | ||
| 2320 | |||
| 2321 | Low | ||
| 2322 | )))|((( | ||
| 2323 | D101 | ||
| 2324 | |||
| 2325 | Low | ||
| 2326 | )))|((( | ||
| 2327 | D102 | ||
| 2328 | |||
| 2329 | Low | ||
| 2330 | )))|((( | ||
| 2331 | D103 | ||
| 2332 | |||
| 2333 | Low | ||
| 2334 | )))|((( | ||
| 2335 | D104 | ||
| 2336 | |||
| 2337 | Low | ||
| 2338 | )))|((( | ||
| 2339 | D105 | ||
| 2340 | |||
| 2341 | Low | ||
| 2342 | )))| |-|D0|D1 | ||
| 2343 | |**Contents of object data**|01H|03H|03H|02H|00H|14H| | |7BH|0CH | ||
| 2344 | |||
| 2345 | The CRC value (CRC-CCITT) in the CRC-XMODEM(P) instruction uses "X16+X12+X5+1" in the generating polynomial, but there are many standardized generating polynomials for CRC values. If this generating polynomial is different, it will become a completely different CRC value and should be noted. The main generating polynomials for CRC values are shown below. | ||
| 2346 | |||
| 2347 | |**Name**|**Generator polynomial** | ||
| 2348 | |CRC-12|X^^12^^+X^^11^^+X^^3^^+X^^2^^+X+1 | ||
| 2349 | |CRC-16|X^^16^^+X^^15^^+X^^2^^+1 | ||
| 2350 | |CRC-32|X^^32^^+X^^26^^+X^^23^^+X^^22^^+X^^16^^+X^^12^^+X^^11^^+X^^10^^+X^^8^^+X^^7^^+X^^5^^+X^^4^^+X^^2^^+X+1 | ||
| 2351 | |CRC-CCITT|X^^16^^+X^^12^^+X^^5^^+1 | ||
| 2352 | |||
| 2353 | (% class="box infomessage" %) | ||
| 2354 | ((( | ||
| 2355 | **✎Note: **When (s1) use KnX, KnY, KnM, KnS, n must be specified as 4. | ||
| 2356 | ))) | ||
| 2357 | |||
| 2358 | **Error code** | ||
| 2359 | |||
| 2360 | |**Error code**|**Content** | ||
| 2361 | |4084H|The range of (n) exceeds 1 to 256 | ||
| 2362 | |4085H|The data address of (s) to be converted exceeds the device range | ||
| 2363 | |4086H|The (d) write address exceeds the device range | ||
| 2364 | |4087H|Unsupported device type is used by (s) and (d) | ||
| 2365 | |||
| 2366 | **Example** | ||
| 2367 | |||
| 2368 | ③16-bit conversion mode | ||
| 2369 | |||
| 2370 | |||
| 2371 | (% style="text-align:center" %) | ||
| 2372 | [[image:图片11.png]] | ||
| 2373 | |||
| 2374 | ④8-bit conversion mode | ||
| 2375 | |||
| 2376 | (% style="text-align:center" %) | ||
| 2377 | [[image:图片12.png]] | ||
| 2378 | |||
| 2379 | == **LRC/longitudinal redundancy check ** == | ||
| 2380 | |||
| 2381 | **LRC(P)** | ||
| 2382 | |||
| 2383 | The device specified in (s) is used as the start, and the data to be checked (2n characters) is summed two by two into a hexadecimal value and stored in (d). | ||
| 2384 | |||
| 2385 | PLC Editor2 version that supports this command: 2.3.1 and above | ||
| 2386 | |||
| 2387 | -[LRC(P) (s) (d) (n)] | ||
| 2388 | |||
| 2389 | **Content, range and data type** | ||
| 2390 | |||
| 2391 | |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)** | ||
| 2392 | |(s)|The device start number storing the data of LRC value generated objects |-|Signed BIN16|ANY16 | ||
| 2393 | |(d)|The destination device number of the generated LRC value|-|Signed BIN16|ANY16 | ||
| 2394 | |(n)|The number of 8-bit data (bytes) for calculating the LRC value or the number of the device storing the number of data|1 to 256|Unsigned BIN16|ANY16_U | ||
| 2395 | |||
| 2396 | **Device used** | ||
| 2397 | |||
| 2398 | |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Devices**|((( | ||
| 2399 | **Offset** | ||
| 2400 | |||
| 2401 | **modification** | ||
| 2402 | )))|((( | ||
| 2403 | **Pulse** | ||
| 2404 | |||
| 2405 | **extension** | ||
| 2406 | ))) | ||
| 2407 | |**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** | ||
| 2408 | |(% rowspan="3" %)LRC|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|● | ||
| 2409 | |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|● | ||
| 2410 | |Parameter 3| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●| | |● | ||
| 2411 | |||
| 2412 | **Features** | ||
| 2413 | |||
| 2414 | Longitudinal Redundancy Check (LRC) is a common form of checksum used in communications, also known as LRC checksum or longitudinal checksum. It is an error detection method that generates check bits from a specific bit string on a vertical channel. LRC is often used in conjunction with VRC in the row and column format, so that for each character check digit. | ||
| 2415 | |||
| 2416 | The specific algorithm is as follows. | ||
| 2417 | |||
| 2418 | (1) Sum the data to be verified (2n characters) two by two to form a hexadecimal value. | ||
| 2419 | |||
| 2420 | (2) Modulo the summation result with 256. | ||
| 2421 | |||
| 2422 | (3) the resulting modulus is subtracted from 256 to get the result of the checksum (another method: the modulus is inverted by bit and then added to 1). | ||
| 2423 | |||
| 2424 | Example of hexadecimal data: 01 A0 7C FF 02 | ||
| 2425 | |||
| 2426 | (Hexadecimal calculation) | ||
| 2427 | |||
| 2428 | Summation: 01 + A0 + 7C + FF + 02 = 21E Modulo: 21E % 100 = 1E Calculation: 100 - 1E = E2 | ||
| 2429 | |||
| 2430 | (Calculated in decimal) | ||
| 2431 | |||
| 2432 | Summation: 01 + 160 + 124 + 255 + 02 = 542 Modulo: 542 % 256 = 30 Calculation: 256 - 30 = 226 | ||
| 2433 | |||
| 2434 | The modes used in this instruction for calculation are 16-bit conversion mode and 8-bit conversion mode. For more information on the actions of each mode, see the following section. | ||
| 2435 | |||
| 2436 | (1) 16-bit conversion mode (when SM161=OFF) | ||
| 2437 | |||
| 2438 | The high 8 bits (bytes) and low 8 bits (bytes) of the device in (s) are operated. The result is stored to the 16 bits of the device 1 point specified in (d). | ||
| 2439 | |||
| 2440 | In the case of the following program, the conversion is executed as follows | ||
| 2441 | |||
| 2442 | (% style="text-align:center" %) | ||
| 2443 | [[image:图片1.png]] | ||
| 2444 | |||
| 2445 | |(% colspan="3" rowspan="3" %)**LRC 16-bit mode**|(% colspan="9" %)**LRC value generation object data storage target**|(% colspan="2" %)**LRC value storage target** | ||
| 2446 | |(% colspan="2" %)**(s)**|(% colspan="2" %)**(s)+1**|(% colspan="2" %)**(s)+2**|**...**|(% colspan="2" %)**(s)+(n)/2-1**|(% colspan="2" %)**(d)** | ||
| 2447 | |(% colspan="2" %)**D100**|(% colspan="2" %)**D101**|(% colspan="2" %)**D102**| |(% colspan="2" %)**D(s)+(n)/2-1**|(% colspan="2" %)**D0** | ||
| 2448 | |(% rowspan="3" %)**(s)=D100,(d)=D0,(n)=6**|(% colspan="2" %)**Device**|((( | ||
| 2449 | Low | ||
| 2450 | |||
| 2451 | Byte | ||
| 2452 | )))|((( | ||
| 2453 | High | ||
| 2454 | |||
| 2455 | Byte | ||
| 2456 | )))|((( | ||
| 2457 | Low | ||
| 2458 | |||
| 2459 | Byte | ||
| 2460 | )))|((( | ||
| 2461 | High | ||
| 2462 | |||
| 2463 | Byte | ||
| 2464 | )))|((( | ||
| 2465 | Low | ||
| 2466 | |||
| 2467 | Byte | ||
| 2468 | )))|((( | ||
| 2469 | High | ||
| 2470 | |||
| 2471 | Byte | ||
| 2472 | )))|(% rowspan="3" %) |((( | ||
| 2473 | Low | ||
| 2474 | |||
| 2475 | Byte | ||
| 2476 | )))|((( | ||
| 2477 | High | ||
| 2478 | |||
| 2479 | Byte | ||
| 2480 | )))|((( | ||
| 2481 | Low | ||
| 2482 | |||
| 2483 | Byte | ||
| 2484 | )))|((( | ||
| 2485 | High | ||
| 2486 | |||
| 2487 | Byte | ||
| 2488 | ))) | ||
| 2489 | |(% rowspan="2" %)**Contents of object data**|**8-bit**|01H|03H|03H|02H|00H|14H| | |E3H|00H | ||
| 2490 | |**16-bit**|0301H| |0203H| |1400H| | | |00E3H| | ||
| 2491 | |||
| 2492 | (1) 8-bit conversion mode (when SM161=ON) | ||
| 2493 | |||
| 2494 | In the 8-bit conversion mode, only the low 8 bits (low byte) of the device of (s) are operated. The result uses 2 points from the soft component specified in (d), storing the low 8 bits (bytes) in (d) and the high 8 bits (bytes) in (d) + 1. | ||
| 2495 | |||
| 2496 | In the case of the following program, the conversion is executed as follows | ||
| 2497 | |||
| 2498 | (% style="text-align:center" %) | ||
| 2499 | [[image:图片2.png]] | ||
| 2500 | |||
| 2501 | |(% colspan="2" rowspan="3" %)**LRC 8-bit mode**|(% colspan="8" %)**LRC value generation object data storage target**|(% colspan="2" %)**LRC value storage target** | ||
| 2502 | |**(s)**|**(s)+1**|**(s)+2**|**(s)+3**|**(s)+4**|**(s)+5**|**...**|**(s)+(n)-1**|**(d)**|**(d)+1** | ||
| 2503 | |((( | ||
| 2504 | Low | ||
| 2505 | |||
| 2506 | Byte | ||
| 2507 | )))|((( | ||
| 2508 | Low | ||
| 2509 | |||
| 2510 | Byte | ||
| 2511 | )))|((( | ||
| 2512 | Low | ||
| 2513 | |||
| 2514 | Byte | ||
| 2515 | )))|((( | ||
| 2516 | Low | ||
| 2517 | |||
| 2518 | Byte | ||
| 2519 | )))|((( | ||
| 2520 | Low | ||
| 2521 | |||
| 2522 | Byte | ||
| 2523 | )))|((( | ||
| 2524 | Low | ||
| 2525 | |||
| 2526 | Byte | ||
| 2527 | )))| |((( | ||
| 2528 | Low | ||
| 2529 | |||
| 2530 | Byte | ||
| 2531 | )))|((( | ||
| 2532 | Low | ||
| 2533 | |||
| 2534 | Byte | ||
| 2535 | )))|((( | ||
| 2536 | Low | ||
| 2537 | |||
| 2538 | Byte | ||
| 2539 | ))) | ||
| 2540 | |(% rowspan="2" %)**(s)=D100,(d)=D0,(n)=6**|**Device**|((( | ||
| 2541 | D100 | ||
| 2542 | |||
| 2543 | Low | ||
| 2544 | )))|((( | ||
| 2545 | D101 | ||
| 2546 | |||
| 2547 | Low | ||
| 2548 | )))|((( | ||
| 2549 | D102 | ||
| 2550 | |||
| 2551 | Low | ||
| 2552 | )))|((( | ||
| 2553 | D103 | ||
| 2554 | |||
| 2555 | Low | ||
| 2556 | )))|((( | ||
| 2557 | D104 | ||
| 2558 | |||
| 2559 | Low | ||
| 2560 | )))|((( | ||
| 2561 | D105 | ||
| 2562 | |||
| 2563 | Low | ||
| 2564 | )))|É|É|D0|D1 | ||
| 2565 | |**Contents of object data**|01H|03H|03H|02H|00H|14H| | |E3H|00H | ||
| 2566 | |||
| 2567 | **✎Note: ** | ||
| 2568 | |||
| 2569 | When (s1) use KnX, KnY, KnM, KnS, n must be specified as 4. | ||
| 2570 | |||
| 2571 | **Error code** | ||
| 2572 | |||
| 2573 | |**Error code**|**Content** | ||
| 2574 | |4084H|The range of (n) exceeds 1 to 256 | ||
| 2575 | |4085H|The data address of (s) to be converted exceeds the device range | ||
| 2576 | |4086H|The (d) write address exceeds the device range | ||
| 2577 | |4087H|Unsupported device type is used by (s) and (d) | ||
| 2578 | |||
| 2579 | **Example** | ||
| 2580 | |||
| 2581 | ⑤16-bit conversion mode | ||
| 2582 | |||
| 2583 | |||
| 2584 | (% style="text-align:center" %) | ||
| 2585 | [[image:图片3.png]] | ||
| 2586 | |||
| 2587 | LRC operation is performed on the high 8 bits (bytes) and low 8 bits (bytes) of the 6 device starting at (D100). The result is stored to the 16 bits of the (D0) soft component. | ||
| 2588 | |||
| 2589 | ⑥8-bit conversion mode | ||
| 2590 | |||
| 2591 | (% style="text-align:center" %) | ||
| 2592 | [[image:图片4.png]] | ||
| 2593 | |||
| 2594 | The low 8 bits (low byte) of the 6 device from (D100) are operated. The result uses 2 points from (D0) designated device, and stores the low 8 bits (bytes) in (D0) and the high 8 bits (bytes) in (D1). | ||
| 2595 | |||
| 2596 | == **STDEV/BIN 16-bit sample standard deviation** == | ||
| 2597 | |||
| 2598 | **STDEV(P)** | ||
| 2599 | |||
| 2600 | The standard deviation of the (n) points (16-bit data units) starting from the device specified in (s1) is calculated, and the result of the calculation is stored in (d) by rounding. | ||
| 2601 | |||
| 2602 | PLC Editor2 version that supports this command: 2.3.1 and above | ||
| 2603 | |||
| 2604 | -[STDEV(P) (s1) (d) (n)] | ||
| 2605 | |||
| 2606 | **Content, range and data type** | ||
| 2607 | |||
| 2608 | |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)** | ||
| 2609 | |(s1)|Device start number of the data for standard deviation calculation. |-|Signed BIN16|ANY16 | ||
| 2610 | |(d)|Device start number for storing standard deviation.|-|Signed BIN16|ANY16 | ||
| 2611 | |(n)|Number of data or device number where the number of data is stored.|2 to 32767|Signed BIN16|ANY16 | ||
| 2612 | |||
| 2613 | **Device used** | ||
| 2614 | |||
| 2615 | |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Devices**|((( | ||
| 2616 | **Offset** | ||
| 2617 | |||
| 2618 | **modification** | ||
| 2619 | )))|((( | ||
| 2620 | **Pulse** | ||
| 2621 | |||
| 2622 | **extension** | ||
| 2623 | ))) | ||
| 2624 | |**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** | ||
| 2625 | |(% rowspan="3" %)STDEV|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|● | ||
| 2626 | |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|● | ||
| 2627 | |Parameter 3| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●| |●|● | ||
| 2628 | |||
| 2629 | **Error code** | ||
| 2630 | |||
| 2631 | |**Error code**|**Content** | ||
| 2632 | |4084H|The range of (n) exceeds 2 to 32767 | ||
| 2633 | |4085H|The data address of (s) (n) to be converted exceeds the device range | ||
| 2634 | |4086H|The (d) write address exceeds the device range | ||
| 2635 | |||
| 2636 | (% style="text-align:center" %) | ||
| 2637 | [[image:image-20221123144231-1.png]] | ||
| 2638 | |||
| 2639 | The standard deviation of the 5 device (16-bit data units) starting from the device specified in (D1) is calculated, and the result of the calculation is stored in (D10). | ||
| 2640 | |||
| 2641 | == **DSTDEV/BIN 32-bit sample standard deviation** == | ||
| 2642 | |||
| 2643 | **DSTDEV(P)** | ||
| 2644 | |||
| 2645 | The standard deviation of the (n) points (32-bit data units) starting from the device specified in (s1) is calculated, and the result of the calculation is stored in (d) by rounding. | ||
| 2646 | |||
| 2647 | PLC Editor2 version that supports this command: 2.3.1 and above | ||
| 2648 | |||
| 2649 | -[DSTDEV(P) (s1) (d) (n)] | ||
| 2650 | |||
| 2651 | **Content, range and data type** | ||
| 2652 | |||
| 2653 | |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)** | ||
| 2654 | |(s1)|Device start number of the data for standard deviation calculation. |-|Signed BIN32|ANY32 | ||
| 2655 | |(d)|Device start number for storing standard deviation.|-|Signed BIN32|ANY32 | ||
| 2656 | |(n)|Number of data or device number where the number of data is stored.|1 to 2147483647|Signed BIN32|ANY32 | ||
| 2657 | |||
| 2658 | **Device used** | ||
| 2659 | |||
| 2660 | |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Devices**|((( | ||
| 2661 | **Offset** | ||
| 2662 | |||
| 2663 | **modification** | ||
| 2664 | )))|((( | ||
| 2665 | **Pulse** | ||
| 2666 | |||
| 2667 | **extension** | ||
| 2668 | ))) | ||
| 2669 | |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|((( | ||
| 2670 | **LC** | ||
| 2671 | |||
| 2672 | **(bit)** | ||
| 2673 | )))|((( | ||
| 2674 | **HSC** | ||
| 2675 | |||
| 2676 | **(bit)** | ||
| 2677 | )))|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP** | ||
| 2678 | |(% rowspan="3" %)DSTDEV|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|● | ||
| 2679 | |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|● | ||
| 2680 | |Parameter 3| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●| |●|● | ||
| 2681 | |||
| 2682 | **Error code** | ||
| 2683 | |||
| 2684 | |**Error code**|**Content** | ||
| 2685 | |4084H|The range of (n) exceeds 1 to 2147483647 | ||
| 2686 | |4085H|The data address of (s) (n) to be converted exceeds the device range | ||
| 2687 | |4086H|The (d) write address exceeds the device range | ||
| 2688 | |||
| 2689 | (% style="text-align:center" %) | ||
| 2690 | [[image:image-20221123144457-1.png]] | ||
| 2691 | |||
| 2692 | The standard deviation of the 5 device (16-bit data units) starting from the device specified in (D1,D2) is calculated, and the result of the calculation is stored in (D20,D21) |