UtilFillNodeAddress (FUN) ¶ FUNCTION UtilFillNodeAddress : BOOL InOut: Scope Name Type Return UtilFillNodeAddress BOOL Inout stAddr STRING nodeAddr NSC_NodeAddress
UtilReadAddressFromRouter (FUN) ¶ FUNCTION UtilReadAddressFromRouter : UDINT InOut: Scope Name Type Return UtilReadAddressFromRouter UDINT Inout address NSC_NodeAddress
WStringsEqual (FUN) ¶ FUNCTION WStringsEqual : BOOL InOut: Scope Name Type Comment Return WStringsEqual BOOL Input pws1 POINTER TO UINT wchar pws2 POINTER TO UINT wchar bAcceptSubStrWS2InWS1 BOOL
NSC_VersionConstants (GVL) ¶ Attributes: qualified_only InOut: Scope Name Type Initial Comment Constant VERSION_GE_341_30 INT 0 Take care when changing as this identified might be accessed by other libraries!
NSClientGlobals (GVL) ¶ Attributes: qualified_only InOut: Name Type NSClient NSClientWrapper
NSClientSearchNodeFlags (ENUM) ¶ TYPE NSClientSearchNodeFlags : Attributes: qualified_only InOut: Name Initial Comment SearchByType 16#1 SearchByVersion 16#2 SearchById 16#4 SearchByNodeName 16#8 SearchForDirectChildOfUsOnly 16#10 SearchForDirectChildOfAddressOnly 16#20 SearchForDirectChildOfUsOrAddressOnly SearchForDirectChildOfUsOnly OR SearchForDirectChildOfAddressOnly SearchIgnoreOurselfsIfTwoPlcs 16#40 If this flag is used, then the scan will succeed in the following ambiguity situation too and return the info of the second found plc: - We have exactly two matches - One of these matches is our own plc The rationale behing this is, that a scan is used while we have two plcs (due to the same name probably Windows) with the same identification info. For real work, this is probably not really a usecase. Nevertheless, this will happen quickly if somebody wants to test the dataserver. Then the most simple test is to start two plcs locally and thus we have exactly this situation. To allow this usecase without causing severe compatibilty problems, we simply return the other plc and go on. This flag is only relevant for scanning for a specific node. When searching all nodes, this flag will be ignored. It is up to the caller to do the according filtering. SearchForFirstMatch 16#10000 SearchForNonAmbiguousMatch 16#20000
NSClientWrapper (FB) ¶ FUNCTION_BLOCK NSClientWrapper Properties: ErrorCode FoundNodes LastTaskFinished LastTaskName intUseDynamicMemory Methods: GetFoundNode GetSearchedNode SetMemorySettings StartResolveAllNodes StartSearchForNode StartSearchForNode2 prvReset prvStartSearchForNodeParameterChecking prvStartTaskIfPossible Structure: ErrorCode (Property) FoundNodes (Property) GetFoundNode (Method) GetSearchedNode (Method) LastTaskFinished (Property) LastTaskName (Property) SetMemorySettings (Method) StartResolveAllNodes (Method) StartSearchForNode (Method) StartSearchForNode2 (Method) intUseDynamicMemory (Property) prvReset (Method) prvStartSearchForNodeParameterChecking (Method) prvStartTaskIfPossible (Method)
NSClientWrapper.ErrorCode (PROP) ¶ PROPERTY ErrorCode : UDINT
NSClientWrapper.FoundNodes (PROP) ¶ PROPERTY FoundNodes : UDINT
NSClientWrapper.GetFoundNode (METH) ¶ METHOD GetFoundNode : UDINT InOut: Scope Name Type Return GetFoundNode UDINT Input iIndex UDINT Inout node NSC_CompleteNodeInfo