Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Hardware Requirement

  1. RTR controller V1: Startech ST1000SPEXI Intel I210 NIC or newer PCI-e add-on card is required.

  2. RTR Runtime Controller.

...

In order to address RapidPlan objects efficiently in a Profinet interface, symbolic names must be replaced by numerical values. Therefore, a lookup table is generated by Appliance and can be download from the Control Panel. Anytime a RapidPlan project is changed during runtime, or targets are updated/added/removed, the lookup table must be re-exported and PLC programs must be updated accordingly.

  • project ID: an integer generate by RapidPlan

  • robots: 0-15

  • stateful object ID: 0-31

  • robot preset ID: 0-255(0xFF) - may be the same under different robots

  • frame ID and target ID: 0-16777215(0xFFFFFF) - globally unique

  • object states ID: 0-255 - may be the same under different object ID

  • Any time a project is loaded in Control Panel, or targets are added or deleted or renamed, the user is responsible to re-download the updated ID file from CP.

  • Up to 2 external axes are supported by the PNIO data map. There’s no specific look up value for each external axis. External axis#1 is always the axis with lower actuator index number.

An example:

Code Block
project: 1
robots:
  Robot1: 0
  Robot2: 1
  Robot3: 2
  Robot4: 3
  Robot5: 4
presets:
  Robot1:
    default: 0
  Robot2:
    Preset2Preset1_no_torcheoat: 0
    Preset1Preset2_no_eoattorch: 1
    Preset3_weld: 2
  Robot3:
    Preset1: 0
  Robot4:
    Preset1: 0
  Robot5:
    Preset1: 0
    Preset10: 1
    Preset11: 2
    Preset12: 3
    Preset13: 4
    Preset14: 5
    Preset15: 6
    Preset16: 7
    Preset17: 8
    Preset2: 9
    Preset3: 10
    Preset4: 11
    Preset5: 12
    Preset6: 13
    Preset7: 14
    Preset8: 15
    Preset9: 16
targets:
  Robot1:
    default:
  r1home    r1a1: 0
   r1t1   r1a2: 1
  r1t2    r1a3: 2
     r1a1 r1a45: 3
    r1a2  r1alt: 4
   r1up   r1home: 5
  r1t3    r1t1: 6
      r1t4r1t2: 7
  r1t5    r1t3: 8
  r1a3    r1t4: 9
      r1a45r1t5: 10
      r1altr1t6: 11
     r2home r1up: 12
  Robot2:
    Preset3_weld:
     r2t1 r2a1: 13
  r2up    r2a2: 14
   r2a1   r2a3: 15
      r2t2r2a4: 16
  r2t3    r2alt: 17
     r2a2 r2home: 18
  r2a3    r2t1: 19
  r2t4    r2t2: 20
      r2a4r2t3: 21
     r2alt: 22
frames:
  r1_default_tcp: 0
  r2_default_tcp: 1
  origin_frame: 2
  r1_tcp: 3 r2t4: 22
      r2up: 23
  Robot3:
    Preset1:
      r3t1: 24
      r3t10: 25
      r3t100: 26
      r3t11: 27
      r3t12: 28
      r3t13: 29
      r3t14: 30
      r3t15: 31
      r3t16: 32
      r3t17: 33
      r3t18: 34
      r3t19: 35
      r3t2: 36
      r3t20: 37
      r3t21: 38
      r3t22: 39
      r3t23: 40
      r3t24: 41
      r3t25: 42
      r3t26: 43
      r3t27: 44
      r3t28: 45
      r3t29: 46
      r3t3: 47
      r3t30: 48
      r3t31: 49
      r3t32: 50
      r3t33: 51
      r3t34: 52
      r3t35: 53
      r3t36: 54
      r3t37: 55
      r3t38: 56
      r3t39: 57
      r3t4: 58
      r3t40: 59
      r3t41: 60
      r3t42: 61
      r3t43: 62
      r3t44: 63
      r3t45: 64
      r3t46: 65
      r3t47: 66
      r3t48: 67
      r3t49: 68
      r3t5: 69
      r3t50: 70
      r3t51: 71
      r3t52: 72
      r3t53: 73
      r3t54: 74
      r3t55: 75
      r3t56: 76
      r3t57: 77
      r3t58: 78
      r3t59: 79
      r3t6: 80
      r3t60: 81
      r3t61: 82
      r3t62: 83
      r3t63: 84
      r3t64: 85
      r3t65: 86
      r3t66: 87
      r3t67: 88
      r3t68: 89
      r3t69: 90
      r3t7: 91
      r3t70: 92
      r3t71: 93
      r3t72: 94
      r3t73: 95
      r3t74: 96
      r3t75: 97
      r3t76: 98
      r3t77: 99
      r3t78: 100
      r3t79: 101
      r3t8: 102
      r3t80: 103
      r3t81: 104
      r3t82: 105
      r3t83: 106
      r3t84: 107
      r3t85: 108
      r3t86: 109
      r3t87: 110
      r3t88: 111
      r3t89: 112
      r3t9: 113
      r3t90: 114
      r3t91: 115
      r3t92: 116
      r3t93: 117
      r3t94: 118
      r3t95: 119
      r3t96: 120
      r3t97: 121
      r3t98: 122
      r3t99: 123
      r3up: 124
  Robot4:
    Preset1:
      r4home: 125
      r4t1: 126
      r4t10: 127
      r4t11: 128
      r4t12: 129
      r4t13: 130
      r4t14: 131
      r4t15: 132
      r4t16: 133
      r4t17: 134
      r4t18: 135
      r4t19: 136
      r4t2: 137
      r4t20: 138
      r4t21: 139
      r4t22: 140
      r4t23: 141
      r4t24: 142
      r4t25: 143
      r4t26: 144
      r4t27: 145
      r4t28: 146
      r4t29: 147
      r4t3: 148
      r4t30: 149
      r4t31: 150
      r4t32: 151
      r4t33: 152
      r4t34: 153
      r4t35: 154
      r4t36: 155
      r4t37: 156
      r4t38: 157
      r4t39: 158
      r4t4: 159
      r4t40: 160
      r4t41: 161
      r4t42: 162
      r4t43: 163
      r4t44: 164
      r4t45: 165
      r4t46: 166
      r4t47: 167
      r4t48: 168
      r4t49: 169
      r4t5: 170
      r4t50: 171
      r4t6: 172
      r4t7: 173
      r4t8: 174
      r4t9: 175
      r4up: 176
