ProtoLink developed an I/O Server to exchange data with Ishida statistical weighers located on one or more ARCnet or Ethernet networks.
ProtoLink developed a multithreaded OPC Server to gather data from Ishida statistical weigher models RLC, S, Z, RZ, NZ, M, and R. The server is capable of communicating with the machines over both ARCnet and Ethernet networks.
The application dedicates three threads for each ARCnet board or USB device configured for use. One thread sends messages while a second waits for asynchronous inbound messages and then queues them for processing by a third thread. Unsolicited messages are readily supported using this approach.
The application dedicates a minimum of six threads for each Ethernet channel to be used. One thread is responsible for initialization tasks related to asynchronous sockets communication, including the creation of an I/O Completion Port and at least two worker threads tasked with removing queued messages from the I/O Completion Port. An inactivity timeout detection thread is used to determine those sockets that were once established by the application but are no longer required. Finally, as with ARCnet, Ethernet channels utilize separate threads for sending messages and for processing received messages.
Three additional threads play important roles in the function of the Ishida OPC Server. One handles the user interface and the OPC interface. The second additional thread updates application performance counters which may be viewed using the Performance Monitor application that ships with Windows. The third additional thread processes diagnostic messages queued by other threads and writes them to a file which can be viewed by a separate ProtoLink-developed log viewing application.
The Ishida OPC Server user interface supports run-time switching between the English and French languages. It allows the user to configure communication channels, weighers, poll groups, and polling schedules. Visual feedback is provided in the event that any weighers are improperly configured. The user interface displays communication statistics for all communication channels and statistical weighers. It also shows current OPC item values for all configured weighers.