Hi, I had problems implementing the Example_BulkReadNodeValues from the CXA_DATALAYER library. I found a solution in which I combined the Example_BulkReadNodeValues and Example_ReadNodeValue and would like to share with you. Please, comment if you have any suggestions for improvement! Declaration: PROGRAM PLC_PRG VAR //read ctrlX Data Layer values //combination of Example_BulkReadNodeValues and Example_ReadNodeValue m_fbBulkReadNode : DL_BulkReadNodeValues; bulkRequests : ARRAY[0..2] OF DL_BulkRequest; // Names of the requested nodes in data layer bulkResponses : ARRAY[0..2] OF DL_BulkResponse; // Values of the requested nodes in data layer nodeCount : INT := 3; // number of nodes that will be requested //project variables for traffic lights 2 DL_bLightRed2 : BOOL; DL_bLightYellow2 : BOOL; DL_bLightGreen2 : BOOL; END_VAR Code: //read ctrlX Data Layer values //combination of Example_BulkReadNodeValues and Example_ReadNodeValue //Data Layer addresses for traffic lights 2 bulkRequests[0].NodeName := ADR('devices/remotes/TrafficLight2/plc/app/Application/sym/PLC_PRG/bLightRed2'); bulkRequests[1].NodeName := ADR('devices/remotes/TrafficLight2/plc/app/Application/sym/PLC_PRG/bLightYellow2'); bulkRequests[2].NodeName := ADR('devices/remotes/TrafficLight2/plc/app/Application/sym/PLC_PRG/bLightGreen2'); //read data from Data Layer m_fbBulkReadNode(Execute:= TRUE, BulkRequests:= ADR(bulkRequests), BulkResponses:= ADR(bulkResponses), Count := nodeCount); // set Execute to TRUE // save data from Data Layer to project variables IF (m_fbBulkReadNode.Done = TRUE) THEN bulkResponses[0].NodeValue.GetValueBool8(Value=>DL_bLightRed2); bulkResponses[1].NodeValue.GetValueBool8(Value=>DL_bLightYellow2); bulkResponses[2].NodeValue.GetValueBool8(Value=>DL_bLightGreen2); END_IF // end access to Data Layer IF (m_fbBulkReadNode.Done = TRUE) OR (m_fbBulkReadNode.Error = TRUE) THEN m_fbBulkReadNode(Execute:= FALSE, BulkRequests:= ADR(bulkRequests), BulkResponses:= ADR(bulkResponses), Count := nodeCount); // set Execute to FALSE END_IF
... View more