How to start a program via PC
I wanna control the robot via PC, but first problem is that I have to use FP to start the movement program, who can help me out of this problem, or discuss the problem with me on the forum. Thanks a lot!
PS:I guess I/O is useful, but I couldn't find the reference signal.
Comments
-
In an application, I did a PC-Based interface written in VB, connected to a robot via serial cable. A parallel semi-static task controlled the serial communication. Cross-connecting some virtual outputs to some virtual input and defining them as MotOn and Start signals, you can start your movement task 0 from the other task.
If you are intersted, I can give you more details.
Best Regards
Claudio
0 -
I appreciate so much, that would help me a lot.could you send details to my Email? My Email: bluegaoming@yahoo.com.cn
I'm looking forward to your leteer.
Best Regards!
gaoming
0 -
Hi Claudio
I also have much interested in your application. I'd like to have your details.0 -
Hi Claudio
Could you please send me your solution. Thank you.
Best regards
Marcel
0 -
Hi Claudio
I am interested in your application.Could you please give me your solution.
My Email:whm@mail.ustc.edu.cn
Thank you
0 -
You can start program execution from the Task Window in Robot Studio Online, connected via LAN or the service port.
Another possibility is to write a RAB application for your PC that starts the program.
The ABB WebWare product is used to control and monitor production, but it might be off the mark depending on what you have in mind.
Magnus Larsson
ABB Robotics development engineer0 -
Hi Claudio
I am interested in your application.Could you please send me your solution?
Regards
0 -
What's wrong with using the <controller name>.Rapid.Start() method?Jake0
-
Hi everybody
Here what I know about starting an ABB robot.
Basically, the robot is started with system I/O.
Following details are relative to a C4G+ controller. If you're using an
IRC5 you will probably need to modify the code a little bit.
First, you'll need to modify your EIO.CFG. You need to define a
simulated board:
#
EIO_UNIT:
-Name "System" -Type "eip000" -Bus "SIM"
-Digin 32 -Digout 32 -PollRate 500
Next, you need some signals:
EIO_USER_SIGNAL = EIO_SIGNAL:
-Name "DOSYS_MOTORON" -Type
"DO" -Unit "System" -Phsig 1
-Name "DOSYS_MOTONST" -Type "DO" -Unit "System" -Phsig 2
-Name "DOSYS_MOTOROFF" -Type "DO" -Unit "System" -Phsig 3
-Name "DOSYS_MOTOFFST" -Type "DO" -Unit "System" -Phsig 4
-Name "DOSYS_CYCLEON" -Type "DO" -Unit "System" -Phsig 5
-Name "DOSYS_AUTOON" -Type "DO" -Unit "System" -Phsig 6
-Name "DOSYS_RUNCHOK" -Type "DO" -Unit "System" -Phsig 7
-Name "DOSYS_ERROR" -Type "DO" -Unit "System" -Phsig 8
-Name "DOSYS_STOPEM" -Type "DO" -Unit "System" -Phsig 9
-Name "DOSM_SELFSTART" -Type "DO" -Unit "System" -Phsig 10
-Name "DOSM_SELFSTMAIN" -Type "DO" -Unit "System" -Phsig 11
-Name "DOSM_SELFSTOP" -Type "DO" -Unit "System" -Phsig 12
-Name "DOSM_SELFMOTON" -Type "DO" -Unit "System" -Phsig 13
-Name "DOSM_SELFMOTOFF" -Type "DO" -Unit "System" -Phsig 14
-Name "DOSM_SELFSTCYC" -Type "DO" -Unit "System" -Phsig 15
-Name "DOSM_SELFSTINST" -Type "DO" -Unit "System" -Phsig 16
-Name "DOSM_SELFRSTERR" -Type "DO" -Unit "System" -Phsig 17
-Name "DISYS_MOTORON" -Type "DI" -Unit "System" -Phsig 1
-Name "DISYS_MOTONSTART" -Type "DI" -Unit "System" -Phsig 2
-Name "DISYS_MOTOROFF" -Type "DI" -Unit "System" -Phsig 3
-Name "DISYS_START" -Type "DI" -Unit "System" -Phsig 4
-Name "DISYS_STARTMAIN" -Type "DI" -Unit "System" -Phsig 5
-Name "DISYS_STOP" -Type "DI" -Unit "System" -Phsig 6
-Name "DISYS_QUICKSTOP" -Type "DI" -Unit "System" -Phsig 7
-Name "DISYS_STOPINSTR" -Type "DI" -Unit "System" -Phsig 8
-Name "DISYS_STOPCYCLE" -Type "DI" -Unit "System" -Phsig 9
-Name "DISYS_SYSRESET" -Type "DI" -Unit "System" -Phsig 10
-Name "DISYS_INTERRUPT" -Type "DI" -Unit "System" -Phsig 11
-Name "DISYS_RESETERROR" -Type "DI" -Unit "System"
-Phsig 12
-Name "DISYS_RESETESTOP" -Type "DI" -Unit "System"
-Phsig 13
Then, define DOSYS and DISYS signals as system signals
#
SYSSIG_IN:
-Signal "DISYS_MOTORON" -Action "MotorOn"
-Signal "DISYS_MOTONSTART" -Action "MotOnStart"
-Signal "DISYS_MOTOROFF" -Action "MotorOff"
-Signal "DISYS_START" -Action "Start"
-Signal "DISYS_STARTMAIN" -Action "StartMain"
-Signal "DISYS_STOP" -Action "Stop"
-Signal "DISYS_QUICKSTOP" -Action "QuickStop"
-Signal "DISYS_STOPINSTR" -Action "StopInstr"
-Signal "DISYS_STOPCYCLE" -Action "StopCycle"
-Signal "DISYS_SYSRESET" -Action "SysReset"
-Signal "DISYS_INTERRUPT" -Action "Interrupt"
-Signal "DISYS_RESETERROR" -Action "ResetError"
-Signal "DISYS_RESETESTOP" -Action "ResetEstop"
#
SYSSIG_OUT:
-Status "MotorOn" -Signal "DOSYS_MOTORON"
-Status "MotOnState" -Signal "DOSYS_MOTONST"
-Status "MotorOff" -Signal "DOSYS_MOTOROFF"
-Status "MotOffState" -Signal "DOSYS_MOTOFFST"
-Status "CycleOn" -Signal "DOSYS_CYCLEON"
-Status "AutoOn" -Signal "DOSYS_AUTOON"
-Status "RunchOk" -Signal "DOSYS_RUNCHOK"
-Status "Error" -Signal "DOSYS_ERROR"
-Status "EmStop" -Signal "DOSYS_STOPEM"
Even if you don't need to start remotely your robot, SYS signals are
useful to determine the state of your robot in the program, especially
in parallel tasks.
Now, cross simulated DOSM outputs to DISYS inputs to be able to force
your robot to start/stop, reset emergency, etc..
#
EIO_CROSS:
-Lact "DOSM_SELFSTMAIN" -Lres
"DISYS_STARTMAIN"
-Lact "DOSM_SELFSTART" -Lres
"DISYS_MOTONSTART"
-Lact "DOSM_SELFMOTON" -Lres
"DISYS_MOTORON"
-Lact "DOSM_SELFMOTOFF" -Lres
"DISYS_MOTOROFF"
-Lact "DOSM_SELFSTOP" -Lres
"DISYS_STOP"
-Lact "DOSM_SELFSTCYC" -Lres
"DISYS_STOPCYCLE"
-Lact "DOSM_SELFSTINST" -Lres
"DISYS_STOPINSTR"
-Lact "DOSM_SELFRSTERR" -Lres
"DISYS_RESETERROR"
Now your robot is able to control itself. Via a semistatic parallel
task, you can start the execution of the motion task, stop it, turn
motor on or off, reset errors.
To start the robot from your PC, you need some kind of communication.
Attached to this message you can find a solution using a serial
channel, but probably you may have some difficulty in understanding
everything. The VB code is written in Microsoft Visual Basic 6.0. The
code is running for real in a factory in U.S.
Another solution is to write a program that check periodically (say
each 3 seconds) the presence of a file on the disk (say "START.EVT") .
When the file is present, the task starts the motion program (pulsing
DOSM_SELFSTART), and then delete the file. A more sophisticated version
can start the specified motion file.
I hope this material is useful for you.
Don't hesitate to cantact me again, even on the forum or by email.
Unfortunately I'm very busy in this period, so I don't know when I can
reply. Sorry for that.
Best Regards
Claudio
2007-10-07_124621_RemStart.zip0 -
I appreciate so much, that would help me a lot.could you send details to my Email? My Email: zx5721@126.com
I'm looking forward to your leteer.
Best Regards!
gaoming
0
Categories
- All Categories
- 5.5K RobotStudio
- 395 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 249 ScreenMaker
- 2.7K Robot Controller
- 310 IRC5
- 59 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 785 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 4 Job listings