導航:首頁 > 編程語言 > 自動控制理論的編程語句

自動控制理論的編程語句

發布時間:2022-08-18 23:37:48

⑴ 我是自動化專業的,應該學什麼編程語言

C 語言和匯編是必須要掌握的,如果有興趣 可以學下高級語言 例如 VB VC java 之類的,以便編寫上位機軟體。

自動化專業是以數學與自動控制理論為主要理論基礎,以電子技術、計算機信息技術、感測器與檢測技術等為主要技術手段,利用各種自動化裝置分析與設計各類控制系統,為人類生產生活服務的一門專業。

專業有四個發展方向,第一個是過程式控制制方向,第二個是嵌入式系統方向,第三個是運動控制、機器人方向,第四個是人工智慧方向。

本專業講求計算機硬體與軟體結合、機械與電子結合、元件與系統結合、運行與製造結合,集控制科學、計算機技術、電子技術、機械工程為一體的綜合性學科專業。它具有"控(制)管(理)結合,強(電)弱(電)並重,軟(件)硬(件)兼施"鮮明的特點,是理、工、文、管多學科交叉的寬口徑工科專業。

⑵ VB編程高手懂自動控制的來拿分!!

暈,這個沒人免費幫你做的,不要太天真,以為網路上有餡餅,學生

⑶ 電腦自動控制 vb編程

添加一個類模塊,設置其Name屬性為clsvolume ,輸入以下代碼

Option Explicit

Private hmem As Long

Const MMSYSERR_NOERROR = 0
Const MAXPNAMELEN = 32
Const MIXER_LONG_NAME_CHARS = 64
Const MIXER_SHORT_NAME_CHARS = 16
Const MIXER_GETLINEINFOF_COMPONENTTYPE = &H3&
Const MIXER_GETCONTROLDETAILSF_VALUE = &H0&
Const MIXER_SETCONTROLDETAILSF_VALUE = &H0&
Const MIXER_GETLINECONTROLSF_ONEBYTYPE = &H2&
Const MIXERLINE_COMPONENTTYPE_DST_FIRST = &H0&
Const MIXERLINE_COMPONENTTYPE_SRC_FIRST = &H1000&
Const MIXERLINE_COMPONENTTYPE_DST_SPEAKERS = _
(MIXERLINE_COMPONENTTYPE_DST_FIRST + 4)
Const MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE = _
(MIXERLINE_COMPONENTTYPE_SRC_FIRST + 3)
Const MIXERLINE_COMPONENTTYPE_SRC_LINE = _
(MIXERLINE_COMPONENTTYPE_SRC_FIRST + 2)
Const MIXERCONTROL_CT_CLASS_FADER = &H50000000
Const MIXERCONTROL_CT_UNITS_UNSIGNED = &H30000
Const MIXERCONTROL_CONTROLTYPE_FADER = _
(MIXERCONTROL_CT_CLASS_FADER Or _
MIXERCONTROL_CT_UNITS_UNSIGNED)
Const MIXERCONTROL_CONTROLTYPE_VOLUME = _
(MIXERCONTROL_CONTROLTYPE_FADER + 1)

Private Type MIXERCONTROLDETAILS
cbStruct As Long
dwControlID As Long
cChannels As Long
item As Long
cbDetails As Long
paDetails As Long
End Type

Private Type MIXERCONTROLDETAILS_UNSIGNED
dwValue As Long
End Type

Private Type MIXERCONTROL
cbStruct As Long
dwControlID As Long
dwControlType As Long
fdwControl As Long
cMultipleItems As Long
szShortName As String * MIXER_SHORT_NAME_CHARS
szName As String * MIXER_LONG_NAME_CHARS
lMinimum As Long
lMaximum As Long
reserved(10) As Long
End Type

Private Type MIXERLINECONTROLS
cbStruct As Long
dwLineID As Long
dwControl As Long
cControls As Long
cbmxctrl As Long
pamxctrl As Long
End Type

Private Type MIXERLINE
cbStruct As Long
dwDestination As Long
dwSource As Long
dwLineID As Long
fdwLine As Long
dwUser As Long
dwComponentType As Long
cChannels As Long
cConnections As Long
cControls As Long
szShortName As String * MIXER_SHORT_NAME_CHARS
szName As String * MIXER_LONG_NAME_CHARS
dwType As Long
dwDeviceID As Long
wMid As Integer
wPid As Integer
vDriverVersion As Long
szPname As String * MAXPNAMELEN
End Type

Private Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, _
ByVal dwBytes As Long) As Long

Private Declare Function GlobalLock Lib "kernel32" (ByVal hmem As Long) As Long

