Parameter Handshaking

Parameter Handshaking

Postby pumpkin_hook » Fri May 13, 2011 7:54 am

Is there a timing diagram or sample ladder code that provides details on how to send and/or receive parameters between an s600 and a Logix 5000 controller? In my application, there have been sporadic issues with the robot not moving to desired locations. The thought is that the parameters are not being loaded to the s600 properly. I am reviewing my code (written by third party) - it contains delay timers to allow values to be written. I am not confident that the delay times are correct. The ePLC user's guide does not offer any suggestions on how to download multiple positional data from the PLC to the s600. I want to download data into several locations - all of which a part of a single recipe. Is all that is required to monitor the 'command_execution_state' and 'cmd_location_define' status bits?
pumpkin_hook
 
Posts: 1
Joined: Fri May 13, 2011 7:26 am

Re: Parameter Handshaking

Postby mnoschang » Mon May 16, 2011 8:36 pm

The communication between the PLC and the s600 should not require timers. The general scheme for commanding the robot to move is:
1. Load Robot_Command.speed with the motion speed.
2. Load Robot_Command.acceleration, Robot_Command.deceleration, and Robot_Command.acceleration_profile with the motion acceleration parameters.
3. Load Robot_Command.location_number with the number of the location to be moved to. If this tag has a value of 0, then the values of Robot_Command.location.<X, Y, Z, Yaw, Pitch, or Roll> are used as the coordinates. If this tag is greater than 0, then the location must be previously defined.
4. Enable/disable the motion qualifier bits (relative_move, joint_coordinates, righty_configuration, etc.) as desired for the motion.
5. Enable the bit Robot_Command.cmd_move to start the motion (see page 55 for details).
6. Wait for the bit Robot_Status.command_execution_state to go high, indicating the motion has started.
7. Disable the Robot_Command.cmd_move bit.
8. Wait for the Robot_Status.command_execution_state bit to go low, indicating the cmd_move bit has been turned off.
9. Wait for the Robot_Status.in_position_state bit to go high, indicating the robot is in position.

For continuous path motion, the scheme is a bit different:
1. Load Robot_Command.speed with the motion speed.
2. Load Robot_Command.acceleration, Robot_Command.deceleration, and Robot_Command.acceleration_profile with the motion acceleration parameters.
3. Load Robot_Command.location_number with the number of the location to be moved to. If this tag has a value of 0, then the values of Robot_Command.location.<X, Y, Z, Yaw, Pitch, or Roll> are used as the coordinates. If this tag is greater than 0, then the location must be previously defined.
4. Enable/disable the motion qualifier bits (relative_move, joint_coordinates,righty_configuration, etc.) as desired for the motion. Robot_Command.nonull must be enabled to allow blending of motions.
5. Enable the Robot_Command.cmd_move bit to start the motion.
6. Wait for the Robot_Status.command_execution_state bit to go high, indicating the motion has started.
7. Disable the Robot_Command.cmd_move bit.
8. Wait for the Robot_Status.command_execution_state bit to go low, indicating the cmd_move bit has been turned off.
9. Start the next motion at Step 1.

This method allows you to move to multiple points in sequence. To download multiple points in the first place, you can do the following:
1. Enter the appropriate coordinates into the tags listed in Table 5-6 of the ePLC User's Guide. See “Defining a Location” on page 90 for more details on defining locations.
2. Enter the number of the location to be defined into Robot_Command.location_number.
3. Turn on the “define location” command bit (Robot_Command.cmd_location_define)
4. Wait for the “command executing” bit to be set (Robot_Status.command_execution_state).
5. Turn off the “define location” command bit.
6. Repeat steps 1 - 5 for each location you wish to define.

The proper method of coordinate is to use the command_executing bit. Please let us know if you have any further questions.
mnoschang
 
Posts: 14
Joined: Fri Jun 20, 2008 10:43 am


Return to ePLC Connect Robot Control

Who is online

Users browsing this forum: No registered users and 1 guest

cron