可编程控制器学习总结

2024-04-17

可编程控制器学习总结(精选6篇)

篇1:可编程控制器学习总结

通过本课程的学习,我们可以获得电气控制与可编程控制器的基本知识和基本技能,培养分析和解决实际问题的能力,并为今后从事电气工程领域的技术工作打下基础。如果以后从事电气原理图的设计与选型这一工作,这么门课是很重要的.因为电气最终实现动作还是通过编程来实现的。这本书包括两方面

1、电器控制部分。该部分主要掌握继电器控制电路的分析、设计,能够了解各类继电器的工作原理,利用继电器组成电动机的启动、自保、调速、制动控制电路,掌握控制线路的设计原则、基本规律以及一般设计方法。

2、可编程序控制器部分(即PLC部分)。该部分主要掌握三菱FX2N系列的原理、基本指令、基本指令的编程方法、设计控制线路、部分功能指令的使用方法。掌握一种三菱编程软件。第一章

常用低压电器

1.本章重点介绍继电器-接触器控制系统中常用的低压电器。这些常用低压电器是组成控制电路的重要的元件。

2低压电器是在交流电压为1200V,直流电压为1500V及以下的电路中起通断、保护、控制、变换、检测、或调节作用的基本元件。

第二章

电气控制线路的基本规律

1.电气控制线路图绘制原则及读图方法:按国家统一规定的电气图形符号和文字符号。

2.学习由电器元件组成的三相交流异步电动机的启动、停止,正反转,多地,多条件控制电路的基本原理;降压起动控制电路;制动控制电路;调速。

第三章 电气控制系统分析 1CA6140车床电气控制线路分析 X-62W 型万能铣床:X-62W 卧式万能铣床主轴采用反接制动,变速时有短时冲动,机械操作手柄与行程开关、机械挂档的操作控制及三个方向进给之间具有联锁关系。

第四章电气控制系统的设计

1电气控制线路设计的一般原则:

(一)最大限度地实现生产机械和工艺对电气控制线

路的要求

(二)在满足生产要求的前提下,力求使控制线路简 单、经济。

2:电气控制线路两种设计方法:经验设计法,逻辑代数设计法 第五章可编程控制器的概述 PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。

2可编程控制器的应用领域:开关量的逻辑控制,模拟量控制,运动控制,过程控制,数据处理,通信及联网 PLC的组成:由中央处理器(CPU)、存储器(RAM、ROM)、输入输出器件(I/O接口)、电源及编程设备构成: 4可编程控制器的工作原理:在系统程序的管理下,通过运行应用程序完成用户任务

第六章

三菱FX2N系列可编程控制器及其基本指令的应用 1.FX2N系列可编程控制器软组件:

输入继电器:X;

输出继电器:Y;

辅助继电器:M

状态继电器:S;

定时器: T;

计数器:C;

数据寄存器D;

指针:P、I、N 2.FX2N基本指令:逻辑取及线圈驱动指令,触点串联(AND、ANI)指令,触点并联(OR、ORI)指令,脉冲指令,串联电路快的并联(ORB)指令,并联电路块串联(ANB)指令 第七章

FX2N系列PLC步进指令 及状态编程法

本章介绍状态指令、状态元件、状态三要素、状态编程思想,状态转移图与状态梯形图对应关系。然后说明常见状态转移图的编程方法,并结合实例介绍状态编程思想在顺序控制中的应用。第八章FX2N系列PLC的应用指令及编程方法

应用指令是可编程控制器数据处理能力的标志。由于数据处理远比逻辑处理复杂,应用指令无论从梯形图的表达形式上,还是从涉及的机内器件种类及信息的数量上都有一定的特殊性。

第九章可编程控制系统设计

一、PLC控制系统设计的基本原则 1).最大限度地满足被控对象的控制要求。

2)在满足控制要求前提下,力求使控制系统简单、经济使用及维修方便。

3)保证控制系统安全、可靠、稳定。

4)考虑到生产的发展和工艺的更改,选择PLC容量要适当留有裕度。

2. PLC控制系统设计的基本内容

1)选择用户输入设备(按钮、操作开关、限位开关、传感器)、输出设备(接触器、信号灯、继电器等执行元件)以及由输出设备驱动的控制对象(电动机、电磁阀等)。

2)选择PLC(型号、容量、I/O模块、电源模块等的选择)。3)分配I/O点,绘制I/O接线图。

4)设计控制程序。包括有系统流程图、梯形图、语句表。5)必要时还需设计控制台柜(此项一般由机械技术人员设计)。6)编制控制系统的技术文件。包括有说明书、电气图及电气元件明细表等。

第十章 FX2n系列PLC的特殊功能模块及通信

本章着重介绍三菱公司FX2n系列PLC某些特殊功能模块主要性能,线路连接以及PLC的通信作介绍,如模拟量输入模块 FX2N-4AD、模拟量输出模块 FX2N-4DA。

随著微电脑的发展,PLC功能将更加强大,未来需要这方面的人才更多。对于我们学习电气的,这门可更要去学好。由于上课时间有限,自己学习能力还有待于加强,关于这门课以后还需要我们多花点时间去多翻翻书。否则一旦踏上工作岗位会有“书到用时方很少” 的悔感,那是我们就后悔也莫及了,所以一定要在毕业之前掌握好各门专业课。最后真心要感谢老师,不仅是教了我们这门课,更多的是一种敬佩。我们上课的时候,由于这是一门考查课,很多同学都很放松,教室里吵杂。但是老师总是会把该讲的都讲到,不会因为某些同学不想学就不教,教学严谨,认真负责。

篇2:可编程控制器学习总结