Private Declare Function GlobalFree Lib "kernel32" (ByVal hmem As Long) As Long

Private Declare Sub CopyPtrFromStruct Lib "kernel32" Alias "RtlMoveMemory" _
(ByVal ptr As Long, struct As Any, ByVal cb As Long)

Private Declare Sub CopyStructFromPtr Lib "kernel32" Alias "RtlMoveMemory" _
(struct As Any, ByVal ptr As Long, ByVal cb As Long)

Private Declare Function mixerOpen Lib "winmm.dll" _
(phmx As Long, ByVal uMxId As Long, ByVal dwCallback As Long, _
ByVal dwInstance As Long, ByVal fdwOpen As Long) As Long

Private Declare Function mixerSetControlDetails Lib "winmm.dll" _
(ByVal hmxobj As Long, pmxcd As MIXERCONTROLDETAILS, _
ByVal fdwDetails As Long) As Long

Private Declare Function mixerGetLineInfo Lib "winmm.dll" _
Alias "mixerGetLineInfoA" (ByVal hmxobj As Long, _
pmxl As MIXERLINE, ByVal fdwInfo As Long) As Long

Private Declare Function mixerGetLineControls Lib "winmm.dll" _
Alias "mixerGetLineControlsA" (ByVal hmxobj As Long, _
pmxlc As MIXERLINECONTROLS, ByVal fdwControls As Long) As Long

Private hmixer As Long
Private volCtrl As MIXERCONTROL ' 波形音量
Private micCtrl As MIXERCONTROL ' 麥克風音量

'以下用力保存變數
Private mvarprMicVolume As Long
Private mvarprMicMaxVolume As Long
Private mvarprMicMinVolume As Long
Private mvarprSpeakerVolume As Long
Private mvarprSpeakerMaxVolume As Long
Private mvarprSpeakerMinVolume As Long
Private mvarprMixerErr As Long

Private Function fGetVolumeControl(ByVal hmixer As Long, _
ByVal componentType As Long, ByVal ctrlType As Long, _
ByRef mxc As MIXERCONTROL) As Boolean

' 該函數將控制混音效果
Dim mxlc As MIXERLINECONTROLS
Dim mxl As MIXERLINE
Dim hmem As Long
Dim rc As Long

mxl.cbStruct = Len(mxl)
mxl.dwComponentType = componentType

rc = mixerGetLineInfo(hmixer, mxl, MIXER_GETLINEINFOF_COMPONENTTYPE)
If MMSYSERR_NOERROR = rc Then
With mxlc
.cbStruct = Len(mxlc)
.dwLineID = mxl.dwLineID
.dwControl = ctrlType
.cControls = 1
.cbmxctrl = Len(mxc)
End With
' 指定一個緩沖區
hmem = GlobalAlloc(&H40, Len(mxc))
mxlc.pamxctrl = GlobalLock(hmem)
mxc.cbStruct = Len(mxc)

rc = mixerGetLineControls(hmixer, mxlc, MIXER_GETLINECONTROLSF_ONEBYTYPE)
If MMSYSERR_NOERROR = rc Then
fGetVolumeControl = True
' 在目標結構中加入控制
Call CopyStructFromPtr(mxc, mxlc.pamxctrl, Len(mxc))
Else
fGetVolumeControl = False
End If
Call GlobalFree(hmem)
Exit Function
End If
fGetVolumeControl = False
End Function

Private Function fSetVolumeControl(ByVal hmixer As Long, _
mxc As MIXERCONTROL, ByVal volume As Long) As Boolean
' 該函數設置控制音量的變數
Dim rc As Long
Dim mxcd As MIXERCONTROLDETAILS
Dim vol As MIXERCONTROLDETAILS_UNSIGNED

With mxcd
.item = 0
.dwControlID = mxc.dwControlID
.cbStruct = Len(mxcd)
.cbDetails = Len(vol)
End With

hmem = GlobalAlloc(&H40, Len(vol))
mxcd.paDetails = GlobalLock(hmem)
mxcd.cChannels = 1
vol.dwValue = volume
' 拷貝控制音量的變數到緩沖區
Call CopyPtrFromStruct(mxcd.paDetails, vol, Len(vol))
' 設置控制變數
rc = mixerSetControlDetails(hmixer, mxcd, MIXER_SETCONTROLDETAILSF_VALUE)
Call GlobalFree(hmem)

If MMSYSERR_NOERROR = rc Then
fSetVolumeControl = True
Else
fSetVolumeControl = False
End If
End Function

Public Function meOpenMixer() As Long
Dim rc As Long
Dim bOK As Boolean

