Patent ID: 8543748

Claim:
A fieldbus system, comprising: a plurality of fieldbus devices; a controller in communication with the plurality of fieldbus devices through a fieldbus, the controller transmitting a plurality of high priority Receive Process Data Objects (RPDOs) and a plurality of low priority RPDOs to the plurality of fieldbus devices through the fieldbus, the controller including: a control logic for sending each of the plurality of fieldbus devices one of the plurality of high priority RPDOs during a frame, the frame being the fastest rate at which the plurality of high priority RPDOs are transmitted; a control logic for sending at least one of the plurality of fieldbus devices at least one of the plurality of low priority RPDOs, the plurality of low priority RPDOs being transmitted after a minimum wait time; a control logic for defining at least one low priority thread, the at least one low priority thread being the plurality of low priority RPDOs that share the same minimum wait time; a control logic for preventing the at least one low priority thread from being sent more than once during a frame; and a control logic for allowing each of the at least one low priority threads to complete at least once during a superframe, each of the at least one low priority threads completing at least once during the superframe; wherein the superframe is defined as a number of frames needed to allow for each of the at least one low priority threads to complete at least once; wherein the number of frames in the superframe is based on a number of the plurality of fieldbus devices with the plurality of low priority RPDOs that share the same minimum wait time, a frame rate in ms, the minimum wait time of the plurality of low priority RPDOs in ms, and a number of different minimum wait times between each of the plurality of fieldbus devices; and wherein the number of frames in the superframe is calculated by the following formula: n s = { [ L ⁢ ⁢ C ⁢ ⁢ M ⁡ ( p frame p MinWait ⁢ ⁢ 1 , d MinWait ⁢ ⁢ 1 ) / p Frame p MinWait ⁢ ⁢ 1 ] , … ⁢ , [ L ⁢ ⁢ C ⁢ ⁢ M ⁡ ( p frame p MinWait i , d MinWait i ) / p Frame p MinWait i ] } wherein n s is the number of frames in the superframe, d MinWait is the number of the plurality of fieldbus devices with the plurality of low priority RPDOs that share the same minimum wait time, p frame is the frame rate in ms, p MinWait is the minimum wait time of the plurality of low priority RPDOs in ms, i is the number of different minimum wait times between each of the plurality of fieldbus devices, and a least common multiple LCM is of p frame divided by p MinWait , and p frame divided by d MinWait .