https://forge.codesys.com/prj/codesys-example/global-client-m/home/Home/
I'm going to use this to determine if a particular client is currently displaying the visualization that I'm interested in. You could use this if the the event that you are seeking takes place only on a certain visualization. Inside the loop previously posted, find the name of the current visualization: currentVisu: VisuElems.VisuElemBase.IVisualisation; currentVisuName: STRING; fullNameFlag: BOOL:= FALSE; WHILE clientDataPtr <> 0 DO currentVisu:= clientDataPtr^.GlobalData.LastVisu; currentVisuName:=...
I'm going to use this to determine if a particular client is currently displaying the visualization that I'm interested in. You could use this if the the event that you are seeking takes place only on a certain visualization. Inside the loop previously posted, find the name of the current visualization: METHOD OpenWarningDialog VAR currentVisu: VisuElems.VisuElemBase.IVisualisation; currentVisuName: STRING; fullNameFlag: BOOL:= FALSE; END_VAR WHILE clientDataPtr <> 0 DO currentVisu:= clientDataPtr^.GlobalData.LastVisu;...
I'm going to use this to determine if a particular client is currently displaying the visualization that I'm interested in. You could use this if the the event that you are seeking takes place only on a certain visualization. Inside the loop previously posted, find the name of the current visualization: METHOD OpenWarningDialog VAR currentVisu: VisuElems.VisuElemBase.IVisualisation; currentVisuName: STRING; fullNameFlag: BOOL:= FALSE; END_VAR currentVisu:= clientDataPtr^.GlobalData.LastVisu; currentVisuName:=...
I'm going to use this to determine if a particular client is currently displaying the visualization that I'm interested in. You could use this if the the event that you are seeking takes place only on a certain visualization. Inside the loop previously posted, find the name of the current visualization: VAR currentVisu: VisuElems.VisuElemBase.IVisualisation; currentVisuName: STRING; fullNameFlag: BOOL:= FALSE; END_VAR currentVisu:= clientDataPtr^.GlobalData.LastVisu; currentVisuName:= currentVis...
I'm going to use this to determine if a particular client is currently displaying the visualization that I'm interested in. You could use this if the the event that you are seeking takes place only on a certain visualization. Inside the loop previously posted, find the name of the current visualization: VAR currentVisu: VisuElems.VisuElemBase.IVisualisation; currentVisuName: STRING; fullNameFlag: BOOL:= FALSE; END_VAR currentVisu:= clientDataPtr^.GlobalData.LastVisu; currentVisuName:= currentVis...
I'm going to use this to determine if a particular client is currently displaying the visualization that I'm interested in. You could use this if the the event that you are seeking takes place only on a certain visualization. Inside the loop previously posted, find the name of the current visualization: currentVisu: VisuElems.VisuElemBase.IVisualisation; currentVisuName: STRING; fullNameFlag: BOOL:= FALSE; currentVisu:= clientDataPtr^.GlobalData.LastVisu; currentVisuName:= currentVisu.GetName(fu...
Have you seen this example? https://forge.codesys.com/prj/codesys-example/visu-event-hand/home/Home/
I have struggled with this myself. My solution is to broadcast the dialog to all clients then, upon receiving confirmation from the active client, close the dialog on the remaining clients. Open the dialog on all clients: METHOD OpenWarningDialog VAR_INPUT DialogName: STRING(128); END_VAR VAR isDialogOpen: BOOL; // visuMgr: VU.IVisualizationClientIteration; dlogMgr: VisuElems.IDialogManager; clientDataPtr: POINTER TO VisuElems.VisuStructClientData; warningDlog: VisuElems.IVisualisationDialog; END_VAR...
I have struggled with this myself. My solution is to broadcast the dialog to all clients then, upon receiving confirmation from the active client, close the dialog on the remaining clients. Open the dialog on all clients: METHOD OpenWarningDialog VAR_INPUT DialogName: STRING(128); END_VAR VAR isDialogOpen: BOOL; visuMgr: VU.IVisualizationClientIteration; dlogMgr: VisuElems.IDialogManager; clientDataPtr: POINTER TO VisuElems.VisuStructClientData; warningDlog: VisuElems.IVisualisationDialog; END_VAR...
I have struggled with this myself. My solution is to broadcast the dialog to all clients then, upon receiving confirmation from the active client, close the dialog on the remaining clients. Open the dialog on all clients: METHOD OpenWarningDialog VAR_INPUT DialogName: STRING(128); END_VAR VAR isDialogOpen: BOOL; visuMgr: VU.IVisualizationClientIteration; dlogMgr: VisuElems.IDialogManager; clientDataPtr: POINTER TO VisuElems.VisuStructClientData; warningDlog: VisuElems.IVisualisationDialog; //clientPtr:...