28 (
int boardnr,
int nodeid, RCS_MESSAGETELEGRAM_10& _telegramm){
31 readConfigurationMessage(_telegramm);
32 rlDebugPrintf(
"Initialising new node...\n BoardNr. %d NodeId %d Productstr %s ...",
33 boardnr, nodeid, abDeviceName.ascii());
35 ini = getEDS(abDeviceName);
39 rlDebugPrintf(
" ProductName=%s \n ", ini->text(
"DeviceInfo",
"ProductName"));
40 rlDebugPrintf(
" Filename=%s \n ", ini->text(
"FileInfo",
"FileName"));
42 objdir =
new ObjDir(ini);
46 rlDebugPrintf(
"ERROR!\n NO EDS FILE FOUND FOR \"%s\"!\n", abDeviceName.ascii());
55 rlDebugPrintf(
" PDO Gr�en:transmit PDOs: %d receive PDOs: %d\n",
60 while(objdir->OVAdressExists(adr,0) == 0)
66 rlDebugPrintf(
"ERROR IN EDS FILE: errorous number of Mapping entries\n");
78 while(objdir->OVAdressExists(adr,0) == 0)
84 rlDebugPrintf(
"ERROR IN EDS FILE: errorous number of Mapping entries\n");
112 QString dirname(getenv(
"EdsDir"));
113 if (dirname.isEmpty()){
116 QString productname(_productstr);
117 QDir edsdir(dirname);
118 edsdir.setNameFilter(
"*.EDS; *.eds");
119 QStringList::Iterator dirit;
121 dirlist = edsdir.entryList();
123 for ( dirit = dirlist.begin(); dirit != dirlist.end(); ++dirit ) {
130 exportname =QString(_ini->
text(
"DeviceInfo",
"ProductName"));
131 searchval = exportname.contains(productname,
false);
147 usIdentNumber = (
unsigned short) (_message.d[2]+_message.d[1]*pow(256,1));
148 usVendorIdent = (
unsigned short) (_message.d[4]+_message.d[3]*pow(256,1));
171 tempPDO->
bPDOSize = _message.d[startadress+k+1];
174 (_message.d[startadress+k+3]*pow(256,0)
175 + _message.d[startadress+k+4]);
202 cout<<
"\n\n******** Configuration Board "
210 cout<<
"\n PDO count :"<<int(
pdocount);
214 cout<<
"\n\n - - - - PDOs -> - - - - -";
218 cout<<
"\n+ PDO No. "<<j;
219 cout<<
"\nPDO Direction :Send PDO";
227 cout<<
"\n+ PDO No. "<<j;
228 cout<<
"\nPDO Direction :Receive PDO";
234 cout<<
"\n **********************************************\n\n";
256 edsbuffer =
objdir->get_objparameter(ObjDir::DATATYPE, objindex, subindex);
263 if (edsbuffer ==
"ERROR"){
266 edsbuffer.remove(
"0x");
267 typenr = edsbuffer.toInt(&ok, 16);
296 if (
objdir==0)
return false;