rc = mixerOpen(hmixer, 0, 0, 0, 0)
mvarprMixerErr = rc
If MMSYSERR_NOERROR <> rc Then
MsgBox "Could not open the mixer.", vbCritical, "Volume Control"
Exit Function
End If
' 獲取Wave音量控制
bOK = fGetVolumeControl(hmixer, _
MIXERLINE_COMPONENTTYPE_DST_SPEAKERS, _
MIXERCONTROL_CONTROLTYPE_VOLUME, volCtrl)
' 如果函數取得對音量的控制
' 那麼最大、最小音量則和變數lMaximum、lMinimum相符合
If bOK Then
mvarprSpeakerMaxVolume = volCtrl.lMaximum
mvarprSpeakerMinVolume = volCtrl.lMinimum
End If
' 獲取對麥克風音量的控制
bOK = fGetVolumeControl(hmixer, _
MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, _
MIXERCONTROL_CONTROLTYPE_VOLUME, micCtrl)

If bOK Then
mvarprMicMaxVolume = micCtrl.lMaximum
mvarprMicMinVolume = micCtrl.lMinimum
End If
End Function

Public Property Get prMixerErr() As Long
prMixerErr = mvarprMixerErr
End Property

Public Property Get prSpeakerMinVolume() As Long
prSpeakerMinVolume = mvarprSpeakerMinVolume
End Property

Public Property Get prSpeakerMaxVolume() As Long
prSpeakerMaxVolume = mvarprSpeakerMaxVolume
End Property

Public Property Let prSpeakerVolume(ByVal vData As Long)
mvarprSpeakerVolume = vData
Call fSetVolumeControl(hmixer, volCtrl, vData)
End Property

Public Property Get prSpeakerVolume() As Long
prSpeakerVolume = mvarprSpeakerVolume
End Property

Public Property Get prMicMinVolume() As Long
prMicMinVolume = mvarprMicMinVolume
End Property

Public Property Get prMicMaxVolume() As Long
prMicMaxVolume = mvarprMicMaxVolume
End Property

Public Property Let prMicVolume(ByVal vData As Long)
mvarprMicVolume = vData
Call fSetVolumeControl(hmixer, micCtrl, vData)
End Property

Public Property Get prMicVolume() As Long
prMicVolume = mvarprMicVolume
End Property

調用實例

sub form_load()
Set MyVolume = New clsVolume
MyVolume.meOpenMixer
MyVolume.prSpeakerVolume = MyVolume.prSpeakerMaxVolume
end sub

⑷ 自動控制原理的幾條問題

樓主你沒放問題- -

下面含有具體方法 你可以把具體例子刪去 就是緒論 當然也可以不刪

我也是自動化專業的 最近也在課程設計

以往在電廠自動化專業學生進行畢業設計過程中,常常需要進行大量的數學運算。在當今計算機時代,通常的做法是藉助高級語言Basic、Fortran或C語言等編制計算程序,輸入計算機做近似計算。但是這需要熟練的掌握所運用的語法規則與編製程序的相關規定,而且編製程序不容易,費時費力。
目前,比較流行的控制系統模擬軟體是MATLAB。1980年美國的Cleve Moler 博士研製的MATLAB環境(語言)對控制系統的理論及計算機輔助設計技術起到了巨大的推動作用。由於MATLAB的使用極其容易,不要求使用者具備高深的數學與程序語言的知識,不需要使用者深刻了解演算法與編程技巧,且提供了豐富的矩陣處理功能,因此控制理論領域的研究人員很快注意到了這樣的特點。尤其MATLAB應用在電廠自動化專業的畢業設計的計算機模擬上,更體現出它巨大的優越性和簡易性。
使用MATLAB對控制系統進行計算機模擬的主要方法是:以控制系統的傳遞函數為基礎,使用MATLAB的Simulink工具箱對其進行計算機模擬研究。
1.時域分析中性能指標
為了保證電力生產設備的安全經濟運行,在設計電力自動控制系統時,必須給出明確的系統性能指標,即控制系統的穩定性、准確性和快速性指標。通常用這三項技術指標來綜合評價一個系統的控制水平。對於一個穩定的控制系統,定量衡量性能的好壞有以下幾個性能指標:(1)峰值時間tp;(2)調節時間ts;(3)上升時間tr;(4)超調量Mp%。
怎樣確定控制系統的性能指標是控制系統的分析問題;怎樣使自動控制系統的性能指標滿足設計要求是控制系統的設計與改造問題。在以往進行設計時,都需要通過性能指標的定義徒手進行大量、復雜的計算,如今運用MATLAB可以快速、准確的直接根據響應曲線得出性能指標。例如:求如下二階系統的性能指標:

