Skip to main content

Appendix E - SICK Safety Controller

FlexiSoft Safety Controller​

Overview​

Safety controllers are often used in industrial automation to improve safety between equipment and people. SICK is a leading brand in industrial safety worldwide. In this document, we cover the integration of both the FlexiSoft controller in HARP. Using this controller alongside HARP allows the safety controller to take real-time action and perform safety functionality to keep the workers safe, while it also communicates with HARP. This connection allows HARP to understand the true state of whether the system is safe to operate or not.

Terminology​

PLC - Programmable Logic Controller
IP Address - (connect_addr)
The address you give your controller. You need a static IP address. DO NOT select DHCP or your connection will break every time you power cycle your system.
Default Gateway - (gateway)
The base IP address of your network. Often 192.168.0.1 or 10.0.0.1
STOP Byte - (estop_byte)
Consider this a full stop or e-stop trigger
PAUSE Byte - (pause_byte)
Consider this a normal process interruption. The system will treat this similar to releasing the clutch on the stylus.

Download - Safety Designer​

SICK provides a software for programming their controllers called Safety Designer. It provides the User Interface for routing logic, Signing verifications of safety programs, debugging and communication. SICK has resources on their website on how to use Safety Designer.

Example Hardware​

The hardware required for this example setup:

  • FlexiSoft CPU - FX3-CPU000000
  • FLexiSoft System Plug - FX3-MPL000001
  • FlexiSoft Programming Cable - DSL-8U04G02M025KM1
  • FlexiSoft Ethernet/IP module - FX0-GENT00000
  • FlexiSoft XTIO - FX3-XTIO84002

harp_sick_image1

Setup your Safety PLC​

Network Setup:​

In the GENT gateway configuration tab setup your Ip address and Default gateway

harp_sick_image2

Go to the TCP/IP Configuration tab and enable Listen On and set your preferred port number. The default, 9100 is fine in most cases.

harp_sick_image3

Go to Data sets and decide which output bytes you want to use for triggering STOP and PAUSE

harp_sick_image4

NOTE

Harp monitors Bit 0 of whichever byte you choose. It treats the Byte like a Boolean. Do not pick other bits, they will not work.

Here we use:
Byte 16 (Low Byte) for STOP
Byte 17 (Low Byte) for PAUSE

Select Line W16.LB (low byte) and notice on the right side at bit 0, you can name it STOP
This tagging is to help identify the items in your program later.

harp_sick_image5

Select line W17.LB (low byte) and notice on the right side at bit 0, you can name it PAUSE
harp_sick_image6

​

Programming​

HARP expects the Bytes you select to be HIGH when the system is in the ready / safe state. This monitoring control type allows the tags to declare that the controller turned on and safety is present before operation. If the controller is not connected, it considers the tags to be triggered and will prevent operation until the Bytes are set HIGH. Here is a program that has a N.O. push button that represents a door switch or light curtain connected to the pause tag(17.LB). The E-stop is a N.C. contact that is routed directly to the STOP tag (16.LB).

harp_sick_image7

If the N.O. button is pressed, HARP will pause all teleoperation until the button is released and 16.LB goes HIGH again.

If the E-Stop is pressed, HARP will completely stop the session and prevent it from continuing until the E-Stop is cleared and then a reset can be performed.

Modify your PLC program to match your system needs. You can have many switches connected to a single Tag. You should have logic that connects to your robots built in safety logic.

Push your program to the PLC with the “Transfer to device” button and move to the next step.

NOTE

Map the bytes you chose and the Byte Value it corresponds to in this chart below.

harp_sick_image8

HARP Project Setup​

  1. In an existing HARP project, open the “Project.json” in a text editor

harp_sick_image9

  1. At the bottom of your Project.json you will find a variable called “safety_controller”
    Remove the “null” tag and add the fields shown here.

    connect_addr is the IP address of your Safety controller

    pause_byte and stop_byte should be equal to the corresponding byte value in the chart shown in controller setup.

    gateway for FlexiSoft should be “flexi_soft_gateway”
    gateway for Flexi Compact should be “gpnt1”

  2. Save and close this file

  3. Launch HARP again and connect your devices.

  4. Enter the Command Screen for teleoperation

  5. You should now have control to PAUSE and resume or E-STOP and break the session in HARP for a safe robot control experience.

Troubleshooting: If you open your project and it fails to load or you can’t teleoperate at the control screen. This is an indication that the setup is not correct.
Remember that the Byte’s in your program always need to be HIGH for the system to run. Otherwise it acts as if it is triggered.

  • Check the Ip address and port in your Safety Designer project.
  • Use the chart above, check if you correctly mapped your chosen Bytes with the value required in the project file.
  • Ensure you set the gateway name correctly