- unid - this is the UNID of the device to be created and it must be verified for correctness by the IDI for the following reasons:
- It is assumed that create requests will be issued from the CMS, and thus unid uniqueness will be verified before sending the create request. However, there are certain corner cases that must be handled by the IDI. For example, in Modbus RTU, unid strings “01:05” and “01:5” both mean the same thing, but this is not caught by the CMS because the strings are different. This is protocol specific, and it must be handled in the IDI.
- The IDI must also verify that the UNID is valid. For example, Modbus RTU can have slave IDs in the range of 1-255 only. Modbus TCP unid can have IP addresses separated by dots or hyphens or commas. Parsing of the IP address and making sense of it will be the responsibility of the IDI.
- type - This is the program_ID of the device to be created. This needs to be checked by the IDI because a protocol can have its own type check rules. For example, Modbus requires that the channel type must be 0xDB for Modbus RTU and 0xDC for Modbus TCP. For any other channel type in the PID, Modbus Engine throws an error and device creation fails.
- args - can also contain “implementation” and “routing” properties in create action which are protocol specific. The IDL will ignore these fields and let the IDI make sense of it.