User Tools

Site Tools


en-us_commands:reference:icnet

This is an old revision of the document!


Table of Contents

ICnet()

ICnet() checks incoming requests and handles Cnet Slave responses.

ICnet command operation flow

void ICnet()

Commands

Command Arguments Return Value Operation
ICnet() None void Checks incoming requests and handles Cnet Slave responses.

Example

void setup() {
  ICnetMem(64, 64, 16);  // Set the M·D·R memory sizes used by Cnet Slave.
  ICnetAdr(0, 0, 0);  // Set the start addresses of M·D·R memory.
  ICnetInit(Serial2, 1, 9600);  // Set the communication port, station number and baud rate.
  if (M != nullptr) M[0] = false;
}
 
void loop() {
  ICnet();  // Check incoming requests and process Cnet Slave responses.
  if (M != nullptr) M[0] = IdigitalRead(0, 5);  // Read the input repeatedly and update only if all samples match. If HIGH and LOW are mixed, retain the previous stable state.
  if (D != nullptr) digitalWrite(32, D[0] ? HIGH : LOW);
}

Precautions

  • Keep calling ICnet() in loop().
  • Set M/D/R sizes within the available SRAM.
  • When sharing memory with Modbus, check for duplicate allocation and address conventions. Both ICnetMem() and ImodbusRTUMem() reallocate shared M/D. Assign final size management to only one of them and initialize both protocols after the last reallocation.
  • Allocation functions do not return success status. Check whether M, D and R are nullptr before accessing them in user code.

← Built-in Command List

en-us_commands/reference/icnet.1788791733.txt.gz · Last modified: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki