欢迎图片
Last modified by Iris on 2025/10/21 14:06

Hide last authors
Iris 1.2 1 === **SFRD/Shift Read** ===
Iris 1.1 2
Iris 1.2 3 **SFRD(P)**
Iris 1.1 4
5 Data read instructions for first-in, first-out and control.
6
7 -[SFRD (s)  (d) (n)]
8
9 **Content, range and data type**
10
11 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
12 |(s)|(((
13 The start word device number storing data
14
15 (The start is a pointer, and the data starts from (s)+1)
16 )))|-|Signed BIN 16 bit|ANY16
17 |(d)|The word device number storing the first-out data|-|Signed BIN 16 bit|ANY16
18 |(n)|It should be specified as the value of the number of points + 1 of the stored data. +1 is pointer|2 to 512|Signed BIN 16 bit|ANY16
19
20 **Device used**
21
22 |(% rowspan="2" %)**instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Devices**|**Index modification**|(((
23 **Pulse**
24
25 **extension**
26 )))
27 |**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**
28 |(% rowspan="3" %)SFRD|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
29 |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|●
30 |Parameter 3| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●| |●|●
31
32 **Features**
33
34 Transfer (s)+1 written sequentially to (d) by SFWR instruction, shift up each point (n)-1 by one word from (s)+1. The number of stored data of (s) subtracts one.
35
36 The content of (s)+1 is transferred (read) to (d). At the same time, the content of the pointer (s) decreases, and the data is shifted up by 1 word each. (In the continuous execution instruction SFRD, each operation cycle will shift, so the pulse execution instruction SFRDP should be used for programming).
37
Iris 1.3 38 (% style="text-align:center" %)
Iris 3.1 39 [[image:1761018188037-771.png||height="579" width="984"]]
Iris 1.1 40
Iris 1.3 41
Iris 1.1 42 **Related device **
43
44 |**Devices**|**Name**|**Content**
45 |SM153|Zero bit|Data readout usually starts from (s)+1, but when the pointer (s) is 0, the zero bit SM153 will operate.
46
47 **✎Note: **
48
49 The data after reading would not change the content of (s)+(n) due to reading.
50
51 In the case of continuous execution (SFRD) instructions, each scan time (operation cycle) will be read sequentially, but the content of (s) + (n) would not change. When the pointer (s) is 0, it would become no processing, and the content of (d) would not change.
52
53 **Error code**
54
55 |**Error code**|**Content**
56 |(% rowspan="2" %)4084H|When the value set in (n) is other than the following. 2≤(n)≤512
57 |A negative value is specified in (s).
58 |4085H|When the device specified in the read application instruction (s) and (n) exceeds the corresponding device range.
59 |4086H|When the device specified in the write application instruction (s) and (d) exceeds the corresponding device range.
60
61 **Example**
62
63 The following examples illustrate the use of shift write (SFWR) and shift read (SFRD) instructions.
64
65 (1) Action content
66
Iris 1.4 67 1) While registering the product number, in order to realize the first-in-first-out principle, the following introduces an example of a ladder ladder diagram that outputs the current product number.
Iris 1.1 68
Iris 1.4 69 2) The product number is a hexadecimal number with 4 digits or less, and the maximum inventory is below 99 points.
Iris 1.3 70
Iris 1.1 71 (2) Program
72
Iris 1.4 73 1) Program 1
Iris 1.1 74
Iris 1.4 75 (% style="text-align:center" %)
76 [[image:1761018361678-654.png]]
Iris 1.1 77
Iris 1.4 78 (% style="text-align:center" %)
Iris 5.1 79 [[image:1761018410107-778.png||height="437" width="593"]]
Iris 1.1 80
Iris 1.4 81 2) Program 2
Iris 1.1 82
Iris 1.4 83 (% style="text-align:center" %)
84 [[image:1761018480645-416.png]]
Iris 1.1 85
86
87 Turn X0 from OFF to ON, and this instruction acts according to the following numbers 1 to 3. (The content of D10 remains unchanged),
88
89 * The content of D2 is read out and sent to D20.
90 * D10 to D3 all shift one register to the right.
91 * The contents of pointer D1 are reduced by 1.
92
Iris 1.4 93 === **POP/Read From the Back of the Data Table** ===
Iris 1.1 94
95 **POP(P)**
96
Iris 1.2 97 Read the last data written by the shift write instruction (SFWR) for first in first out/first in last out control. 
Iris 1.1 98
99 -[POP  (s)  (d)  (n)]
100
101 **Content, range and data type**
102
103 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
104 |(s)|The start device number that stores the first-in data (including pointer data) (the start word device number that stores data)|-|Signed BIN 16 bit|ANY16
105 |(d)|The device number that stores the last-out data|-|Signed BIN 16 bit|ANY16
106 |(n)|The points of stored data|2 to 512|Signed BIN 16 bit|ANY16
107
108 **Device used**
109
110 |(% rowspan="2" %)**instruction**|(% rowspan="2" %)**parameter**|(% colspan="24" %)**Devices**|**Index modification**|(((
111 **Pulse**
112
113 **extension**
114 )))
115 |**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**
116 |(% rowspan="3" %)POP|Parameter 1| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|●
117 |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|●
118 |Parameter 3| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●| |●|●
119
120 **Features**
121
122 For the word device of "(s) to (s)+(n)-1", the device of "(s) + instruction data (s)" will be read to (d) ( The last data written by the shift write instruction (SFWR) for first-in first-out control is read to (d)). (N) Specifies 2 to 512.
123
124 The value of pointer data (s) is reduced by one.
125
126 First-in-last-out control data
127
128 | |**Content**
129 |(S)|Pointer data (the number of stored data)
130 |(S)+1|(% rowspan="7" %)(((
131 Data field
132
133 (Data entered by shift write instruction (SFWR))
134 )))
135 |(S) +2
136 |(S) +3
137 |......
138 |(S)+(n)-3
139 |(S)+(n)-2
140 |(S)+(n)-1
141
Iris 1.4 142 (% style="text-align:center" %)
Iris 3.1 143 [[image:1761018592821-392.png||height="454" width="932"]]
Iris 1.4 144
Iris 1.1 145 **✎Note: **
146
147 **✎**If the POP(P) instruction is programmed in continuous execution type, the instruction will be processed per cycle. Therefore, it may not be possible to achieve the desired action. Generally, POP(P) instruction programming should be executed with "pulse execution type" or "pulse specified contact".
148
149 **✎**When the current value of pointer (s) is 0, the zero flag SM153 turns on, and the POP(P) instruction becomes no processing.
150
151 **✎**When the current value of pointer (s) is 1, write 0 to (s), and the zero flag SM153 turns on.
152
153 **Error code**
154
155 |**Error code**|**Content**
156 |(% rowspan="3" %)4084H|(s)>(n)-1
157 |(s)<0
158 |Data outside the specified range is entered in (n). 2≤(n)≤512
159 |4085H|When the device specified in the read application instruction (s) and (n) exceeds the corresponding device range
160 |4086H|When the device specified in the write application instruction (s) and (d) exceeds the corresponding device range
161
162 **Example**
163
Iris 1.4 164 (% style="text-align:center" %)
165 [[image:1761018612253-455.png]]
Iris 1.1 166
167 Each time M1 is ON, for the values of D20 input first in D101 to D106, the last saved value would be saved in D10, and then the data saved number (pointer D100) will be reduced by 1.
168
169 When the data entered first is the content in the table below.
170
171 |**Pointer**|D100|K3
172 |(% rowspan="6" %)**Data**|D101|H1234
173 |D102|H5678
174 |D103|HABCD
175 |D104|H0000
176 |D105|H0000
177 |D106|H0000
178
179
180
Iris 1.4 181 (% style="text-align:center" %)
Iris 2.1 182 [[image:1761018751619-514.png||height="262" width="620"]]
Iris 1.1 183
Iris 1.4 184 === **SFWR/Shift Write** ===
Iris 1.1 185
Iris 1.4 186 **SFWR(P)**
187
Iris 1.1 188 Data writing instructions for first-in-first-out and control.
189
190 -[SFWR (s)  ( d) (n)]
191
192 **Content, range and data type**
193
194 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
195 |(s)|The word device number that stores the data you want to enter first|-|Signed BIN 16 bit|ANY16
196 |(d)|The start word device number for storing data and shifting (the start is pointer, and data starts from (d)+1)|-|Signed BIN 16 bit|ANY16
197 |(n)|The value of points + 1 of stored data should be specified|2 to 512|Signed BIN 16 bit|ANY16
198
199 **Device used**
200
201 |(% rowspan="2" %)**instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Devices**|**Index modification**|(((
202 **Pulse**
203
204 **extension**
205 )))
206 |**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**
207 |(% rowspan="3" %)SFWR|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●| |●|●
208 |Parameter 2| | | | | | | | | | | |●|●|●|●|●|●|●|●| | | | | |●|●
209 |Parameter 3| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●| |●|●
210
211 **Features**
212
213 Start from (d)+1, write the contents of (s) to point (n)-1, and the stored data of (d) add one. For example, if (d)=0, write to (d) +1, (d)=1, write to (d)+2.
214
215 Through the first execution, the content of (s) is stored to (d)+1 and becomes the value of (s).
216
217 If the content of (s) is changed and executed for the second time, the content of (s) is stored to (d)+2, and the content of (d)+2 becomes (s) (in the continuous execution instruction SFWR, each operation cycle will be stored sequentially, so the pulse execution instruction SFWRP should be used for programming). After that, the data will be filled in sequentially from the right, and the number of data storage points is displayed by the content of the pointer (d).
218
Iris 5.1 219 (% style="text-align:center" %)
220 [[image:1761026706482-870.png]]
Iris 1.1 221
222 **Related device**
223
224 |**Devices**|**Name**|**Content**
225 |SM151|carry|When the content of pointer (s) exceeds (n)-1, it becomes no processing (no writing), and the carry flag SM151 turns ON.
226
227 **✎Note: **
228
229 In the continuous execution type (SFWR) instruction, you should be noted that each scan time (operation cycle) will be stored (overwritten) sequentially.
230
231 **Error code**
232
233 |**Error code**|**Content**
234 |(% rowspan="2" %) 4084H|When the value set in (n) is other than the following. 2≤(n)≤512
235 |A negative value is specified in (d).
236 |4085H|When the device specified in the read application instruction (s), (d) and (n) exceeds the corresponding device range.
237 |4086H|When the device specified in the write application instruction (d) exceeds the corresponding device range.
238
239 **Example**
240
241 The following examples illustrate the use of shift write (SFWR) and shift read (SFRD) instructions.
242
Iris 2.1 243 (1) Action content
Iris 1.1 244
Iris 2.1 245 1) While registering the product number, in order to realize the first-in-first-out principle, the following introduces an example of a ladder ladder diagram that outputs the current product number.
Iris 1.1 246
Iris 2.1 247 2) The product number is a hexadecimal number with 4 digits or less, and the maximum inventory is below 99 points.
248
Iris 1.1 249 (2) Program
250
Iris 2.1 251 1) Program 1
Iris 1.1 252
Iris 2.1 253 (% style="text-align:center" %)
254 [[image:1761025772517-240.png]]
Iris 1.1 255
Iris 2.1 256 (% style="text-align:center" %)
257 [[image:1761025809106-559.png||height="382" width="528"]]
Iris 1.1 258
Iris 2.1 259 2) Program 2
Iris 1.1 260
Iris 2.1 261 (% style="text-align:center" %)
262 [[image:1761025894776-671.png||height="130" width="570"]]
Iris 1.1 263
264
265 When X0=1, the content of D0 is stored in D2, and the content of D1 becomes 1. When X0 changes from OFF to ON again, the content of D0 is stored in D3, the content of D1 becomes 2, and so on. If the content of D1 exceeds n-1, the instruction is not processed, and the carry flag M8022 will be set to 1.
266
Iris 2.1 267 === **FINS/Data Table Data Insertion** ===
Iris 1.1 268
Iris 2.1 269 FINS(P)
Iris 1.1 270
271 Insert the BIN 16-bit data specified in (s) into the number (n) of the data table specified in (d). After the instruction is executed, the data starting with number (n) in the data table will be postponed downward one by one.
272
273 -[FINS (s) (d) (n)]
274
275 **Content, range and data type**
276
277 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
278 |(s)|The start number of device storing the inserted data|-|Signed BIN 16 bit|ANY16
279 |(d)|The starting number of table|-|word|ANY16
280 |(n)|The position of the inserted table|1-512|Signed BIN 16 bit|ANY16
281
282 **Device used**
283
284 |(% rowspan="2" %)**instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Devices**|**Index modification**|(((
285 **Pulse**
286
287 **extension**
288 )))
289 |**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**
290 |(% rowspan="3" %)FINS|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●| |●|●
291 |Parameter 2| | | | | | | | | | | | | | |●|●|●|●|●| | | | | |●|●
292 |Parameter 3| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●| |●|●
293
294 **Features**
295
296 Insert the BIN 16-bit data specified in (s) into the number (n) of the data table specified in (d). After the instruction is executed, the data starting with number (n) in the data table will be postponed downward one by one.
297
Iris 2.1 298 (% style="text-align:center" %)
299 [[image:1761025985201-177.png||height="245" width="556"]]
Iris 1.1 300
301 * N: the number of data storage;
302 * DTr: data table range;
303 * When (n)=2, it will be inserted into (d)+2.
304
305 ✎Note:
306
307 ✎The range of device used in the data table is managed by user.
308
309 ✎The range of the data table is (d) started from device (d) +1) after the number of data (d).
310
311 Error code
312
313 |**Error code**|**Content**
314 |(% rowspan="4" %)4084H|FINS(P) instruction is executed when the value of (d) is 0.
315 |The storage data of the table of (d) exceeds 512.
316 |When the data set in (n) is other than the following, 1≤(n)≤512.
317 |When the FINS(P) instruction is executed, the table position (n) of the inserted data is greater than data storage number.
318 |4085H|When the device specified in the read application instruction (s), (d) and (n) exceeds the corresponding device range.
319 |4086H|When the device specified in the write application instruction (d) exceeds the corresponding device range.
320
321 **Example**
322
Iris 2.1 323 (% style="text-align:center" %)
324 [[image:1761026072396-253.png||height="80" width="604"]]
Iris 1.1 325
326 When X10=ON, insert the data of D100 into No. 3 of the data table of D0 to D4.
327
328 However, when the number of saved data exceeds 7, the FINS(P) instruction is not executed (the device range used in the data table is D0 to D7).
329
Iris 5.1 330 (% style="text-align:center" %)
331 [[image:1761026760721-571.png]]
332
Iris 2.1 333 === **FDEL/Data Deletion of Data Sheet** ===
Iris 1.1 334
Iris 2.1 335 FDEL(P)
Iris 1.1 336
337 Delete the (n)th data of the data table specified in (d) and store it in the device specified in (s). After the instruction is executed, the data after (n)+1 in the data table will be postponed forward one by one.
338
339 -[FDEL (s)  (d) (n)]
340
341 **Content, range and data type**
342
343 |**Parameter**|**Content**|**Range**|**Data type**|**Data type (label)**
344 |(s)|The start number of the device stored deleted data|-|Signed BIN 16 bit|ANY16
345 |(d)|The starting number of the table|-|word|ANY16
346 |(n)|The position of the deleted table|1-512|Signed BIN 16 bit|ANY16
347
348 **Device used**
349
350 |(% rowspan="2" %)**instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Devices**|**Index modification**|(((
351 **Pulse**
352
353 **extension**
354 )))
355 |**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**
356 |(% rowspan="3" %)FDEL|Parameter 1| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | | | | |●|●
357 |Parameter 2| | | | | | | | | | | | | | |●|●|●|●|●| | | | | |●|●
358 |Parameter 3| | | | | | | | | | |●|●|●|●|●|●|●|●|●| | |●|●| |●|●
359
360 **Features**
361
362 Delete the (n)th data of the data table specified in (d) and store it in the device specified in (s). After the instruction is executed, the data after (n)+1 in the data table will be postponed forward one by one.
363
Iris 2.1 364 (% style="text-align:center" %)
365 [[image:1761026280809-833.png||height="271" width="659"]]
Iris 1.1 366
Iris 2.1 367
Iris 1.1 368 **✎Note:**
369
370 **✎**The user is responsible for the management of the device range used in the data sheet.
371
372 **✎**The range of the data table is (d) after the data storage number (d) of the device ((d) + 1).
373
374 **Error code**
375
376 |**Code**|**Content**
377 |(% rowspan="4" %)4084H|FDEL(P) instruction is executed when the value of (d) is 0.
378 |The storage data of the table of (d) exceeds 512.
379 |When the data set in (n) is other than the following, 1≤(n)≤512.
380 |When the FDEL(P) instruction is executed, the table position (n) of the deleted data is greater than data storage number.
381 |4085H|When the device specified in the read application instruction (d) and (n) exceeds the corresponding device range.
382 |4086H|When the device specified in the write application instruction (s) and (d) exceeds the corresponding device range.
383
384 **Example**
385
Iris 4.1 386 (% style="text-align:center" %)
387 [[image:1761026499270-138.png||height="60" width="670"]]
Iris 1.1 388
Iris 3.1 389 When X10 is ON, delete the second data in the data table of D100 to D105, and save the deleted data in D0. However, when the number of data saved is 0, do not execute the FDEL instruction. (The device range used in the data table is D100 to D107)
Iris 1.1 390
Iris 2.1 391 (% style="text-align:center" %)
Iris 4.1 392 [[image:1761026454338-354.png||height="306" width="801"]]