(1)基本控制功能(与或非等逻辑指令,触点串并联;定时、计数)

(2)步进控制功能(在多工步控制中,按照一定的顺序工作)(3)模拟控制功能(模拟量输入和输出摸块)(4)(5)定位控制功能(提供高速计数、定位、脉冲实现各种定位控制)站,网络通信功能(通过PLC工作站形成一个RS232-PCPLC网络系统)机、打印机、通过计算机做主

(6)序,一旦有故障,立即给出出错信息并作处理)自诊断功能(在CPU.RAM.I/O正常工作的情况下执行用户程 [7)维护和调试提供了方便)显示监控功能(用编程器和人机界面直接显示某些运行状态为

3.PLC12)编程语言简单、易掌握与其他计算机控制

装置相比所具有的特点: 3)抗干扰能力强、可靠性高

4)输入输出接口电路已设计好,输出驱动能力强5)采用模块结构、组态灵活、性价比高

.3.PLC)对电源的要求不高,允许波动的范围较宽(1)的分类

1按照结构形式可分为整体式和模块式。把.整体式(单元式结构)PLC的各部分都装入一个箱体内。

特点:结构紧凑,构成一个整体,体积小,成本低,安装方便。目前,小型PLC开始吸收模块式的特点,还有许多专用特殊功能模块。

2采用搭积木的方式组成系统。.模块式结构

特点:CPU、输入、输出、电源等是独立的模块,要组成一个系统,只需在一块基板上插上CPU、输入、输出、电源等模块,就能构成一个具有大量I/O点的大规模综合控制系统。各种模块尺寸统一,便于安装。特点是系统配置灵活,选型、安装、调试、扩展、维修十分方便.2中型和大型。)从规模上按 PLC的输入输出点数及存储器容量可分为小型、小型机:PLCI/O点数不超过128点,用户存储容量小于4K。中型机: PLCI/O点数为129~512点,用户存储容量4K~16K。大型机:PLCI/O点数为大于512点,用户存储容量大于16K。

4.PLC(1)的性能指标

(1)

工业环境的要求,PLC的性能指标通常用硬件和软件指标来衡量。硬件应满足(2)I/O点数(开关量和模拟量)。软元件的种类和数量用户程序存储器容量和类型PLC的软件指标通常用以下几项来描述:(5)扫描速度(2)(6)编程语言其他(3)

指令种类及条数(4)

2.CPU1].其主要任务有:

2].控制从编程器输入的用户程序和数据的接收与存储;

入状态表或数据存储器中;用扫描方式通过I/O部件接收现场的状态与数据,并存入输

3].4].PLC诊断电源、PLC内部电路的工作故障和编程中的语法错误; 令解释后按指令规定的任务进行数据传送、逻辑或算术运算等;进入运行状态后,从存储器逐条读取用户指令,经过命 5].容,根据运算结果,更新有关标志位的状态和输出寄存器表的内再经由输出部件实现输出控制、制表打印或数据通信等功能。6].接受中断请求并作处理 3.I/O输入1.模块是/输出模块CPU与现场

I/O设备或其它外部设备之间的连接部件。输入部件是输入部件

PLC与工业生产现场被控对象之间的连接部件,是现场信号进入PLC的桥梁。该部件接收由主令元件、检测元件来的信号。

2输出部件也是)输出部件

PLC与现场设备之间的连接部件。希望它能直接驱动执行元件,如电磁阀、微电机、接触器、灯和音响

等。4.开关量输入模块直流输入模块

交流输入模块 交直流输入模块 [2)开关量输出模块的基本原理:三种输出晶体管输出.可控硅输出

继电器输出

9.编程器分为以下 可编程序控制器的编程语言 梯形图

语句表3类:

其他编程语言

简易编程器

图形编程器

工业控制计算机作为编程器 可编程序控制器的应用概况 PLC(1)应用于以下几个方面:

制(4)开关量逻辑控制数据处理(5)通信(2)慢连续量的过程控制(3)快连续量的运动控

在选择使用模拟量5.(3)模拟量输入模块的基本原理

输入模块时,主要应考虑如下几个技术要

求:

①输入量类型:电压,电流;

②输入量程:常见为0~10V(4~20mA); ③输入极性:如±5V;

④输入通路数:常见有单路、8路和16路;

⑤转换精度:主要决定于A/D转换芯片规格,如8位、10位12位;

⑥转换速度:常见有10~100μs 4)在选择使用模拟量模拟量

输出模块的基本原理

输出模块时,主要考虑以下技术要求:

①输出量

类型:电压或电流(取决于输出驱动方式或

连接方法);

②输出精度:主要取决于D/A转换器的精度,如8位或

12位; ③输出通道数:取决于输出转换开关,常见的有单路或 8路; ④输出幅度:决定于输出级; ⑤输出极性:单向或双向。7.PLCPLC序执行过程,的工作过程就是程序执行过程,的工作过程

它分为三个阶段,即输入采样阶段、PLC投入运行后,程序执行阶段、便执行程输出刷新阶段。1在这个阶段,)输入采样阶段PLC

以扫描方式按顺序将所有输入端的输入信号状态读入到输入映像寄存器中寄存起来,称为对输入信号的采样或称刷新。

2在此阶段,)程序执行阶段PLC对程序按顺序进行扫描。如果程序用梯形图表示,则总是按先上后下,先左后右的顺序进行扫描。3当程序执行完后,进入输出刷新阶段。此时,将元素映像寄存器)输出刷新阶段

中所有输出继电器状态转存到输出锁存电路,再去驱动用户输出设备(负载),这就是PLC的实际输出。8.PLCPLC的输入/响应滞后现象。对于一般工业设备来说,这些滞后现象是完全允有很多优越之处,但也有不足之处,其中最显著的使输出滞后现象

