Topic: DMD0381

Help File Version: 2.9.4.37

FILESEEK - Seek to Position in File


The Seek to Position in File (FILESEEK) instruction is used to move the file pointer within the specified file. This instruction allows the file pointer to be moved forward (toward the end of the file) and backward (toward the beginning of the file). The location of the file pointer in a currently open file is stored in the .FilePointer field of the File Handle structure (refer to the structure definition below).

 

 

File Handle Struct - when a file is opened the File Handle Structure that is associated with that file is initialized and remains valid until it is closed using the Close File (FILECLOSE) instruction. The File Handle Struct is used by other FILE instructions when accessing the file. File Handle Struct names must be unique, and consist of 1 to 16 characters in length and consist of any combination of alphanumeric characters and underscores ('_', 'a-z', 'A-Z', 0-9), no spaces or punctuation marks are allowed, and must begin with a letter or an underscore.

 

Note: although this instruction will allow you to create a new File Handle Struct you must still initialize the newly created File Handle Struct with a FILEOPEN - Open File instruction before this FILESEEK instruction can be downloaded to a CPU.

 


Seek To - where in the file to put the file pointer: The selection made here will affect the optional Offset parameter that follows. Any attempt to seek backward past the Beginning of File or seek forward past End of File will set the On Error condition.

 

  • Beginning - before the first byte of data in the file. The optional parameter is Relative Offset (+/-) from Current in Bytes allows you to specify a positive number of Bytes to move the file pointer forward from the beginning of the file.

  • Current - leave the file pointer in its current location. The optional parameter is Positive Offset from Beginning in Bytes allows you to specify a positive or negative number of Bytes to move the file pointer forward or backwards in the file respectively.

  • End - after the last byte of data in the file. The optional parameter is Relative Offset (+/-) from Current in Bytes allows you to specify a negative number that is the number of Bytes to move the file pointer backwards from the End of the file.


The On Success and On Error parameters specify what action to perform when this instruction completes. You do not have to use the same type of selection for both On Success and On Error.

 

If the Set Bit selection is used for either On Success or On Error, the specified BIT location will be SET OFF when the instruction is first enabled and will remain OFF until the instruction completes. Once complete, the appropriate Success or Error bit location will be set ON. The specified Bit location is enabled with a SET (Latch) operation (not an OUT operation) meaning that it will remain ON even if this instruction's input logic goes OFF.

 

If the JMP to Stage selection is used for either On Success or On Error the target Stage must be in the same Program code-block as this instruction, you cannot specify a target Stage that exists in a different Program code-block. When the operation finishes, the target Stage will be enabled the same way as a standalone Jump to Stage (JMP) instruction would do it. The JMP to Stage option will only be selectable if this instruction is placed in a Program code-block.

 

On Success selects which of the following actions to perform if the operation is successful:

  • Enable Set Bit then specify any writable bit location.
  • Enable JMP to Stage then specify any Stage number from S0 to S127 in the current Program code-block.

 

On Error selects which of the following actions to perform if the operation is unsuccessful:

  • Enable SET Bit then specify writable bit location.
  • Enable JMP to Stage then specify any Stage number from S0 to S127 in the current Program code-block.

 

If either the On Success or On Error selections are set to JMP to Stage, Automatically create the SG box for any NEW stage number will be enabled which will automatically create any target stage that does not already exist.

  • Below this rung will create the new target stage on a new rung following this instruction.
  • At end of code-block will create the new target stage on the last rung of this Program.

 


Error Codes

Improper use of any FILE instruction or any file system hardware problem will generate a warning message at runtime. When any of these warnings are generated, the On Error parameter in the instruction will be ON and the System ERR variable will contain one of the following text messages. You will also be alerted to this condition by yellow "Warning" text displayed in the Status Bar of Do-more Designer. Clicking that text will open the System Status to display the full text of the warning message.

 

 

Text displayed in the ERR System variable

 

How To Solve / What To Do

SdCard not installed, or has an error

 

On PLC systems that have an SD Card slot, this indicates the SD card is either missing or an error occurred while trying to mount the file system on that media.

 

Note: you can use the File System structure's .MediaInstalled and .MediaMounted in permissive contacts with the input logic of the FILEOPEN instruction to make sure the removable media is properly installed and available before an attempt is made to execute the instruction.

 

Attempted to use a device that hasn't been opened

 

An attempt was made to seek within a file that is currently open but the file itself has been deleted.

 

 


File Handle Structure

 

Each time the Open File (FILEOPEN) instruction is executed the structure associated with the File Handle is initialized. The contents of the structure's fields will remain valid until a Close File (FILECLOSE) instruction is executed, which will uninitialize the structure. The File Handle structure has the following member fields which can be used in the ladder logic.

.DeviceID (read only) - a 16-bit value that uniquely identifies this file handle.

 

.Open (read only) - a boolean value that will be ON if the associated file is currently open, and will be OFF if the associated file is not open.

 

.Success (read only) - not used .

 

.Error (read only) - not used.

 

.EndOfFile (read only) - a boolean value that will be ON if the file pointer is at the end of the file, that is, after the last byte of data in the file.

 

.FileSize (read only) - a 16 bit value that contains the current number of Bytes in the file.

 

.FilePointer (read only) - a 16 bit value that contains the current location (Byte offset from the beginning) of the file pointer.

 


Status Display

 

The red triangle in the upper left corner of the status display indicates this is a Fully Asynchronous instruction.

 

The gray triangle at the right end of the input leg indicates the input is edge-triggered, meaning this instruction will execute each time the input logic transitions from OFF to ON.

 


See Also

FILECLOSE - Close File

 

FILECOPY - Copy File

 

FILEDEL - Delete File

 

FILELOG - Log to File

 

FILENEWFLDR - Make New Folder

 

FILEOPEN - Open File

 

FILEQUERY - Query File or Folder Information

 

FILEREAD - Read from File

 

FILESEEK - Seek to Position in File

 

FILESYSCMD - Perform File System Command

 

FILETRUNC - Truncate File

 

FILEWRITE - Write to File

 

EMAIL - Send Email (with file attachment)

 


Related Topics

File System Reference

 

Browse PLC File Systems

 


Example