Professional Documents
Culture Documents
實驗日期:2017/11/23
實驗結果:
驗再次進行
code:
clc
clear
Dev=HudaqDevice('AD622')%呼叫訊號卡
%先設定 mv 值
mv1=2%鹼的 mv 值
mv2=5.5%酸的 mv 值
%AOWrite(Dev,channelOut,mv(i)送出訊號給控制器 mv 值
AOWrite(Dev,1,mv1)%鹼液 pump 轉速
AOWrite(Dev,2,mv2)%酸液 pump 轉速
%設零矩陣預備讓數據放入
PH_data=zeros(1,1000)
mv1_data=zeros(1,1000)
mv2_data=zeros(1,1000)
timepoint_data=zeros(1,1500)
for i=1:1000
timepoint=toc;
if i=500%做變化改變轉速
mv3=4.5%mv1'
AOWrite(Dev,1,mv3)%鹼液 pump 轉速
AOWrite(Dev,2,mv2)%酸液 pump 轉速
PH=AIRead(Dev,1)%讀取偵測器訊號,i 為時間間隔
end
%將每個數據點放入之前創的矩陣空間
PH_data(i)=PH;
mv1_data(i)=mv1;
mv2_data(i)=mv2;
timepoint_data(i)=timepoint;
%開始作圖
if i==1
subplot(211)
py=plot(PH,'.','EraseMode','none','MarkerSize',10);%ph 的圖
hold on
axis([0 1500 5 10]);
xlabel('time');
ylabel('PH');
subplot(212)
pu=plot(mv2,'.','EraseMode','none','MarkerSize',10);%mv 值的圖
xlabel('time');
ylabel('MV value');
axis([0 1500 5 10]);
drawnow
else
set(py,'Xdata',timepoint,'Ylabel',PH);
set(pu,'Xdata',timepoint,'Ylabel',mv2);
drawnow
end
while 1
if(toc-timepoint)>=2;break;end;
end
fprintf('Time:%g pv:%g MV%g\n',timepoint,PH,mv2);
end
xlswrite('openloop',PH_data)
實驗時間:2017/11/27
測試過程:
Code:
clc
clear
Dev=HudaqDevice('AD622')%呼叫訊號卡
%先設定 mv 值
mv1=2%鹼的 mv 值
mv2=5.5%酸的 mv 值
%AOWrite(Dev,channelOut,mv(i)送出訊號給控制器 mv 值
AOWrite(Dev,1,mv1)%鹼液 pump 轉速
AOWrite(Dev,2,mv2)%酸液 pump 轉速
%PH_data(i)=PH;
%設零矩陣預備讓數據放入
PH_data=zeros(1,1000)
mv1_data=zeros(1,1000)
mv2_data=zeros(1,1000)
timepoint_data=zeros(1,60)
tic
for i=1:1000
if i==500%做變化改變轉速
mv1=4.5%
AOWrite(Dev,1,mv1)%鹼液 pump 轉速
end
PH=AIRead(Dev,1)
timepoint=toc;
%將每個數據點放入之前創的矩陣空間
PH_data(i)=PH;
mv1_data(i)=mv1;
mv2_data(i)=mv2;
timepoint_data(i)=timepoint;
%開始作圖
if i==1
subplot(211)
py=plot(PH,'.','EraseMode','none','MarkerSize',10);%ph 的圖
hold on
axis([0 60 5 10]);
xlabel('time');
ylabel('PH');
subplot(212)
pu=plot(mv1,'.','EraseMode','none','MarkerSize',10);%mv 值的圖
xlabel('time');
ylabel('MV value');
axis([0 60 0 10]);
drawnow
else
set(py,'Xdata',timepoint,'Ydata',PH);
set(pu,'Xdata',timepoint,'Xdata',mv2);
drawnow
end
while 1
if(toc-timepoint)>=2;break;end;
end
fprintf('Time:%g pv:%g MV%g\n',timepoint,PH,mv1);
end
AOWrite(Dev,1,mv1)%鹼液 pump 轉速
AOWrite(Dev,2,mv2)%酸液 pump 轉速
xlsFile='openloop.xls'
A = [PH_data;mv1_data;mv2_data;timepoint_data]'
xlswrite('xlsFile',A)
實驗結果
程式碼的部分還是有錯誤
(1) mv 值的圖什麼都沒有顯示
嘗試做修正:
原本
更改後
方塊圖
simulink 圖