I/O有许的。但应尽量减少滞后时间。

当PLC的输入端有一个输入信号发生变化到PLC输出端对输入变化作出反应,需要一段时间。这个时间是响应时间或滞后时间。产生I/O响应滞后的原因一般是:

序执行、输出刷新三个阶段进行。1)执行程序按工作周期进行,每一工作周期又分输入采样、程

2后作用、输出继电器的机械滞后作用)产生输入/输出响应滞后的其他原因还有输入滤波器电路的滞.1.FX

1系列PLC的主要特点 具有基本单元、扩展单元和扩展模块及特殊功能单元。)系统配置灵活方便

2在线修改和编写程序,实现元件监控和测试功能。在计算机上进)具有在线和离线编程功能

行离线编程。3* FX)高速处理功能

* 系列PLC内置多点高速计数器,对输入脉冲进行计数。* 不受扫描周期限制,实现定位控制;

中断输入方式对具有优先权和紧急情况的输入可快速响应。

1.机。超小型机中

FX2N系列功能最强速度最快容量最大,属于高档 组成的单元型可编程控制器。

FX-2N系列PLC是由电源、AC电源、CPU、存贮器和输入DC输入型的内装/输出器件DC24V电源作为传感器的辅助电源;可进行逻辑控制、开关量控制、模拟量控制,并可进行各种运算、传送、变址寻址、移位等功能。FX(输入继电器(系列PLC的软元件地址编号及其功能

T)

计数器(X)和输出继电器(C)寄存器(D/V/Z Y)辅助继电器()状态(S)指针(M)定时器P、I)常数(K、H)

基本指令:一.LD/LDI、AND/ADI、OR/ORI、ANB/ORB、OUT指令

二.LDP、LDF、ANDP、ANDF、ORP、ORF指令 三.SET、RST指令 四.PLS、PLF指令

五.MPS、MRD、MPP指令 六.MC、MCR指令 七.INV反

篇3:可编程控制器学习机的使用

PLC编程不能仅仅停留在电脑上写程序, 若有一台PLC来做实验, 会对我们学习编程如虎添翼。学习者买一台PLC动辄上千元, 光是一条编程电缆正品的也要上百元, 这还只能学习一种PLC。为了更好地让学习者用最优惠的成本学会PLC的编程, 我们引入PLC学习机。

1 PLC学习机

学习机由主机区、主机接口与指令训练区、实验单元三部分组成。

主机区装配PLC主机, 可装三菱、西门子、欧姆龙的PLC主机。主机接口的作用是连接PLC主机与指令训练区的纽带。指令训练区包含基本指令和功能指令。PLC的输入方式有钮子开关输入、拨码器输入、键盘输入方式。PLC的输出方式有数码管显示、发光管显示。

使用学习机前先不通电, 打开机箱盖检查问题。实验前将学习机接通电源, 打开机箱面板上的开关。检查PLC主机输入输出端子有无虚接现象。使用学习机, 首先安装驱动程序, 查看设备管理器的端口号。然后安装软件, 更改语言为中文, 然后重启软件。

PLC学习机配置了模拟实验板, 可以进行许多模拟实验, 比如:邮件分拣机、电梯自控、轧钢机等等。主机的输入输出点与模拟实验板通过导线连接。实验板采用图形显示设计方法, 控制电路画在模板上, 使用方便直观。程序设计的步骤是选择实验板, 进行编程, 运行程序。

PLC学习机编程器是开发、维护PLC控制系统的外部设备, 用来给PLC编程。编程器有三种工作方式:

(1) 编程方式:编程器把用户程序送入PLC主机, 可以进行编辑操作。

(2) 监视方式:编程器跟踪程序运行。

(3) 运行方式:PLC按内存中的程序对系统进行控制。

2 自控轧钢机的应用设计

板材在轧钢机中轧制是将板材从一个方向依靠传送机构进入到轧辊的缝隙之间, 轧辊旋转。下轧辊固定在机床上, 上轧辊可以上下移动, 通过调节上轧辊的位置改变两个轧辊的间隙。有的厚度改变大的工件一次轧制不能完成, 需要3次轧制才能完成加工任务。

2.1 自控轧钢机的控制要求:

(1) 启动按钮按下, M1、M2两台电动机同时运行, 检测开关S1有信号, 钢板没有完成压轧, M3电动机正转。

(2) 钢板轧完一次, 钢板处于接料传送带上, 检测开关S2有信号, 电磁阀动作使接料传送带倾斜, M3电动机反转把钢板从上压辊送回送料带。

(3) 往复三次为一个加工周期, 完成后停机1分钟, 取出成品。

2.2 输入输出点数的分配:

输入输出点数的分配如表1所示。

2.3 程序设计说明

启动轧钢机后, 按下按钮, 驱动两台电动机工作。当X1有效时, 传送带上已经放了待加工工件, 驱动M3正转, 指示灯HL1亮。当X2有效时, M3反转, 指示灯HL2亮, 锻压机冲压一次, 计数器C1计数1次。计数器没有达到3次, M3电动机正转。计数超过3次, 辅助继电器M1有效, M3电动机不反转, 三台电动机和电磁阀复位, 延时1分钟后定时器T0有效, 反复轧钢。

3 结束语

为了推广PLC技术, 学习使用PLC学习机, 以满足我们对学习PLC技术的要求。PLC学习机由可编程控制器主机、编程器、主机构成, 还有模拟实验板。做教学实验将主机与模拟实验板连接完成程序设计训练。将主机与系统部件连接可做开发机使用, 进行现场调试。

参考文献

[1]常斗南, 崔世钢, 李全利.小型PLC学习机在邮件分拣系统中应用设计[J].北京机械工业学院学报, 1996, (1) :112-116.

[2]PLC原理及应用培训简讯[J].职业教育研究, 1993, 03:30.

[3]刘杰, 李鹏.基于可编程控制器的分拣装置设计与实现[J].西南师范大学学报 (自然科学版) , 2014, (7) :98-101.

[4]常斗南, 崔世钢, 李全利.小型PLC学习机的设计及应用举例[J].天津职业技术师范学院学报, 1996, (1) :31-36.

篇4:可编程控制器学习总结

关键词:技工院校 可编程序控制器 应用 学习兴趣

1969年诞生于美国的世界上第一台可编程控制器给自动化控制带来了一场技术革命。它使得传统的继电器控制被自动控制所取代。由于可编程控制器采取了多层抗干扰措施,大大提高了运行的稳定性和可靠性,同时它能动态地监视程序的执行情况,检查自身的故障,大大提高了生产效率,缩短了设计施工周期。

可编程序控制器及其应用是电工类专业最重要的专业课程之一。近年来,随着工厂自动化程度的提高,可编程控制器的使用日益普遍,企业对新进职工本方面技能的要求日益严格,因此,如何提高学生学习可编程序控制器及其应用课程的学习兴趣已经成为摆在电气自动化专业教师面前的一项重要课题。

基于20多年的教学经验,笔者认为要提高学生学习可编程序控制器及其应用课程的学习兴趣,应当从以下三个方面入手。

一、根据学生实际情况编排校本教材

中国劳动社会保障出版社出版的《可编程序控制器及其应用》图文并茂,采用了一体化的教学模式,力求给学生营造一个更加直观的认知环境,但是部分内容编排不合理,甚至不适用,反而提高了学生的学习难度。例如在介绍可编程控制器软件知识的时候,对于梯形图的设计,仅仅介绍了设计梯形图时必须遵守的原则,而如何设计梯形图,如何让学生掌握梯形图中的各要素等相关知识并没有详细介绍,因此不利于学生的自学,也使得本部分知识不具体、不系统。因此根据学生实际情况适当编排校本教材成为提高学生学习兴趣的当务之急。

同时适当安排实验内容。中国劳动社会保障出版社出版的《可编程序控制器及其应用》对于一些PLC设计安排的不是很合理。PLC设计实验应当易于实现,能够使学生体会到实验的乐趣,而不是为了实现现实中的某项特殊应用而设计,难度太高反而打消了学生的学习兴趣,使学生望而却步。同时实验安排应当由易到难、由简单到复杂,循序渐进,例如由一盏小灯的点动控制到连续控制,再到多盏小灯的花样控制等等,适当增加每堂课的难度,让学生在不知不觉中被潜移默化,从而提高学习兴趣。

二、采用先进的教学模式

传统的填鸭式教学早已不适合今天的技工教育。现代教学方式应当体现以学生为主体,以教师为主导,教师只是起到引导的作用。启发式教学、分组教学、项目教学等新的教学方法层出不穷,但适合的才是最好的。每一位教师都有自己的教育艺术,教学模式也因人而异。例如在实验时我们可以将学生进行分组,让学生选出本组的组长,将工作页印发给各小组,由组长根据工作需要进行分工,使得人尽其才,同时各组之间展开竞争,将各组的表现进行量化,并将成绩计入日常考核,从而提高学生的学习积极性,同时提高了学生的集体意识。

三、建立和谐的师生关系

教师不仅要解惑授业,更是学生人生的楷模。教师的一言一行关乎学生良好行为养成,因此教师应当树立高尚的人格魅力,让学生愿意围绕在教师身边,看到教师就感觉到心安。同时教师要有积极的心态并充满爱心,切实做到一切为了学生,为了学生的一切。有的教师日复一日,年复一年地教学,但是从没有在教学中寻找到乐趣,反而觉得很乏味很枯燥。这样的教师永远也不可能取得教育上的成功,永远也不可能把教师这份工作做好。因此对学生的爱心,是教育的力量源泉,是教育成功的基础 。教师要投入全身心的力量去爱学生、爱教育。 爱学生就要相信每一个学生都会成功。只要我们能够挖掘出学生的巨大潜能,鼓励学生去不断地自主探索,才能使他们的才华得到淋漓尽致的展示。

如果不了解学生,盲目地去管理去教育,结果只能适得其反,让学生对你产生抵触心理。所以要认真分析学生的特点,对症下药。现在的技工院校学生的特点:处于青春期,心态活泼但不定;叛逆,有自己的一套不成熟的价值观和世界观,不喜欢被说教;娇生惯养,缺乏吃苦耐劳的精神。因此在教育教学中切忌说教,讲课要生动活泼,激起学生的学习兴趣,另外也要贴近学生心理,承认学生的个体差异,尊重自然规律,多一点顺其自然,少一点人定胜天。

综上所述,想要提高学生学习可编程序控制器及其应用课程的学习兴趣,应当多管齐下,采用适合教师与学生的校本教材和教学方法,建立和谐的师生关系。只有这样,学生才能爱教师、爱教师所教授的课程。

篇5:可编程序控制器总结

时间过的真快,转眼间,一学期的课程结束了。这学期主要学习了《可编程序控制器应用技术及项目训练》,以三菱FX2s为样机,通过4个由易到难的实际工程项目,让我学会合理运用PLC及相关工控产品,掌握小型控制系统设计、安装与调试的工作方法。