首先用MATLAB在命令窗口編寫如下幾條簡單命令:
num=[3]; %傳遞函數的分子多項式系數矩陣
den=[1 1.5 3]; %傳遞函數的分母多項式系數矩陣
G=tf(num,den); %建立傳遞函數
grid on; %圖形上出現表格
step(G) %繪制單位階躍響應曲線
通過以上命令得到單位階躍響應曲線如圖1,同時在曲線上根據性能指標的定義單擊右鍵,則分別可以得到此系統的性能指標:峰值時間tp=1.22s;調節時間ts=4.84s;上升時間tr=0.878s;超調量Mp%=22.1%。

圖1 二階系統階躍響應及性能指標
2.具有延遲環節的時域分析
在許多實際的電力控制系統中,有不少的過程特性(對象特性)具有較大的延遲,例如多容水箱。對於具有延遲過程的電力控制無法保證系統的控制質量,因此進行設計時必須考慮實際系統存在遲延的問題,不能忽略。所以設計的首要問題是在設計系統中建立遲延環節的數學模型。
在MATLAB環境下建立具有延遲環節的數學模型有兩種方法。
例:試模擬下述具有延遲環節多容水箱的數學模型的單位階躍響應曲線:

方法一:在MATLAB命令窗口中用函數pade(n,T)
num1=1;den1=conv([10,1],[5,1]);g1=tf(num1,den1);
[num2,den2]=pade(1,10);g2=tf(num2,den2);
g12=g1*g2;
step(g12)

圖2 延遲系統階躍響應曲線
方法二:用Simulink模型窗口中的Transport Delay(對輸入信號進行給定的延遲)模塊
首先在Simulink模型窗口中繪制動態結構圖,如圖3所示。

圖3 遲延系統的SIMULINK實現
然後雙擊示波器模塊,從得到的曲線可以看出,與方法一的結果是相同。
3.穩定性判斷的幾種分析方法
穩定性是控制系統能否正常工作的首要條件,所以在進行控制系統的設計時首先判別系統的穩定性。而在自動控制理論的學習過程中,對判別穩定性一般採用勞斯穩定判據的計算來判別。對於高階系統,這樣的方法計算過程繁瑣且復雜。運用MATLAB來判斷穩定性不僅減少了計算量,而且准確。
3.1 用root(G . den{1})命令根據穩定充分必要條件判斷
例:已知單位負反饋系統的開環傳函為:

試判斷該系統的穩定性。
首先在MATLAB命令窗口編寫以下命令:
G1=tf([1 7 24 24],[1 10 35 50 24]);
G=feedback(G1,1);
roots(G .den{1})
得到結果:ans = -5.5616
-2.0000 + 1.4142i
-2.0000 - 1.4142i
-1.4384
由結果根據穩定充要條件:系統閉環特徵根實部均在左半S平面,所以可判斷該系統是穩定的。
3.2 通過繪制系統根軌跡圖判別
首先在MATLAB命令窗口編寫以下命令:
G1=tf([1 7 24 24],[1 10 35 50 24]);
rlocus(G1)

圖4 系統根軌跡圖
由根軌跡曲線可看出:4條根軌跡均在左半平面,所以系統是穩定的。
3.3 通過繪制伯德圖判別
首先在MATLAB命令窗口編寫以下命令:
G1=tf([1 7 24 24],[1 10 35 50 24]);
[Gm Pm wcp wcg]=margin (G1)
由此得到伯德圖形為:

圖5 系統的伯德圖
從曲線可看出幅值裕度無窮大,所示系統是穩定的。
利用以上MATLAB提供判斷穩定性的三種方法,可以看出判斷結果是一致的。
4 結束語
本文主要提供了電力系統自動控制專業畢業設計中經常遇到模擬問題的解決方案,同時還介紹了MATLAB在控制系統模擬中的重要作用。利用MATLAB提供的模塊及簡單命令可方便、快速的對自動控制系統的設計對象進行各種參數計算,及模擬控制系統的響應曲線。由於MATLAB適用范圍廣泛,目前已經成為電力系統計算機輔助分析、設計及模擬研究的主要軟體工具,並且給自動控制專業及電力工作帶來了極大的便利。

⑸ 小區供水多級泵自動控制系統怎麼編程

一般可以買一台液面控制器來控制水塔的水位,在水塔水位低的時候控制器打開水泵加水,當水塔里的水到一定水位晨由於液面控制器的做用就會自動把水泵關閉,以達到控制的目的。

⑹ matlab在自動控制原理中的應用的緒論

下面含有具體方法 你可以把具體例子刪去 就是緒論 當然也可以不刪

我也是自動化專業的 最近也在課程設計

以往在電廠自動化專業學生進行畢業設計過程中,常常需要進行大量的數學運算。在當今計算機時代,通常的做法是藉助高級語言Basic、Fortran或C語言等編制計算程序,輸入計算機做近似計算。但是這需要熟練的掌握所運用的語法規則與編製程序的相關規定,而且編製程序不容易,費時費力。
目前,比較流行的控制系統模擬軟體是MATLAB。1980年美國的Cleve Moler 博士研製的MATLAB環境(語言)對控制系統的理論及計算機輔助設計技術起到了巨大的推動作用。由於MATLAB的使用極其容易,不要求使用者具備高深的數學與程序語言的知識,不需要使用者深刻了解演算法與編程技巧,且提供了豐富的矩陣處理功能,因此控制理論領域的研究人員很快注意到了這樣的特點。尤其MATLAB應用在電廠自動化專業的畢業設計的計算機模擬上,更體現出它巨大的優越性和簡易性。
使用MATLAB對控制系統進行計算機模擬的主要方法是:以控制系統的傳遞函數為基礎,使用MATLAB的Simulink工具箱對其進行計算機模擬研究。
1.時域分析中性能指標
為了保證電力生產設備的安全經濟運行,在設計電力自動控制系統時,必須給出明確的系統性能指標,即控制系統的穩定性、准確性和快速性指標。通常用這三項技術指標來綜合評價一個系統的控制水平。對於一個穩定的控制系統,定量衡量性能的好壞有以下幾個性能指標:(1)峰值時間tp;(2)調節時間ts;(3)上升時間tr;(4)超調量Mp%。
怎樣確定控制系統的性能指標是控制系統的分析問題;怎樣使自動控制系統的性能指標滿足設計要求是控制系統的設計與改造問題。在以往進行設計時,都需要通過性能指標的定義徒手進行大量、復雜的計算,如今運用MATLAB可以快速、准確的直接根據響應曲線得出性能指標。例如:求如下二階系統的性能指標:

首先用MATLAB在命令窗口編寫如下幾條簡單命令:
num=[3]; %傳遞函數的分子多項式系數矩陣
den=[1 1.5 3]; %傳遞函數的分母多項式系數矩陣
G=tf(num,den); %建立傳遞函數
grid on; %圖形上出現表格
step(G) %繪制單位階躍響應曲線
通過以上命令得到單位階躍響應曲線如圖1,同時在曲線上根據性能指標的定義單擊右鍵,則分別可以得到此系統的性能指標:峰值時間tp=1.22s;調節時間ts=4.84s;上升時間tr=0.878s;超調量Mp%=22.1%。

圖1 二階系統階躍響應及性能指標
2.具有延遲環節的時域分析
在許多實際的電力控制系統中,有不少的過程特性(對象特性)具有較大的延遲,例如多容水箱。對於具有延遲過程的電力控制無法保證系統的控制質量,因此進行設計時必須考慮實際系統存在遲延的問題,不能忽略。所以設計的首要問題是在設計系統中建立遲延環節的數學模型。
在MATLAB環境下建立具有延遲環節的數學模型有兩種方法。
例:試模擬下述具有延遲環節多容水箱的數學模型的單位階躍響應曲線:

方法一:在MATLAB命令窗口中用函數pade(n,T)
num1=1;den1=conv([10,1],[5,1]);g1=tf(num1,den1);
[num2,den2]=pade(1,10);g2=tf(num2,den2);
g12=g1*g2;
step(g12)

圖2 延遲系統階躍響應曲線
方法二:用Simulink模型窗口中的Transport Delay(對輸入信號進行給定的延遲)模塊
首先在Simulink模型窗口中繪制動態結構圖,如圖3所示。

圖3 遲延系統的SIMULINK實現
然後雙擊示波器模塊,從得到的曲線可以看出,與方法一的結果是相同。
3.穩定性判斷的幾種分析方法
穩定性是控制系統能否正常工作的首要條件,所以在進行控制系統的設計時首先判別系統的穩定性。而在自動控制理論的學習過程中,對判別穩定性一般採用勞斯穩定判據的計算來判別。對於高階系統,這樣的方法計算過程繁瑣且復雜。運用MATLAB來判斷穩定性不僅減少了計算量,而且准確。
3.1 用root(G . den{1})命令根據穩定充分必要條件判斷
例:已知單位負反饋系統的開環傳函為:

試判斷該系統的穩定性。
首先在MATLAB命令窗口編寫以下命令:
G1=tf([1 7 24 24],[1 10 35 50 24]);
G=feedback(G1,1);
roots(G .den{1})
得到結果:ans = -5.5616
-2.0000 + 1.4142i
-2.0000 - 1.4142i
-1.4384
由結果根據穩定充要條件:系統閉環特徵根實部均在左半S平面,所以可判斷該系統是穩定的。
3.2 通過繪制系統根軌跡圖判別
首先在MATLAB命令窗口編寫以下命令:
G1=tf([1 7 24 24],[1 10 35 50 24]);
rlocus(G1)

圖4 系統根軌跡圖
由根軌跡曲線可看出:4條根軌跡均在左半平面,所以系統是穩定的。
3.3 通過繪制伯德圖判別
首先在MATLAB命令窗口編寫以下命令:
G1=tf([1 7 24 24],[1 10 35 50 24]);
[Gm Pm wcp wcg]=margin (G1)
由此得到伯德圖形為:

圖5 系統的伯德圖
從曲線可看出幅值裕度無窮大,所示系統是穩定的。
利用以上MATLAB提供判斷穩定性的三種方法,可以看出判斷結果是一致的。
4 結束語
本文主要提供了電力系統自動控制專業畢業設計中經常遇到模擬問題的解決方案,同時還介紹了MATLAB在控制系統模擬中的重要作用。利用MATLAB提供的模塊及簡單命令可方便、快速的對自動控制系統的設計對象進行各種參數計算,及模擬控制系統的響應曲線。由於MATLAB適用范圍廣泛,目前已經成為電力系統計算機輔助分析、設計及模擬研究的主要軟體工具,並且給自動控制專業及電力工作帶來了極大的便利。

⑺ PLC有幾種編程語言以及它們的特點, 我至今還是弄不明白

plc的編程語言有以下幾種:1、梯形圖(LD)2、功能塊圖(FBD)3、順序功能圖(SFC)4、結構化文本(ST)5、指令表(IL)語言類型PLC的用戶程序,是設計人員根據控制系統的工藝控制要求,通過PLC編程語言的編制規范,按照實際需要使用的功能來設計的。只要用戶能夠掌握某種標准編程語言,就能夠使用PLC在控制系統中,實現各種自動化控制功能。根據國際電工委員會制定的工業控制編程語言標准(IEC1131-3),PLC有五種標准編程語言:梯形圖語言(LD)、指令表語言(IL)、功能模塊語言(FBD)、順序功能流程圖語言(SFC)、結構文本化語言(ST)。這五標准編程語言,十分簡單易學。梯形圖語言梯形圖語言是PLC程序設計中最常用的編程語言。它是與繼電器線路類似的一種編程語言。由於電氣設計人員對繼電器控制較為熟悉,因此,梯形圖編程語言得到了廣泛的歡迎和應用。梯形圖編程語言的特點是:與電氣操作原理圖相對應,具有直觀性和對應性;與原有繼電器控制相一致,電氣設計人員易於掌握。梯形圖編程語言與原有的繼電器控制的不同點是,梯形圖中的能流不是實際意義的電流,內部的繼電器也不是實際存在的繼電器,應用時,需要與原有繼電器控制的概念區別對待。指令表語言指令表編程語言是與匯編語言類似的一種助記符編程語言,和匯編語言一樣由操作碼和操作數組成。在無計算機的情況下,適合採用PLC手持編程器對用戶程序進行編制。同時,指令表編程語言與梯形圖編程語言圖一一對應,在PLC編程軟體下可以相互轉換。圖3就是與圖2PLC梯形圖對應的指令表。指令表編程語言的特點是:採用助記符來表示操作功能,具有容易記憶,便於掌握;在手持編程器的鍵盤上採用助記符表示,便於操作,可在無計算機的場合進行編程設計;與梯形圖有一一對應關系。其特點與梯形圖語言基本一致。功能模塊圖語言功能模塊圖語言是與數字邏輯電路類似的一種PLC編程語言。採用功能模塊圖的形式來表示模塊所具有的功能,不同的功能模塊有不同的功能。功能模塊圖編程語言的特點:功能模塊圖程序設計語言的特點是:以功能模塊為單位,分析理解控制方案簡單容易;功能模塊是用圖形的形式表達功能,直觀性強,對於具有數字邏輯電路基礎的設計人員很容易掌握的編程;對規模大、控制邏輯關系復雜的控制系統,由於功能模塊圖能夠清楚表達功能關系,使編程調試時間大大減少。順序功能流程圖語言順序功能流程圖語言是為了滿足順序邏輯控制而設計的編程語言。編程時將順序流程動作的過程分成步和轉換條件,根據轉移條件對控制系統的功能流程順序進行分配,一步一步的按照順序動作。每一步代表一個控制功能任務,用方框表示。在方框內含有用於完成相應控制功能任務的梯形圖邏輯。這種編程語言使程序結構清晰,易於閱讀及維護,大大減輕編程的工作量,縮短編程和調試時間。用於系統的規模校大,程序關系較復雜的場合。順序功能流程圖編程語言的特點:以功能為主線,按照功能流程的順序分配,條理清楚,便於對用戶程序理解;避免梯形圖或其他語言不能順序動作的缺陷,同時也避免了用梯形圖語言對順序動作編程時,由於機械互鎖造成用戶程序結構復雜、難以理解的缺陷;用戶程序掃描時間也大大縮短。結構化文本語言結構化文本語言是用結構化的描述文本來描述程序的一種編程語言。它是類似於高級語言的一種編程語言。在大中型的PLC系統中,常採用結構化文本來描述控制系統中各個變數的關系。主要用於其他編程語言較難實現的用戶程序編制。結構化文本編程語言採用計算機的描述方式來描述系統中各種變數之間的各種運算關系,完成所需的功能或操作。大多數PLC製造商採用的結構化文本編程語言與BASIC語言、PASCAL語言或C語言等高級語言相類似,但為了應用方便,在語句的表達方法及語句的種類等方面都進行了簡化。結構化文本編程語言的特點:採用高級語言進行編程,可以完成較復雜的控制運算;需要有一定的計算機高級語言的知識和編程技巧,對工程設計人員要求較高。直觀性和操作性較差。

