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.

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

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

Hi Claudio
I also have much interested in your application. I’d like to have your details.

simon-fusheng.tan@cn.abb.com

Hi Claudio

Could you please send me your solution. Thank you.

marcel.rieder@ch.abb.com

Best regards

Marcel

Hi Claudio

I am interested in your application.Could you please give me your solution.

My Email:whm@mail.ustc.edu.cn

Thank you

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.

Hi Claudio

I am interested in your application.Could you please send me your solution?

Regards

sinan.aydin@abrotech.com.tr

What’s wrong with using the .Rapid.Start() method?

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.zip

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