Client freezes when Launched!

Hello everyone,

It has been a while that I am working on a project and I am working on it every day. Today I suddenly realized that when I launch my project I cannot do anything! The client freezes and hangs when I launch the project. Even when I do some changes to the designer. I do see this on launcher but I cannot click on it. I am using version 8.1.6. I restarted the gateway, my PC but had no chance to make this work!

image

I am stuck now. Any reason why this is happening?

I had a connection with a PLC over NJ drive device connection yesterday. I am not connected to the PLC right now, so I decided to delete the connection and all the tags. The problem is gone now. I do not know if it was because of the PLC connection or not but as soon as I deleted that connection, the problem got fixed.

There’s a good chance you had some kind of blocking action happening on the UI thread, which will freeze the UI until it completes.

If it happens again and you can’t figure out what that might be support can usually help you get a client-side thread dump to diagnose it.

1 Like

Do you have a script that executes at launch or something at your initial screen? It used to freeze my notebook a while ago when i tried something too heavy

1 Like

I have one at the startup. It is just one line of code that does not even work.
I am trying to open a specific window on a startup.
///////////////////////////////////////////////
This might be off topic!!!

`system.nav.swapTo('Top')`

It seems that heavy scripting is not the issue then, so it might be more complex than i can guess.
But, about what you’re trying to accomplish, if it’s not working and you want to open this window at startup, you can right click it on the designer and set it to open at startup, you can do this with multiple windows and manage their placement on your screen using the docking configuration

1 Like

Any client tag change scripts that might get triggered immediately?

1 Like

OFF TOPIC!!!

So I have a tag change script on my client but that one is for an OPT touch button to switch the screens (Top, Buttom):

I am thinking this might because of the PLC, because I never had that issue before and as soon as I added the PLC, imported tags I had this issue. Although it was working fine when I was online with PLC but when I was offline I had that error.

OFF TOPIC!!!

Also, regarding my questions:

I have two screens:
-Top
-Bottom

I am toggling between those screens using and OPT touch bottom. I want the top screen to be shown first when operator launch the project. He or she can switch the screen to bottom if they want using OPT touch. I have OPT touch configured very well. However, I am not able to launch the TOP at the beginning. Instead bottom will be opened at the beginning.

OFF TOPIC!!!

I made this to work. So here’s what I did:

  1. I deleted the “open on startup” checkbox on both my windows
  2. Wrote a script in the client startup:
    image

So basically instead of system.nav.swapTo I wrote:
system.nav.openWindow

1 Like

@bkarabinchak.psi made a good point and since you’re now connected to a PLC there’s probably a constant stream of tag value changes and with that in mind there’s a few things i try when i have a similar issue and don’t know exactly which script(s) is the cause:

  • Look for components with scripting and try adding a print statement each with a different message right after it does what you want it to do;

  • Put your designer on the preview mode and open the console to see which, if any, print messages are coming through, if there’s a lot it might freeze your designer so be careful, but wacthing the messages that show up will let you know if there’s something constantly firing and freezing your system;

  • You can also try and open the console of the client with CTRL + Shift + F7(print statements will be sent here if the script executes on the client).

Other than my own scripts i haven’t encountered any issues that might cause freezing like that.

1 Like

Those are really great points! I will try to use them later on in my projects. Always a good idea to use print statement, console, or log to understand what is even going on! :slight_smile:

Thank you very much for your help, Leonardo.

From the other topic, you showed code on a Vision propertyChange event that wasn’t checking the property name before your logic. This is mandatory. Many components are very “noisy”, and an assignment to a component property within an unchecked change script will yield infinite loops. And a stuck client or designer.

Always check the property name in Vision propertyChange events.

2 Likes

I totally agree! That’s a very good point. As always, thank you very much, Phil, for sharing your knowledge.