RobotStudio event

FP Application converted to PC applicatio

Hello all,

still I have problems converting a RAB5.07 FP project to RAB5.08. I managed to compile the code without any errors but:

as I try to start the app in VIRC an error occurs saying:

ABB.Robotics.Controller.Licenses.PCSdk no valid license could be retrieved.

How can this happen? It was and should still be a FP-application.

Also, when I compiled the 5.07 code VS came up with an error saying the following subs/functions must be implemented for IRapidData (in my structure for user definded types):

Error 1 Structure "ZVG_DATA" must implement "Function ToStructure() As DataNode" for ABB.Robotics.Controllers.RapidDomain.IRapidData-interface.

the same message for "Sub Fill(root as DataNode)" and "Fill(value as string)"

I could not find any information about those two routines or the DataNode-type  the reference documentation.

 

Thanks in advance

Thanks for your help

DiMo

Comments

  • Hello,

    I think that you by mistake have referenced the PC SDK ABB.Robotics.dll in your application!

    Open the .csproj file in a text editor and check that the reference path is correct:

    <HintPath>....Program FilesABB Industrial ITRobotics ITRobot Application BuilderFlexPendant SDK 5.08inABB.Robotics.dll</HintPath>

     

     

    Best regards,

    Ingela Brorsson
    Software Engineer
    ABB Robotics, Sweden
  • Hello,

    thanks for your help. Here is what is in the .vbproj-file:

    <ItemGroup>
        <Reference Include="ABB.Robotics, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
          <SpecificVersion>False</SpecificVersion>
          <HintPath>......ProgrammeABB Industrial ITRobotics ITRobot Application BuilderFlexPendant SDK 5.08inABB.Robotics.dll</HintPath>
        </Reference>
        <Reference Include="ABB.Robotics.Controllers, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
          <SpecificVersion>False</SpecificVersion>
          <HintPath>......ProgrammeABB Industrial ITRobotics ITRobot Application BuilderFlexPendant SDK 5.08inABB.Robotics.Controllers.dll</HintPath>
        </Reference>
        <Reference Include="ABB.Robotics.GTPU, Version=5.8.1004.0, Culture=neutral, processorArchitecture=MSIL">
          <SpecificVersion>False</SpecificVersion>
          <HintPath>........ProgrammeABB Industrial ITRobotics ITRobot Application BuilderFlexPendant SDK 5.08inABB.Robotics.GTPU.dll</HintPath>
        </Reference>
        <Reference Include="ABB.Robotics.GTPU.Windows.Forms, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
          <SpecificVersion>False</SpecificVersion>
          <HintPath>........ProgrammeABB Industrial ITRobotics ITRobot Application BuilderFlexPendant SDK 5.08inABB.Robotics.GTPU.Windows.Forms.dll</HintPath&gt ;
        </Reference>
        <Reference Include="ABB.Robotics.Tps.Taf, Version=5.8.1004.0, Culture=neutral, processorArchitecture=MSIL">
          <SpecificVersion>False</SpecificVersion>
          <HintPath>........ProgrammeABB Industrial ITRobotics ITRobot Application BuilderFlexPendant SDK 5.08inABB.Robotics.Tps.Taf.dll</HintPath>
        </Reference>
        <Reference Include="ABB.Robotics.Tps.Windows.Forms, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
          <SpecificVersion>False</SpecificVersion>
          <HintPath>........ProgrammeABB Industrial ITRobotics ITRobot Application BuilderFlexPendant SDK 5.08inABB.Robotics.Tps.Windows.Forms.dll</HintPath>
        </Reference>
        <Reference Include="System">
          <Name>System</Name>
          <Private>False</Private>
        </Reference>
        <Reference Include="System.Data">
          <Name>System.Data</Name>
        </Reference>
        <Reference Include="System.Drawing">
          <Name>System.Drawing</Name>
        </Reference>
        <Reference Include="System.Windows.Forms">
          <Name>System.Windows.Forms</Name>
        </Reference>
      </ItemGroup>

     

    Still its the same problem. But I have maybe another hint for you. I have one form in my project that does not use any of the .controller.dll stuff. I can open this form without problems. All other forms that use the controller and/or rapid-domain caue the problems. When VisualStudio tries to open the designer-view I getz the error of missing PCSdk license as well as on the VIRC on runtime.

     

    Thanks for your help

    DiMo
  • Hello again,

    Both PC and FP SDKs have ABB.Robotics.dll and ABB.Robotics.Controllers.dll. The IRapidData ToStructure() method that you refer to (Error 1 Structure "ZVG_DATA" ...) exists in the PC SDK, but not in the FP SDK.

    Therefore, it is obvious that your application somehow references a PC SDK dll. That should also be why you get complaints about the missing PC SDK licence (however for 5.08 there is no separate PC SDK license, like for 5.07...).

    The PC SDK dlls are installed in the GAC(Global Assembly Cache). The problem could be that the referenced assemblies for some reason cannot be found at the specified path, which may result in the PC SDK assemblies in the GAC being used instead.

    The .vbproj file looks a bit strange. Version=2.0.0.0 refers to 5.07 assemblies, but they point at the 5.08 directory... You ought to have Version=5.8.1004.0 for all the references.

    In Visual Studio Solution Explorer, please check the Properties of the ABB.Robotics.dll and the ABB.Robotics.Controller.dll references.

    Another suggestion is that you delete the bin directory of your project, delete all references and add them again, making sure you point at the FlexPendant SDK 5.08in directory for all references. For the design support, make sure you point to the same references when adding them to the toolbox.

    Yet another suggestion is to start the Virtual FlexPendant with your application loaded, attach the Visual studio debugger to the Virtual FlexPendant process and then go to Debug->Windows->Modules and check where all the loaded assemblies come from.

    I hope that you will find the cause and the solution to the problems you have come up against.

     

     

     

    Best regards,

    Ingela Brorsson
    Software Engineer
    ABB Robotics, Sweden
  • Hello Ingela,

    thanks again. Found two references to PCSdk.

    But I'm afraid I have another problem now. Since I referenced the RAB5.08 dll VisualStudio comes up with an errormessage saying that a reference to "Dcl.Rapid, Version=5.8.1004.0, Culture=neutral, PublicKeyToken=null for type "ABB.Robotics.Dcl.Rapid.Rapid" is needed.

    I read in the forum that someone had the same problem before and he/she referenced a dll in the 5.08 robotware. Is this the recommended solution for my problem?

     

    Thanks for your help

    DiMo
  • Hello again,

    fogot to tell you that I deleted the controls in the toolbox and added the RAB5.08 controls again. But still when I open the designview in VS an error occurs saying that a license for PCSdk is missing.

    Thanks for your help

    DiMo
  • Hello Ingela,

    checked the .vbproj-file again. The reference of the visual controls were set to the FP-5.08 directory but the version was still 2.0.0.0 so I set them manualy to 5.8.1004.0 and now its working.

    My only problem is the reference to "Dcl.Rapid, Version=5.8.1004.0, Culture=neutral, PublicKeyToken=null for type "ABB.Robotics.Dcl.Rapid.Rapid" now.

    Thanks for your help

    DiMo
  • Hi

    Unlucky you, the requirement for Dcl.Rapid has to do with a Microsoft bug related to Visual Basic. (same as GigiM, March 12, experienced) We thought we had figured out a workaround for it for the 5.08 release, but obviously not. Can you find out which RapidDomain method it is that causes the error?

    For the Visual Design support Visual Studio needs to resolve a reference to ABB.Robotics.dll, which all GUI controls added to the toolbox reference. It seems that Visual Studio cannot find the ABB.Robotics reference at the same location as the imported GUI-dlls(ABB.Robotics.DataBinding.dll etc.), but instead finds the equivalent PC SDK dll in the GAC. We, SEROP, haven't heard anyone experiencing this before and are not sure of the solution to this problem.

    If you open another instance of Visual studio you could attach to the Visual studio process and watch Windows> Modules to find out what dlls VS is trying to load when you open the Designer.

    I understand your frustration, there is a saying "dll hell" image, isn't there...

     

    Best regards,

    Ingela Brorsson
    Software Engineer
    ABB Robotics, Sweden
  • Oh oh poor me!

    Here is the part of the code that cause the problems:


    Dim
    rdt As RapidDataType = Me.aRapid.GetRapidDataType("T_PalTrapo", "DATA", "tZVG_DATA")

     

    Thanks anyway

    Thanks for your help

    DiMo
  • Hi

    If you look at the Properties of your references now, is "Specific Version" set to true? That explains why VS couldn't find them and you needed to change them manually to 5.8.1004 for the Designer to work. Be aware that Specific version = true means that no other assembly but the specified one is accepted. (Usually you want to set this property to FALSE, unless you know exactly what you do...) (I missed your latest message when I last wrote to you). Anyway, we need to investigate why GetRapidDataType() falsely requires a reference to Dcl.Rapid. Until then, I have no other suggestion but to proceed as GigiM did.

     

    Best regards,

    Ingela Brorsson
    Software Engineer
    ABB Robotics, Sweden
  • No "specific Version" is set to false for all references.

    OK, I'll try GigiM's workaround.

    Thanks for your help

    DiMo
  • Hello again!

    I pointed the references to the Robotware directory like GigiM described. No VS shows an errormessage "LC.exe" terminated with code -1.

    What's that now?

    Thanks for your help

    DiMo