`
fangzhouxing
  • 浏览: 214711 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用 GlassFish v2 替换 Tomcat 5.x

阅读更多

用 GlassFish v2 替换 Tomcat 5.x

1. 背景

 

用了很多年的Tomcat, 无论开发环境还是生产环境, 应该说, 大家对它还是基本满意的.
不过, 也不是一点问题没有. 从开发人员的角度来说, Tomcat主要的缺点就是较弱的热部署
(hot deploy)能力. 修改一个Java类, 保存后, Tomcat会重新加载这个类, 但不久就要重
新启动Tomcat才能继续开发. 在企业关键应用的场景下, 若发生急迫的程序缺陷更正, 让众多的用户停止手头的工作, 等待服务器重新启动, 显然十分不便.

 

类似RubyOnRails的技术框架, 其方便之处就是脚本语言不要编译, 保存后直接可以使用.
Java社区显然看到了这个问题, GlassFish v2 的热部署能力就是其主要的一个受大家欢迎的
特性. 这也是我们要用 GlassFish v2 替换 Tomcat 5.x 的主要理由.

 

2. 使用环境

 

本文假设你使用下面所述的开发环境.
(1) JDK 1.5 或 1.6
(2) Eclipse IDE for Java EE Developers (3.3.1.1 M20071023-1652)
(3) 使用 com.sysdeo.eclipse.tomcat_3.2.1 插件

 

如果你没有使用 Eclipse 3.3.1.1 Java EE 版本, 而是正在使用其他版本, 也不影响本文所述的所有操作和效果, 只是不能借助Eclipse 启动和停止 GlassFish v2, 只能自己通过命令行进行操作.

 

有关用 Eclipse 3.3.1.1 Java EE 版本操作 GlassFish v2 的详细说明, 请参见 Eclipse 3.3 and GlassFish Java EE 5 integration.

 

3. 下载并安装 GlassFish v2

 

这方面的资料已经很容易从网上找到, 比较好的文章如下:
(1) 在Glassfish上部署web应用
(2) Glassfish初试
(3) 从tomcat到glashfish(glassfish的安装启动笔记)

 

4. 创建 Tomcat 项目

 

相信你一定也知道如何创建 Tomcat 项目. 本文假设你创建的 Tomcat 项目:
(1) 位于 D:/Sample 目录.
(2) Context name 为 Sample.

 

其他采用默认设置.

 

5. 为测试 GlassFish v2 的热部署能力, 创建首页JSP和Servlet Java类.

 

第1步: 在根目录中创建 index.jsp 文件

 

第2步: 在 WEB-INF\src 中, 创建一个简单的 servlet 类 SampleServlet.java,

 

第3步: 配置web.xml文件.

 

完整的Sample项目, 请参见附件.

 

6. 什么是 GlassFish v2 的目录部署?

 

用Tomcat开发时, JSP/HTML/JS/CSS 等文件, 都是修改后保存, 刷新浏览器就可以使用.
为了使 GlassFish v2 达到同样的效果, 需要使用其目录部署(directory deployment)特性.

这个特性不太容易找, 因为使用象GlassFish这样的全功能应用服务器的开发人员,习惯了
"编辑、编译、部署、运行"这样的步骤. 一开始, 我按照
Eclipse 3.3 and GlassFish Java EE 5 integration.
一文的指引, 发现修改JSP文件后,仍然要经历上面的部署过程. 虽然Eclipse会通过自动检测
文件版本的变化, 触发Ant任务实现部署, 但仍然很浪费时间. 我们需要找到跳过"部署"的方法.
在GlassFish官方论坛上发了几个帖子, 答复者的回帖没有起到什么作用, 但通过搜索论坛基本
知道这个问题已经得到了解决.

 

下面的文章引导我朝着正确的方向前进了一大步(非常感谢该文作者):
GlassFish Auto Deployment and Hot Deployment

 

关于目录部署的详细说明,参见:
Sun Java System Application Server Platform Edition 9.0 Application Deployment Guide
Chapter 1 中 Deployment for Development 一节

 

7. GlassFish v2 的目录部署实战

 

第1步: 启动 GlassFish v2.

 

第2步: 部署 Sample 项目到 GlassFish v2, DOS窗口下执行命令:

GLASS_FISH_HOME/bin/asadmin deploydir D:/Sample
 

其中 GLASS_FISH_HOME 是 GlassFish 的安装目录, 命令执行完毕后,可以看到成功部署信息.

 

第3步: 打开浏览器, 输入http://localhost:8080/Sample/index.jsp, 看到页面内容.

 

第4步: 打开浏览器, 输入 http://localhost:8080/Sample/servlet/Sample, 看到页面内容.

 

8. 体验 GlassFish v2 的热部署特性

 

第1步: 修改 index.jsp 文件内容, 保存后, 刷新浏览器, 你就能马上看到新的内容.
( http://localhost:8080/Sample/index.jsp)

 

第2步: 修改 SampleServlet.java, 保存后, 等待片刻, Eclipse 已经自动编译这个类, 但 GlassFish v2 控制台中没有任何提示, 刷新浏览器, 看不到新的内容.
( http://localhost:8080/Sample/servlet/Sample)

 

第3步: 现在, 在 Sample 项目根目录中创建文件名为".reload"的文件(内容为空).

 

第4步: 观察GlassFish v2 控制台, 可以看到重新加载信息,刷新浏览器


(http://localhost:8080/Sample/servlet/Sample)

到了新的内容.

 

第5步: 再次修改 SampleServlet.java 的内容, 保存后, 遇到和第2步同样的问题.

 

第6步: 再次打开 .reload 文件, 输入任意内容, 然后保存.

 

第7步: 再次出现与第4步同样的效果.

 

总结上述操作, GlassFish v2 对于非Java类的加载, 达到了和Tomcat同样的效果, 但Java类的
加载, 需要通过 .reload 文件的时间戳来控制. 这种做法对开发有好处, 在调试改错时, 可以修改
多个 Java 类文件, 然后让 GlassFish v2 一次加载全部修过的类.

 

9. 自动化 .reload 文件时间戳刷新

 

上一节中, 手工打开 .reload 文件, 通过修改其内容刷新其时间戳, 这种做法太麻烦.

在 unix/linux 平台下, 通过命令 touch 刷新 .reload 文件的时间戳. 在 Window 平台, 也有
人实现了 touch. 我在 CodeProject 网站找到一个 touch.exe:
Touch for Windows - The Code Project - Free Tools,很好用, 并且可以集成到 Eclipse 的工具条按钮中来执行 touch 命令(touch.exe 已经包括在附件中).

 

第1步: 拷贝下载的 touch.exe 到 Sample 项目根目录.

 

第2步: 在 Eclipse 下, 选择 Run > External Tools > Open External Tools Dialog.

 

第3步: 选中左侧 Program 节点, 右击, 选择New菜单项.

 

第4步: 在右侧出现的对话框中, 填入下面的内容


Name: SampleTouch
Main[页面]
Localtion: ${workspace_loc:/Sample/touch.exe}
Working Directory: ${workspace_loc:/Sample}
Arguments: .reload
Common[页面]
Display in favorites menu: 选中External Tools

保存后, 你可以在Eclipse的Run工具条按钮中看到新创建的项.

 

10. 结语

 

用 GlassFish v2 可以完全替换 Tomcat 5.x, 在开发中它保留了 Tomcat 好的特性的
同时,给我们带来了强壮的热部署功能, 显著地提高了开发效率.

 

感谢GlassFish v2, 感谢为之付出心血的Java社区成员, 是他们让我们感受到了技术
进步的喜悦.

  • Sample.rar (23.6 KB)
  • 描述: 测试用Tomcat项目
  • 下载次数: 819
分享到:
评论
72 楼 ahead_zhan 2008-09-26  
GlassFish v2web 容器热部署看来的确很受爱戴
但是看到很多的开发团队,用它不是很多呀,
是不是还没有推广开来,还不是主流的web 容器吧
71 楼 mmikey 2008-08-07  
tomcat reloadable后gc没有进行的问题确实存在,不知道后续的版本有没有解决这个问题,我一直都是用的tomcat5.x。
70 楼 judytang 2008-08-06  
你好 !

一直非常欣赏这个帖子,如果你能有时间来参加GLASSFISH社区的V3 BE4TA测试,那一定会给我们很大的帮助,下面是参加我们的报名表,等待你的点击,谢谢 !
http://glassfishquality.iteye.com/admin/blogs/223524
69 楼 goodfifa07 2008-07-03  
怎么我在安装Glassfish执行 ant -f setup.xml 后,在bin目录下是空目录
68 楼 gml520 2008-06-30  
terranhao 写道
问题是myeclipse不支持richfaces的标签,没代码自动完成,我崩溃了。
怎么就没一个工具来得全一点,都是有一样没一样


试一试NetBeans 6.1 然后安装一个richfaces 的插件!
或许你会喜欢的!
67 楼 fangzhouxing 2008-06-28  
引用
我咋在 windowsxp 里 建不了 .reload 的文件.. 命名不合法..


要这样子做:
1)启动DOS命令行窗口。
2)输入命令 copy con .reload。
3)按 CTRL+Z。
66 楼 zdllionheart 2008-06-28  
..... 我咋在 windowsxp 里 建不了 .reload 的文件.. 命名不合法..
65 楼 hong608608 2008-06-26  
请问有谁知道glassfish是通过哪个jar包,获得诸如连接池的用户名和密码去验证数据库的用户名和密码是否相符,请问有谁知道在哪里,谢谢!
64 楼 e_ville 2008-06-25  
使用eclipse等IDE远程调试WebLogic的时候改了代码也可以马上生效啊(添加新的方法之类的不行,未实现)而且不用Reload整个个应用,其实也很爽的。

Glassfish民用还可以,商用估计相当一段时间内无人考虑……将来发展如何,咱拭目以待!
63 楼 sjbwylbs 2008-06-19  
现在有Tomcat6.0.16了,还要不要替换呢?性能是不是差不了太多了吧?
62 楼 terranhao 2008-06-18  
问题是myeclipse不支持richfaces的标签,没代码自动完成,我崩溃了。
怎么就没一个工具来得全一点,都是有一样没一样
61 楼 melin 2008-06-16  
写了这么多,其实只要结合myeclipse,起用调试模式就可以了。
60 楼 softwin 2008-06-11  
glassfish怎么配置传递中文get参数
59 楼 fiolvivi 2008-06-09  
抱歉~ 必须得重新说一下~

独立启动的glassfish确实存在上面所说的问题,不过,在myeclipse用debug方式启动以后,修改controller立刻就可以看到效果,不用捅它一下,也不用重部署或者发生长时间404,已经是新的一天了,先玩到这,明天还加班……
58 楼 fiolvivi 2008-06-08  
和楼上仁兄存在同样的疑问,事实上404的时间远超过tomcat重新加载或者重启的时间,session同样会丢失……
57 楼 plmqaz098 2008-06-04  
我测试了一下,修改一个class编译之后,touch .reload,结果整个webapp都reload了一次,中间还是有差不多几十秒的时间404 service unaviable?
好像跟tomcat差不多,没有发现什么区别啊!!
56 楼 Arden 2008-05-31  
create.domain:
     [exec] 使用 Admin 的端口 4848。
     [exec] 使用 HTTP Instance 的端口 8080。
     [exec] 使用 JMS 的端口 7676。
     [exec] 使用 IIOP 的端口 3700。
     [exec] 使用 HTTP_SSL 的端口 8181。
     [exec] 使用 IIOP_SSL 的默认端口 3820。
     [exec] 使用 IIOP_MUTUALAUTH 的默认端口 3920。
     [exec] 使用 JMX_ADMIN 的默认端口 8686。
     [exec] 正在使用配置文件 cluster 创建域,被指定为 通过配置文件中的变量 AS_ADMIN_PROFILE。
     [exec] 无法找到使用在 [/app/soft/glassfish/lib/install/templates/locales/zh_CN/index.html] 中指定的语言环境 [zh_CN] 的文件。使用默认的 (en_US) index.html。
     [exec] 安全存储使用: JKS
     [exec] 未找到文件 {0}。
     [exec] CLI130 无法创建域 iding

BUILD FAILED
/app/soft/glassfish/setup-cluster.xml:169: The following error occurred while executing this line:
/app/soft/glassfish/setup-cluster.xml:200: The following error occurred while executing this line:
/app/soft/glassfish/setup-cluster.xml:646: exec returned: 1

我在Redhat Linux AS5.1 64位系统上面安装的时候为什么会报上面这样的错误?
55 楼 judytang 2008-05-21  
你好fangzhouxing,非常高兴在JAVAEYE看到你写的这篇文章,写的很好,我是GLASSFISH的管理人员,邀请你来参加我们的社区,希望能跟你交流,谢谢先 !


http://glassfish.group.iteye.com/group/topic/5579
54 楼 dmewy 2008-04-12  
写的很好.
可惜公司现在官网打不开,
下载不下来.郁闷的很...
53 楼 sunrie 2008-04-02  
请问glassfish在用spring的时候是不是不能有多个配置文件啊?
比如manager在ApplicationContext-Manager.xml中,
而dao在ApplicationContext-Dao.xml中,
设置了default-autowire="byName",
但manager中的dao为空,调用时会产生空指针错误
而当将dao和manager配置到一个配件中时,就不会出问题

相关推荐

    opensso 安装说明

    2. **GlassFish V2.x**:OpenSSO通常部署在GlassFish应用服务器上,因此需要下载并安装GlassFish Server v2.1或更高版本,可以从[https://glassfish.dev.java.net/public/downloadsindex.html]...

    RichFaces开发指南3.3.3

    - **服务器**:支持多种服务器,如 Apache Tomcat 5.5-6.0、BEA WebLogic 9.1-10.0、Resin 3.1.x、Jetty 6.1.x、Sun Application Server 9 (J5EE)、Glassfish V2/V3、JBoss 4.2.x-5、WebSphere 7.0 或更高版本、...

    【Linux设备管理】从devfs到udev:设备文件系统演变及其关键技术对比分析了Linux设备管理

    内容概要:本文详细介绍了Linux设备文件系统从devfs到udev的演变过程。devfs作为Linux 2.4时代的创新,通过引入内核空间的设备管理机制,简化了设备文件的创建和管理,但其存在稳定性问题和灵活性不足的缺点。udev则运行在用户空间,利用内核发送的热插拔事件和sysfs提供的信息,实现了设备文件的动态管理和高度自定义。它不仅解决了devfs的问题,还提供了更灵活、高效的设备管理方式,成为现代Linux系统中的主流选择。文章还探讨了两者在不同应用场景中的优劣,并展望了未来Linux设备管理的发展方向,强调了对新型设备的支持、虚拟化和容器环境的兼容性以及智能化的用户体验。 适合人群:对Linux系统有一定了解,特别是对设备管理感兴趣的开发人员、系统管理员和技术爱好者。 使用场景及目标:①理解Linux设备管理的历史和发展趋势;②掌握devfs和udev的工作原理及其在不同场景下的应用;③学习如何编写udev规则文件,实现设备的个性化管理和优化配置。 阅读建议:本文内容较为技术性,建议读者先了解基本的Linux设备管理概念。在阅读过程中,重点关注devfs和udev的区别和优势,并结合实际应用场景进行思考。对于udev规则文件的编写,可以通过实践和调试加深理解。

    三维路径规划中RRT与APF融合算法及其路径平滑处理

    内容概要:本文详细介绍了将快速随机树(RRT*)和人工势场(APF)相结合用于三维空间路径规划的方法。首先阐述了两种算法的工作原理,特别是APF如何通过引力和斥力向量引导RRT*的节点扩展,使得路径规划更加高效且能够有效避开障碍物。接着讨论了路径平滑处理的具体实现方式,如利用贝塞尔曲线进行路径优化,确保最终路径不仅平滑而且不会发生碰撞。此外,文中还提供了具体的代码片段来展示各个模块的功能,包括APF核心算法、RRT*扩展逻辑、碰撞检测以及路径平滑等。同时提到了一些潜在的改进方向,如引入速度场因素、采用不同的平滑算法等。 适合人群:对机器人路径规划、无人驾驶等领域感兴趣的开发者和技术爱好者。 使用场景及目标:适用于需要在复杂三维环境中进行高效路径规划的应用场合,如无人机飞行、自动驾驶汽车等。主要目的是提高路径规划的速度和质量,使生成的路径更加平滑、安全。 其他说明:本文不仅提供了理论解释,还有详细的代码实现,便于读者理解和实践。对于希望深入了解RRT*和APF融合算法并应用于实际项目的读者来说是非常有价值的参考资料。

    HikvisionIVMSGetShell-main.zip

    HikvisionIVMSGetShell-main.zip

    动态演示后缀表达式的计算方式

    动态演示后缀表达式的计算方式

    大学战队2021雷达站视觉算法源码.zip

    1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者作为学习资料参考使用。 3、该资源包括全部源码,需要具备一定基础才能看懂并调试代码。 大学战队2021雷达站视觉算法源码.zip大学战队2021雷达站视觉算法源码.zip 大学战队2021雷达站视觉算法源码.zip大学战队2021雷达站视觉算法源码.zip 大学战队2021雷达站视觉算法源码.zip大学战队2021雷达站视觉算法源码.zip 大学战队2021雷达站视觉算法源码.zip大学战队2021雷达站视觉算法源码.zip 大学战队2021雷达站视觉算法源码.zip大学战队2021雷达站视觉算法源码.zip 大学战队2021雷达站视觉算法源码.zip大学战队2021雷达站视觉算法源码.zip 大学战队2021雷达站视觉算法源码.zip大学战队2021雷达站视觉算法源码.zip 大学战队2021雷达站视觉算法源码.zip大学战队2021雷达站视觉算法源码.zip 大学战队2021雷达站视觉算法源码.zip大学战队2021雷达站视觉算法源码.zip 大学战队2021雷达站视觉算法源码.zip大学战队2021雷达站视觉算法源码.zip 大学战队2021雷达站视觉算法源码.zip大学战队2021雷达站视觉算法源码.zip

    MATLAB用户界面设计.pptx

    MATLAB用户界面设计.pptx

    程序员面试题精选100题.pdf

    程序员面试题精选100题.pdf

    牵牛花铅笔素材儿童教学课件模板.pptx

    牵牛花铅笔素材儿童教学课件模板

    基于C++的rviz机械臂各类仿真+源码+项目文档(毕业设计&课程设计&项目开发)

    基于C++的rviz机械臂各类仿真+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于C++的rviz机械臂各类仿真+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档~ 基于C++的rviz机械臂各类仿真+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于C++的rviz机械臂各类仿真+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于C++的rviz机械臂各类仿真+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于C++的rviz机械臂各类仿真+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档

    三相电流型PWM整流Matlab仿真:电压外环与电流内环双闭环控制策略详解

    内容概要:本文详细介绍了三相电流型PWM整流的Matlab仿真过程,采用了电压外环和电流内环的双闭环控制策略。电压外环负责维持直流侧电压的稳定,通过PI调节器输出电流给定值;电流内环根据电压外环的给定值和实际检测到的三相电流,经过PI调节器产生PWM波来控制整流器的开关动作,实现对交流侧电流的精确控制。文中提供了详细的系统参数设置、PI调节器参数设定、主循环仿真代码以及坐标变换的具体实现方法。此外,还讨论了PWM调制、开关信号生成、仿真结果分析等内容,并附有说明文档和参考文献。 适合人群:从事电力电子、控制系统设计的研究人员和技术人员,尤其是对PWM整流器感兴趣的工程师。 使用场景及目标:适用于研究和开发三相电流型PWM整流器的人员,帮助他们理解和实现双闭环控制策略,提高系统的稳定性和效率。目标是在不同工况下实现直流侧电压的稳定和网侧电流的正弦化,达到单位功率因数运行。 其他说明:文中提供的代码和仿真模型已在MATLAB 2021b及以上版本测试通过,附带的说明文档包含了参数整定表、典型波形库和故障排查指南,有助于解决实际应用中的问题。

    五相永磁同步电机单相开路故障下的矢量容错控制技术解析

    内容概要:本文详细探讨了五相永磁同步电机(PMSM)在发生单相开路故障时的矢量容错控制方法。首先介绍了五相电机相较于三相电机的优势及其容错机制的基本原理。随后,文章深入讨论了故障发生时的电流重构策略,包括Clarke变换矩阵的修改、电流补偿系数的选择以及相位补偿的方法。此外,文中还涉及了矢量控制的具体实现,如矢量合成、SVPWM调制方式的调整、电流环整定的自适应算法等。最后,通过实测数据分析了不同故障条件下的系统表现,并提出了进一步的研究方向和技术改进措施。 适合人群:从事电机控制系统设计与开发的技术人员,尤其是关注五相永磁同步电机容错控制领域的研究人员。 使用场景及目标:适用于需要提高电机系统可靠性和容错能力的应用场合,如工业机器人、电动汽车等领域。主要目标是在单相开路故障情况下,确保电机能够继续稳定运行并尽可能减少性能损失。 其他说明:文章不仅提供了理论分析,还包括大量实际案例和代码片段,有助于读者更好地理解和应用相关技术。同时提醒读者,在进行容错控制设计时要考虑实际系统的非线性特性,避免因参数设置不当而导致系统不稳定。

    电力系统暂态分析中PSS对单机无穷大系统稳定性影响的Simulink仿真研究

    内容概要:本文详细探讨了在单机无穷大系统中加入电力系统稳定器(PSS)前后,系统在不同扰动条件下的暂态响应情况。首先介绍了同步发电机的基本参数配置及其连接方式,然后分别进行了无PSS和带有PSS两种情况下系统的稳态运行、小扰动以及三相短路故障仿真实验。结果显示,PSS能够显著提高系统的阻尼水平,有效抑制因各种原因引起的振荡现象,确保系统快速恢复稳定状态。 适用人群:从事电力系统分析、自动化控制领域的研究人员和技术人员。 使用场景及目标:适用于希望深入了解PSS在电力系统中作用机制的研究者,以及需要评估PSS对于特定应用场景下系统性能改善效果的专业人士。通过本案例的学习,可以帮助使用者掌握如何利用MATLAB/Simulink进行相关仿真实验的方法。 其他说明:文中提供了详细的建模步骤和参数设定指南,并附有多张对比图表帮助理解PSS的作用效果。同时提醒了一些常见的操作误区,如仿真步长的选择等。

    2023-04-06-项目笔记 - 第四百七十三阶段 - 4.4.2.471全局变量的作用域-471 -2025.04-19

    2023-04-06-项目笔记-第四百七十三阶段-课前小分享_小分享1.坚持提交gitee 小分享2.作业中提交代码 小分享3.写代码注意代码风格 4.3.1变量的使用 4.4变量的作用域与生命周期 4.4.1局部变量的作用域 4.4.2全局变量的作用域 4.4.2.1全局变量的作用域_1 4.4.2.471局变量的作用域_471- 2025-04-19

    病理分割-基于深度学习实现的腹部多器官分割算法-附项目源码-优质项目实战.zip

    病理分割_基于深度学习实现的腹部多器官分割算法_附项目源码_优质项目实战

    基于三菱PLC和触摸屏的停车场智能管理系统设计与实现

    内容概要:本文详细介绍了基于三菱PLC和三菱触摸屏构建的停车场智能管理系统。系统分为入口、出口和管理中心三大部分,分别负责车辆身份识别、车位检测、道闸控制、缴费结算等功能。三菱PLC作为核心控制器,通过梯形图编程实现了车辆检测、道闸控制等关键逻辑;三菱触摸屏提供人机交互界面,支持参数设置、状态监控等功能。文中还讨论了PLC与触摸屏之间的通信配置,以及如何通过物联网技术将系统接入云端。 适合人群:从事智能交通系统开发的技术人员,尤其是熟悉三菱PLC编程和触摸屏应用的工程师。 使用场景及目标:适用于新建或改造停车场项目,旨在提高停车场管理效率和服务质量,减少人工干预,实现智能化运营。 其他说明:文中提供了具体的硬件配置建议、PLC编程实例、触摸屏界面设计指南及通信协议解析,有助于读者快速理解和实施类似项目。

    Code_20250419.html

    Code_20250419.html

    基于MSP430F5529的无线温湿度传输系统设计与实现

    内容概要:本文详细介绍了基于MSP430F5529微控制器构建的无线温湿度传输系统的完整设计方案。系统集成了DHT11湿度传感器、DS18B20温度传感器、Nokia5110显示屏、按键模块、报警模块和nRF24L01无线传输模块。文章不仅涵盖了硬件连接细节,还深入讲解了各模块的驱动代码实现,包括传感器数据读取、数据显示、按键处理、报警机制和无线数据传输。此外,还讨论了一些优化措施,如低功耗模式的应用和传感器供电稳定性。 适合人群:具有一定嵌入式系统开发基础的技术人员,尤其是对MSP430系列微控制器感兴趣的开发者。 使用场景及目标:适用于需要实时监测环境温湿度并进行远程数据传输的场合,如智能家居、农业温室、工业环境监测等。目标是帮助读者掌握MSP430F5529的实际应用技能,理解各模块之间的协同工作原理。 其他说明:文中提供的代码片段可以直接应用于实际项目中,有助于快速搭建原型系统。同时,文章还提供了一些调试经验和常见问题解决方案,便于读者在实践中少走弯路。

    台达DVP PLC RS485通信实现多台变频器频率读写及启停控制

    内容概要:本文详细介绍了如何利用台达DVP PLC通过RS485接口与多台变频器进行通信,实现读取设定频率、设定变频器频率及控制启动和停止的功能。主要内容涵盖硬件连接、通讯参数设置、编程实例及常见问题解决方案。文中提供了具体的梯形图代码示例,解释了MODBUS RTU协议的应用,包括功能码的选择、寄存器地址的定义、CRC校验的处理方法等。 适合人群:从事工业自动化领域的工程师和技术人员,特别是那些需要掌握PLC与变频器通信技能的人。 使用场景及目标:适用于需要集成PLC控制系统并管理多个变频器的工作环境,如工厂生产线、自动化设备等。目标是提高系统的稳定性和可靠性,确保各个变频器能够按照预设的要求高效运作。 其他说明:文中强调了实际应用中的注意事项,如硬件连接的准确性、通讯参数的一致性、数据传输的安全性等,并给出了详细的调试建议和优化措施。此外,还提到了一些常见的陷阱及其应对策略,帮助读者更好地理解和解决问题。

Global site tag (gtag.js) - Google Analytics