PI Vision Manual Data Entry

Document created by PedroCampos on Nov 10, 2020Last modified by PedroCampos on Nov 11, 2020
Version 3Show Document
  • View in full screen mode

Insert manual data into the PI System is a very common request. This can be done properly through PI Manual Logger. Even though sometimes would be more convenient to insert manual data through PI Clients such as PI Vision.

To insert manual data through PI Vision it is necessary to create a Custom Symbol. A custom symbol is a symbol added to your PI Vision Server. It is composed by:

  • .png icon file into icons path - Symbol icon
  • config.html - HTML of the config panel
  • template.html - HTML of the symbol
  • .js - Javascript code of the symbol


Those files should be dropped into the PI Vision path:

  • "%PIHOME64%PIVision\Scripts\app\editor\symbols\ext"


The InsertUpdateDeleteValue Custom Symbol was developed to handle manual data entry to one specific tag at a time. You can download it at:


Once added you will have a symbol that allows you to get the information of the tag according to tho the PI Vision time range. You will be able to edit data, add new data and delete specific data too. It is not possible to edit the timestamp. It is the standard behavior of the PI System. To edit a timestamp delete a value and insert a new one on the desired timestamp. When clicking new a new line is added to the end with the current timestamp, but you can modify either the timestamp and the value of a new value entry.


                                    No alt text provided for this image


The symbol takes advantage of the knowledge acquired by Anna Perry's Symbol https://www.youtube.com/watch?v=7bYWNKD826w . The InsertUpdateDeleteValue symbol is designed to work in such environment:

  • PI Vision 2020
  • en-US or pt-BR browser language
  • Google Chrome, Microsoft Edge browsers. Internet Explorer is not Allowed.
  • PIPoint or Attribute. Attribute children are not allowed


An advantage of InsertUpdateDeleteValue Custom Symbol is that it passes the user's credentials on the ajax call on line 104, through "{withCredentials: true}". So PIPoints permission will be granted if PI Vision Kerberos Constraint Delegation is configurated on Server side.

 return $http.post(baseUrl + 'batch', JSON.stringify(body), {withCredentials: true})


InsertUpdateDeleteValue symbol might have great improvements such as data handling for different types such as blob, Enumeration Sets, Digital States and others. It might be improved with other functionalities too like data format validation and any other desirable functionalities.

2 people found this helpful