- 浏览: 92830 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
zq_zero:
很好,不过如果改为用字符串数组来存储迭代结果和判断是否重 ...
Oracle自定义聚合函数实现字符串拼接 -
sea0108:
good。。
Oracle自定义聚合函数实现字符串拼接
Tuning the Performance of documentum UCF Content Transfer
- 博客分类:
- documentum
In Documentum applications, the speed at which users can retrieve or add content to the system plays a big part in the overall end user experience. Network latency and bandwidth restrictions, physical architecture and client configuration all have an impact on the time it takes between initiating a content transfer, performing the upload or download, and returning control back to the user.
This document will discuss various tuning options available to achieve the best possible performance for UCF content transfer in your network environment.
Overview of UCF
UCF (Unified Client Facilities) is the EMC Documentum framework for performing content transfer between the client and content servers over HTTP. It provides many features that extend beyond simple file transfer protocol, such as:
*
Content compression to optimize transfers of larger files over the network
*
Support for complex documents, such as XML files
*
Support for compound document types, such as OLE objects inside a Microsoft Office document
*
Awareness of locally downloaded files, and the ability to avoid downloading the same content twice
*
Registry support, to allow checkout from one application and check in from another
*
Recoverability in the case of a brief network interruption
*
Location aware, to allow users to transfer content from the closest ACS or BOCS server
High-Level UCF Operations
When a content transfer is initiated, the UCF client running on the end user machine is initiated if it is not already running. The applet loads the UCF client jars and initiates contact with the UCF server, running on the application server.
The UCF client and server pass information back and forth about the environment and requested action before content is transferred between the two machines. Depending on the architecture and configuration, content may be transferred through the application server, directly to or from an ACS server on the content server, or a BOCS server located near the user.
After the content transfer is complete, there will be some additional communication from server to client to provide instructions on registry entries to be added or modified, directions on how to launch the appropriate application for view or edit operations, or instructions on how to delete the local file on check in.
Optimizing UCF for Best Performance
Tip #1 – Use ACS and BOCS for Content Transfer Whenever Possible
The introduction of ACS and BOCS servers in 5.3 SP1 have allowed content transfer to be performed directly from the content server, rather than requiring that the content always pass through the application server. This not only removes the double-hop that is required (which is very costly for small files) but also reduces the load on the application server.
In the 5.3 timeframe, ACS and BOCS could only be used for download operations such as checkout, export and view. All upload operations still passed through the application server.
From D6 onward, ACS and BOCS servers can also be used for upload operations.
Note that not all applications are network location aware and able to take advantage of remote ACS and BOCS servers.
Tip #2 – Optimize UCF Client Initialization
In 5.3 SP1 through SP5, D6 and D6SP1, the UCF client engine will time out after one minute of inactivity, and the javaw.exe process would be terminated. This means that if a user initiates another content transfer request after the timeout has occurred, the browser must re-initialize the UCF client and restart javaw.exe.
This value can be increased in the ucf.client.config.xml file as follows:
Edit the ucf.client.config.xml file (located at C:\Documents and Settings\\Documentum\ucf\\shared\config\ucf.client.config.xml) and add the following option to extend the UCF Client Timeout.
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
socketBuffer="64000"/>
If you are using 5.3 ACS and BOCS the application server is Tomcat 5.0.28. In versions 5.3 SP1 or SP2, you will need to add the socketBuffer parameter. In 5.3 SP3 through SP6, this parameter should already have been added by the installer.
In 6.5 and beyond, Jboss is the container for ACS and BOCS. In 6.5 SP1, enhancements were added to the embedded Jboss server to enable it to recognize and use the socketBuffer parameter.
BEA Weblogic
If you are using BEA Weblogic as your application server and you are not using ACS, be sure to add the -Dweblogic.ChunkSize parameter. By default, the ChunkSize is 4k which is much too small.
It can be set in the config.xml for the domain:
server1
false
localhost
17001
-Dweblogic.Chunksize=64000
weblogic
{3DES}wmzrpHOymvTy3q8TOeF1qQ==
It can also be defined in the set_domain_env batch file with the other JAVA_PROPERTIES values:
set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% \
-Dwls.home=%WLS_HOME% -Dwli.home=%WLI_HOME% \
-Dweblogic.Chunksize=64000
In D6 and D6 SP1, the application server that hosts ACS and BOCS is BEA Weblogic, and the installer has automatically added those options to the script that starts the embedded Weblogic server (startMethodServer.cmd for example).
IBM Websphere
If you are not using ACS and content is being transferred through WAS, then you may see improvements in content download performance for large files by modifying the ResponseChunkSize configuration parameter in the plugin-cfg.xml.
where N equal the chunk size in kilobytes. The default value is 64 (kilobytes).
Tip #6 – Improve Upload Performance in D6 and Above
In D6, a parameter was added to the ucf.client.config.xml file that allowed the users to specify a chunk size to be used when uploading content.
Internal testing showed that a value of 49152 worked best with ACS on BEA when simulating various WAN conditions. However, in environments where customers are not using ACS write, or whose network conditions are different from that which was tested, this value may not be optimal. Increasing or decreasing the optimal.chunk.size parameter based on your specific network conditions can be beneficial.
49152
Note that this setting is ignored if the client is using Sun Java version 1.6 due to a Java bug (http://bugs.sun.com/bugdatabase/view_bug.do”bug_id=6631048).
Tip #7 – Use Adaptive Parallel Content Transfer to Consume More Available Bandwidth
By default in most versions of UCF, content download operations will be done in a single thread. If sufficient network bandwidth is available, the download operations could perform significantly faster if the file was broken up into smaller pieces and transferred by multiple concurrent threads.
In 5.3 SP6 and D6.5 the UCF client can be configured to use multiple threads when downloading files. This is controlled in the ucf.client.config.xml file using the following parameters:
5
131072
300
131072
The “max.parallel.download.streams” parameter limits the number of threads that can be run concurrently when performing a parallel download. In this example, 5 separate streams could potentially be initialized. If one of the streams finishes their assigned task ahead of the others, it is then free to request a new range of bytes to be downloaded.
The “min.parallel.segment.size” parameter specifies that if the remaining portion of a document after a byte range is assigned is smaller than a specified value, it should not be assigned to a new thread. Rather the original thread’s byte range should be extended to include those additional bytes. For example, if a thread is supposed to download 500Kb of a 600Kb file, as the remaining number of bytes is less than 128k, no new thread will be started and the original thread will assume ownership of those additional bytes.
The “Adaptive” part of parallel content transfer is controlled by the remaining two parameters. As tests have shown that disk I/O actually becomes a bottleneck and degrades performance if the content is transferred in parallel over LAN conditions, it is important to be able to control when the parallel content transfer is actually turned on. In this case, the UCF client will measure how many bytes were transferred initially by a single thread within a specified timeframe. If the number of bytes is less than what it expected, parallel content transfer will be turned on. If it is more than was expected, then it is assumed that bandwidth and latency are sufficient for a single thread to transfer the content most efficiently.
In the example above, the UCF client will measure the number of bytes that have been downloaded in the first 300ms of transfer (or as close to that time as possible). It will enable parallel content transfer if less than 131072 bytes (128k) have been downloaded, and disable it if more than 128k has been downloaded.
If your remote users have very high latency, it is likely that you will want to increase the “measurement.time.interval” to match the round trip time plus time to download a small portion of the file. For example, if you have 200ms round-trip latency, you might consider increasing the measurement.time.interval to 500ms to compensate for the time it takes for the request to reach the ACS server and start the content transfer.
In order to permanently disable parallel content transfer, all that must be done is changing the “max.parallel.download.streams” to 1, or decreasing the “single.thread.throughput” to a very small number, such as 1. In this case, regardless of the actual throughput, parallel content transfer will not be used. This is especially important in load testing scenarios, where many clients are being simulated from the same client machine.
Tip #8 – Tuning Content Download when Documentum User Directory is on a Network Drive
If the location of the Viewed and Checkout directories are on a network drive, or users regularly export content to a network drive, performance can be improved by setting the value of “ucf.file.buffer.size” to a larger number. The default value is 32768.
To set it for a single user, simply add the following to the ucf.client.config.xml on the client machine:
61440
To set the default for all users, add the same option to the ucf.installer.config.xml file on the application server and force a new version of UCF on the server side using the steps in Appendix B.
Tip #9 – Use UCF Client Logging to Measure performance
UCF Client logs are extremely useful when diagnosing UCF performance.
UCF client logging is enabled on the end user’s machine.
Edit the ucf.client.logging.properties file, located at:
C:\Documents and Settings\\Documentum\ucf\\shared\config
For best results, set the log level to FINEST, as shown below:
handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler
.level=FINEST
#——————-
java.util.logging.FileHandler.pattern=C:/Documentum/logs/ucf.client%u.log
java.util.logging.FileHandler.limit=10485760
java.util.logging.FileHandler.count=10
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.encoding=UTF-8
#——————-
java.util.logging.ConsoleHandler.level=OFF
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
In addition, to prevent the UCF client log from overwriting itself each time, change the value of java.util.logging.FileHandler.count to a number greater than 1. As each new client initializes, the old logs will be renamed and preserved for further analysis.
In the UCF client logs you will see entries such as “Logging request: getFile” and “Handled request: getFile” with timestamps. This can be used to better measure the time taken in the UCF pre-processing, content transfer and post-processing phases.
Appendix A:
Reduce the Effect of On-Access Scanning on UCF Initialization and Other Java Applets After Reboot
1.
Right-click on the VirusScan icon in the system tray and choose “On Access Scan Properties.
2.
Click on All Processes.
3.
Click on Advanced.
4.
Ensure “Scan inside archives” is NOT selected.
5.
Click on the Detection tab.
6.
Click on the Exclusions button.
7.
Click on Add.
8.
Add C:\Documents and Settings\s38737\Documentum\ucf , with “Also exclude subfolders”, “On Read” and “On Write”.
9.
Click on OK to save.
10.
Click Add to add another path.
11.
Add C:\Program Files\Java with “Also exclude subfolders” and “On Read”.
12.
Click OK to save.
Appendix B:
Changing UCF Client Settings for All Users
1. Edit the \webtop\wdk\contentXfer\ucf.installer.config.xml file.
2. In this file, you will find the following line,
<"xml version="1.0" encoding="UTF-8"">
<"dctm fileVersion="5.3.0.1" compatibilityVersion="5.3.0.1"">
3. Change the highlighted text above from 5.3.0.XXX to 5.3.0.XXXa
4. Under the configurations tag, change or add the desired option.
value
The next time the UCF client engine is initialized on the client side, the new UCF settings will be downloaded and added to the ucf.client.config.xml file.
There may be cases where the “default” values in the ucf.installer.config.xml should not be applied to the client side. In this case, the “persistent” attribute can be added to the option on the client side. This will prevent any changes on the server side from being applied to that particular client.
value
If not specified, then persistent is set to false.
The persistent property can be specified on the ucf.installer.config.xml and in the ucf.client.config.xml. The following chart outlines the expected behavior:
Server Client Description
false false Server value will override client value.
true true Server value will override client value.
true true Server value will override client value.
false true Client value will not be overridden.
This document will discuss various tuning options available to achieve the best possible performance for UCF content transfer in your network environment.
Overview of UCF
UCF (Unified Client Facilities) is the EMC Documentum framework for performing content transfer between the client and content servers over HTTP. It provides many features that extend beyond simple file transfer protocol, such as:
*
Content compression to optimize transfers of larger files over the network
*
Support for complex documents, such as XML files
*
Support for compound document types, such as OLE objects inside a Microsoft Office document
*
Awareness of locally downloaded files, and the ability to avoid downloading the same content twice
*
Registry support, to allow checkout from one application and check in from another
*
Recoverability in the case of a brief network interruption
*
Location aware, to allow users to transfer content from the closest ACS or BOCS server
High-Level UCF Operations
When a content transfer is initiated, the UCF client running on the end user machine is initiated if it is not already running. The applet loads the UCF client jars and initiates contact with the UCF server, running on the application server.
The UCF client and server pass information back and forth about the environment and requested action before content is transferred between the two machines. Depending on the architecture and configuration, content may be transferred through the application server, directly to or from an ACS server on the content server, or a BOCS server located near the user.
After the content transfer is complete, there will be some additional communication from server to client to provide instructions on registry entries to be added or modified, directions on how to launch the appropriate application for view or edit operations, or instructions on how to delete the local file on check in.
Optimizing UCF for Best Performance
Tip #1 – Use ACS and BOCS for Content Transfer Whenever Possible
The introduction of ACS and BOCS servers in 5.3 SP1 have allowed content transfer to be performed directly from the content server, rather than requiring that the content always pass through the application server. This not only removes the double-hop that is required (which is very costly for small files) but also reduces the load on the application server.
In the 5.3 timeframe, ACS and BOCS could only be used for download operations such as checkout, export and view. All upload operations still passed through the application server.
From D6 onward, ACS and BOCS servers can also be used for upload operations.
Note that not all applications are network location aware and able to take advantage of remote ACS and BOCS servers.
Tip #2 – Optimize UCF Client Initialization
In 5.3 SP1 through SP5, D6 and D6SP1, the UCF client engine will time out after one minute of inactivity, and the javaw.exe process would be terminated. This means that if a user initiates another content transfer request after the timeout has occurred, the browser must re-initialize the UCF client and restart javaw.exe.
This value can be increased in the ucf.client.config.xml file as follows:
Edit the ucf.client.config.xml file (located at C:\Documents and Settings\\Documentum\ucf\\shared\config\ucf.client.config.xml) and add the following option to extend the UCF Client Timeout.
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
socketBuffer="64000"/>
If you are using 5.3 ACS and BOCS the application server is Tomcat 5.0.28. In versions 5.3 SP1 or SP2, you will need to add the socketBuffer parameter. In 5.3 SP3 through SP6, this parameter should already have been added by the installer.
In 6.5 and beyond, Jboss is the container for ACS and BOCS. In 6.5 SP1, enhancements were added to the embedded Jboss server to enable it to recognize and use the socketBuffer parameter.
BEA Weblogic
If you are using BEA Weblogic as your application server and you are not using ACS, be sure to add the -Dweblogic.ChunkSize parameter. By default, the ChunkSize is 4k which is much too small.
It can be set in the config.xml for the domain:
server1
false
localhost
17001
-Dweblogic.Chunksize=64000
weblogic
{3DES}wmzrpHOymvTy3q8TOeF1qQ==
It can also be defined in the set_domain_env batch file with the other JAVA_PROPERTIES values:
set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% \
-Dwls.home=%WLS_HOME% -Dwli.home=%WLI_HOME% \
-Dweblogic.Chunksize=64000
In D6 and D6 SP1, the application server that hosts ACS and BOCS is BEA Weblogic, and the installer has automatically added those options to the script that starts the embedded Weblogic server (startMethodServer.cmd for example).
IBM Websphere
If you are not using ACS and content is being transferred through WAS, then you may see improvements in content download performance for large files by modifying the ResponseChunkSize configuration parameter in the plugin-cfg.xml.
where N equal the chunk size in kilobytes. The default value is 64 (kilobytes).
Tip #6 – Improve Upload Performance in D6 and Above
In D6, a parameter was added to the ucf.client.config.xml file that allowed the users to specify a chunk size to be used when uploading content.
Internal testing showed that a value of 49152 worked best with ACS on BEA when simulating various WAN conditions. However, in environments where customers are not using ACS write, or whose network conditions are different from that which was tested, this value may not be optimal. Increasing or decreasing the optimal.chunk.size parameter based on your specific network conditions can be beneficial.
49152
Note that this setting is ignored if the client is using Sun Java version 1.6 due to a Java bug (http://bugs.sun.com/bugdatabase/view_bug.do”bug_id=6631048).
Tip #7 – Use Adaptive Parallel Content Transfer to Consume More Available Bandwidth
By default in most versions of UCF, content download operations will be done in a single thread. If sufficient network bandwidth is available, the download operations could perform significantly faster if the file was broken up into smaller pieces and transferred by multiple concurrent threads.
In 5.3 SP6 and D6.5 the UCF client can be configured to use multiple threads when downloading files. This is controlled in the ucf.client.config.xml file using the following parameters:
5
131072
300
131072
The “max.parallel.download.streams” parameter limits the number of threads that can be run concurrently when performing a parallel download. In this example, 5 separate streams could potentially be initialized. If one of the streams finishes their assigned task ahead of the others, it is then free to request a new range of bytes to be downloaded.
The “min.parallel.segment.size” parameter specifies that if the remaining portion of a document after a byte range is assigned is smaller than a specified value, it should not be assigned to a new thread. Rather the original thread’s byte range should be extended to include those additional bytes. For example, if a thread is supposed to download 500Kb of a 600Kb file, as the remaining number of bytes is less than 128k, no new thread will be started and the original thread will assume ownership of those additional bytes.
The “Adaptive” part of parallel content transfer is controlled by the remaining two parameters. As tests have shown that disk I/O actually becomes a bottleneck and degrades performance if the content is transferred in parallel over LAN conditions, it is important to be able to control when the parallel content transfer is actually turned on. In this case, the UCF client will measure how many bytes were transferred initially by a single thread within a specified timeframe. If the number of bytes is less than what it expected, parallel content transfer will be turned on. If it is more than was expected, then it is assumed that bandwidth and latency are sufficient for a single thread to transfer the content most efficiently.
In the example above, the UCF client will measure the number of bytes that have been downloaded in the first 300ms of transfer (or as close to that time as possible). It will enable parallel content transfer if less than 131072 bytes (128k) have been downloaded, and disable it if more than 128k has been downloaded.
If your remote users have very high latency, it is likely that you will want to increase the “measurement.time.interval” to match the round trip time plus time to download a small portion of the file. For example, if you have 200ms round-trip latency, you might consider increasing the measurement.time.interval to 500ms to compensate for the time it takes for the request to reach the ACS server and start the content transfer.
In order to permanently disable parallel content transfer, all that must be done is changing the “max.parallel.download.streams” to 1, or decreasing the “single.thread.throughput” to a very small number, such as 1. In this case, regardless of the actual throughput, parallel content transfer will not be used. This is especially important in load testing scenarios, where many clients are being simulated from the same client machine.
Tip #8 – Tuning Content Download when Documentum User Directory is on a Network Drive
If the location of the Viewed and Checkout directories are on a network drive, or users regularly export content to a network drive, performance can be improved by setting the value of “ucf.file.buffer.size” to a larger number. The default value is 32768.
To set it for a single user, simply add the following to the ucf.client.config.xml on the client machine:
61440
To set the default for all users, add the same option to the ucf.installer.config.xml file on the application server and force a new version of UCF on the server side using the steps in Appendix B.
Tip #9 – Use UCF Client Logging to Measure performance
UCF Client logs are extremely useful when diagnosing UCF performance.
UCF client logging is enabled on the end user’s machine.
Edit the ucf.client.logging.properties file, located at:
C:\Documents and Settings\\Documentum\ucf\\shared\config
For best results, set the log level to FINEST, as shown below:
handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler
.level=FINEST
#——————-
java.util.logging.FileHandler.pattern=C:/Documentum/logs/ucf.client%u.log
java.util.logging.FileHandler.limit=10485760
java.util.logging.FileHandler.count=10
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
java.util.logging.FileHandler.encoding=UTF-8
#——————-
java.util.logging.ConsoleHandler.level=OFF
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
In addition, to prevent the UCF client log from overwriting itself each time, change the value of java.util.logging.FileHandler.count to a number greater than 1. As each new client initializes, the old logs will be renamed and preserved for further analysis.
In the UCF client logs you will see entries such as “Logging request: getFile” and “Handled request: getFile” with timestamps. This can be used to better measure the time taken in the UCF pre-processing, content transfer and post-processing phases.
Appendix A:
Reduce the Effect of On-Access Scanning on UCF Initialization and Other Java Applets After Reboot
1.
Right-click on the VirusScan icon in the system tray and choose “On Access Scan Properties.
2.
Click on All Processes.
3.
Click on Advanced.
4.
Ensure “Scan inside archives” is NOT selected.
5.
Click on the Detection tab.
6.
Click on the Exclusions button.
7.
Click on Add.
8.
Add C:\Documents and Settings\s38737\Documentum\ucf , with “Also exclude subfolders”, “On Read” and “On Write”.
9.
Click on OK to save.
10.
Click Add to add another path.
11.
Add C:\Program Files\Java with “Also exclude subfolders” and “On Read”.
12.
Click OK to save.
Appendix B:
Changing UCF Client Settings for All Users
1. Edit the \webtop\wdk\contentXfer\ucf.installer.config.xml file.
2. In this file, you will find the following line,
<"xml version="1.0" encoding="UTF-8"">
<"dctm fileVersion="5.3.0.1" compatibilityVersion="5.3.0.1"">
3. Change the highlighted text above from 5.3.0.XXX to 5.3.0.XXXa
4. Under the configurations tag, change or add the desired option.
value
The next time the UCF client engine is initialized on the client side, the new UCF settings will be downloaded and added to the ucf.client.config.xml file.
There may be cases where the “default” values in the ucf.installer.config.xml should not be applied to the client side. In this case, the “persistent” attribute can be added to the option on the client side. This will prevent any changes on the server side from being applied to that particular client.
value
If not specified, then persistent is set to false.
The persistent property can be specified on the ucf.installer.config.xml and in the ucf.client.config.xml. The following chart outlines the expected behavior:
Server Client Description
false false Server value will override client value.
true true Server value will override client value.
true true Server value will override client value.
false true Client value will not be overridden.
发表评论
-
调用DFS创建文档报 type dm_literal_expr failed
2012-03-18 16:06 1723调用DFS时报如下错误: [DM_SESSION_W_FET ... -
Assign multiple groups as performer of activity using code in workflow
2012-02-03 17:02 1007I determine the groups dynamica ... -
content server
2012-02-02 15:23 782当使用的composer修改属性的相关约束条件,比如是否为空, ... -
dfc session Monitor
2012-01-31 10:53 1052You can enable logging on the s ... -
DFC Session Management Srinivas Jakkula
2012-01-19 14:02 1755摘要:这个文档从application出发,介绍DFC Ses ... -
Documentum
2012-01-04 18:35 993查询所有需要在属性页要显示的属性 select r_o ... -
query attribute map dictionary
2011-12-28 13:15 821select map_display_string, map_ ... -
Invoking UCF in custom import component
2011-12-28 13:09 12231)I have made some changes in t ... -
When open tasklist form, it pops up exception casued by [DM_SESSION_E_SETUP_ROLE
2011-12-28 13:05 2420Symptoms An error has occurr ... -
dfc trace performance anaysis
2011-09-14 09:57 11451)设置dfc.properties enable dfc t ... -
Add or delete a custom attribute
2011-03-22 10:43 7791)alter type <custom_type&g ... -
Some basic guidelines for setting the J2EE Application Server JVM memory
2011-03-21 14:40 2391Please refer to WDK/Webtop depl ... -
type attribute label is not localized
2011-03-09 16:41 921you will have to clear cache an ... -
Acs is enabled or not(test code)
2011-03-08 20:03 1752引用 /*************************** ... -
Tuning the Performance of UCF Content Transfer
2011-03-07 17:04 1346Tuning the Performance of UCF C ... -
无法保存preset
2010-11-15 16:56 938错误图见附件。 解决方法: 确认dm ... -
DUMP AND LOAD A DOCBASE
2010-11-05 09:50 1056http://www.bluefishgroup.com/li ... -
jobs Window Interval parameter
2010-10-29 10:05 1091"The Window Interval. When ... -
DFC own Administrator permission
2010-10-27 14:54 8101.add user to dm_superusers_dyn ... -
install webtop.dar error
2010-10-17 15:25 1140com.emc.ide.installer.InstallEx ...
相关推荐
win7修复本地系统工具
《自动化专业英语》04-Automatic-Detection-Block(自动检测模块).ppt
《计算机专业英语》chapter12-Intelligent-Transportation.ppt
内容概要:本文详细介绍了基于西门子S7-1200博图平台的3轴伺服螺丝机程序。该程序使用SCL语言编写,结合KTP700组态和TIA V14及以上版本,实现了对X、Y、Z三个轴的精密控制。文章首先概述了程序的整体架构,强调了其在自动化控制领域的高参考价值。接着深入探讨了关键代码片段,如轴初始化、运动控制以及主程序的设计思路。此外,还展示了如何通过KTP700组态实现人机交互,并分享了一些实用的操作技巧和技术细节,如状态机设计、HMI交互、异常处理等。 适用人群:从事自动化控制系统开发的技术人员,尤其是对西门子PLC编程感兴趣的工程师。 使用场景及目标:适用于希望深入了解西门子S7-1200博图平台及其SCL语言编程特点的学习者;旨在帮助读者掌握3轴伺服系统的具体实现方法,提高实际项目中的编程能力。 其他说明:文中提供的代码示例和设计理念不仅有助于理解和学习,还能直接应用于类似的实际工程项目中。
内容概要:本文详细探讨了五种非线性滤波器(卡尔曼滤波(KF)、扩展卡尔曼滤波(EKF)、无迹卡尔曼滤波(UKF)、粒子滤波(PF)和变维卡尔曼滤波(VDKF))在水下长基线定位(LBL)系统中的应用。通过对每种滤波器的具体实现进行MATLAB代码展示,分析了它们在不同条件下的优缺点。例如,KF适用于线性系统但在非线性环境中失效;EKF通过雅可比矩阵线性化处理非线性问题,但在剧烈机动时表现不佳;UKF利用sigma点处理非线性,精度较高但计算量大;PF采用蒙特卡罗方法,鲁棒性强但计算耗时;VDKF能够动态调整状态维度,适合信标数量变化的场景。 适合人群:从事水下机器人(AUV)导航研究的技术人员、研究生以及对非线性滤波感兴趣的科研工作者。 使用场景及目标:①理解各种非线性滤波器的工作原理及其在水下定位中的具体应用;②评估不同滤波器在特定条件下的性能,以便为实际项目选择合适的滤波器;③掌握MATLAB实现非线性滤波器的方法和技术。 其他说明:文中提供了详细的MATLAB代码片段,帮助读者更好地理解和实现这些滤波器。此外,还讨论了数值稳定性问题和一些实用技巧,如Cholesky分解失败的处理方法。
VMware-workstation-full-14.1.3-9474260
DeepSeek系列-提示词工程和落地场景.pdf
javaSE阶段面试题
《综合布线施工技术》第5章-综合布线工程测试.ppt
安川机器人NX100使用说明书.pdf
内容概要:本文详细介绍了将M7120型平面磨床的传统继电器控制系统升级为基于西门子S7-1200 PLC的自动化控制系统的过程。主要内容涵盖IO分配、梯形图设计和组态画面实现。通过合理的IO分配,确保了系统的可靠性和可维护性;梯形图设计实现了主控制逻辑、砂轮升降控制和报警逻辑等功能;组态画面则提供了友好的人机交互界面,便于操作和监控。此次改造显著提高了设备的自动化水平、运行效率和可靠性,降低了维护成本。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是熟悉PLC编程和控制系统设计的专业人士。 使用场景及目标:适用于需要进行老旧设备升级改造的企业,旨在提高生产设备的自动化水平和可靠性,降低故障率和维护成本。具体应用场景包括但不限于金属加工行业中的平面磨床等设备的控制系统改造。 其他说明:文中还分享了一些实际调试中的经验和技巧,如急停逻辑的设计、信号抖动的处理方法等,有助于读者在类似项目中借鉴和应用。
chromedriver-linux64-136.0.7103.48.zip
IMG_20250421_180507.jpg
《网络营销策划实务》项目一-网络营销策划认知.ppt
Lianantech_Security-Vulnerabil_1744433229
MybatisCodeHelperNew2019.1-2023.1-3.4.1
【深度学习部署】基于Docker的BERT模型训练与API服务部署:实现代码复用与模型共享
摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装火车票订票系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,火车票订票系统的有效运用可以帮助管理人员准确快速地处理信息。 火车票订票系统在对开发工具的选择上也很慎重,为了便于开发实现,选择的开发工具为Eclipse,选择的数据库工具为Mysql。以此搭建开发环境实现火车票订票系统的功能。其中管理员管理用户,新闻公告。 火车票订票系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计,以及数据查询等处理要求,火车票订票系统都可以轻松应对。 关键词:火车票订票系统;SpringBoot框架,系统分析,数据库设计
【ABB机器人】-00标准保养简介.pdf
最新校园跑腿小程序源码 多校版本,多模块,适合跑腿,外卖,表白,二手,快递等校园服务 此版本为独立版本,不需要微擎 直接放入就可以 需要自己准备好后台的服务器,已认证的小程序,备案的域名!