通过本课程的学习,使我更加熟悉了相关国家标准和行业规范;熟练进行PLC控制柜装配;掌握小型PLC控制系统设计、安装、调试的工作方法;掌握收集、查阅PLC及相关产品资料的渠道和方法;熟悉位置、温度等工业传感器的选型与用法,会规范绘制电路图、接线图、位置图等电气图纸;会规范编写设备设计说明书和设备使用说明书等文档,也让我了解了有关PLC的很多知识。其中包括一下这些方面:

PLC的基础知识 PLC的定义

PLC是可编程序控制器的简称。可编程序控制器(ProgrammableController)本应简称PC,但是由于个人计算机(PersonalComputer)也简称为PC,为了区别,同时由于早期的可编程序控制器只是具有逻辑控制功能,因此人们仍习惯称可编程序控制器为PLC(ProgrammableLogicalController)。PLC的发展概况

20世纪60年代中期,美国通用汽车公司(GM)为适应生产工艺不断更新的需要,提出了一种设想:把计算机的功能完善、通用灵活等优点与继电器控制系统的简单易懂、操作方便、价格便宜等优点结合起来,并提出了新型电气控制的十点招标要求。其中包括:编程方便,可在现场修改程序;维护方便,最好采用插件式结构;可靠性高于继电器控制装置;数据可直接进入管理计算机;体积小于继电器控制装置;成本可与继电器控制装置竞争;输入电源可为交流115V;输出为交流115V,负载电流应在2A以上,能直接驱动电磁阀接触器等;扩展时,原系统要求变更最少;用户程序存储器大于4KB等。

PLC的基本构成

电源:PLC的电源用于为PLC各模块的集成电路提供工作电源,在整个系统中起着十分重要的作用。电源输入类型有:交流电源(220VAC或110VAC),直流电源(常用的为24VDC)。

中央处理单元(CPU):中央处理单元(CPU)是PLC的控制中枢,是PLC的核心起神经中枢的作用,每套PLC至少有一个CPU。它按照PLC系统程序赋予的功能接收并存储从编程器键入的用户程序和数据;检查电源、存储器、I/O以及警戒定时器的状态,并能诊断用户程序中的语法错误。当PLC投入运行时,首先它以扫描的方式接收现场各输入装置的状态和数据,并分别存入I/O映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后按指令的规定执行逻辑或算数运算的结果送入I/O映象区或数据寄存器内。等所有的用户程序执行完毕之后,最后将I/O映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。

存储器:存放系统软件的存储器称为系统程序存储器。存放应用软件的存储器称为用户程序存储器。

输入输出接口电路(I/O模块):PLC与电气回路的接口,是通过输入输出部分(I/O)完成的。I/O模块集成了PLC的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。输入模块将电信号变换成数字信号进入PLC系统,输出模块相反。I/O分为开关量输入(DI),开关量输出(DO),模拟量输入(AI),模拟量输出(AO)等模块。

PLC的特点:可靠性高,抗干扰能力强。

PLC作为通用工业控制计算机,是面向工矿企业的工控设备。它接口容易,编程语言易于为工程技术人员接受。梯形图语言的图形符号与表达方式和继电器电路图相当接近,只用PLC的少量开关量逻辑控制指令就可以方便地实现继电器电路的功能。

PLC的梯形图程序一般采用顺序控制设计法。这种编程方法很有规律,很容易掌握。对于复杂的控制系统,梯形图的设计时间比设计继电器系统电路图的时间要少得多。

PLC用存储逻辑代替接线逻辑,大大减少了控制设备外部的接线,使控制系统设计及建造的周期大为缩短,同时维护也变得容易起来。更重要的是使同一设备经过改变程序改变生产过程成为可能。这很适合多品种、小批量的生产场合。

可编程控制器编程语言

可编程控制器PLC中有多种程序设计语言,它们是:梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言及结构化语句描述语言等。

梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成大多数简单的控制功能,例如,代替继电器、计数器、计时器完成顺序控制和逻辑控制等,通过扩展或增强指令集,它们也能执行其它的基本操作。

功能表图语言和语句描述语言是高级的程序设计语言,它可根据需要去执行更有效的操作,例如,模拟量的控制,数据的操纵,报表的报印和其他基本程序设计语言无法完成的功能。

PLC的应用领域

开关量的逻辑控制

这是PLC最基本、最广泛的应用领域,它取代传统的继电器电路,实现逻辑控制、顺序控制,既可用于单台设备的控制,也可用于多机群控及自动化流水线。如注塑机、印刷机、订书机械、组合机床、磨床、包装生产线、电镀流水线等。

数据处理

现代PLC具有数学运算(含矩阵运算、函数运算、逻辑运算)、数据传送、数据转换、排序、查表、位操作等功能,可以完成数据的采集、分析及处理。这些数据可以与存储在存储器中的参考值比较,完成一定的控制操作,也可以利用通信功能传送到别的智能装置,或将它们打印制表。数据处理一般用于大型控制系统,如无人控制的柔性制造系统;也可用于过程控制系统,如造纸、冶金、食品工业中的一些大型控制系统。

通信及联网

PLC通信含PLC间的通信及PLC与其它智能设备间的通信。随着计算机控制的发展,工厂自动化网络发展得很快,各PLC厂商都十分重视PLC的通信功能,纷纷推出各自的网络系统。新近生产的PLC都具有通信接口,通信非常方便。

PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。PLC在工业自动化控制特别是顺序控制中的地位,在可预见的将来,是无法取代的。

PLC的类型

PLC按结构分为整体型和模块型两类,按应用环境分为现场安装和控制室安装两类;按CPU字长分为1位、4位、8位、16位、32位、64位等。从应用角度出发,通常可按控制功能或输入输出点数选型。整体型PLC的I/O点数固定,因此用户选择的余地较小,用于小型控制系统;模块型PLC提供多种I/O卡件或插卡,因此用户可较合理地选择和配置控制系统的I/O点数,功能扩展方便灵活,一般用于大中型控制系统。

了解PLC的这些知识之后,要想完成一个项目,最关键的是软件部分,也就是程序。创建程序,用梯形图编程语言创建一个与模板相连结或与模板无关的程序并存储。创建程序是我们控制工程的重要工作之一,一般可以采用线形编程(基于一个块内,OB1)、分布编程(编写功能块FB,OB1组织调用)、结构化编程(编写通用块)。

下载程序到可编程控制器,完成所有的组态、参数赋值和编程任务之后,可以下载整个用户程序到可编程控制器。在下载程序时可编程控制器必须在允许下载的工作模式下(STOP或RUN-P),RUN-P模式表示,这个程序将一次下载一个块,如果重写一个旧的CPU程序就可能出现冲突,所以一般在下载前将CPU切换到STOP模式。

为了我们能顺利的完成一个项目,PLC系统设计时,首先应确定控制方案,接下来就是PLC工程设计选型。工艺流程的特点和应用要求是设计选型的主要依据。PLC及有关设备应是集成的、标准的,按照易于与工业控制系统形成一个整体,易于扩充其功能的原则选型所选用PLC应是在相关工业领域有投运业绩、成熟可靠的系统,PLC的系统硬件、软件配置及功能应与装置规模和控制要求相适应等等。

篇6:学习面向切面编程的总结

AOP(面向切面编程)

可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。对于其他类型的代码,如安全性、异常处理和透明的持续性也是如此。这种散布在各处的无关的代码被称为横切(cross-cutting)代码,在OOP设计中,它导致了大量代码的重复,而不利于

各个模块的重用。

而AOP技术则恰恰相反,它利用一种称为“横切”的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行为封装到一个可重用模块,并将其名为“Aspect”,即方面。所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。AOP代表的是一个横向的关系,如果说“对象”是一个空心的圆柱体,其中封装的是对象的属性和行为;那么面向方面编程的方法,就仿佛一把利刃,将这些空心圆柱体剖开,以获得其内部的消息。而剖开的切面,也就是所谓的“方面”了。然后它又以巧夺天功的妙手将这些剖开的切面复原,不留痕迹。

使用“横切”技术,AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处都基本相似。

北大青鸟中关村

比如权限认证、日志、事务处理。Aop的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。正如Avanade公司的高级方案构架师Adam Magee所说,AOP的核心思想就是“将应用程序中的商业逻辑同对其提供支持的通用服务进行分离。”

实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。然而殊途同归,实现AOP的技术特性却是相同的,分别为:

1、join point(连接点):是程序执行中的一个精确执行点,例如类中的一个方法。它是一个抽象的概念,在实现AOP时,并不需要去定义一个join point。

2、point cut(切入点):本质上是一个捕获连接点的结构。在AOP中,可以定义一个point cut,来捕获相关方法的调用。

3、advice(通知):是point cut的执行代码,是执行“方面”的具体逻辑。

4、aspect(方面):point cut和advice结合起来就是aspect,它类似于OOP中定义的一个类,但它代表的更多是对象间横向的关系。

5、introduce(引入):为对象引入附加的方法或属性,从而达到修改对象结构的目的。有的AOP工具又将其称为mixin。

上述的技术特性组成了基本的AOP技术,大多数AOP工具均实现了这些技术。它们也可以是研究AOP技术的基本术语。2.2.2 横切技术

北大青鸟中关村

“横切”是AOP的专有名词。它是一种蕴含强大力量的相对简单的设计和编程技术,尤其是用于建立松散耦合的、可扩展的企业系统时。横切技术可以使得AOP在一个给定的编程模型中穿越既定的职责部分(比如日志记录和性能优化)的操作。

如果不使用横切技术,软件开发是怎样的情形呢?在传统的程序中,由于横切行为的实现是分散的,开发人员很难对这些行为进行逻辑上的实现或更改。例如,用于日志记录的代码和主要用于其它职责的代码缠绕在一起。根据所解决的问题的复杂程度和作用域的不同,所引起的混乱可大可小。更改一个应用程序的日志记录策略可能涉及数百次编辑——即使可行,这也是个令人头疼的任务。

在AOP中,我们将这些具有公共逻辑的,与其他模块的核心逻辑纠缠在一起的行为称为“横切关注点(Crosscutting Concern)”,因为它跨越了给定编程模型中的典型职责界限。2.2.2.1 横切关注点

一个关注点(concern)就是一个特定的目的,一块我们感兴趣的区域,一段我们需要的逻辑行为。从技术的角度来说,一个典型的软件系统包含一些核心的关注点和系统级的关注点。举个例子来说,一个信用卡处理系统的核心关注点是借贷/存入处理,而系统级的关注点则是日志、事务完整性、授权、安全及性能问题等,许多关注点——即横切关注点(crosscutting concerns)——会在多个模块中出现。如果使用现有的编程方法,横切关注点会横越多个模块,结果是使系统难以设计、理解、实现和演进。AOP能够比上述方法更好地分离系统关注点,从而提供模块化的横切关注点。

北大青鸟中关村

例如一个复杂的系统,它由许多关注点组合实现,如业务逻辑、性能,数据存储、日志和调度信息、授权、安全、线程、错误检查等,还有开发过程中的关注点,如易懂、易维护、易追查、易扩展等,图2.1演示了由不同模块实现的一批关注点组成一个系统。

图2.1 把模块作为一批关注点来实现

