Questions on File handling

File data sources (Text, Photo, Video)

  • What are the different ways one can store, parse and retrieve files in the Ignition system manually or programmatically?
  • Is there native support for files without partner modules (understand Sepasoft has a document management module but that is limited to associating files with ISA-95 and ISA-88 objects only - no parsing)?
  • Is it possible to add custom metadata to files? For e.g., to store and retrieve images of equipment taken at different points in time
  • Any limitation of what file types are supported natively or with Sepasoft?

https://docs.inductiveautomation.com/display/DOC81/Download+and+Upload+Files

Seems its get stored to the db, which meeans you can add in meta data i guess.
There should never be a probelm about type to upload/download i think.
But if you want read the file for something specific then probably yes. idk tho

1 Like

Just to add, Vision has access to the local directory so could be considered easier.

As @victordcq eluded too, Perspective you can place files/images in the DB as byte arrays, BLOBs, etc. You can also place files in [install directory]\webserver\webapps\main, but this is not necessarily the best approach (difficult to manage, doesn’t get automatically backed up, etc.). WebDev offers the ability to mount folders or serve up files, making life easier in some cases.

There are PDF viewers for Vision and Perspective. Text files can be opened/read natively (depending on Vision/Perspective is being used) Common image/video file types are supported. Beyond that :man_shrugging: I’m sure there are plenty I’ve missed.

File handling script functions: system.file - Ignition User Manual 8.1 - Ignition Documentation

1 Like

Is there an out-of-box capability to parse files and extract data into Tags, UDTs without Python scripting?

If you wanted the data directly from a database into a tag you could do that via tags. However if you want to parse a file, CSV for instance, and then only pick out pieces into tags then you would need to implement something in Python.

2 Likes