www.pudn.com > truetime-1.2-compiled.zip > pidcode2.m
function [exectime, data] = pidcode2(seg, data)
switch seg,
case 1,
data.t = ttCurrentTime;
exectime = 0;
case 2,
r = ttAnalogIn(data.rChan); % Read reference
y = ttAnalogIn(data.yChan); % Read process output
data = pidcalc(data, r, y); % Calculate PID action
exectime = 0.002;
case 3,
ttAnalogOut(data.uChan, data.u); % Output control signal
data.t = data.t + data.h;
ttSleepUntil(data.t); % Sleep until next period
exectime = 0;
case 4,
ttSetNextSegment(2); % loop to segment 2
exectime = 0;
end