RobotStudio event

Are any of the following actions possible in a ScreenMaker project?

Hello,

I currently have an application that's made using the FlexPendant SDK and Visual Studio 2008. Because FlexPendant SDK won't be supported in a limited capacity, I'm looking into recreating my application with ScreenMaker. However, I find myself running into potential limitations rather quickly of which I'm not certain that they are actually limitations or it's just my unfamiliarity with the platform.

Some examples:
- RAPID VAR variables are inaccessable to me unlike PERS and CONST variables.
- I can't implement a delay (e.g. I pulse a signal and then want to wait a second before pulsing a different signal).
- I can't obtain a timestamp to display a clock or for logging purposes nor can I trigger the application every second to refresh (timer ticks).
- I can't inspect and reset the program pointer.
- I can't maximize (and restore) my screen to offer a full screen GUI option.

Perhaps I am simply not aware of how to do this yet because I'm new to ScreenMaker, but from what I have seen and read so far, examples like the ones mentioned above are not possible straight out of the gate with ScreenMaker. Because changing the robot software is not an option in my situation, I need to be able to reproduce any logic from my current FlexPendant SDK application in my ScreenMaker project.

Are there any options or solutions in ScreenMaker to address the examples I mentioned or am I correct in my assumption that ScreenMaker doesn't support this? To what degree would using the "Call .NET Method" option (when adding actions) help here?

Cheers,
Rinke

Answers

  • The Call .NET Method would certainly address some of your issues. For example you can use the following C# code (using the FlexPendant SDK) and compile it to a DLL:
    <span>using ABB.Robotics;
    using ABB.Robotics.Controllers;
    using ABB.Robotics.Controllers.RapidDomain;
    
    namespace UtilsClassLibrary
    {
        public class Utils
        {
            public static void PPtoMain()
            {
                Controller c = new Controller();
                Rapid rapid = c.Rapid;
    
    
                rapid.ResetProgramPointer();
            }
        }
    }
    
    </span>
    Place the DLL in your HOME: folder. Now you can use the PPtoMain method in your ScreenMaker project.
  • Would using a small DLL with .NET code that uses the FlexPendant SDK be supported, though?

    The main reason I am porting my application to ScreenMaker is the fact that ABB doesn't provide full support for FlexPendant SDK anymore, it would defeat the purpose to end up in the same position by using the FlexPendant SDK to extend ScreenMaker functionality.