公司:重庆环洁智科技有限公司
主营:产品研发设计、模具加工生产
手机:13101395006
地址:重庆茶园经开区美林路16号昌龙国际A9栋5楼
控制系统研发中如何处理系统设计的可重用性?
各位老铁们,大家好,今天由我来为大家分享控制系统研发中如何处理系统设计的可重用性?,以及可重用设计模式有哪几种的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
如何有效提高Java代码的可重用性
大量结构、功能相近的冗余代码不仅增加了维护上的额外成本,而且更重要的是让代码变得不规范。提升代码的可重复性,首先要强调代码规范,如规范类名、方法名、变量名、换行符、代码宽度等,代码复用也是提升代码质量的重要手段,那么如何有效的提高代码的重用性,我总结以下几点:
利用面向对象的三大特点中的“继承和封装”,在开发过程中一定要重视封装,把需要重复调用的代码封装起来放到父类中,在需要调用的时候继承使用,这样代码就不会重复编写,整体代码是具有规范性的。
利用多态性将非基本数据类型转化为接口类型,把所有形式的参数改为接口形式,经过这个改动之后,参数可以是实现该接口的所有类的对象,而不仅仅是原来的类所创建的对象,由此能够对可能存在的大量的对象类型进行操作,我们就可以进一步提高代码的可重用能力。
另外,在开发过程中要注意是否可以重复调用一个服务接口来实现功能操作,而不是一个功能操作就创建一个接口服务,把多个功能需要的服务接口提升到上级目录中,这样这些功能就可以使用该接口服务的方法。
类似的代码可以考虑封装为工具类、父类、接口,而多个接口、父类、工具类交互、结合配置文件就形成技术框架,其中可能涉及到java反射、动态Shell脚本,甚至代码生成机制等技术。技术框架要统一维护,可以通过jar包方式来复用、经过多个项目验证锤炼、同时跟业务场景结合,就可以(可能)萃取、打造成用于解决典型业务场景的平台产品,多个平台产品结合加扩展开发就可以形成特定领域的技术解决方案。
如何系统的从零开始学习PLC
PLC的基本工作原理一).PLC采用“顺序扫描,不断循环”的工作方式1.每次扫描过程。集中对输入信号进行采样。集中对输出信号进行刷新。2.输入刷新过程。当输入端口关闭时,程序在进行执行阶段时,输入端有新状态,新状态不能被读入。只有程序进行下一次扫描时,新状态才被读入。3.一个扫描周期分为输入采样,程序执行,输出刷新。4.元件映象寄存器的内容是随着程序的执行变化而变化的。5.扫描周期的长短由三条决定。
(1)CPU执行指令的速度
(2)指令本身占有的时间
(3)指令条数6.由于采用集中采样。集中输出的方式。存在输入/输出滞后的现象,即输入/输出响应延迟。
二).PLC与继电器控制系统、微机区别
1.PLC与继电器控制系统区别前者工作方式是“串行”,后者工作方式是“并行”。前者用“软件”,后者用“硬件”。2.PLC与微机区别前者工作方式是“循环扫描”。后者工作方式是“待命或中断”3.PLC编程方式PLC最突出的优点采用“软继电器”代替“硬继电器”。用“软件编程逻辑”代替“硬件布线逻辑”。PLC编程语言有梯形图、布尔助记符语言,等等。尤其前两者为常用。PLC的分类三).按结构分类:1.整体式:是把PLC各组成部分安装在一起或少数几块印刷电路板上,并连同电源一起装在机壳内形成一个单一的整体,称之为主机或基本单元、小型、超小型PLC采用这种结构。
2.模块式:是把PLC各基本组成做成独立的模块。中型、大型PLC采用这种方式。便于维修。
PLC的应用方面:1.用于开关量逻辑控制
2.用于闭环过程控制
3.PLC配合数字控制
4.用于工业机器人控制
5.用于组成多级控制系统。
定时器和计数器的应用程序:
1、接通/断开延时电路(定时器用作时间继电器)
2、闪烁电路(用定时器产生周期脉冲信号)
3、定时范围的扩展
多个定时器组合电路:
如图所示。当X0接通,T0线圈得电并开始延时,延时到T0常开触点闭合,又使T1线圈得电,并开始延时,当定时器T1延时到,其常开触点闭合,再使T2线圈得电,并开始延时,当定时器T2延时到,其常开触点闭合,才使Y0接通。因此,从X0为ON开始到Y0接通共延时9000s。
电动机常用控制线路:
1.三相异步电动机起、停控制(起动、保持和停止电路)
SB1:起动按钮;SB2:停止按钮;
KH:热继电器常开触点X402。
常闭触点输入信号的处理
如果输入信号只能由常开触点提供,梯形图中的触点类型与继电器电路的触点类型完全一致。
如果接入PLC的是输入信号的常闭触点,这时在梯形图中所用的X1的触点的类型与PLC外接SB2的常开触点时刚好相反,与继电器电路图中的习惯也是相反的。建议尽可能采用常开触点作为PLC的输入信号。
常用基本环节梯形图程序:
1.起动、保持和停止电路
2.三相异步电动机正反转控制电路
3.常闭触点输入信号的处理
4.多继电器线圈控制电路
5.多地控制电路
6.互锁控制电路
7.顺序起动控制电路
8.集中与分散控制电路
9.自动与手动控制电路
10.闪烁电路
11.延合延分电路
12.定时范围扩展电路
多继电器线圈控制电路:下图是可以自锁的同时控制4个继电器线圈的电路图。其中X0是起动按钮,X1是停止按钮。
多地控制电路:下图是两个地方控制一个继电器线圈的程序。其中X0和X1是一个地方的起动和停止控制按钮,X2和X3是另一个地方的起动和停止控制按钮。
互锁控制电路:下图是3个输出线圈的互锁电路。其中X0、X1和X2是起动按钮,X3是停止按钮。由于Y0、Y1、Y2每次只能有一个接通,所以将Y0、Y1、Y2的常闭触点分别串联到其它两个线圈的控制电路中。
顺序起动控制电路:如图所示。Y0的常开触点串在Y1的控制回路中,Y1的接通是以Y0的接通为条件。这样,只有Y0接通才允许Y1接通。Y0关断后Y1也被关断停止,而且Y0接通条件下,Y1可以自行接通和停止。X0、X2为起动按钮,X1、X3为停止按钮。
集中与分散控制电路:在多台单机组成的自动线上,有在总操作台上的集中控制和在单机操作台上分散控制的联锁。集中与分散控制的梯形图如图所示。X2为选择开关,以其触点为集中控制与分散控制的联锁触点。当X2为ON时,为单机分散起动控制;当X2为OFF时,为集中总起动控制。在两种情况下,单机和总操作台都可以发出停止命令。
自动与手动控制电路:在自动与半自动工作设备中,有自动控制与手动控制的联锁,如图所示。输入信号X1是选择开关,选其触点为联锁型号。当X1为ON时,执行主控指令,系统运行自动控制程序,自动控制有效,同时系统执行功能指令CJ,P63,直接跳过手动控制程序,手动调整控制无效。当X1为OFF时,主控指令不执行,自动控制无效,跳转指令也不执行,手动控制有效。
梯形图的设计方法:
1、继电器控制电路转换为梯形图法
如果用可编程序控制器改造继电器控制系统,根据原有的继电器电路图来设计梯形图显然是一条捷径。用可编程序控制器的硬件和梯形图软件来实现继电器系统的功能。
这种设计方法没有改变系统的外部特性,除了控制系统的可靠性提高之外,改造前后的系统没有什么区别。这种设计方法一般不需要改动控制面板和它上面的器件,因此可以减少硬件改造的费用和改造的工作量。
思路:将PLC想象成一个继电器控制系统中的控制箱。
主要步骤如下:
(1)熟悉被控设备的工艺过程和机械的动作情况,根据继电器电路图分析和掌握控制系统的工作原理。
(2)确定可编程序控制器的输入信号和输出负载,以及它们对应的梯形图中的输入继电器和输出继电器的元件,画出可编程序控制器的外部接线图。
(3)画出表格,表明继电器电路图与梯形图中各种元器件间的一一对应关系。
(4)画出全部梯形图,并予以简化和修改。
三相异步电动机正反转控制:
分析控制要求:
★I/O分配表
★画外部接线图。
★画梯形图。
★列写程序清单。
I/O分配表:
画外部接线图:
画梯形图:
注意事项:①必须遵守梯形图语言中的语法规定
②可适当地设置中间单元
③尽量减少可编程序控制器的输入信号和输出信号
④必须保留异步电动机正反转的外部联锁电路
⑤注意外部负载所需的额定电压
每一I/O点的平均价格在100元左右,因此减少输人信号和输出信号的个数是降低硬件费用的主要措施。
PLC的继电器输出模块和双向可控硅输出模块一般最高只能驱动额定电压AC220V的负载,如果系统原来的交流接触器的线圈是380v,应更新该类元件并将线圈额定电压换成220V。
2、梯形图的经验设计法
在一些典型电路的基础上,根据被控对象对控制系统的具体要求,不断修改和完善梯形图,多次反复调试和修改梯形图的设计方法。
特点:(1)具有试探性和随意性;
(2)最后的结果不是唯一;
(3)设计所用的时间和质量因设计者的经验而异,交付使用后维护困难。
PLC程序设计的一般步骤
①详细了解生产工艺和设备对控制系统的要求。必要时画出系统的工作循环图或流程图、功能图及有关信号的时序图。
②将所有输入信号,输出信号及其它信号分别列表,并按PLC内部软继电器的编号范围,给每个信号分配一个确定的编号,即编制现场信号与PLC软继电器编号对照表。
③根据控制要求设计梯形图。图上的文字符号应按现场信号与PLC软继电器编号对照表的规定标注。
④编写程序清单。梯形图上的每个逻辑元件均可相应地写出一条命令语句,编写程序应按梯形图的逻辑行和逻辑元件的编排顺序由上至下、自左至右依次进行。
(1)、设计实例一:送料小车在限位开关X4处装料,10S后结束然后右行,碰到X3后停下来卸料,15S后左行,碰到X4后,又停下来装料,这样不停地循环工作,直到按下停机按钮。
送料小车自动控制系统的梯形图设计:
(2)、设计实例二
报警电路的PLC程序设计:
解:1)输入/输出接点分配见表
2)控制逻辑梯形图见图
3)指令程序
顺序控制设计法与顺序功能图:
顺序功能图法是描述控制系统的控制过程、功能和特性的一种图形。按图形的逻辑关系对照翻译即可得到梯形图。
顺序功能图的组成:
步+转向条件+有向连线+动作
功能流图设计法的基本步骤:
1)步的划分:分析被控对象的工作过程及控制要求,将系统的工作过程划分成若干阶段,这些阶段成为“步”。
2)转换条件的确定:是使系统从当前步进入下一步的条件。
3)功能流图的绘制
4)梯形图的编制
功能表图中转换的实现:
步与步之间实现转换应同时具备两个条件:
①前级步必须是“活动步”;②对应的转换条件成立。
当上述两个条件同时具备时,才能实现步的转换,即所有由有向连线与相应转换符号相连的后续步都变成活动,而所有由有向连线与相应转换符号相连的前级步都为不活动步。
顺序控制设计法的基本思想:
顺序控制设计中的顺序功能图绘制:
2、顺序功能图的基本结构
举例:这是一个三工位钻床的工作台的俯视图。
三个工位分别完成:
(1)送料
(2)钻孔
(3)合格品检测
综合实例1、钻孔动力头的控制
1、确定控制任务(动作要求,绘制工艺流程图与动作顺序表)。
动力头停在处于原位,1ST被压合
起动SB,电磁阀1YA得电,使动力头快进
到达工位2,2ST被压合,使电磁阀1YA、2YA都得电,动力头工进
到达工位3,3ST被压合,使电磁阀1YA、2YA失电,动力头停止前进,工进延时1S,等待加工完成。
延时时间到,电磁阀3YA得电,动力头退回。
5、程序指令表(略)
综合实例2、十字路口交通信号灯自动控制
1、确定控制任务(动作要求,时序图)
十字路口的交通信号灯共有12个,同一方向的两个红、黄、绿灯的变化规律相同,所以十字路口的交通灯控制就是一双向(两组)红、黄、绿灯控制,称之为1R、1Y、1G和2R、2Y、2G。
起动SB,南北红灯(2R)维持60s;同时,东西绿灯(1G)亮55s后,闪烁3s灭;东西黄灯(1Y)亮2s;
然后东西红灯(1R)维持60s;同时,南北绿灯(2G)亮55s后,闪烁3s灭;南北黄灯(2Y)亮2s……,如此循环,其时序图如图所示。
2、PLC输入输出I/O分配对照表
3、PLC与外部器件的实际连接图
4、梯形图设计
设计方法:化整为零,采用基本电路
1)SB按钮信号的处理
2)红灯1R、2R交替亮60S;绿灯1G、2G闪烁3次。可用定时器产生周期脉冲信号电路实现。
本文来源于互联网,暖通南社整理编辑。
可重用设计模式有哪几种
1、单例模式
这是最常用和最常见的设计模式,几乎每个应用程序都需要用到单例模式,这种模式涉及到一个单一的类,该类负责创建自己的对象,当你需要一个对象来协调跨系统的操作时,单例模式是很好的解决方式。
顾名思义,模式用于保证一个类仅有一个实例。需要声明一个私有构造函数,以防止从类外部实例化。另外,它需要声明一个singleton类型的静态字段。
publicclassSingletonDemo{
privatestaticSingletonDemoinstance=null;
privateSingletonDemo(){
}
publicstaticSingletonDemogetInstance(){
if(instance==null){
instance=newSingletonDemo();
}
returninstance;
}
}
上面的代码中的getInstance()方法在运行时只创建这个类的一个实例,首选的场景:类只有一个实例,包括缓存、线程池和注册表。
单例模式的getInstance()方法并不是线程安全的。它可以被实例化不止一次,可以通过在方法上加同步调用来解决,但是这会使方法变慢。
2、工厂模式(FactoryPattern)
这里单词factory说的是工厂的意思,同样的软件工厂生产对象,它只是通过调用工厂方法,而不是调用特定类的构造函数来实现这一点。通常,对象创建的过程如下:
DemoClassdemoClassObject=newDemoClass();
上述方法的问题是代码使用了具体的对象DemoClass。使用new创建对象也可以,但是它将代码紧密地耦合到了具体的类。可以通过如下的工厂模式解决该问题:
publicinterfaceNotification{
StringgetType();
}
publicclassCallimplementsNotification{
publicStringgetType(){
return"call"
}
}
publicclassMessageimplementsNotif
系统设计中的可变性原则是什么
即找到一个系统的可变因素,将之封装起来。
如何进行产品需求设计
设计来源于生活要做好一个好的产品设计需要有极高的生活观察能力从观察细节发现需求从而启发设计的灵感在这方面可以多参考日本的产品设计和瑞典的产品设计从他们的设计思维模式中启发自己的设计灵感毕竟前期有一个产品作为对标是比较理想的选择其次呢就是以解决某个问题为目标绘制出相应的手稿然后去完善他中间还要找一下所涉及工艺材料的产品经理挖掘其实现的难点及可能性最后打版做出样品!
构思计算机控制系统的整体力案时,确定采用闭环控制时要考虑哪些
在构思计算机控制系统的整体力案时,确定采用闭环控制时要考虑的因素有:
1.系统的稳定性;
2.系统的可靠性;
3.系统的可控性;
4.系统的可调性;
5.系统的可维护性;
6.系统的可扩展性;
7.系统的可重用性;
8.系统的可测试性;
9.系统的可实施性;
10.系统的可操作性。
面向对象程序设计的优缺点
面向对象程序设计有以下优点:
1、易维护
采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
2、质量高
在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
3、效率高
在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
4、易扩展
由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!