How to use the quick-change Profinet connection
The same device can be operated alternately on different robots. To do this, other IOCTL functions must be used for decoupling and. These IOCTL functions can also be used if a device is only operated on one robot. Other IOCTL functions can only be used for compatibility reasons.
l In applications with tool change systems, bus users must never be permanently coupled.
l During a cold restart or during configuration of an input/output, in which case this would directly lead to a fault in Industrial Ethernet.
l The shutdown function is always available to prevent these devices from being logically coupled into Industrial Ethernet after a cold restart or after reconfiguration of the inputs/outputs.
l These deactivated devices can be recoupled without any problems later when the program is run.
l However, during project setup, consideration must be given to integrating all tools physically and logically into the Industrial Ethernet project.
Decoupled - Properties of decoupled devices:
l If a decoupled device is disconnected from Industrial Ethernet, this will not trigger a fault.
l All IO operations on the decoupled device are invalid.
l Decoupled devices cannot handle read/write failures.
l The input of the device has been reset to zero during decoupling.
coupling
The IOCTL function is executed synchronously. The function returns when the device is available again and can be written to. If the coupled device is unavailable, for example because it is disconnected from the bus or power supply, a message is displayed after a timeout (default 10 seconds).
Menu path: Project structure > ProfiNet > Double-click with the mouse > Device settings
Set the device to always be available by checking or unchecking this setting.
The option "Always available" influences the robot's reaction to decoupled devices during a cold start or when reconfiguring the I/O drivers. "Always available" can be set in the device data in WorkVisual.
If the device does not have the option Always Available checked, the device is automatically decoupled on reboot or when the I/O driver is reconfigured. In order to establish a connection to the device, the device must be recoupled using the IOCTL function.
Coupling and decoupling of fieldbus users via HMI
1. Select the menu sequence Display > Variable > Single.
2.2. In the Name field, enter:
When decoupling:
When using the device on a robot:
=IOCTL("PNIO-CTRL",60,[user ID])
When using the device on one or more robots:
=IOCTL("PNIO-CTRL",1060,[user ID])
When coupled:
When using the device on a robot:
=IOCTL("PNIO-CTRL",50,[user ID])
When using the device on one or more robots:
=IOCTL("PNIO-CTRL",1050,[user ID])
IOCTL: System variables for coupling and decoupling
PNIO-CTRL: Call via ProfiNet driver name
50/1050 = call coupling
60/1060 = call decoupling
User ID Device number of the module to be coupled or decoupled / User ID
In the single variable display, after executing each IOCTL instruction, a return value is displayed in the current value window in the form of a number. This number has the following different meanings:
l0 :IOCTL executed successfully.
l1: Timeout - The device failed to couple or decouple within the specified time.
l2 :IOCTL contained an incorrect parameter - please check your input!
l-1: Failure - Unable to execute the command.
The IOCTL function is executed synchronously. When the device is available and writable again, the IOCTL function can be executed again.
If a coupled device is not available, for example because it is disconnected from the bus or power supply, a message will be displayed after a timeout.
If the time specified for coupling or decoupling is designed to be too short, the timeout can be reset. The standard setting is 10 seconds, i.e. 10000 milliseconds.
RET = IOCTL("PNIO-CTRL",1001,10000)
Query device status:
Use IOCTL function 70 to query the status of a slave device.
RET = IOCTL("PNIO-CTRL",70,[User ID] )
RET's return value:
l4: The device has been decoupled.
l5: The device was coupled, but an error occurred.
l6: The device is coupled and there are no errors.
l7: The device has been decoupled but is still activated internally in the PROFINET Controller.
By activating or deactivating the bus fault
The bus fault is activated by default. If a bus fault occurs, this results in a stop and/or blocking of the active commands. The bus fault can be deactivated and activated again using the KRL function IOCTL.
Activation or deactivation can be performed in the program at runtime via the KRL. The bus fault can be deactivated for one or more bus instances. If the bus fault is deactivated, the following occurs:
• Bus fault: No stop and/or blocking of the active commands
• Bus fault: No fault message in the smartHMI information window
• The following message is displayed in the smartHMI information window: KRC IO bus error suppression is activated for the following bus instances: {bus instance}{bus instance}{bus instance}
• If a fault has already occurred in the bus instance, a bus fault cannot be activated again.
In this case, you can read out whether a bus fault has occurred via the system variable $IOBUS_INFO.
• To deactivate bus fault: RET = IOCTL("KRC->PNIO-CTRL", 1, 1) • To activate bus fault: RET = IOCTL("KRC->PNIO-CTRL", 1, 0)
RET | A variable used to store the return value of the KRL function IOCTL. The data type of this variable is INT and must be declared in the program before use. |
IOCTL | KRL function used to send commands to the bus driver |
PNIO-CTRL | The name of the bus driver |
1.1 | IOCTL command to disable bus fault |
1.0 | IOCTL command to activate bus fault |
$IOBUS_INFO[] structure containing information
$IOBUS_INFO[index] = information
index | Type: INT Network number 1 … 32 A serial number is automatically assigned to the bus driver. |
information | Type: Iobus_Info_T A list containing network information |
Iobus_Info_T STRUC Iobus_Info_T CHAR name[256], drv_name[256], BOOL bus_ok, bus_installed
name[] | The name of the bus instance, for example SYS-X44 |
drv_name[] | The name of the network driver control, such as ECat.DRV |
bus_ok |
TRUE: The bus driver is normal.
FALSE: The bus driver is faulty or incompatible. |
bus_installed |
TRUE: The bus driver is installed.
FALSE: The bus driver is not installed. |
Restart the bus system via KRL
After a bus fault, the bus system can be restarted in the program during runtime. To do this, a command to restart the bus system must be generated in the program using the KRL function IOCTL.
RET = IOCTL("PNIO-CTRL",12,0)
12 | IOCTL command to restart the bus system |
Review editor: Liu Qing
Previous article:Introduction to KUKA-DECL variables and protocols
Next article:A brief analysis of KUKA's $PRO_IP variable
- Popular Resources
- Popular amplifiers
- Using IMU to enhance robot positioning: a fundamental technology for accurate navigation
- Researchers develop self-learning robot that can clean washbasins like humans
- Universal Robots launches UR AI Accelerator to inject new AI power into collaborative robots
- The first batch of national standards for embodied intelligence of humanoid robots were released: divided into 4 levels according to limb movement, upper limb operation, etc.
- New chapter in payload: Universal Robots’ new generation UR20 and UR30 have upgraded performance
- Humanoid robots drive the demand for frameless torque motors, and manufacturers are actively deploying
- MiR Launches New Fleet Management Software MiR Fleet Enterprise, Setting New Standards in Scalability and Cybersecurity for Autonomous Mobile Robots
- Nidec Drive Technology produces harmonic reducers for the first time in China, growing together with the Chinese robotics industry
- DC motor driver chip, low voltage, high current, single full-bridge driver - Ruimeng MS31211
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Zero environment setup, the simplest QT interface programming Helloworld runs in the embedded Linux touch industrial tablet
- Share: STM32 controls HC-05 Bluetooth module for communication
- [Silicon Labs BG22-EK4108A Bluetooth Development Review] Four Programs Plus Button Development Steps
- How to use 12864 to display the signal when the msp430 MCU ad samples 1khz signal...
- USB driver-free camera hardware solution
- 【XMC4800 Relax EtherCAT Kit Review】+ Hardware Interpretation
- DS18B20 MSP430 C Program
- [Analog Electronics Course Selection Test] + Operational Amplifier Type Application
- Radio Frequency Electronics (all the radio frequency knowledge you want to know is full of dry goods)
- 【McQueen Trial】 Main components of McQueen