Esempio n. 1
0
        private ushort GetRfidNamespaceIndex()
        {
            ushort nameSpaceIndex = 0;

            ReferenceDescriptionCollection refDescCol = new ReferenceDescriptionCollection();

            refDescCol = myHelperApi.BrowseRoot();

            //Browse to variable "AutoIdModelVersion" (mandatory in AutoID) in RfidReaderDeviceType object to find out namespace
            foreach (ReferenceDescription refDescA in refDescCol)
            {
                if (refDescA.BrowseName.Name == "Objects")
                {
                    refDescCol = myHelperApi.BrowseNode(refDescA);
                    foreach (ReferenceDescription refDescB in refDescCol)
                    {
                        if (refDescB.BrowseName.Name == "DeviceSet")
                        {
                            refDescCol = myHelperApi.BrowseNode(refDescB);
                            foreach (ReferenceDescription refDescC in refDescCol)
                            {
                                if (refDescC.TypeDefinition == new ExpandedNodeId(RfidOpcUaForm.AutoID.ObjectTypes.RfidReaderDeviceType, (ushort)myHelperApi.GetNamespaceIndex(RfidOpcUaForm.AutoID.Namespaces.AutoID)))
                                {
                                    refDescCol = myHelperApi.BrowseNode(refDescC);
                                    foreach (ReferenceDescription refDescD in refDescCol)
                                    {
                                        if (refDescD.BrowseName.Name == "AutoIdModelVersion")
                                        {
                                            nameSpaceIndex = refDescD.NodeId.NamespaceIndex;
                                            break;
                                        }
                                    }
                                    break;
                                }
                            }
                            break;
                        }
                    }
                    break;
                }
            }

            return(nameSpaceIndex);
        }
Esempio n. 2
0
        private void GetIDsAtConstruction()
        {
            ReferenceDescriptionCollection refDescCol      = new ReferenceDescriptionCollection();
            ReferenceDescriptionCollection foundRefDescCol = new ReferenceDescriptionCollection();

            refDescCol = myHelperApi.BrowseRoot();

            foreach (ReferenceDescription refDescA in refDescCol)
            {
                if (refDescA.BrowseName.Name == "Objects")
                {
                    refDescCol = myHelperApi.BrowseNode(refDescA);
                    foreach (ReferenceDescription refDescB in refDescCol)
                    {
                        if (refDescB.BrowseName.Name == "DeviceSet")
                        {
                            refDescCol = myHelperApi.BrowseNode(refDescB);
                            foreach (ReferenceDescription refDescC in refDescCol)
                            {
                                if (refDescC.TypeDefinition == new ExpandedNodeId(AutoID.ObjectTypes.RfidReaderDeviceType, (ushort)myHelperApi.GetNamespaceIndex(AutoID.Namespaces.AutoID)))
                                {
                                    foundRefDescCol.Add(refDescC);
                                }
                            }
                        }
                    }
                }
            }

            MethodIds methodIds;

            for (int i = 0; i < foundRefDescCol.Count; i++)
            {
                refDescCol = myHelperApi.BrowseNode(foundRefDescCol[i]);

                foreach (ReferenceDescription refDescD in refDescCol)
                {
                    if (refDescD.BrowseName.Name == "Scan")
                    {
                        objectIdentifier       = (uint)foundRefDescCol[i].NodeId.Identifier;
                        methodIdentifier       = (uint)refDescD.NodeId.Identifier;
                        methodIds.method       = MethodToCall.Scan;
                        methodIds.readpoint    = i;
                        methodIds.methodNodeId = methodIdentifier;
                        methodIds.objectNodeId = objectIdentifier;
                        methodIdList[i].Add(methodIds);
                    }
                    else if (refDescD.BrowseName.Name == "ScanStart")
                    {
                        objectIdentifier       = (uint)foundRefDescCol[i].NodeId.Identifier;
                        methodIdentifier       = (uint)refDescD.NodeId.Identifier;
                        methodIds.method       = MethodToCall.ScanStart;
                        methodIds.readpoint    = i;
                        methodIds.methodNodeId = methodIdentifier;
                        methodIds.objectNodeId = objectIdentifier;
                        methodIdList[i].Add(methodIds);
                    }
                    else if (refDescD.BrowseName.Name == "ScanStop")
                    {
                        objectIdentifier       = (uint)foundRefDescCol[i].NodeId.Identifier;
                        methodIdentifier       = (uint)refDescD.NodeId.Identifier;
                        methodIds.method       = MethodToCall.ScanStop;
                        methodIds.readpoint    = i;
                        methodIds.methodNodeId = methodIdentifier;
                        methodIds.objectNodeId = objectIdentifier;
                        methodIdList[i].Add(methodIds);
                    }
                    else if (refDescD.BrowseName.Name == "ReadTag")
                    {
                        objectIdentifier       = (uint)foundRefDescCol[i].NodeId.Identifier;
                        methodIdentifier       = (uint)refDescD.NodeId.Identifier;
                        methodIds.method       = MethodToCall.ReadTag;
                        methodIds.readpoint    = i;
                        methodIds.methodNodeId = methodIdentifier;
                        methodIds.objectNodeId = objectIdentifier;
                        methodIdList[i].Add(methodIds);
                    }
                    else if (refDescD.BrowseName.Name == "WriteTag")
                    {
                        objectIdentifier       = (uint)foundRefDescCol[i].NodeId.Identifier;
                        methodIdentifier       = (uint)refDescD.NodeId.Identifier;
                        methodIds.method       = MethodToCall.WriteTag;
                        methodIds.readpoint    = i;
                        methodIds.methodNodeId = methodIdentifier;
                        methodIds.objectNodeId = objectIdentifier;
                        methodIdList[i].Add(methodIds);
                    }
                    else if (refDescD.BrowseName.Name == "KillTag")
                    {
                        objectIdentifier       = (uint)foundRefDescCol[i].NodeId.Identifier;
                        methodIdentifier       = (uint)refDescD.NodeId.Identifier;
                        methodIds.method       = MethodToCall.KillTag;
                        methodIds.readpoint    = i;
                        methodIds.methodNodeId = methodIdentifier;
                        methodIds.objectNodeId = objectIdentifier;
                        methodIdList[i].Add(methodIds);
                    }
                    else if (refDescD.BrowseName.Name == "LockTag")
                    {
                        objectIdentifier       = (uint)foundRefDescCol[i].NodeId.Identifier;
                        methodIdentifier       = (uint)refDescD.NodeId.Identifier;
                        methodIds.method       = MethodToCall.LockTag;
                        methodIds.readpoint    = i;
                        methodIds.methodNodeId = methodIdentifier;
                        methodIds.objectNodeId = objectIdentifier;
                        methodIdList[i].Add(methodIds);
                    }
                    else if (refDescD.BrowseName.Name == "SetTagPassword")
                    {
                        objectIdentifier       = (uint)foundRefDescCol[i].NodeId.Identifier;
                        methodIdentifier       = (uint)refDescD.NodeId.Identifier;
                        methodIds.method       = MethodToCall.SetTagPw;
                        methodIds.readpoint    = i;
                        methodIds.methodNodeId = methodIdentifier;
                        methodIds.objectNodeId = objectIdentifier;
                        methodIdList[i].Add(methodIds);
                    }
                }
            }
        }