Mitsubishi Electric MELSEC iQ-R Series Programming Manual page 911

Hide thumbs Also See for MELSEC iQ-R Series:
Table of Contents

Advertisement

Processing details
• These instructions search the (n) points of data in units of 32-bit binary data (2  (n) points of data in units of 16 bits) from
the device specified by (s2), using the 16-bit binary data in the device specified by (s1) as a keyword. Each instruction
stores the number of data which matches the keyword in the device specified by (d)+1 and also stores the relative value of
the first-matched device number from (s2) in the device specified by (d).
Start device number of search range
Search data
(s1)+1, (s1)
5678901
(s2)+1, (s2)
(s2)+3, (s2)+2
(s2)+5, (s2)+4
Relative value
(s2)+(n)-3, (s2)+(n)-4
(s2)+(n)-1, (s2)+(n)-2
• If the value specified in (n) is 0, no processing is performed.
• If no matching data is found as the result of search, 0 is stored in the devices specified by (d) and (d)+1.
• If the data to be searched by the DSERDATA(P) instruction has been sorted in ascending order, turning on
*1
SM702
enables a binary search which can process the search faster. If SM702 is turned on even though
the data to be search has not been sorted in ascending order, normal search results cannot be obtained.
The following figure shows an example of binary search.
Search data
500
*1 SM702 is a special relay for setting the search method.
SM702 is off: Sequential search (linear search)
This method compares the search data with the data to be searched for starting from the start of data
SM702 is on: Binary search
For the data that has been sorted in ascending order, this method checks the center value of the search range, determining whether the
center value is larger or smaller than the search value, and thereby narrows the search range to either side. Thus, target data is
searched for by repeating this processing.
Operation error
There is no operation error.
5678901
5678901
Data
matched
123456
-1
5678901
0
5678901
Data to be searched
100
200
300
Compared with
Search
400
the search data
range
500
600
700
Search result
Search range:
(d)
2 × (n) points
(d)+1
Search order
Data to be searched
100
200
300
400
500
Search
Compared with
600
range
the search data
700
7 APPLICATION INSTRUCTIONS
7.20 Data Processing Instructions
1
Location
2
Number of matches
Data to be searched
100
200
300
400
Search
Compared with
500
the search data
range
600
700
7
909

Hide quick links:

Advertisement

Table of Contents
loading

Table of Contents