====== ICnetMem() ====== ''ICnetMem()'' sets the sizes of M, D and R memory used by the Cnet Slave. {{:en-us_commands:reference:icnetmem.svg?900|ICnetMem command operation flow}} ''void ICnetMem(uint16_t m_size, uint16_t d_size, uint16_t r_size = 100)'' ===== Commands ===== ^ Command ^ Arguments ^ Return Value ^ Operation ^ | ''ICnetMem(m_size, d_size, r_size)'' | ''uint16_t m_size'' — Number of M-area bits\\ ''uint16_t d_size'' — Number of D-area words\\ ''uint16_t r_size = 100'' — Number of R-area floating-point values | ''void'' | Sets the sizes of M, D and R memory used by the Cnet Slave. | ===== Example ===== This example uses the MPINO-16A8R8T RS-485 port ''Serial2'', input ''D22'', and transistor output ''D39''. 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] = digitalRead(22) == HIGH; if (D != nullptr) digitalWrite(39, 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 Commands in the Same Category ===== * [[:en-us_commands:reference:icnetadr|ICnetAdr() View detailed description]] * [[:en-us_commands:reference:icnetinit|ICnetInit() View detailed description]] * [[:en-us_commands:reference:icnet|ICnet() View detailed description]] [[:en-us_commands:builtin|← Built-in Command List]]