`
coderplay
  • 浏览: 580101 次
  • 性别: Icon_minigender_1
  • 来自: 广州杭州
社区版块
存档分类
最新评论

单分派与多分派,聊天记录

    博客分类:
  • misc
OOP 
阅读更多

2007-12-17 23:06:01 lct
The solution to these problems is to replace
dynamically-dispatched messages with one or more statically-bound procedure calls
wherever possible, to inline-expand the callee methods whenever the callee is small (a
common case given the presence of accessor methods, user-defined control structures, and
standard operations like addition implemented as methods), and to eliminate creations of
closures whenever no more references to the closures remain after inlining their bodies.
 

2007-12-17 23:06:08 lct
这什么意思

2007-12-17 23:06:16 lct
 inline-expand ???????

2007-12-17 23:06:32 coderplay
上下文是?
 

2007-12-17 23:07:08 lct
就是那篇的3 Language Implementation Research
 

2007-12-17 23:07:35 lct
profile????????大纲???

2007-12-17 23:07:46 coderplay
估计你是看不懂了.呵呵
 

2007-12-17 23:07:59 coderplay
profile是一个专业术语
 

2007-12-17 23:08:07 lct
[/流汗]赶紧帮我看看啊[/撇嘴]

2007-12-17 23:08:14 lct
明天还得上台讲呢

2007-12-17 23:08:23 lct
我都看不懂,

2007-12-17 23:08:23 coderplay
是用来观察程序哪里运行最耗时间,最占内存.
 

2007-12-17 23:08:44 lct
profile怎么翻译

2007-12-17 23:10:02 lct
剖面???可否?

2007-12-17 23:10:25 coderplay
就是profile, 没有翻译
 

2007-12-17 23:10:47 coderplay
剖析应该比较准确
 

2007-12-17 23:11:35 lct


2007-12-17 23:11:54 lct
看了,你对文章大意理解如何

2007-12-17 23:12:39 lct
The set of classes computed for each expression is different than the information available
from static type declarations. The set of classes is a specific list of concrete classes, with no
ambiguity or open-endedness. A static type declaration, on the other hand, specifies an
interface to an expression, but provides no information about what classes might implement
that interface.
 

2007-12-17 23:12:57 lct
ambiguity or open-endedness.?????????

2007-12-17 23:14:20 coderplay
也有不懂的地方,我得花时间...
 

2007-12-17 23:15:32 coderplay
这个论题很窄嘞
 

2007-12-17 23:15:46 lct
compile-time method lookup,
????????

2007-12-17 23:15:46 coderplay
涉及到的具体东西很多
 

2007-12-17 23:16:05 lct
太具体,太专业了

2007-12-17 23:16:23 coderplay
compile-time method lookup,编译期的方法查找
 

2007-12-17 23:16:32 lct
我觉得我完全没有那个背景知识,很难理解

2007-12-17 23:16:35 coderplay
对应的是 run-time method lookup
 

2007-12-17 23:16:42 lct


2007-12-17 23:17:12 coderplay
我要花一个半小时看完
 

2007-12-17 23:17:35 lct
perform method lookup     ?

2007-12-17 23:17:47 lct
我花了两三天

2007-12-17 23:18:00 coderplay
那你等下吧,不要先提.我现在才看第一段
 

2007-12-17 23:33:10 lct
When static class analysis cannot determine a tight bound on the set of possible classes of the
receiver of some message,
 

2007-12-17 23:37:43 coderplay
晕...
 

2007-12-17 23:37:49 coderplay
好像很难解释
 

2007-12-17 23:38:40 coderplay
你知道重载,重写的区别? 还有它们与多态的联系吗?
 

2007-12-17 23:39:01 lct
忘了

2007-12-17 23:39:13 coderplay
还有面向对象的消息传递
 

2007-12-17 23:39:18 coderplay
这好像很难说...
 

2007-12-17 23:39:24 coderplay
换一篇吧...
 

2007-12-17 23:39:40 lct
呵呵,哪来得及,明天早上8点

2007-12-17 23:39:51 lct
死马当活马医了

2007-12-17 23:40:03 coderplay
他开始说的是设计了一种叫cecil的语言
 

2007-12-17 23:40:38 lct


2007-12-17 23:40:52 coderplay
语言设计分两类, 一种是追求语言的表达能力, 还有一种是追求语言的运行性能
 

2007-12-17 23:41:28 lct
These results indicate that intraprocedural optimizations of messages speed Cecil programs
by at least a factor of two.

 

2007-12-17 23:41:29 coderplay
他设计的cecil语言能和c++一样高效,但比c++更规范,更灵活
 

2007-12-17 23:41:36 lct
a factor of two.?????

2007-12-17 23:42:00 coderplay
不要去钻哪个字的意思啊
 

2007-12-17 23:42:20 lct
a factor of two.?????

2007-12-17 23:42:29 lct
这是关键意思

2007-12-17 23:42:32 lct
关系理解

2007-12-17 23:43:42 lct
还有文章中的class,虽然我理解成“类”,但感觉怪怪的

2007-12-17 23:45:03 coderplay
你先说一遍意思吧
 

2007-12-17 23:45:09 coderplay
我还在看前面的
 

2007-12-17 23:45:42 lct
coderplay 23:45:03
你先说一遍意思吧



2007-12-17 23:48:11 coderplay
就是你先说说你的理解
 

2007-12-17 23:48:22 coderplay
通篇的
 

2007-12-17 23:50:06 lct
正在整理

2007-12-17 23:52:33 lct
如果说通篇内容,也就是introduction那部分的内容

2007-12-17 23:52:57 coderplay
你先打,我看着
 

2007-12-17 23:53:07 coderplay
具体的说说看
 

2007-12-17 23:53:52 coderplay
他是指语言的灵活性和程序性能是相冲突的,但他有办法解决
 

2007-12-17 23:54:26 lct
Multi-methods are treated as overloaded functions, where overload resolution is
determined by the dynamic classes of the arguments,
 

2007-12-17 23:54:34 lct
这关系到理解

2007-12-17 23:56:41 coderplay
这个是灵活性的部分了
 

2007-12-17 23:56:53 lct
怎么理解

2007-12-17 23:56:57 coderplay
看来搞不完嘞.边给你解释,边看
 

2007-12-17 23:57:16 lct
看懂字面,却理解不了

2007-12-17 23:57:24 coderplay
传统的OOP语言有重载与重写
 

2007-12-17 23:58:31 coderplay
重载是一个类里面有多个同名的方法比如

class A
{
   public void func_name(void);
   public void func_name(Object obj);
}
 

2007-12-17 23:58:36 coderplay
这是重载.
 

2007-12-17 23:59:02 coderplay
到底是调用func_name(void)还是调用func_name(Object).
 

2007-12-17 23:59:13 coderplay
这取决于你传给方法的参数的类型
 

2007-12-17 23:59:16 lct
There are no variables or
expressions where this subtype polymorphism is restricted, unlike C++
 

2007-12-18 00:00:01 lct
重载明白,重写呢?

2007-12-18 00:01:00 lct
overloaded是重写?

2007-12-18 00:01:28 coderplay
重写是和继承相关的

class A
{
  virtual fun_name()
}

class B inherite A
{
  func_name();
}

 
 

2007-12-18 00:01:42 coderplay
重载(overload) ,重写(override)
 

2007-12-18 00:02:26 lct
呵呵,好

2007-12-18 00:02:27 coderplay
然后有一个B的实例
B b = new B;
b.func_name(); // 这句不会调用A.fun_name
 

2007-12-18 00:03:02 coderplay
虽然参数都一样,这是为了消除继承的二义性
 

2007-12-18 00:03:25 coderplay
class Cat{
    public void eat(){
        System.out.println("cat eat");
    }
}
public class BlackCat extends Cat{
    public void eat(){
        System.out.println("black cat eat");
    }
    public static void main(String[] args){
        Cat cat = new BlackCat();
        cat.eat();
    }
}
 

2007-12-18 00:03:33 coderplay
这个时候的结果是:
black cat eat
 

2007-12-18 00:04:11 coderplay
如果
 Cat cat = new Cat();
 cat.eat();
结果则是cat eat
 
 

2007-12-18 00:04:32 lct
多方法可以看作重载函数,

2007-12-18 00:04:44 coderplay
no
 

2007-12-18 00:04:51 coderplay
有区别
 

2007-12-18 00:04:52 lct
好,你说的例子我明白,但遇到字面无法翻译

2007-12-18 00:05:07 lct
Multi-methods are treated as overloaded functions, where overload resolution is
determined by the dynamic classes of the arguments,

2007-12-18 00:05:17 lct
我要说出这个意思

2007-12-18 00:05:31 coderplay
重载是编译完成后,调用的方法是确定的
 

2007-12-18 00:05:54 lct


2007-12-18 00:05:54 coderplay
而重写,程序到底调用哪个方法是运时期决定的
 

2007-12-18 00:06:12 coderplay
而不是编译期
 

2007-12-18 00:07:10 coderplay
比如这个
class A
{
   public void func_name(void);
   public void func_name(Object obj);
}

编译后,两个函数分别是
func_name_void(A this)
func_name_Object(A this, Object o)
 

2007-12-18 00:07:24 coderplay
所以编译完成后,它们实际上是两个名称不相同的函数
 

2007-12-18 00:07:31 coderplay
而重写却不同
 

2007-12-18 00:07:40 coderplay
它们的函数名在编译完成后还是相同的
 

2007-12-18 00:08:15 lct


2007-12-18 00:08:19 lct
那Multi-methods are treated as overloaded functions, where overload resolution is
determined by the dynamic classes of the arguments,

2007-12-18 00:08:23 lct
????????

2007-12-18 00:08:25 coderplay
只是第一个参数this的类型不同
func_name_void (A this)
func_name_void (B this)
 

2007-12-18 00:09:07 coderplay
Multi-methods有点像重载函数
 

2007-12-18 00:09:57 coderplay
但CLOS的Multi-methods是多重分发(multiple dispatching)的
 

2007-12-18 00:10:18 lct
参数的动态类决定重载的,,

2007-12-18 00:10:36 coderplay
重载是编译期后就决定了的,是静态的
 

2007-12-18 00:10:51 coderplay
而Multi-methods是运态决定的,是动态的
 

2007-12-18 00:11:38 coderplay
它通过动态检测所有参数的类型来决定调用哪个函数
 

2007-12-18 00:11:56 coderplay
是动态意义上的函数重载
 

2007-12-18 00:12:00 lct
coderplay 00:09:07
Multi-methods有点像重载函数
coderplay 00:10:35
重载是编译期后就决定了的,是静态的
coderplay 00:10:52
而Multi-methods是运态决定的,是动态的

2007-12-18 00:12:03 lct
糊涂了

2007-12-18 00:13:48 coderplay
重载编译后,两个函数分别是
func_name_void(A this)
func_name_Object(A this, Object o)

当你调用时,实际上是调用两个不同的函数
func_name_void(A this)和
func_name_Object(A this, Object o)
仅管你的程序,看上去是调用同名的方法.但编译器已经帮你的函数的名称全部换了
 

2007-12-18 00:15:37 coderplay
编译前是
A::func_name(void)
A::func_name(Object o)
调用方法分别是
a.func_name()
b.func_name(obj)

编译后是
func_name_void(A this)
func_name_Object(A this, Object o)
调用方法分别是
func_name_void(a)
func_name_Object(a, obj)
 

2007-12-18 00:16:09 coderplay
运行时,两个方法根本没有任何联系
 

2007-12-18 00:16:12 coderplay
连名称都不一样
 

2007-12-18 00:16:22 coderplay
这是重载
 

2007-12-18 00:16:39 coderplay
而Multi-Methods编译后的名称是一样的
 

2007-12-18 00:16:58 coderplay
只是参数类型不一样  
 

2007-12-18 00:17:20 coderplay
程序到底调用哪个函数, 是通过所有参数的类型来决定的
 

2007-12-18 00:18:46 lct
在C++中也学过,你说了我也明白了,但是对那篇文章的理解还是不行

2007-12-18 00:19:07 coderplay
他的意思是说Multi-Methods兼俱重写的动态性, 和重载的灵活性
 

2007-12-18 00:19:36 coderplay
Multi-methods are treated as overloaded functions, where overload resolution is
determined by the dynamic classes of the arguments,
这句你应该明白了吧
 

2007-12-18 00:19:45 coderplay
这是CLOS的作法
 

2007-12-18 00:19:50 lct
怎么翻译

2007-12-18 00:19:57 coderplay
一定要翻译?
 

2007-12-18 00:20:03 lct
dynamic classes

2007-12-18 00:20:16 coderplay
动态类型
 

2007-12-18 00:20:31 lct
参数的动态类?or动态类型

2007-12-18 00:20:38 coderplay
类型
 

2007-12-18 00:20:55 lct
与type?

2007-12-18 00:21:03 coderplay
不要去抠字眼,这是因为英语和汉语的差别
 

2007-12-18 00:21:26 coderplay
你只是感觉类与类型的区别比class与type大
 

2007-12-18 00:21:34 lct
因为我一直把全文的class理解成类了,面向对象中的类

2007-12-18 00:21:35 coderplay
明白意思就okay
 

2007-12-18 00:21:49 coderplay
后面作者说他的语言
 

2007-12-18 00:21:51 lct
现在明白了

2007-12-18 00:21:57 coderplay
与CLOS不同
 

2007-12-18 00:22:05 coderplay
他的语言灵活性更强
 

2007-12-18 00:22:41 lct
class hierarchy analysis
这个应该是类层次分析吧?不会是类型了吧

2007-12-18 00:22:50 coderplay
In fact, the implementation of the
operation can evolve over time, with special cases added incrementally without revising
previous versions or client code. The choice of implementation strategy is properly hidden
from clients, and there are no restrictions on future incremental extension to the set of multi-
methods.
 

2007-12-18 00:23:00 coderplay
对头
 

2007-12-18 00:23:48 coderplay
复制错了.这句:
 The Cecil
approach to multi-methods differs from the CLOS approach by allowing each multi-method
to independently determine which subset of its arguments requires dynamic dispatching
(there is no °∞congruent lambda list°± rule as in CLOS) and by treating all argument positio
with equal priority (there is no left-to-right ordering of argument positions as in CLOS).
 

2007-12-18 00:24:29 coderplay
Cecil对multi-methods的方法与CLOS的方法不同
 

2007-12-18 00:24:52 coderplay
CLOS是要检查所有的参数的类型来决定调用哪个函数
 

2007-12-18 00:25:51 lct
这个明白

2007-12-18 00:26:29 coderplay
而Cecil可以自定义.
比如参数是 (A a, B b, C c)
CLOS要检查a,b,c的类型
而Cecil用户则可能只要检查一个子集b,c的类型.  
 

2007-12-18 00:27:21 coderplay
Cecil语言支持这种特性
 

2007-12-18 00:27:28 lct


2007-12-18 00:28:01 coderplay
lambda list是一个术语, 与丘奇的可计算模型相关
 

2007-12-18 00:28:52 lct
[/惊讶]太有才了

2007-12-18 00:28:56 coderplay
下面那段就是消息传递
 

2007-12-18 00:29:09 lct
谢谢周大叔

2007-12-18 00:29:23 coderplay
这两个特性会使程序的性能降低
 

2007-12-18 00:29:33 coderplay
因为它在执行的时候还要判断类型
 

2007-12-18 00:29:52 coderplay
然后第3节讲的是他的解决方案
 

2007-12-18 00:29:59 coderplay
不过我还刚看..
 
 

2007-12-18 00:30:08 lct
大意我也看过了,管它懂不懂,我们宿舍催睡觉了,明天哪里懂讲哪里

分享到:
评论

相关推荐

    li_3ck_02a_1118.pdf

    li_3ck_02a_1118

    基于MATLAB的牛顿迭代法实现

    基于MATLAB的牛顿迭代法实现

    mellitz_3ck_01_0319.pdf

    mellitz_3ck_01_0319

    2025探索银行业人工智能驱动技术转型的投资回报率

    内容概要:文章阐述了银行采用人工智能(AI)技术替代传统系统的紧迫性和收益,讨论了通过构建现代化的数据和技术平台实现效率提升的方法,同时强调实施过程中确保数据质量和建立信任的重要性。文中提及,在金融行业中,若想优化业绩则必须拥抱AI带来的机遇,并为此进行经营模式的革新。根据Workday主办的研讨会内容,PwC金融服务风险与监管领导和Workday金融服务高层指出了大部分银行对AI认知不足的问题,强调AI在金融、人力资源以及IT等领域的广泛应用潜力及具体应用场景,如欺诈检测、技能映射和财务管理方面的作用。并且提到了AI部署过程中可能出现的技术与非技术难题及相应解决办法,鼓励金融机构及时投资建设新型基础设施,以保持竞争力。 适用人群:银行及其他金融机构管理人员;金融科技领域的专业研究人员;对企业数字化和智能化转型感兴趣的商业分析师、投资者;从事信息技术咨询工作的顾问。 使用场景及目标:本文可以帮助金融机构制定合理的技术发展战略规划,评估是否有必要推进AI技术转型,同时也为希望涉足银行科技项目的开发者提供了宝贵的市场洞察,帮助理解行业内普遍存在的困难与潜在的市场需求。此外,对于想要了解银行

    matlab程序代码项目案例论文+程序 基于在线优化的快速模型预测控制Fast model predicitive control with matlab interface.zip

    matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_043071]Phase Manager and a Scalable Batching Solution.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_044386]1769-SM2 Compact I-O to DSI Module - Multi Drive Mode Operation - with.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_041232]Monitor I-O Connections in Logix.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    chromedriver-linux64-136.0.7058.0.zip

    chromedriver-linux64-136.0.7058.0.zip

    [AB PLC例程源码][MMS_042504]Logix5000 interface to Atlas-Copco Tool Controller over EtherNet-IP.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_042349]How to read-write data to-from a PLC using OPC in Visual Basic 6.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    电力工程领域中背压热电联产电厂的设计与参数计算

    内容概要:本文档介绍了背压热电联产(CHP)发电厂的详细设计步骤,涵盖确定各状态点的压力、温度、比焓以及质量流率的具体方法。主要内容围绕计算净电功率、燃料消耗及其效率展开,并提供了T-s图绘制的指南。针对每个组件(如蒸汽轮机、冷凝器、除氧器等),都列出了详细的效率假设和压力损失表,为实际工程应用提供了宝贵的参考资料和操作指导。同时,该作业任务要求学生从给定初始值中选择合适的操作条件进行系统模拟,并利用课程讲义和Moodle平台资料完成计算流程。 适用人群:对能源转换和动力设备设计感兴趣的学生或者初涉该领域的工程师。 使用场景及目标:旨在帮助学员深入了解并掌握背压热电联产装置的工作原理和技术指标计算的方法论,通过实践练习提高他们的问题解决能力。 其他说明:文档强调了稳态运行假设的重要性,即物质平衡等于能量输入等于输出的原则,并鼓励参与者借助附录提供的典型操作参数图表来寻找解决问题的方向。此外,它还特别指出对于一些变量值求解可能需要迭代法来进行调整,直至获得稳定结果。提交的报告必须含有一份详细的T-s图和其他必要附件。

    机器学习-市财政收入分析(含数据集)

    机器学习_市财政收入分析(含数据集)

    [AB PLC例程源码][MMS_046989]KAT with Code Sequencer.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    tracy_3cd_01_0318.pdf

    tracy_3cd_01_0318

    lusted_3cd_01_0918.pdf

    lusted_3cd_01_0918

    基于51的自动分拣系统设计20250307

    题目:基于51的自动分拣系统设计 主控:AT89C52 测距模块:超声波测距模块 甲醛传感器(ADC0832+滑动变阻器模拟) 粉尘传感器(PCF8591+滑动变阻器模拟) 净化模块(继电器驱动蓝灯) 排风模块(继电器驱动绿灯) 电源电路(5V降压为3.3V供电) 显示模块(LCD1602) 声光报警 按键(3个,切换阈值选择,阈值加减) 检测物体:开关模拟 电机驱动模块(继电器驱动直流电机转动) 功能: 1.显示屏显示甲醛,粉尘浓度可以切换设置阈值。 2.通过甲醛传感器检测车间环境,大于阈值时声光报警并启动净化模块。 3.通过粉尘传感器检测车间环境,大于阈值时声光报警并启动排风模块。 4.采用超声波传感器进行物体超高监测异常(大于XX距离)时触发声光报警 5.检测到物体(开关闭合)直流电机转动(模拟传送带)

    network-server

    network_server

    [AB PLC例程源码][MMS_046691]Integrated Architecture Foundations of Modular Programming.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    sun_01_0308.pdf

    sun_01_0308

Global site tag (gtag.js) - Google Analytics