⑻ 自動控制原理課程設計

「自控原理課程設計」參考設計流程
一、理論分析設計
1、確定原系統數學模型;
當開關S斷開時,求原模擬電路的開環傳遞函數個G(s)。
2、繪制原系統對數頻率特性,確定原系統性能:c、(c);
3、確定校正裝置傳遞函數Gc(s),並驗算設計結果;
設超前校正裝置傳遞函數為:
,rd>1
若校正後系統的截止頻率c=m,原系統在c處的對數幅值為L(c),則:
由此得:

,得時間常數T為:
4、在同一坐標系裡,繪制校正前、後、校正裝置對數頻率特性;
二、Matlab模擬設計(串聯超前校正模擬設計過程)
注意:下述模擬設計過程僅供參考,本設計與此有所不同。
利用Matlab進行模擬設計(校正),就是藉助Matlab相關語句進行上述運算,完成以下任務:①確定校正裝置;②繪制校正前、後、校正裝置對數頻率特性;③確定校正後性能指標。從而達到利用Matlab輔助分析設計的目的。
例:已知單位反饋線性系統開環傳遞函數為:
要求系統在單位斜坡輸入信號作用時,開環截止頻率c≥7.5弧度/秒,相位裕量≥450,幅值裕量h≥10dB,利用Matlab進行串聯超前校正。
1、繪制原系統對數頻率特性,並求原系統幅值穿越頻率wc、相位穿越頻率wj、相位裕量Pm[即(c)]、幅值裕量Gm
num=[20];
den=[1,1,0];
G=tf(num,den);
%求原系統傳遞函數
bode(G);
%繪制原系統對數頻率特性
margin(G);
%求原系統相位裕度、幅值裕度、截止頻率
[Gm,Pm,wj,wc]=margin(G);
grid;
%繪制網格線(該條指令可有可無)
原系統伯德圖如圖1所示,其截止頻率、相位裕量、幅值裕量從圖中可見。另外,在MATLAB
Workspace下,也可得到此值。由於截止頻率和相位裕量都小於要求值,故採用串聯超前校正較為合適。
圖1
校正前系統伯德圖
2、求校正裝置Gc(s)(即Gc)傳遞函數
L=20*log10(20/(7.5*sqrt(7.5^2+1)));
%求原系統在c=7.5處的對數幅值L
rd=10^(-L/10);
%求校正裝置參數rd
wc=7.5;
T=
sqrt(rd)/wc;
%求校正裝置參數T
numc=[T,1];
denc=[T/
rd,1];
Gc=tf(numc,denc);
%求校正裝置傳遞函數Gc
3、求校正後系統傳遞函數G(s)(即Ga)
numa=conv(num,numc);
dena=conv(den,denc);
Ga=tf(numa,dena);
%求校正後系統傳遞函數Ga
4、繪制校正後系統對數頻率特性,並與原系統及校正裝置頻率特性進行比較;
求校正後幅值穿越頻率wc、相位穿越頻率wj、相位裕量Pm、幅值裕量Gm。
bode(Ga);
%繪制校正後系統對數頻率特性
hold
on;
%保留曲線,以便在同一坐標系內繪制其他特性
bode(G,':');
%繪制原系統對數頻率特性
hold
on;
%保留曲線,以便在同一坐標系內繪制其他特性
bode(Gc,'-.');
%繪制校正裝置對數頻率特性
margin(Ga);
%求校正後系統相位裕度、幅值裕度、截止頻率
[Gm,Pm,wj,wc]=margin(Ga);
grid;
%繪制網格線(該條指令可有可無)
校正前、後及校正裝置伯德圖如圖2所示,從圖中可見其:截止頻率wc=7.5;
相位裕量Pm=58.80;幅值裕量Gm=inf
dB(即),校正後各項性能指標均達到要求。
從MATLAB
Workspace空間可知校正裝置參數:rd=8.0508,T=0.37832,校正裝置傳遞函數為

