- 浏览: 383053 次
- 来自: www.pgp.org.cn
文章分类
最新评论
-
I_am_a_System:
尼玛的。严重鄙视!!!!!!!!!!!!!!!!!!!!!!! ...
java处理PNG图像(转载WikiMedia) -
iamaj2eeprogrammer:
你好,有问题要请教你。
发现GDCA USBKey(电子钥匙)的CSP数字签名实现存在缺陷 -
yingjinsheng:
标题和内容严重不符,麻烦你拷贝人家的东西,把标题也拷贝过来好 ...
java处理PNG图像(转载WikiMedia) -
510372845:
我还是不大明白,请问一下:我用的是tomcat,怎么样Impo ...
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found -
chris_zcl:
你在做日记吗?不能写的详细点啊
PHP与CAS做SSO
<!----> 1 <!----> SAML<o:p></o:p>
<!----> 2 <!----> From Wikipedia, the free encyclopedia<o:p></o:p>
Jump to: navigation, search<o:p></o:p>
Security Assertion Markup Language (SAML) is an XML standard for exchanging authentication and authorization data between security domains, that is, between an identity provider and a service provider. SAML is a product of the OASIS Security Services Technical Committee.<o:p></o:p>
The single most important problem that SAML is trying to solve is the web single sign-on (SSO) problem. SSO solutions at the intranet level abound (using cookies, e.g.) but extending these solutions beyond the intranet has been problematic and has led to the proliferation of proprietary technologies that do not interoperate. SAML has become the definitive standard underlying many web SSO solutions in the identity management problem space.<o:p></o:p>
SAML assumes the principal (often a user) has enrolled with at least one identity provider. This identity provider is expected to provide local authentication services to the principal. However, SAML does not specify the implementation of these local services; indeed, SAML does not care how local authentication services are implemented (although individual service providers most certainly will).<o:p></o:p>
<!----> 3 <!----> Contents<o:p></o:p>
|
<o:p>
</o:p>
<!----> 4 <!----> SAML 1.0<o:p></o:p>
SAML 1.0 was adopted as an OASIS standard in Nov 2002. SAML has undergone one minor and one major revision since V1.0, which itself is a relatively simple protocol. SAML 1.0 is not just historical interest since the US Federal E-Authentication Initiative has adopted SAML 1.0 as its core technology.<o:p></o:p>
Fortunately, versions 1.0 and 1.1 of SAML are similar. See #SAMLDiff for specific differences between the two standards. This article concentrates on SAML 1.1 since it is the definitive standard on which most other standards and implementations depend.<o:p></o:p>
SAML 2.0 was approved in March 2005. SAM2.0 conformance SAML 1.1 and <st1:city w:st="on"><st1:place w:st="on">Liberty</st1:place></st1:city> alliance.<o:p></o:p>
<!----> 5 <!----> SAML 1.1<o:p></o:p>
SAML 1.1 was ratified as an OASIS standard in Sep 2003. The critical aspects of SAML 1.1 are covered in detail in the official documents #SAMLConform, #SAMLCore, and #SAMLBind. If you are new to SAML, you should probably read #SAMLOverview first.<o:p></o:p>
<!----> 6 <!----> SAML 1.1 Assertions<o:p></o:p>
SAML assertions are usually transferred from identity providers to service providers. Assertions contain statements that service providers use to make access control decisions. Three types of statements are provided by SAML:<o:p></o:p>
- Authentication statements <o:p> </o:p>
- Attribute statements <o:p> </o:p>
- Authorization decision statements <o:p> </o:p>
Authentication statements assert to the service provider that the principal did indeed authenticate with the identity provider at a particular time using a particular method of authentication. Other information about the principal may be disclosed in an authentication statement. For example, in the authentication statement below, the e-mail address of the principal is disclosed to the service provider:<o:p></o:p>
<saml:Assertion<o:p></o:p>
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"<o:p></o:p>
MajorVersion="1" MinorVersion="1"<o:p></o:p>
AssertionID="..."<o:p></o:p>
Issuer="https://idp.org/saml/"<o:p></o:p>
IssueInstant="<st1:chsdate year="2002" month="6" day="19" islunardate="False" isrocdate="False" w:st="on">2002-06-19</st1:chsdate>T17:05:37.795Z"><o:p></o:p>
<saml:Conditions <o:p></o:p>
NotBefore="<st1:chsdate year="2002" month="6" day="19" islunardate="False" isrocdate="False" w:st="on">2002-06-19</st1:chsdate>T17:00:37.795Z"<o:p></o:p>
NotOnOrAfter="<st1:chsdate year="2002" month="6" day="19" islunardate="False" isrocdate="False" w:st="on">2002-06-19</st1:chsdate>T17:10:37.795Z"/><o:p></o:p>
<saml:AuthenticationStatement<o:p></o:p>
AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password"<o:p></o:p>
AuthenticationInstant="<st1:chsdate year="2002" month="6" day="19" islunardate="False" isrocdate="False" w:st="on">2002-06-19</st1:chsdate>T17:05:17.706Z"><o:p></o:p>
<saml:Subject><o:p></o:p>
<saml:NameIdentifier<o:p></o:p>
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"><o:p></o:p>
user@mail.idp.org <o:p> </o:p>
</saml:NameIdentifier><o:p></o:p>
<saml:SubjectConfirmation><o:p></o:p>
<saml:ConfirmationMethod><o:p></o:p>
urn:oasis:names:tc:SAML:1.0:cm:artifact<o:p></o:p>
</saml:ConfirmationMethod><o:p></o:p>
</saml:SubjectConfirmation><o:p></o:p>
</saml:Subject><o:p></o:p>
</saml:AuthenticationStatement><o:p></o:p>
</saml:Assertion><o:p></o:p>
An e-mail address (as in the above example) will suffice in a large number of situations. In some cases, however, additional information is needed before a service provider can make an access control decision. As an example, suppose that students are allowed to access scholarships data. An attribute statement can indicate whether or not the principal has an affiliation of "student", which the service provider uses to allow or deny access (resp.) to the scholarships application:<o:p></o:p>
<saml:Assertion <o:p></o:p>
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"<o:p></o:p>
MajorVersion="1" MinorVersion="1"<o:p></o:p>
Issuer="https://idp.edu/saml/" ...><o:p></o:p>
<saml:Conditions NotBefore="..." NotAfter="..."/><o:p></o:p>
<saml:AuthenticationStatement<o:p></o:p>
AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:X509-PKI"<o:p></o:p>
AuthenticationInstant="..."><o:p></o:p>
<saml:Subject>...</saml:Subject><o:p></o:p>
</saml:AuthenticationStatement><o:p></o:p>
<saml:AttributeStatement><o:p></o:p>
<saml:Subject>...</saml:Subject><o:p></o:p>
<saml:Attribute <o:p></o:p>
AttributeName="urn:mace:dir:attribute-def:eduPersonScopedAffiliation"<o:p></o:p>
AttributeNamespace="urn:mace:shibboleth:1.0:attributeNamespace:uri"><o:p></o:p>
<saml:AttributeValue Scope="idp.edu"><o:p></o:p>
member<o:p></o:p>
</saml:AttributeValue><o:p></o:p>
<saml:AttributeValue Scope="idp.edu"><o:p></o:p>
student<o:p></o:p>
</saml:AttributeValue><o:p></o:p>
</saml:Attribute><o:p></o:p>
</saml:AttributeStatement><o:p></o:p>
</saml:Assertion><o:p></o:p>
Attributes are often obtained from an LDAP directory, so consistent representations of attributes across security domains is crucial.<o:p></o:p>
In the above example showing how a student might obtain access to a scholarships application, the service provider is functioning as both a policy enforcement point and a policy decision point. In some situations, it may be preferable to associate the policy decision point with the identity provider. In this case, the service provider passes a URI to the identity provider who asserts an authorization decision statement that dictates whether or not the principal should be allowed access to the secured resource at the given URI.<o:p></o:p>
<saml:Assertion <o:p></o:p>
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"<o:p></o:p>
MajorVersion="1" MinorVersion="1"<o:p></o:p>
Issuer="https://idp.org/saml/" ...><o:p></o:p>
<saml:Conditions .../><o:p></o:p>
<saml:AuthorizationDecisionStatement<o:p></o:p>
Decision="Permit"<o:p></o:p>
Resource="https://sp.org/confidential_report.html"><o:p></o:p>
<saml:Action>read</saml:Action><o:p></o:p>
<saml:Subject>...</saml:Subject><o:p></o:p>
</saml:AuthorizationDecisionStatement><o:p></o:p>
</saml:Assertion><o:p></o:p>
The three statement types are not mutually exclusive. For example, both authentication statements and attribute statements may be included in a single assertion (as shown above). This precludes the need to make subsequent round trips between the service provider and identity provider.<o:p></o:p>
<!----> 7 <!----> SAML 1.1 Protocol<o:p></o:p>
The SAML protocol is a simple request-response protocol. A SAML requester sends a SAML Request element to a responder:<o:p></o:p>
<samlp:Request <o:p></o:p>
xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" <o:p></o:p>
MajorVersion="1" MinorVersion="1" <o:p></o:p>
RequestID="..." <o:p></o:p>
IssueInstant="..."><o:p></o:p>
<!-- insert other SAML elements here --><o:p></o:p>
</samlp:Request><o:p></o:p>
Similarly, a SAML responder returns a SAML Response element to the requester:<o:p></o:p>
<samlp:Response<o:p></o:p>
xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol"<o:p></o:p>
MajorVersion="1" MinorVersion="1"<o:p></o:p>
ResponseID="..."<o:p></o:p>
InResponseTo="..."<o:p></o:p>
IssueInstant="..."><o:p></o:p>
<!-- insert other SAML elements here, including assertions --><o:p></o:p>
</samlp:Response><o:p></o:p>
The bindings and profiles needed to affect this message exchange are detailed in the following sections.<o:p></o:p>
<!----> 8 <!----> SAML 1.1 Bindings<o:p></o:p>
SAML 1.1 defines just one binding, the SAML SOAP binding. A compatible SAML 1.1 implementation must implement SAML over SOAP over HTTP (asynchronous protocol). Other transport mechanisms are permitted provided the protocol-independent aspects of the SAML SOAP binding are observed (see section <st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on">3.1.2</st1:chsdate> of #SAMLBind).<o:p></o:p>
The SAML 1.1 SOAP binding is built on top of version 1.1 of SOAP (the numbering is purely coincidental). A SAML requester wraps a SAML Request element within the body of a SOAP message. Similarly, a SAML responder returns a SAML Response element within the body of a returned SOAP message. If there is an error, the responder returns a SOAP fault code instead.<o:p></o:p>
Any SAML markup must be included in the SOAP body. SAML 1.1 does not define any SAML-specific SOAP headers. A requester is free to insert any SOAP headers it wishes (although none are required).<o:p></o:p>
Recall that in SOAP 1.1, a SOAPAction HTTP header must be included with each HTTP request (although its value may be empty). A SAML requester may give the following value to the SOAPAction header:<o:p></o:p>
SOAPAction: http://www.oasis-open.org/committees/security<o:p></o:p>
A SAML responder must not depend on this value, however.<o:p></o:p>
A secure connection is not required for SAML requests and responses, but in those situations where message integrity and confidentiality are required, HTTP over SSL 3.0 or TLS 1.0 with a server-side certificate is required.<o:p></o:p>
A SAML responder may return a "403 Forbidden" response when it refuses to respond to a SAML requester. A responder must return a "500 Internal Server Error" response in the event of a SOAP error (a SOAP fault element must be included as well). Otherwise, a "200 OK" response is returned, even in the presence of a SAML processing error. Such a response will include a SAML Status element in the SOAP body.<o:p></o:p>
<!----> 9 <!----> SAML 1.1 Profiles<o:p></o:p>
In general, profiles describe the HTTP exchanges required to ultimately transfer assertions from an identity provider to a service provider. SAML 1.1 specifies two browser-based, single sign-on profiles:<o:p></o:p>
- Browser/Artifact Profile<o:p></o:p>
- Browser/POST Profile<o:p></o:p>
These profiles support cross-domain single sign-on (SSO). The specification does not define any additional profiles. In particular, SAML 1.1 does not support a profile to secure a web service message nor does it support a single logout profile.<o:p></o:p>
Both SAML 1.1 profiles begin at the inter-site transfer service, which is managed by the identity provider. How the principal arrives at the transfer service in the first place is not dictated by the specification. See sections 4.1 and 4.2 of #SAMLOverview for possible scenarios. In practice, a client accessing a secured resource at a service provider will be redirected to the inter-site transfer service at the identity provider. Note, however, that the precise sequence of steps needed to accomplish this is not outlined by SAML 1.1. (See section 4.3 of #SAMLOverview for some rough ideas along these lines.) This issue is thoroughly addressed in SAML 2.0.<o:p></o:p>
After visiting the inter-site transfer service, the principal is transferred to the assertion consumer service at the service provider. Exactly how the principal is transferred from the inter-site transfer service to the assertion consumer service depends on the profile used. In the case of the Browser/Artifact Profile, a redirect is used; in the case of the Browser/POST Profile, the client issues a POST request (with or without user intervention).<o:p></o:p>
To expedite processing by the assertion consumer service, two separate URLs are specified:<o:p></o:p>
- Artifact Receiver URL (Browser/Artifact Profile)<o:p></o:p>
- Assertion Consumer URL (Browser/POST Profile)<o:p></o:p>
These and other URLs may be recorded in a SAML metadata archive.<o:p></o:p>
Note that a conforming SAML 1.1 identity provider must provide an inter-site transfer service. Similarly, a SAML 1.1 service provider must provide an assertion consumer service.<o:p></o:p>
SAML 1.1 Browser/Artifact Profile<o:p></o:p>
The Browser/Artifact Profile employs a "pull" mechanism. The profile essentially passes an SSO assertion from the identity provider to the service provider by reference, which is subsequently dereferenced via a back-channel exchange (i.e., the service provider "pulls" the assertion from the identity provider).<o:p></o:p>
The SAML 1.1 Browser/Artifact Profile specifies the following six (6) steps:<o:p></o:p>
1) Request the Inter-site Transfer Service<o:p></o:p>
The principal (user) requests the inter-site transfer service at the identity provider:<o:p></o:p>
https://idp.org/saml/TransferService?TARGET=target<o:p></o:p>
where target is the location of the desired resource at the service provider, say, https://www.sp.org/home. In other words, the following GET request is issued by the client:<o:p></o:p>
GET /saml/TransferService?TARGET=target HTTP/1.1<o:p></o:p>
Host: idp.org<o:p></o:p>
The profile does not specify how the URL to the transfer service (with target parameter) is obtained by the client.<o:p></o:p>
2) Redirect to the Assertion Consumer Service<o:p></o:p>
The principal is redirected to the assertion consumer service at the service provider; that is, the following response is returned to the client:<o:p></o:p>
HTTP/1.1 302 Found<o:p></o:p>
Location: https://sp.org/saml/ACS/Artifact?TARGET=target&SAMLart=artifact<o:p></o:p>
where artifact is a reference to an assertion the identity provider is willing to provide upon request. Important: It is assumed that the principal has already established a security context at the identity provider, otherwise the identity provider would not be able to subsequently assert the authenticity of the principal.<o:p></o:p>
3) Request the Assertion Consumer Service<o:p></o:p>
The client requests the assertion consumer service at the service provider:<o:p></o:p>
https://sp.org/saml/ACS/Artifact?TARGET=target&SAMLart=artifact<o:p></o:p>
where target and artifact are as before. In other words, the following GET request is issued by the client:<o:p></o:p>
GET /saml/ACS/Artifact?TARGET=target&SAMLart=artifact HTTP/1.1<o:p></o:p>
Host: sp.org<o:p></o:p>
4) Request the Artifact Resolution Service<o:p></o:p>
The assertion consumer service at the service provider begins a back-channel exchange with the artifact resolution service at the identity provider. The following SAML SOAP message is bound to an HTTP POST request:<o:p></o:p>
POST /saml/ArtifactResolutionService HTTP/1.1<o:p></o:p>
Host: idp.org<o:p></o:p>
Content-Type: text/xml<o:p></o:p>
Content-Length: nnn<o:p></o:p>
SOAPAction: http://www.oasis-open.org/committees/security
<!---->
<!----><o:p></o:p>
<?xml version="1.0"?><o:p></o:p>
<SOAP-ENV:Envelope<o:p></o:p>
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><o:p></o:p>
<SOAP-ENV:Header/><o:p></o:p>
<SOAP-ENV:Body><o:p></o:p>
<samlp:Request <o:p></o:p>
xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" <o:p></o:p>
MajorVersion="1" MinorVersion="1" <o:p></o:p>
RequestID="_192.168.16.51.1024506224022" <o:p></o:p>
IssueInstant="<st1:chsdate year="2002" month="6" day="19" islunardate="False" isrocdate="False" w:st="on">2002-06-19</st1:chsdate>T17:03:44.022Z"><o:p></o:p>
<samlp:AssertionArtifact><o:p></o:p>
artifact <o:p> </o:p>
</samlp:AssertionArtifact><o:p></o:p>
</samlp:Request><o:p></o:p>
</SOAP-ENV:Body><o:p></o:p>
</SOAP-ENV:Envelope><o:p></o:p>
where artifact was previously sent from the identity provider to the service provider in steps 2 and 3.<o:p></o:p>
5) Respond with a SAML Assertion<o:p></o:p>
The artifact resolution service at the identity provider completes the back-channel exchange by responding with a SAML assertion:<o:p></o:p>
HTTP/1.1 200 OK<o:p></o:p>
Content-Type: text/xml<o:p></o:p>
Content-Length: nnnn
<!---->
<!----><o:p></o:p>
<?xml version="1.0"?><o:p></o:p>
<SOAP-ENV:Envelope<o:p></o:p>
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><o:p></o:p>
<SOAP-ENV:Header/><o:p></o:p>
<SOAP-ENV:Body><o:p></o:p>
<samlp:Response<o:p></o:p>
xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol"<o:p></o:p>
MajorVersion="1" MinorVersion="1"<o:p></o:p>
ResponseID="_P1YaA+Q/wSM/t/8E3R8rNhcpPTM="<o:p></o:p>
InResponseTo="_192.168.16.51.1024506224022"<o:p></o:p>
IssueInstant="<st1:chsdate year="2002" month="6" day="19" islunardate="False" isrocdate="False" w:st="on">2002-06-19</st1:chsdate>T17:05:37.795Z"><o:p></o:p>
<samlp:Status><o:p></o:p>
<samlp:StatusCode Value="samlp:Success"/><o:p></o:p>
</samlp:Status><o:p></o:p>
<!-- insert Assertion element here --> <o:p> </o:p>
</samlp:Response><o:p></o:p>
</SOAP-ENV:Body><o:p></o:p>
</SOAP-ENV:Envelope><o:p></o:p>
where the Assertion element was discussed earlier.<o:p></o:p>
6) Respond to the Principal's Original Request<o:p></o:p>
The assertion consumer service inspects the SAML Response element returned by the artifact resolution service, creates a security context at the service provider and redirects the client to the target resource.<o:p></o:p>
SAML 1.1 Browser/POST Profile<o:p></o:p>
相关推荐
基于模拟退火算法与A*算法融合的送餐机器人多目标点路径规划策略,多目标点路径规划---模拟 火算法+A*算法 送餐机器人多目标点路径规划,室内AGV路径规划。 基于模拟 火算法融合A*算法的移动机器人路径规划 1,从厨房出发,移动到多个目标点,最后返回厨房。 2,采用A*算法规划两点间的距离,然后依据规划路径距离模拟 火算法运算全过程最短距离。 旅行商的室内规划应用 ,多目标点路径规划; 模拟退火算法; A*算法; 送餐机器人; 室内AGV路径规划; 移动机器人路径规划; 厨房出发; 最短距离; 旅行商应用。,基于模拟退火算法与A*算法融合的送餐机器人多目标点路径规划系统
"谐波抑制Matlab Simulink仿真实践:有源无源混合型(PPF、APF)滤波效果对比报告",谐波抑制matlab simulink仿真,包含有源无源混合(ppf、apf,混合型)效果好可参考,有报告,下图为ppf滤波前后对比 ,谐波抑制; MATLAB Simulink仿真; 有源无源混合滤波; PPF与APF混合型; 滤波效果; 报告对比,Matlab Simulink仿真:混合型谐波抑制技术报告
线上一流课程教学辅助系统 免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1jKDjYrEz1 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
沉浸式戏曲文化体验系统 免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1jKDjYrEz1 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
基于Matlab GUI界面的工件尺寸测量系统:数字图像处理技术在机械零件测量中的应用,- 标题:基于Matlab的工件测量系统 - 关键词:matlab GUI界面 工件尺寸测量 圆 长方形 直径 周长 数字图像处理 - 步骤:打开图像 选择标签 灰度化 滤波(中值,均值,高斯) 二值化 边缘检测 尺寸测量 结果绘制在在GUI上 - 简述:使用matlab数字图像处理技术,处理锯片,垫片,螺丝等机械零件的尺寸,只要包含半径(内径和外径),周长,长宽等,并在原图上进行绘制,并展示在界面上。 ,Matlab; GUI界面; 图像处理; 尺寸测量; 圆; 长方形; 半径; 周长; 边缘检测; 机械零件,"基于Matlab GUI界面的工件尺寸测量系统"
FDTD COMSOL技术下的超结构与超表面光吸收与分光滤波模型:一维至三维SPP偏振模型的自研与文献参考,FDTD COMSOL现有MIM超结构模型,超表面超吸收分光滤波SPP模型(一维光栅,二维光栅,三维超表面,偏振模型),介质超表面BIC模型等都是自己做的,文献参考, ,关键词:FDTD;COMSOL;MIM超结构模型;超表面超吸收分光滤波SPP模型;一维光栅;二维光栅;三维超表面;偏振模型;介质超表面BIC模型;文献参考,自研MIM超结构及多类超表面光学模型集
"金豺优化算法在冷热电联供系统优化调度中的应用:基于MATLAB平台的仿真与实证研究",金豺优化算法(2022年)冷热电联优化调度 说明书MATLAB代码:基于金豺优化算法冷热电联优化调度 关键词: 冷热电三联供 金豺优化算法 仿真平台:MATLAB 平台采用金豺优化算法实现求解优势:代码注释详实,适合参考学习,程序非常精品,请仔细辨识 主要内容:代码构建了含冷、热、电负荷的冷热电联供型系统优化调度模型,考虑了各出力源出力成本及环境污染治理成本、分时电价,考虑了光伏、风机、燃气轮机、燃料电池、电制冷机、电锅炉、余热回收以及蓄电池、蓄热装置、蓄冷装置等资源,并且考虑与上级电网的购电,考虑了燃机出力的非线性,实现CCHP系统的经济运行,求解效果极佳,具体可以看图 ,冷热电三联供;金豺优化算法;MATLAB平台;系统优化调度模型;资源利用;经济运行;求解效果极佳;CCHP系统;非线性问题;详实注释。,《基于金豺优化算法的冷热电联供系统MATLAB仿真优化调度说明书》
,永磁同步电机伺服控制仿真三环PI参数自整定 Matlab仿真模型 1.模型简介 模型为永磁同步电机伺服控制仿真,采用 Matlab R2018a Simulink搭建。 模型内主要包含DC直流电压源、三相逆变器、永磁同步电机、采样模块、SVPWM、Clark、Park、Ipark、位置环、速度环、电流环等模块,其中,SVPWM、Clark、Park、Ipark模块采用Matlab funtion编写,其与C语言编程较为接近,容易进行实物移植。 模型均采用离散化仿真,其效果更接近实际数字控制系统。 2.算法简介 伺服控制由位置环、速度环、电流环三环结构构成,其中,电流环采用PI控制,并具有电流环解耦功能;转速环采用抗积分饱和PI控制;位置环采用P+前馈的复合控制,能够更好地跟踪指令信号。 本仿真中最大的亮点是三环PI参数自整定,只需输入正确的电机参数(电阻、电感、转动惯量等参数),无需手动调节PI参数,能够节省调试时间。 3.仿真效果 位置响应波形,如下图所示。 转速响应波形,如下图所示。 转矩电流响应波形,如下图所示。 4. 可提供模型
基于西门子PLC与组态王技术的锅炉控制系统设计与应用,13基于西门子PLC和组态王锅炉控制系统 ,基于西门子PLC; 锅炉控制系统; 组态王; 自动化控制,基于西门子PLC与组态王锅炉控制系统研究
转子动力学与模态分析:临界转速计算与稳定状态下的轴心轨迹分析,圆盘质量不平衡条件下的振动响应及操作视频解析。,转子动力学,模态分析求临界转速,稳定状态下转子轴心轨迹,圆盘质量不平衡条件下振动响应+操作视频。 ,转子动力学;模态分析;临界转速;稳定状态;轴心轨迹;质量不平衡;振动响应;操作视频。,转子动力学分析:模态与振动响应研究视频
一阶直线倒立摆非线性动力学模型的MATLAB Simulink仿真研究:模型推导、S-Function实现与离散PID控制的测试服务,一阶直线倒立摆MATLAB Simulink仿真 (1)模型推导 + 仿真工程 (2)讲解服务 主要保留模型的非线性动力学特性,即不在平衡点做线性化处理; (1)MathType 详细推导二阶非线性微分方程 (2)S-Function 实现非线性连续状态空间模型 (3)测试离散PID控制倒立摆重心变化适应性 #倒立摆 #MATLAB #Simulink #离散控制 #S-Function ,一阶直线倒立摆; MATLAB Simulink 仿真; 模型推导与仿真工程; 非线性动力学特性; MathType 推导; S-Function 实现; 离散PID控制; 重心变化适应性。,一阶直线倒立摆非线性动力学MATLAB Simulink仿真研究
基于AHP-CRITIC组合变权与指标劣化度修正的赋权方法研究,38考虑劣化度APH-CRITIC组合变权 组合变权赋权方法,基于AHP和改进CRITIC计算主客观权重,引入指标劣化度构造变权函数对综合权重进行修正,还方法可以捕捉指标时序的劣化程度,实现数据的有效跟踪,评价更加合理。 可根据需求进行改进。 ,关键词:组合变权赋权方法;AHP;CRITIC;指标劣化度;变权函数;时序劣化程度;数据跟踪;评价合理。,基于AHP-CRITIC组合变权法:综合主客观权重与指标劣化度评价
基于两并联虚拟阻抗下垂控制的微电网有功功率共享技术研究及其应用效果分析——有参考文献支撑,微电网,下垂控制,两并联阻抗下垂控制,实现了有功功率共享,效果好,有参考文献。 ,微电网;下垂控制;两并联虚拟阻抗下垂控制;有功功率共享;参考文献,微电网两并联虚拟阻抗下垂控制技术实现有功共享,效果显著,有参考文献支持。
MATLAB仿真湍流相位屏相位结构函数:功率谱反演法及其低频信息补偿优化研究,MATLAB仿真湍流相位屏相位结构函数 功率谱反演法 补偿低频信息达到与理论更好的拟合程度 ,MATLAB仿真; 湍流相位屏; 相位结构函数; 功率谱反演法; 低频信息补偿; 理论拟合,MATLAB仿真湍流相位屏结构与功率谱反演法优化研究
棋盘设计: 创建一个 15x15 的棋盘,用户可以点击每个格子放置棋子。 棋子颜色: 黑方和白方棋子通过 CSS 样式显示为圆形。 胜利检测: 检查横向、纵向和对角线的五子连珠以判断胜利。 游戏重置: 游戏可以重置,重新开始。 重新开始按钮: 点击后重置游戏状态,清空棋盘。 退出游戏按钮: 点击后弹出确认对话框,确认后尝试关闭窗口。
基于f(x,y,z,t)的高斯烟团模型纯Python代码实现:大气稳定度计算、坐标转换与扩散系数分析,三维浓度叠加值的计算研究,基于f(x,y,z,t)的高斯烟团模型纯Python代码实现(包涵大气稳定度计算、坐标转,扩散系数以及三维坐标系内浓度叠加值) ,核心关键词:f(x,y,z,t)高斯烟团模型; 大气稳定度计算; 坐标转换; 扩散系数; 三维坐标系内浓度叠加值; 纯Python代码实现;,Python实现高斯烟团模型的大气扩散浓度计算代码
基于ADRC的主动悬架控制技术:设计观测器与非线性误差反馈控制器的优化研究,基于ADRC的主动悬架控制: 1.设计观测器 2.非线性误差反馈控制器。 相同参数下,优于pid的调节效果。 并且可查看观测器对比被控对象效果模型绝对正确 参考文献(仅用于学术交流) ,基于ADRC的主动悬架控制; 观测器设计; 非线性误差反馈控制器; 调节效果优于PID; 观测器对比被控对象效果模型绝对正确,基于ADRC的主动悬架:观测器设计与非线性误差反馈控制
matlab实现CNN时序预测完整程序+数据
基于视频分析的地 震检测.pdf
烟花代码编程python满屏。编程实现python代码烟花满屏燃放效果。这是一个用 Python 和 Pygame 实现烟花满屏燃放效果的代码,通过定义 Firework 和 Particle 类,模拟烟花的上升和爆炸过程。烟花从屏幕底部随机位置升起,达到一定高度后爆炸,生成大量彩色粒子向四周扩散。粒子具有随机的速度、颜色和生命周期,随着时间逐渐消失。