6 Replies Latest reply on Nov 9, 2018 2:05 PM by gmichaud-verreault

    how write a value of the opcitem from PI client?


      I'm searching how can write an opc value from PI server. The scenario. I have laboratories values, which only stay in pi server (written by laborato's staff directly to pi). My target is enable an opcitem in process server, where a pi user will be able to write the opcitem trought pi-server. Then I will be able use this value on procces server.



        • Re: how write a value of the opcitem from PI client?
          André Åsheim


          This is possible by using the PI Interface for OPC (link for DA interface:) https://techsupport.osisoft.com/Downloads/All-Downloads-Old/PI-Interfaces-and-PI-Connectors/PI-Interface-for-OPC-DA

          Note that you have to install the ReadWrite version.


          From documentation:

          Output point configuratons

          Output points send data from PI Data Archive to the OPC server. Note that only good values can be sent. System digital states are not sent to OPC items.

          To confgure an output point, edit the point using PI Point Builder and specify the following settings:

          • Set location1 to the id parameter value of the interface instance.

          • Set location3 to 2.

          • Specify the ItemID (the OPC item to be written) for the instrumenttag attribute.

          • Optional: Specify the source point (the PI point that contains the value to be written to the OPC server) in the sourcetag attribute. Not required if you intend to send the value directly to the output item without copying the values and time stamps to a PI point.

          • Optional: Set location4 to the desired output group. Output points with location4 set to 0 are distributed across output groups for load balancing. You can trigger an output to the OPC server from the interface using the input point that stores OPC server data, or from a separate PI point conβgured to collect output values and the time stamp for the write. To conβgure output points, use one of the following methods:

          • To use the same PI point as the source and the output point, leave the sourcetag attribute blank. Any means of updating the snapshot value of the output point is acceptable. Any new value is sent to the OPC item.

          • To trigger the output to the target OPC item, the time stamp must be more recent than the previous time stamp, regardless of whether the value changes. The value that you enter into the output point’s snapshot is written to the target item on the OPC server.

          • To confgure the output point using a separate source point, set the sourcetag attribute to the name of another PI point that will contain the values that you want written to the OPC item. When the source point is successfully updated, the new value is written to the target OPC item. If the PI OPC interface succeeds in updating the OPC item, it writes the value and time stamp to the output point. If the interface does not succeed in updating the OPC item, it writes a digital state that describes the error to the output point. For output points, a success status indicates that the OPC server item has been updated, but there is no guarantee that the corresponding data source has been updated. To verify that the data source has been updated, create a corresponding input point and add logic to ensure that the values of the input and output points match.The pointsource attribute of the output point must match the point source (ps) value of the interface instance, but the source point can be associated with any point source. The data type of the source point must be compatible with that of the output point.

          4 of 4 people found this helpful
          • Re: how write a value of the opcitem from PI client?

            Just adding the link to our online manual in LiveLibrary:

            PI Interface for OPC DA - Output Point Configurations

            2 of 2 people found this helpful
            • Re: how write a value of the opcitem from PI client?

              Hi Hector,


              As Jimmo and Andre said,  following are the simple steps you need to follow to write the value back to OPC,


              1. Create a tag in PI which contains your Lab data, this point will be your source tag
              2. Create the OPC output tag with below specifications,
                • Pointsource= Point source matching the interface instance
                • Location1= Interface ID
                • Location2= 0 (normal processing)
                • Location3= 2
                • Location4= 0 (event-based)
                • SourceTag= Tagname of your tag created in step 1

              Please refer the below link for more details,

              PI Interface for OPC DA



              1 of 1 people found this helpful
              • Re: how write a value of the opcitem from PI client?
                Bryan Owen

                Be sure to lock down the OPC Server to help avoid mistakes (and unauthorized changes) with output point functionality.


                If the OPC Server is unable to protect itself, you can configure the PI Interface for OPC whitelist feature. This way someone can't accidently write to OPC items.


                Information on configuring a whitelist file can be found in LiveLibrary


                4 of 4 people found this helpful
                • Re: how write a value of the opcitem from PI client?


                       Is it planned to enable the option of writing from OPC connectors?

                       The interfaces do not have the option to use connector relay in the DMZ layer.