通过对系统需求和实现的识别,我们可以将模块中的这些关注点分为:核心关注点和横切关注点。对于核心关注点而言,通常来说,实现这些关注点的模块是相互独立的,他们分别完成了系统需要的商业逻辑,这些逻辑与具体的业务需求有关。而对于日志、安全、持久化等关注点而言,他们却是商业逻辑模块所共同需要的,这些逻辑分布于核心关注点的各处。在AOP中,诸如这些模块,都称为横切关注点。应用AOP的横切技术,关键就是要实现对关注点的识别。

北大青鸟中关村

如果将整个模块比喻为一个圆柱体,那么关注点识别过程可以用三棱镜法则来形容,穿越三棱镜的光束(指需求),照射到圆柱体各处,获得不同颜色的光束,最后识别出不同的关注点。如图2.2所示:

图2.2 关注点识别:三棱镜法则

上图识别出来的关注点中,Business Logic属于核心关注点,它会调用到Security,Logging,Persistence等横切关注点。public class BusinessLogic { public void SomeOperation(){ //验证安全性;Securtity关注点;

//执行前记录日志;Logging关注点;

DoSomething();//保存逻辑运算后的数据;Persistence关注点;

//执行结束记录日志;Logging关注点;

} }

北大青鸟中关村

AOP的目的,就是要将诸如Logging之类的横切关注点从BusinessLogic类中分离出来。利用AOP技术,可以对相关的横切关注点封装,形成单独的“aspect”。这就保证了横切关注点的复用。由于BusinessLogic类中不再包含横切关注点的逻辑代码,为达到调用横切关注点的目的,可以利用横切技术,截取BusinessLogic类中相关方法的消息,例如SomeOperation()方法,然后将这些“aspect”织入到该方法中。例如图2.3:

图2.3 将横切关注点织入到核心关注点中

通过利用AOP技术,改变了整个系统的设计方式。在分析系统需求之初,利用AOP的思想,分离出核心关注点和横切关注点。在实现了诸如日志、事务管理、权限控制等横切关注点的通用逻辑后,开发人员就可以专注于核心关注点,将精力投入到解决企业的商业逻辑上来。同时,这些封装好了的横切关注点提供的功能,可以最大限度地复用于商业逻辑的各个部分,既不需要开发人员作特殊的编码,也不会因为修改横切关注点的功能而影响具体的业务功能。为了建立松散耦合的、可扩展的企业系统,AOP应用到的横切技术,通常分为两种类型:动态横切和静态横切。2.2.2.2 动态横切

北大青鸟中关村

动态横切是通过切入点和连接点在一个方面中创建行为的过程,连接点可以在执行时横向地应用于现有对象。动态横切通常用于帮助向对象层次中的各种方法添加日志记录或身份认证。在很多应用场景中,动态横切技术基本上代表了AOP。

动态横切技术的核心主要包括join point(连接点),point cut(切入点),advice(通知)和aspect(方面)。在前面,我已经概要地介绍了这些术语分别代表的含义。接下来,我将以一个具体的实例来进一步阐述它们在AOP动态横切中实现的意义。

考虑一个电子商务系统,需要对订单进行添加、删除等管理操作。毫无疑问,在实际的应用场景中,这些行为应与权限管理结合,只有获得授权的用户方能够实施这些行为。采用传统的设计方法,其伪代码如下: public class OrderManager { private ArrayListm_Orders;public OrderManager(){ m_Orders = new ArrayList();} public void AddOrder(Order order){ if(permissions.Verify(Permission.ADMIN)){

北大青鸟中关村

m_Orders.Add(order);} } public void RemoveOrder(Order order){ if(permissions.Verify(Permission.ADMIN)){ m_Orders.Remove(order);} } } 同样的,在该电子商务系统中,还需要对商品进行管理,它采用了同样的授权机制:

public class ProductManager { private ArrayListm_Products;public ProductManager(){ m_Products = new ArrayList();} public void AddProduct(Product product){ if(permissions.Verify(Permission.ADMIN))

北大青鸟中关村

{ m_Products.Add(product);} } public void RemoveProduct(Product product){ if(permissions.Verify(Permission.ADMIN)){ m_Products.Remove(product);} } } 如此以来,在整个电子商务系统中,核心业务包括订单管理和商品管理,它们都需要相同的权限管理,如图2.4所示:

图2.4 电子商务系统的权限验证实现

毫无疑问,利用AOP技术,我们可以分离出系统的核心关注点和横切关注点,从横向的角度,截取业务管理行为的内部消息,以达到织入权限管理逻辑的目

北大青鸟中关村 的。当执行AddOrder()等方法时,系统将验证用户的权限,调用横切关注点逻辑,因此该方法即为AOP的join point。对于电子商务系统而言,每个需要权限验证的方法都是一个单独的join point。由于权限验证将在每个方法执行前执行,所以对于这一系列join point,只需要定义一个point cut。当系统执行到join point处时,将根据定义去查找对应的point cut,然后执行这个横切关注点需要实现的逻辑,即advice。而point cut和advice,就组合成了一个权限管理aspect。

图2.5 AOP动态横切的技术实现

由于aspect是一个封装的对象,我们可以定义这样一个aspect: private static aspect AuthorizationAspect{……}

然后在这个aspect中定义point cut,在point cut中,定义了需要截取上下文消息的方法,例如:

private pointcutauthorizationExecution(): execution(public void OrderManager.AddOrder(Order))||

北大青鸟中关村

execution(public void OrderManager.DeleteOrder(Order))|| execution(public void ProductManager.AddProduct(Product))|| execution(public void ProductManager.DeleteProduct(Product));由于权限验证是在订单管理方法执行之前完成,因此在before advice中,定义权限检查:

