Beispiel #1
0
 /// <summary>
 /// IOPCconnect.OnNotification interface implementation see <see cref="IOPCconnect"/> for description.
 /// </summary>
 /// <param name="sub"></param>
 /// <param name="items"></param>
 //public void OnNotification(MonitoredItem item, MonitoredItemNotificationEventArgs e){
 public void OnNotification(object sub, MonItemNotificationArgs items)
 {
     foreach (var itm in items.values)
     {
         updateBuffer(items.name, itm.Value, itm.SourceTimestamp, itm.StatusCode.Code);
     }
 }
Beispiel #2
0
 /// <summary>
 /// IOPCconnect.OnNotification interface implementation see <see cref="IOPCconnect"/> for description.
 /// </summary>
 /// <param name="item"></param>
 /// <param name="e"></param>
 //public void OnNotification(MonitoredItem item, MonitoredItemNotificationEventArgs e){
 public void OnNotification(object sub, MonItemNotificationArgs items)
 {
     foreach (var itm in items.values)
     {
         updateBuffer(items.name, itm.Value, itm.SourceTimestamp);
         logger.Debug("Updating value for {0} to {1} at {2}", items.name, itm.Value, itm.SourceTimestamp);
     }
 }
        public void OnNotification(object emitter, MonItemNotificationArgs items)
        {
            if (!variablesMap.ContainsKey(items.name))
            {
                return;
            }

            foreach (var itm in items.values)
            {
                if (itm.Value.GetType() == typeof(String))
                {
                    continue;
                }
                double value = extractMetricValue(itm);
                setMetric(items.name, value);
            }
        }
        public void OnNotification(object sub, MonItemNotificationArgs items)
        {
            foreach (var itm in items.values)
            {
                Metrics.Collector.Measure(items.name, itm.Value);

                /* --- This does not work ---- FIXME!
                 *
                 * Metrics.Collector.Write(
                 *  items.name,
                 *  new Dictionary<string, object> { { "value", itm.Value } },
                 *  null,
                 *  DateTime.Now
                 * );
                 */

                logger.Debug("Write to influx value for {0} to {1} at {2}", items.name, itm.Value, itm.SourceTimestamp);
            }
        }
Beispiel #5
0
        /// <summary>
        /// Event handler that fires any time there is a change in a OPC monitored variable
        /// </summary>
        /// <param name="emitter"></param>
        /// <param name="items"></param>
        public void OnNotification(object emitter, MonItemNotificationArgs items)
        {
            RecordSchema schema = schemas.GetSchema(items.dataType);

            if (schema != null)
            {
                foreach (var itm in items.values)
                {
                    if (DataValue.IsBad(itm))
                    {
                        continue;
                    }
                    var m = buildKafkaMessage(itm, schema, items.dataType, items.name);
                    if (m == null)
                    {
                        continue;
                    }
                    // not waiting here
                    var status = sendMessage(_conf.opcSystemName, m);
                    log.Debug("Sending message {0}:{1}  t:{2}", m.Key, m.Value, m.Timestamp.ToString());
                }
            }
        }
Beispiel #6
0
 /// <summary>
 /// Event handler that fires any time there is a change in a OPC monitored variable
 /// </summary>
 /// <param name="emitter"></param>
 /// <param name="items"></param>
 public void OnNotification(object emitter, MonItemNotificationArgs items)
 {
     producer.OnNotification(emitter, items);
 }
 /// <summary>
 /// Not needed here, does nothing
 /// </summary>
 /// <param name="item"></param>
 /// <param name="e"></param>
 public void OnNotification(object obj, MonItemNotificationArgs args)
 {
 }