Best Of
Re: Enabling and Using RWS on a Real Controller
IO network will not work because it's isolated.
Public/WAN requieres the option "3119-1 Robotstudio connect"
Public/WAN requieres the option "3119-1 Robotstudio connect"
Re: Requirements to simulate a Smart Component?
i have a similar Problem, but only with versions bigger than 2023.2
i think i know the reason - the simulation runs only for one zycletime.
my workaround is: but a roboter and a controler to the system and then you can set the cycle mode to continous and everything works.
i dont know if this is a bug or it si wanted because the main goal is robotersimulation
i think i know the reason - the simulation runs only for one zycletime.
my workaround is: but a roboter and a controler to the system and then you can set the cycle mode to continous and everything works.
i dont know if this is a bug or it si wanted because the main goal is robotersimulation
How to Setup EGM Client on Virtual Controller for CRB15000 GoFa
Hi,
I would like to set up an EGM client on a virtual controller for CRB15000 GoFa. The EGM client should communicate with an EGM server running on another laptop.
My Windows laptop, on which the virtual controller is running, is connected to a Linux laptop via an Ethernet cable. On the Windows side, the Ethernet adapter has the IP 192.168.125.1. On the Linux side, the Ethernet adapter has the IP 192.168.125.100.
I opened a vrtual controller with RobotStudio 2024 using the rspag file from this GitHub repository:
https://github.com/rparak/Unity3D_ABB_CRB_15000_GoFa_EGM/tree/main/ABB_RS/EGM/With_EE
ABB_GoFA_Unity3D_Ctrl.rspag
The opened virtual controller contains the RAPID code and the configurations for running an EGM client.
Under Controller > Configuration > Communication > UDP Unicast Device, the following settings where preconfigured:
Name: ROB_1 Type:
UDPUC Remote Address: 127.0.0.1
Remote Port Number: 6511
Local Port Number: 0
Name: UCdevice
Type: UDPUC
Remote Address: 127.0.0.1
Remote Port Number: 6510
Local Port Number: 6510
When I click on RAPID > Start, the client starts and I get the message “No data from UdpUc device”, which is fine as I haven't started a server yet. So the EGM client seems to work fine on the virtual controller side when using localhost as a remote address.
********* Now here is the issue *********
The EGM Client does not start anymore when I change the remote address to this:
Name: ROB_1
Type: UDPUC
Remote Address: 192.168.125.100
Remote Port Number: 6511
Local Port Number: 0
After restarting the controller and running the code, I allways get the following error:
""""""
41820: Invalid EGM identity Description Task: T_ROB1. The EGM identity egm_id is not valid. Program ref: /Module1/EGM_CARTESIAN_CONTROL/EGMActPose/72. Consequences The program execution is stopped immediately. Causes The EGM identity egm_id had not been initialized by means of the RAPID instruction EGMGetId. Actions Initialize the EGM identity egm_id using the RAPID instruction EGMGetId.
"""""
Can anyone help with this?
That would be fantastic.
I would like to set up an EGM client on a virtual controller for CRB15000 GoFa. The EGM client should communicate with an EGM server running on another laptop.
My Windows laptop, on which the virtual controller is running, is connected to a Linux laptop via an Ethernet cable. On the Windows side, the Ethernet adapter has the IP 192.168.125.1. On the Linux side, the Ethernet adapter has the IP 192.168.125.100.
I opened a vrtual controller with RobotStudio 2024 using the rspag file from this GitHub repository:
https://github.com/rparak/Unity3D_ABB_CRB_15000_GoFa_EGM/tree/main/ABB_RS/EGM/With_EE
ABB_GoFA_Unity3D_Ctrl.rspag
The opened virtual controller contains the RAPID code and the configurations for running an EGM client.
Under Controller > Configuration > Communication > UDP Unicast Device, the following settings where preconfigured:
Name: ROB_1 Type:
UDPUC Remote Address: 127.0.0.1
Remote Port Number: 6511
Local Port Number: 0
Name: UCdevice
Type: UDPUC
Remote Address: 127.0.0.1
Remote Port Number: 6510
Local Port Number: 6510
When I click on RAPID > Start, the client starts and I get the message “No data from UdpUc device”, which is fine as I haven't started a server yet. So the EGM client seems to work fine on the virtual controller side when using localhost as a remote address.
********* Now here is the issue *********
The EGM Client does not start anymore when I change the remote address to this:
Name: ROB_1
Type: UDPUC
Remote Address: 192.168.125.100
Remote Port Number: 6511
Local Port Number: 0
After restarting the controller and running the code, I allways get the following error:
""""""
41820: Invalid EGM identity Description Task: T_ROB1. The EGM identity egm_id is not valid. Program ref: /Module1/EGM_CARTESIAN_CONTROL/EGMActPose/72. Consequences The program execution is stopped immediately. Causes The EGM identity egm_id had not been initialized by means of the RAPID instruction EGMGetId. Actions Initialize the EGM identity egm_id using the RAPID instruction EGMGetId.
"""""
The code already uses “EGMGetId egm_id;” to initialize the EGM identity.
I have already whitelisted the remote address by adding <host ip=“192.168.125.100”/> in the vcconf.xml file.
Under Communication > Firewall Manager I have activated all possible network interfaces.
Can anyone help with this?
That would be fantastic.
wals
1
Re: Using RobotWebServices to access a remote Virtual Controller
Hi,
I can get this to work for RW6 but this doesn't work for RW7. I'm getting access denied with https and the VC has error booting up with http.
Help please
I can get this to work for RW6 but this doesn't work for RW7. I'm getting access denied with https and the VC has error booting up with http.
Help please
cltw666
1
Re: Mismatch between backup and the current system when restoring backup
After many hours of looking for a solution, this is what i learned:
- "7 IPS configuration files could not be loaded into the PIB" when booting from new SD Card:
I must have used a wrong configuration file when creating the boot medium. In RobotStudio, the IPS Configuration of my previous attempts included options like a bell atomizer. Also, in the "HOME/ipsdata" directory, there were more nodes listed than usual. Can't tell where the configuration file came from, but I was able to replace it with one that finally worked. That means I successfully created a working SD Card for our Robot.
- Notification "There is a mismatch between the backup and the current system":
The other thing i learned was that i don't need to worry about the "mismatch" message when restoring a backup on a newly created disk. I compared backups from the same robot but different SD Cards. The only difference were in the "system.guid" and "controller info". The configuration was exactly the same. So I simply created a backup from the new disk which won't be recognized as being a mismatch in the future.
Maybe this helps anyone having similar issues.
Thanks again for your support
Re: Is there only the AppMaker tool to develop new OmniCore interfaces?
UI on Omnicore is simply webpage in MS Edge browser. You can write interface as you like using HTML and Javascript. For communication with controller you have to use OmnicoreAppSDK: https://developercenter.robotstudio.com/omnicore-sdk
Fritz
Fritz
1
Re: Wait for condition in a subroutine
This is not what you asked, but this is how I have solved it previously.
As long as the condition is false your "DO OTHER STUFF" will execute.
When condition is true program will continue.
You can use any condition with this function.
PROC MyProc() !Do pre-job WaitUntil AwaitCondition(diSensor1=1); WaitUntil AwaitCondition(boolMotorRunning=TRUE); !Do post-job ENDPROC FUNC bool AwaitCondition(bool Cond) !Condition is true, return true and continue program. IF Cond = TRUE RETURN TRUE; !Condition is false, execute logic while waiting ! ! - DO OTHER STUFF - ! ! RETURN FALSE; ENDFUNCYou can then handle:
\<span>num MaxTime\INOUT bool TimeFlag</span>in the regular WaitUntil instruction.
As long as the condition is false your "DO OTHER STUFF" will execute.
When condition is true program will continue.
You can use any condition with this function.
Re: Synchronize button in same postion on all tabs on the ribbon
You can add your own Quick-Access buttons.
Press here to open settings:
Move Synchronize to the left panel from the rapid tab.
Access the feature here from any tab/view:
Press here to open settings:
Move Synchronize to the left panel from the rapid tab.
Access the feature here from any tab/view:
Synchronize button in same postion on all tabs on the ribbon
Is it an idea to place the synchronize button always on the same location, no matter what tab you are on the ribbon? For example always in the right corner? Or something else more consistent?
The problem is that the sync button on the Home-tab is on the middle and on the RAPID-tab it's on the left and on the other tabs it's missing. I'm always looking for the button...
The problem is that the sync button on the Home-tab is on the middle and on the RAPID-tab it's on the left and on the other tabs it's missing. I'm always looking for the button...
Re: First cycle flag in Rapid
Try an event routine for Power On to run a one instruction routine that sets a PERS boolean, e.g. bFirstCycleOnly, variable TRUE.
PROC rPowerON
!
bFirstCycleOnly: =TRUE;
!
ENDPROC
Be sure to change state of the PERS to FALSE in your production code.
As an idea in production code
PROC rFirstCycle()
!
IF bFirstCycleOnly THEN
Stuff
bFirstCycleOnly: =FALSE ;
ELSE
Return;
ENDIF
!
ENDPROC
PROC rPowerON
!
bFirstCycleOnly: =TRUE;
!
ENDPROC
Be sure to change state of the PERS to FALSE in your production code.
As an idea in production code
PROC rFirstCycle()
!
IF bFirstCycleOnly THEN
Stuff
bFirstCycleOnly: =FALSE ;
ELSE
Return;
ENDIF
!
ENDPROC
SomeTekk
1