frames:
  Robot1:
    r1_default_tcp: 3
    r1_tcp: 4
  Robot2:
    r2_default_tcp: 5
    r2_no_eoat_tcp: 6
 4   r2_torch_tcp: 7
 5   r2_weld_tcp: 6: 8
  World:
    Origin: 0
    Robot3TCP: 1
    origin_frame: 2
    r4tcp: 9
objects:
  torch_latch: 0
  vertical_beam: 1
  weld_gun_latch: 2
  Box1: 3
  Box2: 1
  vertical_beam: 2 4
  Box3: 5
  Box4: 6
  Cylinder1: 7
  gun_moving: 8
  gun_static: 9
  jig: 10
  rail_with_shims: 11
  sliding_platform: 12
  tool_changer_base: 13
  torch_robot: 14
  weld_gun_robot: 15
  workcell_empty: 16
states:
  torch_latch:
    Suppressed: 0
    present: 1
  vertical_beam:
    Suppressed: 0
    Suppressedpresent: 1
  weld_gun_latch:
    presentSuppressed: 0
    Suppressedpresent: 1
dsm:
  verticalstatic_beamframes:
    presentOrigin: 0
    SuppressedRobot3TCP: 1
    origin_frame: 2
    r4tcp: 9

Getting started with Profinet communication on RapidPlan

...

Typical Move command timing sequence

Move

...

Combined Move with Smoothing enabled

...

Combined Move with HoldMove

...

Programming Notes

  • A Siemens PLC library and an application example is available upon request.

  • To reset fault mode, the OperationMode output needs to be manually reset, before the reset output is set.

  • Some API commands only work in Config mode, while others only work in Operation mode. Mode interlock logic is recommended.

  • The transition of InMotion status may not be available for certain moves or move segments, under the following conditions:

    • InMotion bit may not be available for queued moves due to smoothing.

    • InMotion bit may not be available for move segments if smoothing is enabled.

  • The transition of InPosition status may not be available for certain moves, under the following conditions:

    • InPosition bit may not be available for queued moves due to smoothing.

    • InPosition bit may be delayed when HoldMove or AlternateLocation is set.

Known issues

  1. Triggers are not supported as part of a move command.

  2. When appliance restarts, the Ubuntu OS routing table is added with a duplicate default gateway pointing to the IP address assigned by the PLC. This is causing loss of internet access until the duplicate default gateway in the Ubuntu routing table is manually cleared. This is related to Ubuntu OS. Workaround: after Profinet is running, issue sudo ip route del default to restore internet access from the RTR controller.

  3. Occasionally the PLC triggers a Profinet watchdog error. This is due to the Ubuntu Desktop OS is not optimized for real-time communication. OS thread priority should be fine tuned. Workaround: increase the number of retries in the Profinet device IO settings in TIA Portal, while keeping the same 2mS update time.

  4. The Profinet driver is tested on RTR controllers(V1 and runtime) only.

  5. DSM boxes, objects, and frames are tracked in the Profinet look up ID table. When items are created or removed, their Profinet IO mappings are handled as such, the handler retrieves the new id of the entity, and publishes it with Profinet. However, this does not cover cases where an external command source elicits a change in the DSM that’s unknown to a PLC.

...