Esempio n. 1
0
        /// <summary>
        ///  Raised when a message is added.
        /// </summary>
        /// <param name="sender">Sender</param>
        /// <param name="e">The event argument.</param>
        private void OnLogMessageAdded(object sender, LogMessageAddedEventArgs e)
        {
            if (e.Message.Text.StartsWith("RSLuaScript"))
            {
                return;
            }

            if ((e.Message.Text.Contains("Update RSLuaScript"))
                )
            {
                if (DateTime.Compare(DateTime.UtcNow, lastUpdate.AddSeconds(1)) > 0)
                {
                    //Can't use foreach as collection is updated inside
                    for (int i = 0; i < myComponents.Count; ++i)
                    {
                        SmartComponent myComponent = myComponents[i];
                        //Test if component exists as no OnUnLoad event exists.
                        if ((myComponent.ContainingProject == null) ||
                            (myComponent.ContainingProject.GetObjectFromUniqueId(myComponent.UniqueId) == null) ||
                            (myComponent.ContainingProject.Name == ""))
                        {
                            Logger.AddMessage("RSLuaScript: Remove old Component " + myComponent.Name + " from cache. This component works only with named station.", LogMessageSeverity.Information);
                            myComponents.Remove(myComponent);
                            --i;
                            continue;
                        }

                        UpdateScriptIOSignals(myComponent);
                        Logger.AddMessage("RSLuaScript: Updating Component " + myComponent.Name, LogMessageSeverity.Information);
                    }
                    lastUpdate = DateTime.UtcNow;
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        ///  Raised when a message is added.
        /// </summary>
        /// <param name="sender">Sender</param>
        /// <param name="e">The event argument.</param>
        private void OnLogMessageAdded(object sender, LogMessageAddedEventArgs e)
        {
            if (e.Message.Text.StartsWith("RSMoveMecha"))
            {
                return;
            }

            RobotStudio.API.Internal.EventLogMessage eventLogMessage = e.Message as RobotStudio.API.Internal.EventLogMessage;
            if ((e.Message.Text.Contains("Update RSMoveMecha")) ||
                (e.Message.Text.StartsWith("Checked:") && e.Message.Text.EndsWith("No errors.")) ||
                (e.Message.Text.StartsWith("Vérifié :") && e.Message.Text.EndsWith("aucune erreur.")) ||
                (e.Message.Text.StartsWith("Geprüft:") && e.Message.Text.EndsWith("Keine Fehler.")) ||
                (e.Message.Text.StartsWith("Comprobado:") && e.Message.Text.EndsWith("Sin errores.")) ||
                (e.Message.Text.StartsWith("Verificato:") && e.Message.Text.EndsWith("Nessun errore.")) ||
                (e.Message.Text.StartsWith("次の項目を確認しました:") && e.Message.Text.EndsWith("エラーはありません。")) ||
                (e.Message.Text.StartsWith("已检查:") && e.Message.Text.EndsWith("无错误。")) ||
                ((eventLogMessage != null) && (eventLogMessage.Msg.Domain == 1) && (eventLogMessage.Msg.Number == 122))                    //Program stopped.
                //|| ((eventLogMessage != null) && (eventLogMessage.Msg.Domain == 1) && (eventLogMessage.Msg.Number == 123)) //Program stopped. Step
                || ((eventLogMessage != null) && (eventLogMessage.Msg.Domain == 1) && (eventLogMessage.Msg.Number == 124))                 //Program stopped. Start
                )
            {
                if (DateTime.Compare(DateTime.UtcNow, lastUpdate.AddSeconds(1)) > 0)
                {
                    //Can't use foreach as collection is updated inside
                    for (int i = 0; i < myComponents.Count; ++i)
                    {
                        SmartComponent myComponent = myComponents[i];
                        //Test if component exists as no OnUnLoad event exists.
                        if ((myComponent.ContainingProject == null) ||
                            (myComponent.ContainingProject.GetObjectFromUniqueId(myComponent.UniqueId) == null) ||
                            (myComponent.ContainingProject.Name == ""))
                        {
                            Logger.AddMessage("RSMoveMecha: Remove old Component " + myComponent.Name + " from cache.", LogMessageSeverity.Information);
                            myComponents.Remove(myComponent);
                            --i;
                            continue;
                        }

                        Logger.AddMessage("RSMoveMecha: Updating Component " + myComponent.Name, LogMessageSeverity.Information);
                        if (GetController(myComponent) != null)
                        {
                            myComponent.Properties["Status"].Value = "Updated" + System.DateTime.Now.ToString("yyyy-MM-dd_HH:mm:ss");
                        }
                    }
                    lastUpdate = DateTime.UtcNow;
                }
            }
        }