Command Details: Plug_Submodule_Ext
Category
Extended
Details
Command Code: | 19h |
Valid for: | Object Instance |
Description
This is an extended version of the Plug_Submodule command. This command may be called during start-up to specify the Real Identification. It additionally features the possibility to associate a submodule with several consecutive ADI elements. (The Plug_Submodule command only allows association with one ADI element or all ADI elements.)
This command can also be called during operation if there are changes to the Real Identification. A Plug or Plug Wrong Submodule-alarm is automatically sent to the master as a result of this action.
A submodule plugged with this command can hold IO data to the master, from the master or data in both directions. It is also possible to plug submodules which do not carry any data at all.
The Anybus CompactCom 40 PROFINET IRT IIoT Secure supports up to 128 submodules in total.
Note
In case the slot number in the command is set to 0 (zero), the ADI number must also be 0 (zero), since slot 0 cannot hold any actual data.
It is only permitted to issue this command if API_Add has been issued first.
The Interface- and Port submodules have to be plugged in order to pass certification tests.
The interface and port submodule can only be plugged during the SETUP-state. Any attempt to plug these submodules during runtime will result in error.
It is not recommended to mix Plug_Submodule and Plug_Submodule_Ext commands.
No more than one safety submodule can be plugged at any time. If, during NW_INIT, it is determined that no safety module is attached, and a safety submodule is plugged in state SETUP, an exception will be raised. If an attempt to plug a safety submodule is done during runtime, when no safety module is attached, the request will be rejected.
Command Details
Field
Contents
Comments
CmdExt[0]
Bit 0: Submodule type
0: Normal I/O submodule
1: Safety submodule (no ADI mapping, set Data[0..7] to 0)
Bit 1-7: (reserved, set to zero)
(reserved for future use)
CmdExt[1]
(reserved, set to zero)
(reserved for future use)
Data[0]
ADI number (low byte), Read
Reference to the ADI previously mapped with Map_ADI_Read_Area.
Data[1]
ADI number (high byte), Read
Data[2]
First ADI element, Read
Reference to the first ADI element associated with the submodule.
Range:
0 to 255 - ADI element (0 is the first element)
Data[3]
Number of consecutive ADI elements, Read
Number of consecutive elements associated with the submodule.
Range:
1 to 255 (Number of elements)
Data[4]
ADI number (low byte), Write
Reference to the ADI previously mapped with Map_ADI_Write_Area.
Data[5]
ADI number (high byte), Write
Data[6]
ADI element, Write
Reference to the first ADI element associated with the submodule.
Range:
0 to 255 - ADI element (0 is the first element)
Data[7]
Number of consecutive ADI elements, Write
Number of consecutive elements associated with the submodule.
Range:
1 to 255 (Number of elements)
Data[8]
API (low word, low byte)
Application Process Instance (API)
See also... - Application Process Instances (API)
Data[9]
API (low word, high byte)
Data[10]
API (high word, low byte)
Data[11]
API (high word, high byte)
Data[12]
SlotNr (low byte)
Destination slot for submodule.
Range:
0... 0x7FFF
Data[13]
SlotNr (high byte)
Data[14]
SubSlotNr (low byte)
Destination subslot for submodule.
Range:
For API 0: 1... 0x8002 For API >0: 1... 0x7FFF
Data[15]
SubSlotNr (high byte)
Data[16]
SubModIdent (low word, low byte)
Submodule identifier as stated in the GSD file.
If the submodule is a safety module only high word is used. Low word is specified by the safety module.
Data[17]
SubModIdent (low word, high byte)
Data[18]
SubModIdent (high word, low byte)
Data[19]
SubModIdent (high word, high byte)
See also...