PLC driver is the main integrating of the PLC Control software. It communicates with the device support module and the serial driver, handles the DirectNet protocol, and provides the information on the PLC status. Each used driver PLC is activated by only one library call. These call arguments are the serial port hardware parameters and the name of the PLC connected to this port. They are used to spawn a PLC driver control task with the references to the proper serial driver and module PLC device support.
The PLC driver has three main components, a PLC Data Server, a State Machine Control Block, and a Data Communication Diagnostic Block. The PLC Data Server receives requests from the corresponding PLC Data Client and directs them to the appropriate serial port control task. The Data Server sends them to the Data Cache Manager, when the data from the PLC is received. DCM puts the data to data cache and finishes the EPICs record processing.
The DirectNet protocol defines a set of rules for dialogs between a PLC and host computer. It needs to provide a lot of services and diagnostic information, such as Data checksum and end of transmission (EOT) flag as well as receipt acknowledges from both sides each transferred data block.