Emerals Spec Template

  • 318 views
Uploaded on

 

More in: Business , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
318
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. BizTalk RFID - Device Deployment Kit Sirit Inc. BizTalk RFID - Device Deployment Kit Sirit Incorporated INfinity 510 Device Deployment Kit Version 1.01 Page 1
  • 2. BizTalk RFID - Device Deployment Kit Sirit Inc. Table of Contents >> 1. Overview......................................................................................................................3 2. BizTalk RFID Support..................................................................................................3 3. Getting Ready for BizTalk RFID..................................................................................4 Serial and Ethernet Port Connection...............................................................................4 Installing Reader Configuration Software........................................................................5 Obtain Reader IP Address..............................................................................................6 View or Change Reader IP Address...............................................................................7 Initial Reader Configuration using the Setup Wizard.......................................................7 Accessing and Configuring the Reader across the Internet..........................................11 View Reader’s Firmware...............................................................................................12 Update Reader’s Firmware...........................................................................................13 Connecting Antennas to the Reader.............................................................................13 Reset Reader to Factory Default...................................................................................14 4. Installing BizTalk RFID.............................................................................................15 5. Adding and Configuring the Device with BizTalk RFID............................................16 Installing the Device Provider........................................................................................16 Problems with Registering the Provider........................................................................19 Problems with Starting the Provider..............................................................................21 Adding the Device.........................................................................................................21 Viewing Tags from the Device (Readers)......................................................................30 Troubleshooting - Viewing Tags from the Device (Readers).........................................31 Printing Tags from the Device (Printers).......................................................................31 Troubleshooting – Printing Tags from the Device (Readers).........................................31 Verifying That Tags Reach a Business Process...........................................................32 Troubleshooting - Verify Tags Reach a Business Process............................................37 Uninstalling the Provider...............................................................................................37 6. Working with Device Properties...............................................................................38 General Properties........................................................................................................38 RF Properties................................................................................................................39 Sources.........................................................................................................................41 Tag Read Properties.....................................................................................................43 Commands Properties..................................................................................................44 Notification Properties...................................................................................................45 Network Properties........................................................................................................46 Authentication Properties..............................................................................................47 Custom Properties........................................................................................................47 Diagnostic Properties....................................................................................................49 Applying the Factory Property Profile............................................................................50 Scenarios......................................................................................................................51 Failed Reader................................................................................................................55 Reboot the Device.........................................................................................................57 7. FAQ............................................................................................................................58 8. Contact Information..................................................................................................66 Version 1.01 Page 2
  • 3. BizTalk RFID - Device Deployment Kit Sirit Inc. 1. Overview Sirit Inc. is a leading provider of Radio Frequency Identification (RFID) technology worldwide. Harnessing the power of Sirit’s enabling-RFID technology, customers are able to more rapidly bring high quality RFID solutions to the market with reduced initial engineering costs. Sirit’s products are built on more than 13 years of RF domain expertise addressing multiple frequencies (LF/HF/UHF), multiple protocols and are compliant with global standards. Sirit’s broad portfolio of products and capabilities are easily customized to address new and traditional RFID market applications including Supply Chain & Logistics, Cashless Payment (including Electronic Tolling), Access Control, Automatic Vehicle Identification, Near Field Communications, Inventory Control & Management, Asset Tracking and Product Authentication. Sirit’s corporate headquarters are located in Toronto, Ontario, Canada with engineering, manufacturing, sales, technical and customer support located in Carrollton, TX, Durham, NC and Knoxville, TN. For more information on Sirit Inc., visit: www.sirit.com 2. BizTalk RFID Support For more information on Sirit’s INfinity 510 reader that supports BizTalk visit: http://www.sirit.com/UserFiles/File/ds_510.pdf INfinity 510 UHF RFID reader, part number IN510WD000-xxx Version 1.01 Page 3
  • 4. BizTalk RFID - Device Deployment Kit Sirit Inc. 3. Getting Ready for BizTalk RFID Serial and Ethernet Port Connection The INfinity 510 is equipped with one DB9 type RS-232 serial port for communication up to 115 Kbaud as well as one RJ-45 type 10/100 BaseT Ethernet connector. If you are using the serial port for reader communication, connect a serial cable from the COM port on your PC to the serial port on the reader. If your are using an Ethernet LAN for reader communication connect an Ethernet cable from your hub to the Ethernet port on the reader. See the following figure for location of the connector. Version 1.01 Page 4
  • 5. BizTalk RFID - Device Deployment Kit Sirit Inc. Installing Reader Configuration Software The INfinity 510 is equipped with a Microsoft Windows PC application called Reader Startup Tool (RST). You can use this application to initially obtain your reader’s IP address and MAC address. 1. To install RST, load your system CD and double-click the Setup.exe file: 2. Press Next> 3. Verify the directory and path where the RST files will be installed. Press Next> 4. Press Next> 5. Press Close when the installation is complete. Version 1.01 Page 5
  • 6. BizTalk RFID - Device Deployment Kit Sirit Inc. Obtain Reader IP Address To obtain your reader’s IP address, open the RST application. 1. From your Windows desktop, select: Start→Programs→Sirit→INfinity510→Reader Startup Tool Readers On Network 2. If this is the first time starting the RST application, you may receive a Windows Security Alert. This warning indicates that the firewall is blocking the RST application. 3. If the warning window is hidden under the RST windows, collapse the RST window. 4. Press Unblock. 5. Press Refresh on the RST. 6. The RST main screen will display any readers connected to the network. 7. Record the IP address of your reader. Version 1.01 Page 6
  • 7. BizTalk RFID - Device Deployment Kit Sirit Inc. View or Change Reader IP Address With RST, you can view or change a reader’s IP address, subnet, and gateway. 1. From the RST main page, press the button. 2. 3. Verify the IP Address, Subnet, and Default Gateway are correct. 4. If Enable DHCP is selected these fields will be locked. 5. If required, change the values and press Save. Initial Reader Configuration using the Setup Wizard To configure a specific reader, perform the following: Reader Setup 1. Select the reader on the main RST page by clicking the button to the left of the reader Mac address. 2. Press the button on the RST window. 3. The INfinity 510 Reader Setup Wizard (RSW) is displayed. Version 1.01 Page 7
  • 8. BizTalk RFID - Device Deployment Kit Sirit Inc. 4. Press Next> and enter the Login (admin) and Password. If this is the first time configuring your reader, enter: readeradmin 5. Select the Region and Sub Region from the pull-downs and press Next>. 6. Select a configuration that most closely resembles your installation and press Next>. Version 1.01 Page 8
  • 9. BizTalk RFID - Device Deployment Kit Sirit Inc. 7. Select the protocol of the tags you will be reading and press Next>. Version 1.01 Page 9
  • 10. BizTalk RFID - Device Deployment Kit Sirit Inc. 8. Select the antennas you will be installing and press Next>. 9. Estimate the number of tags that will be presented to the reader at any one time and press Next>. Version 1.01 Page 10
  • 11. BizTalk RFID - Device Deployment Kit Sirit Inc. 10. Press Finish to complete the initial reader setup. Accessing and Configuring the Reader across the Internet Once you have obtained your reader’s IP address, all further configuration actions are performed by accessing the reader across the internet. The Embedded Reader Configuration Tool (RCT) allows you to access you reader across the internet by entering the reader’s IP address into your web browser. With the RCT, you can fully configure your reader for operation in a variety of applications and environments. With this application, you can perform the following: • Basic Configurations • Advanced Configurations • Check System Status • Access the online Help To access the RCT, select the specific reader on the main RST page and press the button. Version 1.01 Page 11
  • 12. BizTalk RFID - Device Deployment Kit Sirit Inc. View Reader’s Firmware To view the reader’s firmware version, select the Firmware Management option under Advanced Functions. The current firmware version is shown under the Upgrade Firmware heading. Version 1.01 Page 12
  • 13. BizTalk RFID - Device Deployment Kit Sirit Inc. Update Reader’s Firmware Periodically, Sirit updates the INfinity 510 firmware by distributing a firmware update package containing a proprietary *.sam file. To update the firmware on your reader, start the Reader Configuration Tool (RCT) and perform the following: 1. Select the Firmware Management option under Advanced Functions. 2. Press the Browse button and search for the firmware file. 3. Select the file and press the Upgrade Firmware button. Connecting Antennas to the Reader The maximum antenna cable length is 10 meters. Connect the antenna to antenna Port 1. If you are using additional antennas connect them to ports 2-4. If applicable, connect the LBT antenna to the Listen port Cautio The INfinity 510 is equipped with four (4) RF ports. To prevent n: reader damage, active RF ports must be properly terminated with a 50 ohm load or a functional UHF antenna before power up. UHF Readers are factory configured to operate on RF port 1 and port 1 must be properly terminated before power up. Before activating other RF ports, they must also be properly terminated. Always power down the reader before removing an antenna or load from an RF port. The maximum antenna cable length is 10 meters. ATTENTI INfinity 510 antenna ports may be susceptible to damage ON from static discharge or other high voltage. Use proper Electrostatic Discharge (ESD) precautions to avoid static discharge when handling or making connections to the INfinity 510 reader antenna or communication ports. Equipment failure can result if the antenna or communication ports are subjected to ESD. Version 1.01 Page 13
  • 14. BizTalk RFID - Device Deployment Kit Sirit Inc. Reset Reader to Factory Default INfinity 510 reader settings can be customized and saved as a Profile. For example, a reader may be configured to read ISO-C tags in a four-antenna portal configuration. This configuration can then be stored within the reader under a profile name of ISO_C_Portal. You can define multiple profiles and load them as your installation configuration changes. In the event you should need to restore the reader to its factory default profile, you can send a reset command to the reader. To restore a reader to its factory default profile, perform the following: 1. Launch the Reader Configuration Tool (RCT) and select the Command Line option under Advanced Functions. 2. Log in as an administrator (username = admin, password = readeradmin). 3. Enter the following command into the command line and press send. >>> reader.profile.reset_factory_default() Version 1.01 Page 14
  • 15. BizTalk RFID - Device Deployment Kit Sirit Inc. 4. Installing BizTalk RFID After the device is ready and visible from the server that will host BizTalk RFID, the next step is to install BizTalk RFID. Please follow the BizTalk RFID documentation for instructions on how to install BizTalk RFID. Version 1.01 Page 15
  • 16. BizTalk RFID - Device Deployment Kit Sirit Inc. 5. Adding and Configuring the Device with BizTalk RFID Installing the Device Provider To install the Device Provider, perform the following: 1. Execute the INfinity 510 Provider Install program, In510_DSPI_Installer.msi. 2. Press Next> to display the License Agreement Page. Version 1.01 Page 16
  • 17. BizTalk RFID - Device Deployment Kit Sirit Inc. 3. Select Next to display the Confirmation Page. 4. Press Next> to begin the installation. 5. A Progress page will be displayed during the installation process. During Installation, a script file will be launched to register and start the provider and to deploy the test verification processes. Version 1.01 Page 17
  • 18. BizTalk RFID - Device Deployment Kit Sirit Inc. 6. A cmd.exe window will be displayed showing the status of the script. This window will pause upon completion, for review purposes. 7. Press any key to close this window. 8. The installation is complete. 9. Open RFID Manager and select the Device Providers node. 10. The INfinity 510 Provider should be listed with the name In_510_DSPI with a status of Started – OK. Version 1.01 Page 18
  • 19. BizTalk RFID - Device Deployment Kit Sirit Inc. Problems with Registering the Provider If the INfinity 510 Provider is not shown in the RFID Manager, then it has not been registered. The call to RfidClientConsole.exe has failed in registering the provider during installation. Try registering the provider manually using the following steps. 1. Ensure the following files are in the %RFIDDATADIR %ProvidersIn510_DSPIbin directory. • In510_DSPI.dll • RAPID21_510_Net20.DLL %RFIDDATADIR% is an environment variable representing the installation directory of the Microsoft BizTalk RFID. The default location is C:Program FilesMicrosoft BizTalk RFID. 2. From RFID Manager, Select the Device Providers node and bring up the context menu. 3. Select New Provider. 4. Enter In510_DSPI for the name of the provider. This name allows the uninstall program to stop the provider, remove any associated devices, and unregister it with RFID Services. 5. Select Browse and navigate to the %RFIDDATADIR %ProvidersIn510_DSPIbin directory. 6. Select the file In510_DSPI.dll. Version 1.01 Page 19
  • 20. BizTalk RFID - Device Deployment Kit Sirit Inc. 7. Press Register to register the provider with RFID Services. 8. If the register completed successfully, the following screen is displayed. Version 1.01 Page 20
  • 21. BizTalk RFID - Device Deployment Kit Sirit Inc. 9. The Provider Properties are displayed. There is only one provider property supported, Continuous discovery. This tells the provider to automatically discover any INfinity 510 readers that are out on the network. 10. Ensure the Start the provider checkbox is checked and select OK. For further troubleshooting, open the .LOG files in the %RFIDDATADIR %ProvidersIn510_DSPI directory to diagnose potential problems. %RFIDDATADIR% is an environment variable representing the installation directory of the Microsoft BizTalk RFID. The default location for this is C:Program FilesMicrosoft BizTalk RFID. Problems with Starting the Provider If the provider is registered, but not started, the call to RfidClientConsole.exe has failed in starting the provider during installation. Try starting the provider manually through the RFID Manager. 1. Select the Device Providers node and then select the In510_DSPI Provider from the list. 2. Bring up the context menu and select Start. For further troubleshooting, open the .LOG files in the %RFIDDATADIR %ProvidersIn510_DSPI directory to diagnose potential problems. %RFIDDATADIR% is an environment variable representing the installation directory of the Microsoft BizTalk RFID. The default location for this is C:Program FilesMicrosoft BizTalk RFID. Adding the Device By default, the INfinity 510 Provider will automatically add any readers on the network when it is started. This behavior may be altered by changing the Continuous Discovery Property on the Runtime Page of the Provider Properties. Before adding devices, ensure the provider has been registered with RFID Services. Automatically adding Devices 1. Select the Device Providers node and then select the In510_DSPI Provider from the list. 2. Bring up the context menu and select Properties. Version 1.01 Page 21
  • 22. BizTalk RFID - Device Deployment Kit Sirit Inc. 3. Select the Runtime Properties and ensure that the Continuous discovery property is set to True. 4. Start the provider to bring up the context menu for the In510_DSPI Provider and select Start. 5. Select the Devices node and any readers on the network should start to appear in the list. The devices will come up with a status of Disabled – Unconfigured. Version 1.01 Page 22
  • 23. BizTalk RFID - Device Deployment Kit Sirit Inc. 6. To enable a device, select it in the list and bring up the context menu. 7. Select Enable. 8. The Device Configure Dialog will be displayed. Enter the User name and Password to login to the reader. It is recommended that you login into the INfinity 510 reader with admin authority since some properties can not be modified unless the reader is in admin mode. This user name and password will be used when opening a connection to the reader through RFID Services. 9. Once the device is enabled, it status will be changed to Closed. 10. The device is now ready to be bound to a process or be used in an application. Version 1.01 Page 23
  • 24. BizTalk RFID - Device Deployment Kit Sirit Inc. Manually adding Devices To manually add devices, perform the following: 1. Select the Devices Node in RFID Manager and bring up the context menu. 2. Select New Device, this will launch the Add Device Wizard. 3. Select whether to add a single device or multiple devices and press Next>. Version 1.01 Page 24
  • 25. BizTalk RFID - Device Deployment Kit Sirit Inc. 4. Select In510_DSPI as the provider and press Next>. 5. The INfinity 510 Provider only supported a TCP connection type, so there is only one option for Connect using. Version 1.01 Page 25
  • 26. BizTalk RFID - Device Deployment Kit Sirit Inc. 6. Enter the IP Address of the reader and set the port to 50007. If any other port number is entered, the provider will not be able to connect to the reader. 7. Press Next>. 8. Devices may be grouped within groups in the Device Groups node. 9. Press New Group. 10. Enter a group name of INfinity 510 11. Enter a description and press OK. Version 1.01 Page 26
  • 27. BizTalk RFID - Device Deployment Kit Sirit Inc. 12. Select the newly formed group in the list and press Next>. 13. Enter the User name and Password to login to the reader. It is recommended that you login into the INfinity 510 reader with admin authority since some properties can not be modified unless in admin mode. This user name and password will be used when opening a connection to the reader through RFID Services. 14. Press Next>. Version 1.01 Page 27
  • 28. BizTalk RFID - Device Deployment Kit Sirit Inc. 15. The general reader properties are displayed. At this point, the Name, Description, and Location can be changed, if required. You can also applying a device property template to the device. 16. Press Next>. 17. The device has been successfully added and a group called INfinity 510 is added to the Device Groups. If needed, refresh view to see changes. Version 1.01 Page 28
  • 29. BizTalk RFID - Device Deployment Kit Sirit Inc. 18. Select the INfinity 510 node and the device will be listed. 19. The Device will also be listed in the Device node. It should have a status of Closed in that the Add Device Wizard enables the device for use. 20. If an error occurred while adding the device through the wizard, Please follow these steps if they cannot add the device successfully: 21. On the Unsuccessful page of the Add Device Wizard, click the View Error button to display the exact error message encountered by BizTalk RFID, when connecting to the device. 22. Ensure that the device is connected to the network. 23. Ensure that the IP address and Port information is correct. Version 1.01 Page 29
  • 30. BizTalk RFID - Device Deployment Kit Sirit Inc. Viewing Tags from the Device (Readers) To view tags from the device, perform the following: 1. Place tags within one of the detected Antenna’s range. 2. Select the Devices Node and then select the device from the list. 3. Bring up the context menu and Select View Tags. 4. The View Tags dialog should display the tags with the reader’s field. This executes a synchronous command to the device to read any tags currently within the reader’s field. 5. If tags are not displayed in the View Tags dialog, a dialog box displays the error. Version 1.01 Page 30
  • 31. BizTalk RFID - Device Deployment Kit Sirit Inc. Troubleshooting - Viewing Tags from the Device (Readers) If tags are not displayed in the View Tags dialog, the following are likely causes: • The device is offline or did not successfully connect to BizTalk RFID. • The device has not been enabled. • There is a name conflict with the device. • The device is not reporting tags that are constantly in its view. Move the tags away from the field of the reader for some time and bring it back to the view of the reader. • The air protocol configured on the reader does not match the type of the tag. For example, the tag is an ISOB tag and the reader is configured for reading ISOC tags. Check this in the Source panel in the Device Properties dialog box. • There are no tags within the reader’s field. • For further troubleshooting, open the .LOG files in the %RFIDDATADIR %ProvidersIn510_DSPI directory to diagnose potential problems. %RFIDDATADIR% is an environment variable representing the installation directory of the Microsoft BizTalk RFID. The default location for this is C:Program FilesMicrosoft BizTalk RFID. Printing Tags from the Device (Printers) The INfinity 510 does not support tag printing. Troubleshooting – Printing Tags from the Device (Readers) The INfinity 510 does not support tag printing. Version 1.01 Page 31
  • 32. BizTalk RFID - Device Deployment Kit Sirit Inc. Verifying That Tags Reach a Business Process As part of the INfinity 510 Provider install program, a test verification process is deployed. The process name is In510_EventHandlerTest and it should be listed under the Processes node with a status of Started. To verify that tags reach this test process, perform the following steps: 1. Select the Devices node and select the reader to use for testing. 2. Bring up the context menu and select Rename. 3. Rename the device to TestReader. 4. Expand the Processes node. There should be a child node called In510_EventHandlerTest listed. 5. Select this child node. Then choose the Browse tab. Version 1.01 Page 32
  • 33. BizTalk RFID - Device Deployment Kit Sirit Inc. 6. Select In510_Logical under Main Process Source->Device Bindings. 7. Bring up the context menu and select Bind. 8. Check the checkbox next to TestReader. Version 1.01 Page 33
  • 34. BizTalk RFID - Device Deployment Kit Sirit Inc. 9. Press OK to bind the reader to the In510_EventHandlerTest process. 10. If binding was successful, there should be a little green check over the device icon in front of TestReader. Now the process is ready for tag events from the reader. If there is a red x over the device icon, there is a problem with the device. See Troubleshooting – Viewing Tags from the Device. Version 1.01 Page 34
  • 35. BizTalk RFID - Device Deployment Kit Sirit Inc. 11. Place some tags within the reader’s field range. 12. Wait a few seconds and then remove the tags from the reader’s field range. 13. Back in RFID Manager Select the Overview tab and press the Refresh button. The Tags Read: field should be updated with the number of tags read. It may be more than the actual number of tags, due to duplicate reads. 14. Scroll down to fully display the Recent Tags Summary. There should be at least one tag listed. 15. At the bottom of this page, there is a View Tags Link. Press this link to display a dialog of the viewed tags. Version 1.01 Page 35
  • 36. BizTalk RFID - Device Deployment Kit Sirit Inc. 16. Open the processes log file, called In510_EventHandlerTest.log. This file should be in the %RFIDDATADIR%ProcessesIn510_EventHandlerTest directory. %RFIDDATADIR% is an environment variable representing the installation directory of the Microsoft BizTalk RFID. The default location for this is C:Program FilesMicrosoft BizTalk RFID. This log file should have a TagReadEvent and a TagDepartEvent for each tag read. The following is an example of the lines that should be in the log file. 4| Info|082907 12:19:32|TagReadEvent: tagID - 0000000000000000000006D9, antenna - Antenna-1|[In510_EventHandler] 17| Info|082907 12:19:33|TagReadEvent: tagID - 0000000000000000000006DA, antenna - Antenna-1|[In510_EventHandler] 17| Info|082907 12:19:34|TagReadEvent: tagID - EF04557744332211, antenna - Antenna-1|[In510_EventHandler] 4| Info|082907 12:19:44|TagDepartEvent: tagID - 0000000000000000000006DA, antenna - Antenna-1|[In510_EventHandler] 17| Info|082907 12:19:44|TagDepartEvent: tagID - 0000000000000000000006D9, antenna - Antenna-1|[In510_EventHandler] 17| Info|082907 12:19:44|TagDepartEvent: tagID - EF04557744332211, antenna - Antenna-1|[In510_EventHandler] Version 1.01 Page 36
  • 37. BizTalk RFID - Device Deployment Kit Sirit Inc. Troubleshooting - Verify Tags Reach a Business Process If tags are not displayed in the View Tags Dialog, the following are likely causes: • The event mode on the device is not enabled. • There is no binding from the logical device to the physical device. Use the Bind Wiard to fix this. • Refer to Troubleshooting – Viewing Tags from the Device Uninstalling the Provider To uninstall the provider, perform the following: 1. Bring up the Control Panel on the local machine 2. Launch the Add or Remove Programs window 3. Select Provider for INfinity 510 and press the Remove Button. 4. The uninstall will stop the provider if it is running, remove any devices using that provider, unregister the provider with RFID Services, and then remove the files from the system. Version 1.01 Page 37
  • 38. BizTalk RFID - Device Deployment Kit Sirit Inc. 6. Working with Device Properties General Properties • Name – User defined name for the reader. The value for the name is assigned by the RFID Server as the provider name, In510_DSPI plus a number, whether the device is found through auto discovery or added through the RFID Manager. This value may not match the name defined on the user, as it appears the RFID Manager does not display the value returned from the reader when getting the General:Name Property. Though the value on the reader may be set through the RFID Manager. This property is not valid for any of the sources, only the device. • Vendor – Specifies the vendor of the Reader. This property is read-only and has a constant value of Sirit for the INfinity 510. • Firmware version – Current version of the firmware running on the reader. This property is read-only. • Location – Assigned location of the reader. This property is only valid for the device. • Device ID – This is a unique identifier for the reader. This value is the serial number of the reader. This property is read-only. Version 1.01 Page 38
  • 39. BizTalk RFID - Device Deployment Kit Sirit Inc. • Time – This is the current time retrieved from the reader. This property has read/write access, but needs to have a specific syntax. The format for the time property is “YYYY-MM-DDTHH:mm:SS.sss”, where • YYYY – Four Digit Year • MM – Two Digit Month of the Year, 00-12 • DD – Two Digit Day of the Month • HH – Two Digit Hour of the Day, using 00-23 • mm – Two Digit Minute of the Hour, using 00-59 • SS – Two Digit Second of the Minute, using 00-59 • sss – Three Digit Milliseconds The INfinity 510 does assumes the time is local. • NTP Server – Server address to synchronize reader time with network time. Multiple server addresses may be entered separated by a space. • Regulatory Region – Configures the reader for a specific geographic region. The valid regions are: australia, brazil, china, etsi, fcc, hongkong, india, japan, korea, malaysia, newzealand, singapore, and thailand. Also readers are shipped from the factory only supporting specific regions, so a reader may only support a sub-set of these values. • Description – Description of the reader. This property is not valid for any sources, only on the device. RF Properties • Air Protocols – List of tag protocols supported by reader. The INfinity 510 currently supports only two protocols, “ISOB” and “EPC 1 Gen 2”, Version 1.01 Page 39
  • 40. BizTalk RFID - Device Deployment Kit Sirit Inc. which is represented by the “isoc” on the reader. This property is not valid for any sources, only on the device. • RF Mode: This property sets how the reader will operate for reading tags. When in “Continuous”, the INfinity 510 reader will be in autonomous mode. Autonomous mode is when the Reader is continuously attempting to singulate tags and automatically reports any singulated tag via an asynchronous event notification on the event channel. In this mode, the reader will generate a TagReadEvent when a tag arrives into range of the antenna and the VenderDefinedEvent, “Tag Depart Event” when a tag leaves the range of the antenna. When in “Polled”, the reader will be placed in Standyby mode. Standby mode is when the reader is basically not generating any tag events. Though the GetTags command will still work to get a snapshot of what is within range of the reader. • Session ID – This is not supported for the INfinity 510. • Operation Environment – This is the sub-region that the reader is currently configured for. The valid sub-regions are: australia, australia_dense, brazil_band_1, brazil_band_2, brazil_band_1_dense, brazil_band_2_dense, china, china_dense, en300220, en302208, en302208_no_lbt, en302208_dense, fcc_a, fcc_b, fcc_c, fcc_dense, hongkong_band_1, hongkong_band_2, hongkong_band_1_dense, hongkong_band_2_dense, india, india_dense, japan, japan_dense, korea_mode_1, korea_mode_3, korea_mode_1_dense, korea_mode_3_dense, malaysia malaysia_dense, newzealand, newzealand_dense, singapore_band_1, singapore_band_2, singapore_band_1_dense, singapore_band_2_dense, thailand, and thailand_dense. The sub-region is dependent on the Regulatory Region specified. For example, the sub-regions fcc_a, fcc_b, fcc_c, and fcc_dense are only valid for the Regulatory region fcc. Also readers are shipped from the factory only supporting specific sub-regions and regions, so a reader may only support a sub-set of these values. • Duty Cycle – This is not supported for the INfinity 510. Version 1.01 Page 40
  • 41. BizTalk RFID - Device Deployment Kit Sirit Inc. Sources Input Ports The INfinity 510 has four Input ports. These sources are named sequentially “IO-In1” – “IO-In4”, with the number at the end representing the port number. This naming scheme is required by the provider, and if the name for a source is changed, the provider will not work correctly for that source. Port Input Value – Current value of a given Input Port. Property is read-only and is only valid on Input Sources. The value returned will be as a byte array having only one byte length. That one byte will either be a 0 (Input is low) or a 1 (Input is high). By default all Input IO Ports are set to 1 (Input is high) If the value of an Input IO Port has changed, an IOPortValueChangedEvent will be generated for the given Input IO Source. Output Ports The INfinity 510 has four Output ports. These sources are named sequentially “IO-Out1” – “IO-Out4”, with the number at the end representing the port number. This naming scheme is required by the provider, and if the name for a source is changed, the provider will not work correctly for that source. Port Output Value – This property may used to get/set the value for an Output IO Source. This property is only valid on Output IO Sources. The value returned will be as a byte array having only one byte. That one byte will either be a 0 (off) or a 1 (on). By default all Output IO Ports are set to 0 (off). When setting an Ouput IO Value, the value given needs to be a byte array having only one byte. This one byte needs to be either a 0 (off) or 1 (on). If the array is more than one byte, only the first byte is used. If the value of an Output IO Port has changed, an IOPortValueChangedEvent will be generated for the given Output IO Source. Version 1.01 Page 41
  • 42. BizTalk RFID - Device Deployment Kit Sirit Inc. Antennas The INfinity 510 may use up to four Antennas. These sources are named sequentially “Antenna-1” – “Antenna-4”, with the number at the end representing the antenna number. This naming scheme is required by the provider, and if the name for a source is changed, the provider will not work correctly for that source. When a connection to a device is opened, the provider will only return a resource for an Antenna, if it is detected by the reader. In the example above, the reader has only one Antenna connected to antenna port one. Many Antenna source properties are not supported on the INfinity 510. Though the RFID Manager will allow information to be added and edited for sources, applying the changes will have not affect and will not be saved. • System Enabled – This property specifies if the antenna source is enabled by the system (reader). This property is read-only and is always set to “True”. • User Enabled – This property specifies if the antenna source is enabled by the user. This property is read-only and is always set to “False”. • Source Frequency – This property is not supported for the INfinity 510. • Effective Range – This property is not supported for the INfinity 510. • Noise Level (%) – This property is not supported for the INfinity 510. • Noise Threshold (%) – This property is not supported for the INfinity 510. • Power Level (%) – This property is not supported for the INfinity 510. Version 1.01 Page 42
  • 43. BizTalk RFID - Device Deployment Kit Sirit Inc. Antenna Sequence If there is more than one Antenna source, the provider supports changing the antenna sequence during tag calls. This is the only Antenna Source property which may be changed through the RFID Manager. Tag Read Properties • Duplicate Elimination Time – Controls when reader considers tag to have departed. If tag is not observed for this time, the reader decides the tag has departed and generates a VenderDefinedEvent, Tag Depart Event. • RSSI Cutoff – This property is not supported for the INfinity 510. Version 1.01 Page 43
  • 44. BizTalk RFID - Device Deployment Kit Sirit Inc. Commands Properties • Request timeout – This property is not supported for the INfinity 510. The synchronous command response time is controlled by setting the Action- >Connection Parameters for Devices in the RFID Manager. The Command response timeout and the Connection check time need to match. Otherwise, the lesser of the two is used as the timeout value. The reason for this is that if the Connection check time is less, it will query the reader to see if it is still alive after the given time has expired. Since the reader is in the middle of a synchronous command, it is unable to answer, so the check fails. The RFID Services will then close the connection causing the synchronous command to fail. Version 1.01 Page 44
  • 45. BizTalk RFID - Device Deployment Kit Sirit Inc. Notification Properties • Enable event mode – This will enable/disable event generation in the provider for the given device. • Notification host and Notification Port – These properties are not supported for the INfinity 510. Notification events will be sent to the host which has an open connection to the reader on port 50008 whenever “Event Mode” is on. • Tag Data Selector – This property allows the selection of what information is returned on a TagReadEvent. The INfinity 510 currently supports all the information selections listed. The System.IO.SensorServices.rfid.Client.TagDataSelector class is used to set and get this property. Version 1.01 Page 45
  • 46. BizTalk RFID - Device Deployment Kit Sirit Inc. Network Properties • Obtain IP address dynamically via DHCP – This property enables/disables DHCP on the reader. When setting this property to false, and IP address and subnet-mask need to be specified. If setting to true, no other information needs to be given. • IP address – This is the current IP Address of the reader. This value may only be changed if DHCP is not enabled. This property needs to be in a valid IP Address format. • Subnet mask – This is the current subnet mask being used by the reader. This value may only be changed if DHCP is not enabled. This property needs to be in a valid IP Address format. • Connection Type – This is how the provider communicates with the reader. Currently only the TCP connection is supported. This property is read-only. • IP or Name – This is the IP Address or host name of the reader. A host name only applies if using a DNS Server or a hosts file. • Port – This is the TCP/IP port used to communicate with the reader. This property is read-only and has a constant value of 50007. Version 1.01 Page 46
  • 47. BizTalk RFID - Device Deployment Kit Sirit Inc. Authentication Properties When enabling a device through RFID Manager, a User name and Password need to be specified. This view will display the User Name entered there. Though the provider does not support changing the password for the given user name. Custom Properties Version 1.01 Page 47
  • 48. BizTalk RFID - Device Deployment Kit Sirit Inc. Custom properties are VendorDefined Properties for the device or properties that are not displayed on the other property pages. Either a device or an Antenna Source may have custom properties. This Provider does not supply any custom properties for an Antenna Source. • Install Type – Configuration that most closely matches the reader installation. The valid configurations are listed below. • Portal – Reader is optimized for acquiring a loarge number of tags as they move quickly past multiple antennas. • Conveyor Belt – Reader is optimized for extremely fast reading of single tags typically with multiple antennas. • Point Of Sale – Reader is optimized for extremely fast reading of very small number of tags typically with single antenna • Label Applicator – Reader is optimized for reading/writing single tag with single antenna. • Preferred Frequencies – List of the preferred frequencies (in kHz) that the reader should use. It is valid only when the Regulatory Region is set to etsi. Frequencies are separated by a space. • Tag Volume – Estimate of the number of tags presented to the reader at any one time. The valid options are 1, 1-4, 4-8, 8-16, 16-32, 32-64, 64-128, 128-256, 256-512, and 512-1024. • Command Port – This is the port number used to open a command connection with a reader. This property is read-only and has a constant value of 50007. • Default Gateway – This is default gateway used by the reader. This value may only be changed if DHCP is not enabled. This property needs to be in a valid IP Address format. • DNS Server – This contains the domain name server addresses on the network for domain name resolution. Multiple server addresses may be entered separated by a space. • Supported Transport Types – This property lists the transport types supported by the reader. Currently the provider only supports TCP for a connection type. This property is read-only and has a constant value of a string array with one item having the value “TCP”. • Depart TagData Selector – This property allows the selection of what information is returned on a VenderDefinedEvent, Tag Depart Event. The INfinity 510 currently supports all the information selections listed for the Notification:Depart Tag Data Selector. The System.IO.SensorServices.rfid.Client.TagDataSelector class is used to set and get this property. Version 1.01 Page 48
  • 49. BizTalk RFID - Device Deployment Kit Sirit Inc. Diagnostic Properties The provider supports 8 diagnostic properties these are basically counters on when a given command has been executed successfully or failed. The counters are incremented by the provider when a given command is executed. These properties are read-only and are valid for the device only. The counters are not stored between connections and are set to 0 whenever a connection to the device is opened. Diagnostics information can not be displayed in RFID Manager, because it performs the call on a Source which the provider does not support. • Read Count – Number of tag reads that were successful during the currently open connection. This counter is used for GetTagData Command. • Failed Read Count – Number of tag reads that failed during the currently open connection. This counter is used for GetTagData Command. • Kill Count – Number of tag kills that were successful during the currently open connection. This counter is used for KillTag Command. • Failed Kill Count – Number of tag kills that failed during the currently open connection. This counter is used for KillTag Command. • Lock Count – Number of tag locks that were successful during the currently open connection. This counter is used for LockTag Command. • Lock Count – Number of tag locks that failed during the currently open connection. This counter is used for LockTag Command. • Write Count – Number of tag writes that were successful during the currently open connection. This counter is used for both the WriteID and WriteTagData Commands. • Failed Write Count – Number of tag writes that failed during the currently open connection. This counter is used for both the WriteID and WriteTagData Commands. Version 1.01 Page 49
  • 50. BizTalk RFID - Device Deployment Kit Sirit Inc. Applying the Factory Property Profile The INfinity 510 Provider Deployment Kit comes with an XML file named FactoryPropertyProfile.xml which contains the factory default properties. This file should be in the %RFIDDATADIR%ProvidersIn510_DSPI directory. %RFIDDATADIR% is an environment variable representing the installation directory of the Microsoft BizTalk RFID. The default location for this is C:Program FilesMicrosoft BizTalk RFID. To apply these properties to a given INfinity 510 device, perform the following: 1. Select the Devices node in the RFID Manager. 2. Select the device and bring up the context menu. 3. Press Apply Template. This will bring up the Apply Properties Dialog. 4. Press Browse and navigate to the XML File in the directory structure. 5. Select the file FactoryPropretyProfile.xml. 6. In the Apply Properties dialog, press Load. 7. Select the properties to apply to the device and press Start. Version 1.01 Page 50
  • 51. BizTalk RFID - Device Deployment Kit Sirit Inc. Scenarios Portal Reader with Four Antennas – Basic Verification To setup a reader for portal operation with four antennas, first verify the TestRead Device Properties 1. Verify the General Properties. 2. Verify the Air Protocols. Version 1.01 Page 51
  • 52. BizTalk RFID - Device Deployment Kit Sirit Inc. Air Protocols:This is the list of tag protocols supported by the reader and which ones the reader is currently configured for. The INfinity 510 currently supports only two protocols, “ISOB” and “EPC 1 Gen 2”, which is represented by the “isoc” on the reader. For this scenario, the reader will only read “EPC 1 Gen 2” tags. RF Mode: The reader is in autonomous mode. Autonomous mode is when the Reader is continuously attempting to singulate tags and automatically reports any singulated tag via an asynchronous event notification on the event channel. In this mode, the reader will generate a TagReadEvent when a tag arrives into range of the antenna and the VenderDefinedEvent, “Tag Depart Event” when a tag leaves the range of the antenna. 3. There should be four Antennas listed in the Sources Properties dialog. If the reader detects an antenna, it is automatically enabled. The INfinity 510 does not support the setting of individual properties on an Antenna basis. 4. Ensure that the Enable Event Mode is checked on the Notification Properties. Version 1.01 Page 52
  • 53. BizTalk RFID - Device Deployment Kit Sirit Inc. 5. Start the In510_EventHandlerTest Process. 6. Select the Processes node in RFID Manager. 7. Select the In510_EventHandlerTest process. 8. Bring up the context menu and select Start. 9. Bind the TestReader Device to the In510_EventHandlerTest Process. 10. Move a pallet with tags through the portal, ensuring that the tags are read successfully from at least one antenna. 11. The Tags Read field should show the number of tags captured Version 1.01 Page 53
  • 54. BizTalk RFID - Device Deployment Kit Sirit Inc. 12. Stop the In510_EventHandlerTest Process. 13. Select the Processes node in RFID Manager. 14. Select the In510_EventHandlerTest process. 15. Bring up the context menu and select Stop. 16. Place a pallet in from of each antenna in turn. 17. Select the Device node in the RFID Manager. 18. Select the TestReader device. 19. Bring up the context menu and select View Tags. 20. Ensure that each antenna can view tags. Version 1.01 Page 54
  • 55. BizTalk RFID - Device Deployment Kit Sirit Inc. Failed Reader 1. Disconnect the network cable from the device. 2. The status for the device in RFID Manager has changed to Retrying. 3. Place some tags within the reader’s field range. 4. Select the device in the list and bring up the View Tags Dialog. This should show an error. Version 1.01 Page 55
  • 56. BizTalk RFID - Device Deployment Kit Sirit Inc. 5. Reconnect the network cable, and the status of the device to change to either Open, if bound to a started process or Closed. 6. Select the device in the list and bring up the View Tags Dialog. This should now show tags being read. 7. If the time between disconnection and reconnection of the device exceeded 10 minutes, the device has to be enabled again. Version 1.01 Page 56
  • 57. BizTalk RFID - Device Deployment Kit Sirit Inc. Reboot the Device 1. Select the Devices node and select the desired device in the list. 2. Bring up the context menu and select Reboot. 3. A prompt will be displayed asking if you want to reboot the device. 4. Press Yes. A progress message box will be displayed during the rebooting of the device. The INfinity 510 takes about 10 to 15 seconds to reboot. When the reboot starts, the Red Fault light will illuminate. When rebooting is done the following message box is displayed. 5. Press Close. There should be no need to enable the device again. Version 1.01 Page 57
  • 58. BizTalk RFID - Device Deployment Kit Sirit Inc. 7. FAQ What Vendor Defined Commands does the provider support? The INfinity 510 Provider does not support Vendor Defined Commands. What Custom Properties does the provider support? The provider supports the following Custom properties. General:Install Type – Configuration that most closely matches the reader installation. The valid configurations are listed below. • Portal – Reader is optimized for acquiring a loarge number of tags as they move quickly past multiple antennas. • Converyor Belt – Reader is optimized for extremely fast reading of single tags typically with multiple antennas. • Point Of Sale – Reader is optimized for extremely fast reading of very small number of tags typically with single antenna • Label Applicator – Reader is optimized for reading/writing single tag with single antenna. General:Preferred Frequencies – List of the preferred frequencies (in kHz) that the reader should use. It is valid only when the Regulatory Region is set to etsi. Frequencies are separated by a space. General:Tag Volume – Estimate of the number of tags presented to the reader at any one time. The valid options are 1, 1-4, 4-8, 8-16, 16-32, 32-64, 64-128, 128-256, 256-512, and 512-1024. Notification:DepartTagDataSelector – Allows the selection of information returned on a VenderDefinedEvent, Tag Depart Event. Can not be modified through RFID Manager since RFID Manager can not display. It may be modified using System.IO.SensorServices.Rfid.Client.TagDataSelector class to set and get it. The INfinity 510 currently supports all the information selections listed for the Notification:Tag Data Selector. The code snippet below is an example of how to set this property so that the event returns the tag ID and tag Protocol . using(DeviceConnection connection = new DeviceConnection(DeviceName)) { connection.Open(); TagDataSelector tds = new TagDataSelector(); tds.IsID = true; tds.IsType = true; connection.SetProperty(StandardDevicePropertyGroups.Notification, “DepartTagDataSelect or”, true); connection.Close(); } Version 1.01 Page 58
  • 59. BizTalk RFID - Device Deployment Kit Sirit Inc. What Vendor Defined Notification Events does provider support? Currently only Tag Depart Event is supported,. When this event occurrs, the provider will call the DeviceNotificationEvent listener with a Microsoft.SensorServices.Rfid.VendorDefinedEvent instance. This instance will have the name TagDepart. The Microsoft.SensorServices.Rfid.Management.EventType of the instance will have a value of (int.MaxValue / 2) + 100 and a description of Tag Depart Event. The System.IO.SensorServices.Rfid.Client.VendorSpecificInformation of the instance has only one item, Microsoft.SensorServices.Rfid.TagReadEvent, containing the tag information of the event. To access this TagReadEvent, use the string key tag. The following is a code snippet from the In510_EventHandler component for handling this event /// <summary> /// Handle Vendor Defined Event Notifications ///</summary> /// <param name=”vendorEvent”>The VendorDefinedEvent Instance</param> /// <returns>The VendorDefinedEvent Instance to be handled by another component, if there is /// one</returns> [RfidEventHandlerMethod] public VendorDefinedEvent ProcessVendorDefinedEvent(VendorDefinedEvent vendorEvent) { TagReadEvent tre; Object tt; If(vendorEvent.VendorSpecificData.TryGetValue(“tag”, out tt)) { tre = (TagReadEvent)tt: string logMessage = String.Format(“TagDepartEvent: tagID – {0}, antenna – {1}”, HexUtilities.HexEnc ode(tre.GetId()), tre.Source); LogMessage(logMessage, Level.Info); } Return vendorEvent: } Version 1.01 Page 59
  • 60. BizTalk RFID - Device Deployment Kit Sirit Inc. What synchronous commands are supported by the provider? The provider supports the following synchronous commands: • ApplyPropertyProfileCommand • GetCurrentPropertyProfileCommand • GetDefaultPropertyProfileCommand • GetDiagnosticsCommand • GetPropertyCommand • GetReadFilterCommand • GetTagDataCommand • GetTagsCommand • KillCommand • LockTagCommand • ResetConfigurationToFactorySettingsCommand • SetPropertyCommand • SetReadFilterCommand • UnlockTagCommand • UpgradeFirmwareCommand • WriteIdCommand • WriteTagDataCommand What capabilites does this device support? The provider supports the following capabilities: • ProviderCapability.TcpTransport • ProviderCapability.Discovery • ProviderCapability.TriggeredDiscovery The physical device proxy supports the following capabilities: • DeviceCapability.ApplyPropertyProfile • DeviceCapability.AutoDiscovery • DeviceCapability.CommunicationErrorEvent • DeviceCapability.FirmwareUpgrade • DeviceCapability.GetCurrentPropertyProfile • DeviceCapability.GetDefaultPropertyProfile • DeviceCapability.GetDeviceDiagnostics Version 1.01 Page 60
  • 61. BizTalk RFID - Device Deployment Kit Sirit Inc. • DeviceCapability.GetProperty • DeviceCapability.GetReadFilter • DeviceCapability.GetTagData • DeviceCapability.GetTags • DeviceCapability.IOPortValueChangedEvent • DeviceCapability.KillTag • DeviceCapability.LockTag • DeviceCapability.Reboot • DeviceCapability.ResetConfigurationToFactorySettings • DeviceCapability.SetProperty • DeviceCapability.SetReadFilter • DeviceCapability.SourceDownEvent • DeviceCapability.TagReadNotification • DeviceCapability.VendorDefinedNotificationEvents • DeviceCapability.WriteAccessCode • DeviceCapability.WriteId • DeviceCapability.WriteKillCode • DeviceCapability.WriteTagData How many sources does this device have and what are there names? The INfinity 510 has four Input IO ports. These sources are named sequentially “IO-In1” – “IO-In4”, with the number at the end representing the port number. This naming scheme is required by the provider, and if the name for a source is changed, the provider will not work correctly for that source. The INfinity 510 has four Output IO ports. These sources are named sequentially “IO-Out1” – “IO-Out4”, with the number at the end representing the port number. This naming scheme is required by the provider, and if the name for a source is changed, the provider will not work correctly for that source. The INfinity 510 may use up to four Antennas. These sources are named sequentially “Antenna-1” – “Antenna-4”, with the number at the end representing the antenna number. This naming scheme is required by the provider, and if the name for a source is changed, the provider will not work correctly for that source. When a connection to a device is opened, the provider will only return a resource for an Antenna, if it is detected by the reader. Version 1.01 Page 61
  • 62. BizTalk RFID - Device Deployment Kit Sirit Inc. How many devices can connect to a host computer using this provider? The provider does not have a specific limit. The limits are what the TCP Connection protocol can support for the host computer. How are read filters set on the device? The INfinity 510 supports up to 8 filters for tag reads. These filters are only applied to the tag id. Currently there is no support to filter on User Data. Each filter on the INfinity 510 has 5 basic parts. • Name • Enabled Flag • Pattern • Mask • Inclusive Flag The Name is a simple string provided to document the filter. This is set by the provider to the specific name of “ReaderFilter<n>”, where <n> is the filter number. The Enabled Flag specifies if the filter is enabled. Setting of the Enabled Flag is handled by the reader in the SetReadFilterCommand. The Pattern is a bit-wise field specified as a string of hex characters. The hex characters specify the desired bit values to filter. The Mask is a bit-wise field specified as a string of hex characters. The hex characters specify the bit positions where the value is important for filtering, by setting them to ‘1’. The Inclusive Flag specifies whether this filter is an inclusive, the tag is reported if it matches, or exclusive, the tag is not reported if it matches. When multiple filters are used, the tag is reported only if the following two conditions hold: • The tag matches at least one of the inclusive filters • The tag does not match any of the exclusive filters The Inclusive Filters are ORed, The Exclusive Filters are ANDed, and there is an AND operator between Inclusive Filters and Exclusive Filters. Version 1.01 Page 62
  • 63. BizTalk RFID - Device Deployment Kit Sirit Inc. To set the read filters in an application, perform the following: 1. Create the following instance: System.IO.SensorServices.Rfid.Client.ByteArrayValueComparisonPattern. 2. This class will hold the Pattern and the Mask filter parts listed above. The following code show how to construct this class ByteArrayValueComparisonPattern barcp = new ByteArrayValueComparisonPattern( HexUtilites.HexDecode(pattern), HexUtilities.HexDecode(mask), 0); 3. Construct the System.IO.SensorServices.Rfid.Client.ReadFilter class wrapper for the above ByteArrayValueComparisonPattern instance. 4. Define a System.IO.SensorServices.Rfid.Client.FilterDataSelector to specify that this filter is only for the tag Id. The last parameter of the ReadFilter constructor is the confusing one. This is a boolean that states whether to invert the match. So it need to be false for an inclusive filter and true for an exclusive filter. Basically it is an exclusive flag, which is set opposite to the Inclusive Flag the INfinity 510 uses. The provider knows how to set the Inclusive Flag properly based on the invert match flag of the ReadFilter. The following code shows how to construct the ReadFilter class for an inclusive filter. FilterDataSelector fds = new FilterDataSeletor() fds.IsId = true; ReadFilter rf = new ReadFilter(barcp, fds, false); The SetReadFilterCommand uses the System.IO.SensorServices.Rfid.Client.FilterExpressionTree to get and set filters. This class can be a wrapper for just one ReadFilter or a set of two ReadFilters joined with either an OR or AND operator. It can be more complicated than that, in that it can also show a ReadFilter joined by an OR ot AND operator to another FilterExpressionTree wrapping two ReadFilters. Hence one can build a filter tree of multiple filters wrapped in one FilterExpressTree. If there is only one ReadFilter, it can be wrapped in a FilterExpressionTree class to be sent down to the provider. With multiple filters, the easiest approach would be to build a filter tree of all the Inclusive filters, ORing them together. Then building a separate filter tree of all the Exclusive filters, ANDing them together. Then make one FilterExpressionTree with both these tree ANDing them together. The following code snippet demostrates this: Version 1.01 Page 63
  • 64. BizTalk RFID - Device Deployment Kit Sirit Inc. Collection<FilterExpressionTree> inclusiveFilters = new Collection<FilterExpressionTree>(); Collection<FilterExpressionTree> exclusiveFilters = new Collection<FilterExpressionTree>(); // Create the ReadFilters and wrap them in a FilterExpressionTree FilterExpressionTree fet = new FilterExpressionTree(rf); // Then add to the correct collection inclusiveFilters.Add(fet); // Continue for remaining filters … // Create the filter tree if(inclusiveFilters.Count + exclusiveFilters.Count == 1) { If(inclusivevFilters.Count == 1) return inclusiveFilters[0]; else return exclusiveFilters[0]; } else { FilterExpressionTree exclusiveTree = null; if(exclusiveFilters.Count == 1) exclusiveTree= exclusiveFilters[0]; else { for(int i = 1; i < exclusiveFilters.Count: i++) { FilterExpressionTree leftTree = exclusiveFilters[i – 1]; FilterExpressionTree rightTree = exclusiveFilters[i]; if(exclusiveTree != null) leftTree = exclusiveTree; exclusiveTree = new FilterExpressionTree(leftTree, rightTree, FilterExpress ionTree.FilterLogicalOperator.And); } } FilterExpressionTree inclusiveTree = null; if(inclusiveFilters.Count == 1) inclusiveTree= inclusiveFilters[0]; else { for(int i = 1; i < inclusiveFilters.Count: i++) { Version 1.01 Page 64
  • 65. BizTalk RFID - Device Deployment Kit Sirit Inc. FilterExpressionTree leftTree = inclusiveFilters[i – 1]; FilterExpressionTree rightTree = inclusiveFilters[i]; if(inclusiveTree != null) leftTree = inclusiveTree; inclusiveTree = new FilterExpressionTree(leftTree, rightTree, FilterExpress ionTree.FilterLogicalOperator.Or); } } FilterExpressTree filter = null; if((exclusiveTree != null) && (inclusiveTree != null)) { filter = new FilterExpressionTree(exclusiveTree, inclusiveTree, FilterExpressTree.FilterLogicalOperator.And); } else if(exclusiveTree != null) filter = exclusiveTree; else filter = inclusiveTree; return filter; } Version 1.01 Page 65
  • 66. BizTalk RFID - Device Deployment Kit Sirit Inc. 8. Contact Information Please provide the support contact, technical contact, and business contact to enable BizTalk RFID customers to get in touch with you. Business Contact: sales@sirit.com 866-338-9586 Support Contact: support@sirit.com 877-492-0101 +1 972-243-7208 Technical Contact: support @sirit.com (NA and APAC) +1 972-243-7208 Technical Contact: support @sirit.com (EMEA) +1 972-243-7208 Version 1.01 Page 66