before(): authorizationExecution(){ if!(permissions.Verify(Permission.ADMIN)){ throw new UnauthorizedException();} } 通过定义了这样一个完整的aspect,当系统调用OrderManager或ProductManager的相关方法时,就触发了point cut,然后调用相应的advice逻辑。如此以来,OrderManager和ProductManager模块就与权限管理模块完全解除了依赖关系,同时也消除了传统设计中不可避免的权限判断的重复代码。这对于建立一个松散耦合、可扩展的系统软件是非常有利的。2.2.2.3 静态横切

静态横切和动态横切的区别在于它不修改一个给定对象的执行行为。相反,它允许通过引入附加的方法字段和属性来修改对象的结构。此外,静态横切可以把扩展和实现附加到对象的基本结构中。在AOP实现中,通常将静态横切称为introduce或者mixin。

北大青鸟中关村

静态横切在AOP技术中,受到的关注相对较少。事实上,这一技术蕴含的潜力是巨大的。使用静态横切,架构师和设计者能用一种真正面向对象的方法有效地建立复杂系统的模型。静态横切允许您不用创建很深的层次结构,以一种本质上更优雅、更逼真于现实结构的方式,插入跨越整个系统的公共行为。尤其是当开发应用系统时,如果需要在不修改原有代码的前提下,引入第三方产品和API库,则静态横切技术将发挥巨大的作用。

举例来说,当前已经实现了一个邮件收发系统,其中类Mail完成了收发邮件的功能。但在产品交付后,发现该系统存在缺陷,在收发邮件时,未曾实现邮件地址的验证功能。现在,第三方产品已经提供了验证功能的接口IValidatable: public interface IValidatable { boolValidateAddress();} 我们可以利用设计模式中的Adapter模式,来完成对第三方产品API的调用。我们可以定义一个新的类MailAdapter,该类实现了IValidatable接口,同时继承了Mail类:

public class MailAdapter:Mail,IValidatable { public boolValidateAddress(){ if(this.getToAddress()!= null){ return true;

北大青鸟中关村

} else { return false;} } } 通过引入MailAdapter类,原来Mail对象完成的操作,将全部被MailAdapter对象取代。然而,此种实现方式虽然能解决引入新接口的问题,但类似下面的代码,却是无法编译通过的: Mail mail = new Mail();IValidatable validate =((IValidatable)mail).ValidateAddress();必须将第一行代码作如下修改: Mail mail = new MailAdapter();利用AOP的静态横切技术,可以将IValidatable接口织入到原有的Mail类中,这是一种非常形象的introduce功能,其实现仍然是在aspect中完成: importcom.acme.validate.Validatable;public aspect MailValidateAspect { declare parents: Mail implements IValidatable;

北大青鸟中关村

publicbooleanMail.validateAddress(){ if(this.getToAddress()!= null){ return true;} else { return false;} } } 静态横切的方法,并没有引入类似MailAdapter的新类,而是通过定义的MailValidateAspect方面,利用横切技术为Mail类introduce了新的方法ValidateAddress(),从而实现了Mail的扩展。因此如下的代码完全可行。Mail mail = new Mail();IValidatable validate =((IValidatable)mail).ValidateAddress();2.3 AOP技术的优势

AOP技术的优势是显而易见的。在面向对象的世界里,人们提出了各种方法和设计原则来保障系统的可复用性与可扩展性,以期建立一个松散耦合、便于扩展的软件系统。例如GOF提出的“设计模式”,为我们提供了设计的典范与准则。设计模式通过最大程度的利用面向对象的特性,诸如利用继承、多态,对责任

北大青鸟中关村

进行分离、对依赖进行倒置,面向抽象,面向接口,最终设计出灵活、可扩展、可重用的类库、组件,乃至于整个系统的架构。在设计的过程中,通过各种模式体现对象的行为、暴露的接口、对象间关系、以及对象分别在不同层次中表现出来的形态。然而鉴于对象封装的特殊性,“设计模式”的触角始终在接口与抽象中大做文章,而对于对象内部则无能为力。

通过“横切”技术,AOP技术就能深入到对象内部翻云覆雨,截取方法之间传递的消息为我所用。由于将核心关注点与横切关注点完全隔离,使得我们能够独立的对“方面”编程。它允许开发者动态地修改静态的OO模型,构造出一个能够不断增长以满足新增需求的系统,就象现实世界中的对象会在其生命周期中不断改变自身,应用程序也可以在发展中拥有新的功能。设计软件系统时应用AOP技术,其优势在于:

(一)在定义应用程序对某种服务(例如日志)的所有需求的时候。通过识别关注点,使得该服务能够被更好的定义,更好的被编写代码,并获得更多的功能。这种方式还能够处理在代码涉及到多个功能的时候所出现的问题,例如改变某一个功能可能会影响到其它的功能,在AOP中把这样的麻烦称之为“纠结(tangling)”。

(二)利用AOP技术对离散的方面进行的分析将有助于为开发团队指定一位精于该项工作的专家。负责这项工作的最佳人选将可以有效利用自己的相关技能和经验。

(三)持久性。标准的面向对象的项目开发中,不同的开发人员通常会为某项服务编写相同的代码,例如日志记录。随后他们会在自己的实施中分别对日志

北大青鸟中关村

进行处理以满足不同单个对象的需求。而通过创建一段单独的代码片段,AOP提供了解决这一问题的持久简单的方案,这一方案强调了未来功能的重用性和易维护性:不需要在整个应用程序中一遍遍重新编写日志代码,AOP使得仅仅编写日志方面(logging aspect)成为可能,并且可以在这之上为整个应用程序提供新的功能。

上一篇:学校课程推荐方案下一篇:未就过业保证书