PCo Notification

Hi,
Actually I have a question regarding PCo notification.While creating notification agents in Pco,how can we specify tags for a certain span of time rather than only a single point of time so that the notification will be sent for that span of time continuously and accordingly the monitoring can be done.It would be really helpful if anyone can help me out please.
Thanks,
Shawna

Shawna,
In PCo 2.0, you can use the [WhileTrue or WhileFalse |http://help.sap.com/saphelp_pco20/helpdata/en/d4/6c7a623e3041c5a004377a6bb31b9f/content.htm](depending on your expression) trigger types to force a notification. An MII transaction can receive it and then do a history query (via UDS for example) to get a time span of data. I don't know which version of PCo you have but PCo 2.1 does have a [ query capability |http://help.sap.com/saphelp_pco21/helpdata/en/20/54890ecc2e491d8e9c79c34c8ae636/content.htm]and is worth a look. In 2.1, you can simply query the data source via MII query and use the SD/ED times for your time span. However, depending on your scenario you may need the UDS.
Regards,
Kevin

Similar Messages

  • How to pass tag name and value dynamically in the output of PCo notification?

    Hi,
    I have a requirement to develop such a scenario where there can be multiple no of tags in PCo (Say 10) but there will be single notification to push the tag name when the value got changed and the changed value to MII. for any value change for any of the tag, the notification will be trigger. So As per my knowledge I have to pass the tag name and value dynamically in the "output" tab of the notification. But need your support to find out how to pass them dynamically.
    Thanks in advance.
    Regards,
    Suman

    Hi Suman/Jeedesh,
    As per Pco notification, it will trigger whenever any of the tag value changes in Agent instance subscription items.
    For above issue, My suggestion
    1. Create DB table name TAGLIST with 200 tags as rows in columns (Tagname, TagValue)
    2. Based on notification trigger, create a transaction and update values w.r.t TagNames in above table
    3. Next time, when notification trigger with fresh value for any of the tag, cross check with existing TagName with Value and update in DB table.
    4. And in the mean time, send those Tag details vie mail trigger or as per requirement
    Instead of creating 200 notification, above is a just alternate way suggestion to achieve dynamic tag value change notification.
    Hope it might solve your problem
    Regards,
    Praveen Reddy

  • PCo Notification not reaching MII Transaction

    Hi Friends,
    I need some help to send Pco Notification messages successfully to MII. I have created a Pco Notification Agent and created the expression as below.
    if('BA:TEMP.1'>44,  " right", "wrong")
    I tried to test the delivery manually using Notification Test Dialog. When I click on the Deliver button, destination  Transaction at MII gets invoked successfully. But I do not get any value in the input parameter of the transaction. While creating the destination I have mentioned the input parameter correctly.
    Also when click on View Sample button I get the below xml message
    <?xml version="1.0" encoding="utf-8" ?>
    - <NotificationMessage>
    - <Header>
      <Name>TestNotificationMessage</Name>
    - <Description>
    - <![CDATA[ Test Message
      ]]>
      </Description>
      <Destination />
      <CreatedDate>2014-09-04T11:57:47</CreatedDate>
      <ID>1afecce1-67d9-41aa-8296-27a5dc7c1046</ID>
      <Status>Created</Status>
      </Header>
    - <Body>
    - <Values>
    - <Expression1 type="xsd:string" quality="None">
    - <![CDATA[
      ]]>
      </Expression1>
      </Values>
      </Body>
      <Faults />
      </NotificationMessage>
    I am using PCo Version 2.3 and MII version 14.0
    Any help on this very much appreciated.
    Thanks
    Shaji

    Hi Shaji,
    The Expressions in a Notificaion Output are not evaluated against tag values until the Notification is triggered; using the Test Notification Delivery requires you to manually enter a value for each Output value to be delivered.  If you want to test your notifications you will have to start the Agent Instance and have the Trigger fire the notification.
    You can also set a Simulator Destination and have the Notification message delivered to a file in the Simulator Destination directory.  This will give you a way to examine the Notification message contents without having to use MII to capture and save it.
    Regards, Steve

  • Issues regarding PCO Notification

    Hi experts,
    I have a question.Is there any way to make the notification of tags  time-based so that the notification will be generated only after a certain specified interval of time?Even if I specify the trigger type as WhileTrue the notifications are generated randomly whenever the value is changed without any specified time interval..
    Thanks,
    Suman

    Suman,
    Ok, I believe I understand your situation now. I have never done it but you should review the [date/time |http://help.sap.com/saphelp_pco21/helpdata/en/42/3550f08e2e444ea4d24a5e12bbfe54/content.htm]functions in PCo. You could try it with a complex trigger expression using the "if" expression, and then using the date or other time based functions in the condition part. However, since PCo doesn't store variables you wouldn't really be able to compare +-5 minutes. Even if you use the different trigger types I am not sure how you would be able to keep track of the baseline time (via minuteCtr) and compare it with future values (if threshold reached and minuteCtr==5).
    What some customers implement is a notification of the initial event to MII and then have an MII transaction run a query on the tag to monitor there. If the tag gets out of control they can alert via dashboard screen or email to a shop floor operator.  
    Regards,
    Kevin

  • Notification Create time in PCO 2.1

    Hello,
    I am using PCo 2.1.6.0 and I have observed a difference of 4 hrs  between the Notification Create time and the time zone where actually PCo is installed.
    In my current scenario both PCo & the data source (OSI PI) are installed on the same server which follows the EDT/EST time zone.
    The notification message create date that is sent to MII (which also resides in the EST/EDT TZ) show a + 4 hrs (I think it shows GMT). I observe the same time when I do a "Test Notification Delivery" --> "View Sample" for a notification.
    On the PCo Mgmt Console if I navigate to Tools --> Options and further expand Global Properties and click Date/Time format the correct time is displayed.
    Additionally if I run a TAG query against the same Agent the correct time is returned.
    Why is there a difference for the notification then, when everything is in the same TZ? Am I missing some config setting in PCo?  
    I have not come across any SAP note on this issue and could not find any older posts referring to this behavior.
    Thanks for the help.
    Udayan
    Edited by: Udayan Upreti on Sep 19, 2011 9:30 AM

    Ud,
    Ok, so to fully answer your original question as to why there is a difference in the timestamps of a PCo notification and a MII Query to a PCo agent. 
    The notifications always use UTC which is universal time regardless of timezones or system settings and was agreed upon as the best approach to keep track of when messages were actually created.  If you want current timestamp of the server in the message payload you can add an Expression with the value of "datenow()" and I believe that this will give you the current timestamp of the PCo server.
    When you query a PCo agent from MII, the MII Time Engine will take care of the timezone conversion for you in order to ensure that date from the proper time ranges the user is asking for is returned to them.  Since the MII and PCo servers can be located in diffferent regions/timezones we have to handle this in our time engine.
    Does this make sense?
    Regards,
    Sam

  • SAP PCO Socket Connection VS HyperTerminal

    Hi All,
    We're trying to process an IP Barcode Scanner message using PCo notifications. How should I configure the subscription item / notification so that the received message is captured as using the HyperTerminal software?  Is there any documentation we should be aware of?
    Many Thanks,
    Paul Radulescu

    Hi Steve,
    We did our tests this morning. The source socket connection settings are below:
    I also attached a small log (FScan_Gi.txt) around one scan, where the alert is being raised, and the message is being sent to the destination system dummy transaction which only writes the file in the MII Web space (i.e. FS_msg_03.xml)
    My take on the multiple streams is that the scanner we used is a fixed industrial type one. The label being scanned contains multiple barcodes and the scanner scans all of them at once, delimiting the message with some CONTROL CHARACTERS, giving some headaches going forward.
    If I define an XML query and read the message saves "as is" by the dummy transaction above, I get a nice, but firm message :
    which comes from the control characters inserted by the scanner between the barcodes. PCo transmits the message as is, MII saves it as is, but when I try to open and process it .. I can't. Opening it in a transaction in workbench using the text-loader gives me a "prolog" error
    Funny. I feel like I get the best out of it sometimes
    Definitely I have to get rid of those control characters .. even by truncating the message. There are three barcodes being scanned, I presently need only the last one .. so my question is .. Can I use the expression editor and look for the message content after the "~" sign in the string over there (see FS_msg_03.xml) with something like stringpart('Fscan_GI', ~-location, length-of-the-string-after-~) I code below ?
    I have to wait again for the scanner to be available next Tue and test this without copy-pasting the content in the Value box above, but are you envisioning any possible "prolog" errors in the PCo log this time?
    Cheers,
    Paul.

  • Extracting the tag value sent from PCo

    Hi,
    Can anybody explain how to extract the tag value hidden in a PCo notification, which is sent to a BLS transaction as an XML parameter. Appreciate it.
    Chanti.

    Guess that document only shows how to setup the communication between PCo and MII.
    Anyway I was able to extract the values once the notification is received into the BLS.
    Never mind.
    Chanti.

  • Synchronize MII transaction - only one running instance at a time

    Hello,
    I have a scenario where I use an MII transaction triggered by PCO, and it may be the case that the same PCO notification triggers this transaction twice within a very short time, i.e., the second transaction instance starts its execution before the first instance has finished. But I really need to make sure that those calls are done one after the other and that they do not overlap.
    What is the best way to achieve this? Which MII technologies can I use? I do not want to use message services and schedule a job that handels the requests one after the other - I need real time action and  in this case I would need to schedule the Job every second. Im really looking for a kind of semaphore/mutex solution to make sure that the MII transaction call can be fired by PCO and in case the previous transaction call is still running, the current one should wait until the previous one has finished.
    Thank you for your input and ideas!
    Best Regards,
    Matthias

    Hi Steve,
    1. The PCO notification will be triggered when a PLC counter increases (which is actually the trigger that another piece has been produced on one of our production lines) - this happens in average every 10 to 15 seconds, but due to some special setup it can be the case that 2 or 3 consecutive pieces come out at the end of the line immediately one after the other, followed by a larger pause.
    2. The expected duration of the MII transactoin will be approx. 2 to 3 seconds.
    3. The exact software versions we use are PCO 2.1.6.1 and MII 12.1.9.123.
    to be precise, the serialization of the transactiona does not need to be for all instances, but only for instances of the same production line, i.e., transactions of different lines may run at the same time, but for a single production line the transaction calls must not overlap.
    The reason is the following: We want to implement a "difference posting" of produced pieces: each PCO message holds the  PLC counter value, and in the MII transaction I want to refer to the counter of the previously produced piece. If the difference is one, everything was OK, one additional piece needs to be recorded in the system. If the difference is greater than one (for the sake of example, lets say 3) I will record 3 new pieces in the system, and if the difference is less than one (wrong order in message delivery, should normally not happen) I will simply ignore the message. This gives us the possibility to not lose data during a PCO outage: PCO is up until PLC counter value 10, is down from PLC counter value 11 to 15, and comes back at PLC counter value 16. When I process the message with counter value 16, I will see that the last processed piece was for counter value 10, therefore I need to create 6 pieces - the 5 I have "lost" plus the current one.
    To be able to safely refer to the previously produced piece, there must not be any parallel transaction executions, since then maybe two instances read the same "previous counter" and therefore mess up the collected data.
    I hope this gives you an idea what I want to achieve.
    Best Regards,
    Matthias

  • Adaptive tag for date value - output in milliseconds?

    I'm trying to add code to my presentation template, so when a page has multiple content items, I grab the most recent value of all 'last modified dates' for the content items on the page, so this would essentially display the page's last modified date. The approach I'm trying involves outputting the modified date for each content item into a format I can sort in a javascript function, then retrieve the most recent value to display at the bottom of the page's content. In this case, I figured the best manner to sort the items easily would be to display the date in milliseconds, then sort, and finally convert the most recent modified date into mmmm dd, yyyy hh:mm AM/PM format.
    I see there is a method to obtain this date in millseconds (since January 1, 1970) format in javascript, however, is there a way to do this using the adaptive tag <pcs:value expr="modified" format="____________">?
    If not, is there a better way to obtain dates for sorting in a javascript function, so can obtain the entire date, hours, and minutes? I did find one method that grabs the month, day, and year, but not the hours and minutes.
    Thanks!

    Hi Suman/Jeedesh,
    As per Pco notification, it will trigger whenever any of the tag value changes in Agent instance subscription items.
    For above issue, My suggestion
    1. Create DB table name TAGLIST with 200 tags as rows in columns (Tagname, TagValue)
    2. Based on notification trigger, create a transaction and update values w.r.t TagNames in above table
    3. Next time, when notification trigger with fresh value for any of the tag, cross check with existing TagName with Value and update in DB table.
    4. And in the mean time, send those Tag details vie mail trigger or as per requirement
    Instead of creating 200 notification, above is a just alternate way suggestion to achieve dynamic tag value change notification.
    Hope it might solve your problem
    Regards,
    Praveen Reddy

  • Connecting MII server with PCO for Notification

    Hi All,
    I am Trying to connect MII server with PCO for Notification.
    I had given,
    ServerName,Port ,Version,UserName and password, advanced settings also.Eventhough Iam not able to connect to MII server from PCO.So please let me know any other settings to be done to connect.

    Hi Parthee
    Hope you are following the same steps as mentioned in the document.
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/108a16e7-1448-2e10-caa3-9b18af7256b8
    Have you tested your connection?
    Regards
    Anshul
    Edited by: Anshul Sahu on Jun 24, 2011 9:34 AM

  • PCO Alias, Subscription Item, Notification Import/Export

    Hi experts,
    Is there any easy way to import alias to PCO? I know there is xml  import/export option.
    But in UDS there was comma delimited text file import option. Is there any option in PCO alike in UDS? We have 800 tags for notification and it will be very difficult and painful to import them manually.
    Thanks..

    Hi,
    Thank you for your quick help and answers. I've thought about this, i even tried. But i hoped there should be some standard option. But as i understood there isn't any option, except tag alias.
    I dont want to change this thread status to solved. I want they see this and at least  add such import properties to PCO for next versions. Because even XML import option is working very bad and difficult. e.g. if you have the same agent instances or destination channels etc., it is not overwriting well, it is giving error and so on. The xml file understandable but there are lots of data in it. We will need to code some programs for making such XML file...
    Anyway thank you again...

  • How to read the tag values sent by PCo to MII transaction

    Hi everybody,
    I have an Agent created inside PCo and its listening to a data server. I have also created a notification object which triggers my MII Transaction (after certain condition is getting fulfilled).
    Now, I want to pass certain values from PCo to MII using the notification object. For this I have tried 2 options:
    1. I defined one input parameter in transaction of type 'XML'. But this did not work. When I used 'Tracer' to check the received values, it showed empty.
    2. Since XML variable did not work, I tried with 'String' variable. It worked but the entire input data was in 'String' format.
    Actually I used XML_Saver to save the string and given filename as '.xml'. When I opened that xml file, it was looking like this:
    <<unable to write XML here>>
    Considering the above 2nd option, how can I extract the particular 'Tag' values from XML string. Since the string is not in the format of 'Rowset/Row/Row', I cannot specifically assign/map those tag values to any other variable inside MII transaction.
    ===========

    Hi, I was trying to post the xml string. It was not possible yesterday (because, SDN editor has converted xml part into some irregular string).
    Now, I am trying to post the string by removing the special characters. Please try to understand it.
    Now, my question is how to retrieve the CDATA value 5599999999 using xpath. Please help.
    NotificationMessage
    Body
    Values
    Expression1 type xsd string
    CDATA 5599999999
      /Expression1
      /Values
      /Body
      Faults /
      /NotificationMessage

  • PCO 2.2 - OPC and IP21

    Hi,
      We are looking at connecting to IP21 via PCO OPC DA connector.
      Can PCo only poll the IP21 OPC server for eventing or can one set up the IP21 OPC server to advise PCO on data changes for
      eventing purposes ?
    Also what is required on the server where PCo is installed to enable OPC connectivity, for browsing the IP21 we have established that you need the following dlls in the PCo system directory :
    cimsrvapi.dll
    CimWin32Util.dll
    infoplus21_api.dll
    ip21admin_client.dll
    ip21ezrpcw32.dll
    ip21winrpc32.dll
    libc21.dll
    PCo is running on Windows server 2008 R2 and the IP21 is not on the same box.
    thanks

    Hi ,
        I got it working to be able to get the notification working. Although one still cannot browse the IP21 tags, and all tags are still shown as a name space.
    a. I installed the Matricon IP21 OPC server on the same box as IP21 Historian.
    b. I connected to the IP21 server and configured new aliases in the Matricon IP21 OPC server to look at the IP21 tags
    c. I then configured PCo OPC DA agent to look at the Matricon IP21 OPC server and got the subscriptions to work, and PCo can browse the MAtricon IP21 OPC server tags that I configured , so the browsing seems to work via this OPC server
    d. Then I tried to fire up the OPC DA agent in PCo that I previously configured to look at the Aspentech IP21 OPC server, and the configuration now started to work (still can't browse the tags)
    e. I uninstalled the Matricon IP21 OPC server and the configuration in step d. still worked.
    So the conclusion is that the Matricon IP21 OPC server did some sort of a configuration that made the orginal configuration functional, this however now leaves me the question of what did this driver do to get things working.
    Now I sit with a new challenge I have PCo installed on a seperate server and in a different domain as the IP21 OPC server.
    What I have so far
    1. The Same local user on both the PCo box and the IP21 OPC server with Admin rights
    2. I can see the IP21 OPC server from the PCo box and access it
    But the issue is as soon as I fire up the Agent to run  it fails to start with the following error:
    ConnectivityAgentProxy|"The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.
    Below is the PCo Log file:
    Date Time| Machine| Thread ID| Process ID| Process Name| Event Type| Source| Message| Stack Trace
    2012/02/24 04:12:01 PM|.|8|7888|IP21_OPC_DA|Information|AgentBase|Start ignored.  Agent state = Faulted|""
    2012/02/24 04:12:01 PM|.|6|7888|IP21_OPC_DA|Information|Host|WCF service is started.|""
    2012/02/24 04:12:01 PM|.|6|7888|IP21_OPC_DA|Error|Host|failed to create ConnectivityAgentProxy|"The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly.   Server stack trace:     at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)    at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)    at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)    at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)    at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)   Exception rethrown at [0]:     at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)    at SAP.Manufacturing.Connectivity.IPCoAgentControl.Start()    at SAP.Manufacturing.Connectivity.ConnectivityAgentProxy.Start()    at SAP.Manufacturing.Connectivity.WcfHost.Start()"
    2012/02/24 04:12:01 PM|.|8|7888|IP21_OPC_DA|Error|ServiceFaultManager|Manufacturing Fault: REASON = The requested Performance Counter is not a custom counter, it has to be initialized as ReadOnly. ; SEVERITY = Fatal|""
    2012/02/24 04:12:01 PM|.|8|7888|IP21_OPC_DA|Verbose|AgentBase|beginning PublishSubscribe CommunicationMode initialization...|""
    2012/02/24 04:12:00 PM|.|8|7888|IP21_OPC_DA|Verbose|AgentBase|starting...|""
    2012/02/24 04:12:00 PM|.|6|7888|IP21_OPC_DA|Information|Host|implicitly calling start on the hosted IConnectivityAgent service contract|""
    2012/02/24 04:11:59 PM|.|6|7888|IP21_OPC_DA|Information|Host|using default NetTcpBinding endpoint for internal IConnectivityAgent proxy|""
    2012/02/24 04:11:59 PM|.|6|7888|IP21_OPC_DA|Verbose|Host|Service endpoints:|""
    2012/02/24 04:11:59 PM|.|6|7888|IP21_OPC_DA|Verbose|Host|SAP.Manufacturing.Connectivity.Agents.Opc.Da.OpcDaAgent is running with the following endpoints:|""
    2012/02/24 04:11:58 PM|.|6|7888|IP21_OPC_DA|Information|Host|WCF service is starting.|""
    2012/02/24 04:11:58 PM|.|1|7888|IP21_OPC_DA|Verbose|OpcDaAgent|Creating the OPC DA agent.|""
    2012/02/24 04:11:58 PM|.|1|7888|IP21_OPC_DA|Verbose|BrowserSessionManager|Created browse manager.|""
    2012/02/24 04:11:58 PM|.|1|7888|IP21_OPC_DA|Verbose|OpcDaAgent|Creating the OPC DA agent.|""
    2012/02/24 04:11:58 PM|.|1|7888|IP21_OPC_DA|Verbose|BrowserSessionManager|Created browse manager.|""
    2012/02/24 04:11:58 PM|.|1|7888|IP21_OPC_DA|Verbose|Host|Running [IP21_OPC_DA] as a windows service...|""

  • PCo 2.1

    Hi,
    We are looking at upgrading to PCo 2.1. Can somebody comment about its capabilities in detail? Its my understanding its going to have UDS capabilities as well besides the inherent listening capabilities. If you could share some documentation, that would be great too.
    Regards,
    Chanti.

    Hi Chanti,
    Here are few features of PCo 2.1,
    1) Agent Toolkit (VisualStudio .NET)
    2) Custom agent development
    3) Provides Execution Services (i.e. Query) in addition to the existing notification capabilities
    4) New query capability available with MII V12.2
    5) Also supports legacy query and command capability (UDC queries) for MII 11.5, 12.0, 12.1
    6) Remote PCo configuration from the MII system without logging into the computer hosting the PCo instance
    Also supports some new agents other than OPC DA and OPC A&E,
    1)OPC HDA Agent
    2) OPC UA Agent
    3) OLE-DB Agent
    4) OSISoft PI
    Hope this helps!!
    Regards,
    Adarsh

  • Error on Add Destination in Plant Connectivity Notification Management

    Hello Experts,
    I am creating a Notification in PCI > Notification Management.
    In Notification Details details screen, in the Destinations tab when i click on 'Add Destination' i get a poup with following message.
      Error while fetching Destinations
      Cannot read property '0' of null
    PCoConenctor Data server is created and is running.
    When i do the same in PCo, it works.
    Version:
    MII: 15.0 SP03
    PCo: 15.0 SP03
    Am i missing any configuration?
    Any help would be highly appreciated.
    Regards,
    Shridhar.

    Hi Sindhu,
    Thanks, I created a Simulation Destination and now i see values in 'Add Destination'.
    Now, upon saving, when we click on Activate or Publish button, i get the following message.
    ERROR
    Cannot Publish:Mandatory fields not entered
    Trigger type is 'Always'; Expression is default
    Nothing set in Output
    In Message delivery, values are default.
    Am i missing anything.
    Thanks in advance.
    Regards,
    Shridhar..

Maybe you are looking for

  • Average amounts in a separate frame

    I have a group report in which sum of two fields is calculated and the bottom. I have to caculcate the ratio of these two values and display the ratio of sum values as well. The report spans over the year. For every month i have the different ratio.

  • XTTS - problem in copying datafile into ASM

    I'm testing the migration of database from AIX to Linux using cross platform transportable tablespaces. DB version: source: 10.2.0.4 Destination: 10.2.0.5 OS version: source: AIX6.1 - AIX-Based Systems (64-bit) Destination: RedHat Linux - Linux x86 6

  • Can't eject USB drive

    Hi, This is driving me crazy. Every time I used a USB drive, I am told that it can't be ejected because a program is using it. Sometimes it says the finder is using it (it shouldn't be: if the finder is using it it is only listing it as a drive). Rel

  • Another user-modified table 'Activities' (OCLG) (ODBC-2039) [Message 131-18

    Hello, Iu2019m having problems re-assigning some activities. When i make a slight alteration to an existing activity I added my note and reassigned the activity to another user to raise collection but it is coming up with the red message when I click

  • Looking for the Round Card technical reference manual

    I'm currently evaluating a new application for FieldBus Round Card. We need certain specific info usually found on technical reference manuals. Thanks in advance for your help.