Section outline

    • Integration Guide: Connecting the Niryo Ned2 with a PLC

      When integrating a robot with a PLC (Programmable Logic Controller), you have different architectural options to manage the control flow. Depending on your project requirements, you can choose between direct control or a supervised autonomous approach.

      Option 1: Programming Robot Actions directly in Ladder Logic

      The first option is to program every individual action of the robot directly within the PLC’s Ladder logic. For example, if the goal is to move the robot to a "home" pose and then to a "Position 1," all the coordinates and movement logic must be handled by the PLC.

      For the Ned2, this communication is established using the Modbus TCP/IP protocol. In the PLC software environment, you would create a Modbus Client that connects to the Modbus Server hosted on the robot. You then send the specific values to the corresponding registers to trigger movement.

      Option 2: Local Robot Programming with PLC Supervision

      The second option is to host the main robot program on the Ned2 itself and use the PLC to trigger specific actions. In this scenario, the entire logic for complex tasks, such as picking, placing, or scanning, resides on the robot side. The PLC simply tells the robot which action to perform by changing the state of a variable stored in a register. 

      Indeed , the robot then reads this register to check the state and execute the corresponding action. It is important to note that if you choose to use Modbus for this method, the robot program must be written in Python, as the Modbus Protocol cannot be accessed directly through Blockly.

      Expert Recommendation

      We strongly recommend choosing the second option. In modern industrial standards, it is most efficient to program the robot’s complex kinematics locally and use the PLC to manage the high-level process.

      Sending every single coordinate from a PLC is often too complex and time-consuming to program. Furthermore, the result is generally less reliable than having a dedicated robot program that is simply "managed" by the PLC. This separation of tasks ensures a more robust, maintainable, and professional installation.