导航:首页 > 编程语言 > 自动控制理论的编程语句

自动控制理论的编程语句

发布时间: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代表那个按钮

阅读全文

与自动控制理论的编程语句相关的资料

热点内容
java大学实用教程答案 浏览:670
看电视剧的免费网站下载 浏览:529
直接看的网站懂得都懂 浏览:104
夸克解压在哪个位置 浏览:522
在阿里云上开发远程服务器 浏览:570
有个人叫丧清的电影 浏览:730
androidmysql驱动 浏览:687
偷袭珍珠港国语版全部 浏览:611
美国一个电影叫什么汉 浏览:673
叔嫂外遇电影 浏览:736
露点外国电影 浏览:197
镇江服务器做棋牌游戏怎么样 浏览:855
uni小游戏源码 浏览:116
母乳在线母乳中出 浏览:783
鸿蒙为什么没有安卓彩蛋 浏览:997
可乐老师创意编程 浏览:28
七日杀如何设置专用服务器 浏览:28
主机怎么打开加密文件 浏览:19
重生收母系统小说 浏览:691
韩国电影静华 浏览:415