A method for scheduling a message (310, 312, 314, 316, 318) in a control system comprising: receiving by one or more processors an offset and an interval associated with each of a plurality of virtual links (202, 204, 206, 208); receiving, by the one or more processors, of the control system an absolute count representing a start time; designating, by the one or more processors, a plurality of transmission times for the virtual links (202, 204, 206, 208) as a function of the offset and the interval; receiving, by the one or more processors, a message (310, 312, 314, 316, 318) associated with the virtual links (202, 204, 206, 208) at a first time; characterized in that the method also comprises: receiving, by the one or more processors, a maximum latency; determining, by the one or more processors, a second time, wherein the second time is one of the plurality of transmission times, and wherein no message (310, 312, 314, 316, 318) associated with the virtual link (202, 204, 206, 208) was transmitted on the second time; determining, by the one or more processors, a third time, wherein the third time subtracted from the second time equals the maximum latency; designating, by the one or more processors, the third time as a next transmission time; and transmitting, by the one or more processors, the message (310, 312, 314, 316, 318) at the next transmission time in the plurality of transmission times. receiving by one or more processors an offset and an interval associated with each of a plurality of virtual links (202, 204, 206, 208); receiving, by the one or more processors, of the control system an absolute count representing a start time; designating, by the one or more processors, a plurality of transmission times for the virtual links (202, 204, 206, 208) as a function of the offset and the interval; receiving, by the one or more processors, a message (310, 312, 314, 316, 318) associated with the virtual links (202, 204, 206, 208) at a first time; characterized in that the method also comprises: receiving, by the one or more processors, a maximum latency; determining, by the one or more processors, a second time, wherein the second time is one of the plurality of transmission times, and wherein no message (310, 312, 314, 316, 318) associated with the virtual link (202, 204, 206, 208) was transmitted on the second time; determining, by the one or more processors, a third time, wherein the third time subtracted from the second time equals the maximum latency; designating, by the one or more processors, the third time as a next transmission time; and transmitting, by the one or more processors, the message (310, 312, 314, 316, 318) at the next transmission time in the plurality of transmission times. receiving, by the one or more processors, a maximum latency; determining, by the one or more processors, a second time, wherein the second time is one of the plurality of transmission times, and wherein no message (310, 312, 314, 316, 318) associated with the virtual link (202, 204, 206, 208) was transmitted on the second time; determining, by the one or more processors, a third time, wherein the third time subtracted from the second time equals the maximum latency; designating, by the one or more processors, the third time as a next transmission time; and transmitting, by the one or more processors, the message (310, 312, 314, 316, 318) at the next transmission time in the plurality of transmission times.