圖2
校正前、後、校正裝置伯德圖
三、Simulink模擬分析(求校正前、後系統單位階躍響應)
注意:下述模擬過程僅供參考,本設計與此有所不同。
線性控制系統校正過程不僅可以利用Matlab語句編程實現,而且也可以利用Matlab-Simulink工具箱構建模擬模型,分析系統校正前、後單位階躍響應特性。
1、原系統單位階躍響應
原系統模擬模型如圖3所示。
圖3
原系統模擬模型
系統運行後,其輸出階躍響應如圖4所示。
圖4
原系統階躍向應曲線
2、校正後系統單位階躍響應
校正後系統模擬模型如圖5所示。
圖5
校正後系統模擬模型
系統運行後,其輸出階躍響應如圖6所示。
圖6
校正後系統階躍向應曲線
3、校正前、後系統單位階躍響應比較
模擬模型如圖7所示。
圖7
校正前、後系統模擬模型
系統運行後,其輸出階躍響應如圖8所示。
圖8
校正前、後系統階躍響應曲線
四、確定有源超前校正網路參數R、C值
有源超前校正裝置如圖9所示。
圖9
有源超前校正網路
當放大器的放大倍數很大時,該網路傳遞函數為:
(1)
其中


,「-」號表示反向輸入端。
該網路具有相位超前特性,當Kc=1時,其對數頻率特性近似於無源超前校正網路的對數頻率特性。
根據前述計算的校正裝置傳遞函數Gc(s),與(1)式比較,即可確定R4、C值,即設計任務書中要求的R、C值。
注意:下述計算僅供參考,本設計與此計算結果不同。
如:由設計任務書得知:R1=100K,R2=R3=50K,顯然

T=R4C
解得R4=3.5K,C=13.3F

⑼ 自動控制PLC編程 入門~求幫助

如圖所示I0.0為開關Q0.0和Q0.1為倆燈

由於不知道你的過一會是多少時間

所以我就這么設定:

按開關燈一亮10秒

燈一滅

過2秒後後燈2亮

燈2亮6秒

燈2滅

系統復位

等待下次按開關

時間都可以修改的!

希望能幫到你

⑽ 自動控制PLC編程~入門求幫助

T0和T1可以通過改變數值來改變燈亮的時間Y000和Y001代表那兩盞燈X0代表那個按鈕

閱讀全文

與自動控制理論的編程語句相關的資料

熱點內容
怎樣打開我的世界mod源碼 瀏覽:934
無極機車app哪裡下載 瀏覽:537
為什麼要把伺服器藏在地底下 瀏覽:676
80後手機店老闆自學編程 瀏覽:9
我的世界怎麼創造伺服器號 瀏覽:289
pdf轉excel表格 瀏覽:270
命令與征服黑屏 瀏覽:144
在哪裡下載翼雲app 瀏覽:848
粉筆app在哪裡看正確率 瀏覽:886
安卓手機電腦投屏怎麼投 瀏覽:525
單片機圖標放大演算法 瀏覽:547
命令方塊隱藏圖標 瀏覽:504
阿牛智投app在哪裡下載 瀏覽:678
上海繪圖app哪裡買 瀏覽:177
華為手機加密復制卡 瀏覽:62
戴爾伺服器如何用idrac做ping測試 瀏覽:854
伺服器中心怎麼做 瀏覽:333
晶元pic16f883加密 瀏覽:734
基岩版我的世界免編程做mod 瀏覽:659
flash如何導出指定文件夾 瀏覽:908