.ModelicaADS.Functions.ADS.funAdsConstructor

Information

This is a function to establish the connection to a Beckhoff PLC via the ADS protocol. The function utilised from the C API provided by Beckhoff is AdsPortOpen(). No errors are reported.

C Source Code of Function

// Establish ADS connection
int funAdsConstructor(int portNumber,
                      int AmsNetID1,
                      int AmsNetID2,
                      int AmsNetID3,
                      int AmsNetID4,
                      int AmsNetID5,
                      int AmsNetID6)
{
long nPort;
  if (DEBUG_FLAG != 0) ModelicaFormatMessage("Call AdsPortOpen()!\n");
// ADS COMMUNICATION: Open communication port on the ADS router
nPort = AdsPortOpen();
  if (DEBUG_FLAG != 0) ModelicaFormatMessage("Call AdsPortOpen() sucessful! Port used is: %i\n",nPort);
  			
// Set port number and AMS net ID:
pAddr->port = portNumber;
(*pAddr).netId.b[0] = AmsNetID1;
(*pAddr).netId.b[1] = AmsNetID2;
(*pAddr).netId.b[2] = AmsNetID3;
(*pAddr).netId.b[3] = AmsNetID4;
(*pAddr).netId.b[4] = AmsNetID5;
(*pAddr).netId.b[5] = AmsNetID6;
	 
  if (DEBUG_FLAG != 0) ModelicaFormatMessage("Call of funAdsConstructor() Sucessful!\n");
return(0);
}

Interface

function funAdsConstructor
  input Integer port "Port on Beckhoff CPU to connect to e.g. 351 or 851";
  input Integer AmsNetID1 "First digit of AMS Net ID i.e. 192.---.---.---.---.---";
  input Integer AmsNetID2 "First digit of AMS Net ID i.e. ---.168.---.---.---.---";
  input Integer AmsNetID3 "First digit of AMS Net ID i.e. ---.---.0.---.---.---";
  input Integer AmsNetID4 "First digit of AMS Net ID i.e. ---.---.---.1.---.---";
  input Integer AmsNetID5 "First digit of AMS Net ID i.e. ---.---.---.---.1.---";
  input Integer AmsNetID6 "First digit of AMS Net ID i.e. ---.---.---.---.---.1";
  output Integer ans "Error handling: 0 = OK!, 1 == Error, see simulation tab for info";
end funAdsConstructor;

Revisions


Generated at 2024-03-27T19:15:56Z by OpenModelicaOpenModelica 1.22.3 using GenerateDoc.mos