Hi Robin2,
From what I read it seems like its the same way.
Below is the example code they have.
/*
Industrial Shields
www.industrialshields.com
march/2015
 Blink
 Turns on an LED on for one second, then off for one second, repeatedly.
 This example code is in the public domain.
*/
// NOTE: IMPORTANT ACTIVATE/DESACTIVATE APROPIATE INPUT/OUTPUT
// M-Duino 21 IOs have I0X, Q0X
// M-Duino 42 IOs have I0x + I1X, Q0X + Q1X
// M-Duino 58 IOs have I0x + I1X + I2X , Q0X + Q1X + Q2X
//Configuration Digital IN (24Vdc) INTERRUPT IN
int I06 = 3; //INTERRUPT #1
int I05 = 2; //INTERRUPT #0
int I16 = 19; //INTERRUPT #4
int I15 = 18; //INTERRUPT #5
int I26 = 21; //INTERRUPT #2
int I25 = 20; //INTERRUPT #3
//Configuration Digital IN (24Vdc)
int I04 = 26;Â Â // select the Analog/PWM Digital IN
int I03 = 25;Â Â // Digital IN
int I02 = 24;Â Â // Digital IN
int I01 = 23;Â Â // Digital IN
int I00 = 22;Â Â // Digital IN
int I14 = 31;Â Â // Digital IN
int I13 = 30;Â Â // Digital IN
int I12 = 29;Â Â // Digital IN
int I11 = 28;Â Â // Digital IN
int I10 = 27;Â Â // Digital IN
int I23 = 35;Â Â // Digital IN
int I22 = 34;Â Â // Digital IN
int I21 = 33;Â Â // Digital IN
int I20 = 32;Â Â // Digital IN
//Configuration Analog/PWM/Digital IN (0-10Vdc or 24Vdc)
int Q05 = 4;Â Â // select the Analog/PWM Digital OUT
int Q06 = 5;Â Â // select the Analog/PWM Digital OUT
int Q07 = 6;Â Â // select the Analog/PWM Digital OUT
int Q15 = 8;Â Â // select the Analog/PWM Digital OUT
int Q16 = 7;Â Â // select the Analog/PWM Digital OUT
int Q17 = 9;Â Â // select the Analog/PWM Digital OUT
int Q25 = 12;Â Â // select the Analog/PWM Digital OUT
int Q26 = 13;Â Â // select the Analog/PWM Digital OUT
//Configuration Digital OUT (24Vdc)
int Q00 = 36;Â Â // Digital OUT
int Q01 = 37;Â Â // Digital OUT
int Q02 = 38;Â Â // Digital OUT
int Q03 = 39;Â Â // Digital OUT
int Q04 = 40;Â Â // Digital OUT
int Q10 = 41;Â Â // Digital OUT
int Q11 = 42;Â Â // Digital OUT
int Q12 = 43;Â Â // Digital OUT
int Q13 = 44;Â Â // Digital OUT
int Q14 = 45;Â Â // Digital OUT
int Q20 = 46;Â Â // Digital OUT
int Q21 = 47;Â Â // Digital OUT
int Q22 = 48;Â Â // Digital OUT
int Q23 = 49;Â Â // Digital OUT
volatile int state = LOW;
////////////
// Ethernet
////////////
#include<EtherCard.h>
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };
uint8_t ntpServer[] = {128,138,141,172}; // time.nist.gov NTP server
byte ntpMyPort = 8888;
byte Ethernet::buffer[1000];Â // tcp/ip send and receive buffer
////////////
// the setup routine runs once when you press reset:
void setup() {Â Â Â
 //Configuration Analog/PWM/Digital OUT (0-10Vdc or 24Vdc)Â
 pinMode(Q05, OUTPUT);Â
 pinMode(Q06, OUTPUT);Â
 pinMode(Q07, OUTPUT);Â
 pinMode(Q15, OUTPUT);Â
 pinMode(Q16, OUTPUT);Â
 pinMode(Q17, OUTPUT);Â
 pinMode(Q26, OUTPUT);Â
 pinMode(Q25, OUTPUT);Â
 Â
 //Configuration Digital IN (24Vdc)Â
 pinMode(I00, INPUT); Â
 pinMode(I01, INPUT); Â
 pinMode(I02, INPUT); Â
 pinMode(I03, INPUT);
 pinMode(I04, INPUT);Â
 pinMode(I10, INPUT); Â
 pinMode(I11, INPUT); Â
 pinMode(I12, INPUT); Â
 pinMode(I13, INPUT); Â
 pinMode(I14, INPUT); Â
 pinMode(I20, INPUT);
 pinMode(I21, INPUT);Â
 pinMode(I22, INPUT); Â
 pinMode(I23, INPUT);
 pinMode(I05, INPUT); Â
 pinMode(I06, INPUT); Â
 pinMode(I15, INPUT);
 pinMode(I16, INPUT);Â
 pinMode(I25, INPUT); Â
 pinMode(I26, INPUT);
 Â
 //Configuration Digital OUT (24Vdc)
 pinMode(Q00, OUTPUT); Â
 pinMode(Q01, OUTPUT); Â
 pinMode(Q02, OUTPUT); Â
 pinMode(Q03, OUTPUT);
 pinMode(Q04, OUTPUT);
 pinMode(Q10, OUTPUT); Â
 pinMode(Q11, OUTPUT); Â
 pinMode(Q12, OUTPUT); Â
 pinMode(Q13, OUTPUT);
 pinMode(Q14, OUTPUT);
 pinMode(Q20, OUTPUT); Â
 pinMode(Q21, OUTPUT); Â
 pinMode(Q22, OUTPUT); Â
 pinMode(Q23, OUTPUT);
////////////
// Ethernet
////////////
 Serial.begin(57600);
Â
 if (ether.begin(sizeof Ethernet::buffer, mymac, 53) == 0)
  Serial.println( "Failed to access Ethernet controller");
 Â
 if (!ether.dhcpSetup()) {
  Serial.println("DHCP failed");
 }
Â
 ether.printIp("My IP: ", ether.myip);
 ether.printIp("GW IP: ", ether.gwip);
 ether.printIp("DNS IP: ", ether.dnsip);Â
Â
 if (!ether.dnsLookup("www.industrialshields.com")) {
  Serial.println("DNS failed");
 }Â
Â
 ether.printIp("Lookup IP : ", ether.hisip);
////////////Â
}
// the loop routine runs over and over again forever:
void loop() {
 digitalWrite(Q00, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q01, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q02, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q03, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q04, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q05, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q06, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q07, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q10, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q11, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q12, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q13, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q14, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q15, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q16, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q17, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q20, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q21, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q22, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q23, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q25, HIGH); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q26, HIGH); // turn the LED on (HIGH is the voltage level)
 delay(1000);       // wait for a second
 digitalWrite(Q00, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q01, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q02, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q03, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q04, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q05, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q06, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q07, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q10, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q11, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q12, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q13, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q14, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q15, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q16, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q17, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q20, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q21, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q22, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q23, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q25, LOW); // turn the LED on (HIGH is the voltage level)
 digitalWrite(Q26, LOW); // turn the LED on (HIGH is the voltage level)
 delay(1000);  // wait for a second
////////////
// Ethernet
////////////
 unsigned long rtime = getNtpTime();
Â
 char tmp[30];
 sprintf(tmp,"Time: %ld\n",rtime);
Â
 Serial.println(tmp);
////////////
}
unsigned long getNtpTime() {
 unsigned long timeFromNTP;
 const unsigned long seventy_years = 2208988800UL;
 uint8_t localPort = 12345;
Â
 ether.ntpRequest(ntpServer, localPort);
 Serial.println("NTP request sent");
 while(true) {
  word length = ether.packetReceive();
  ether.packetLoop(length);
  if(length > 0 && ether.ntpProcessAnswer(&timeFromNTP,localPort)) {
   Serial.println("NTP reply received");
   return timeFromNTP - seventy_years;  Â
  }
 }
 return 0;
}