php怎么和串口通讯,编程思维到底是什么?
看到编程两个字,我们首先会联想到的就是程序员,那么编程思维就变成了程序员的思维。其实,这么理解也没有错。编程思维其实是一种高效率解决问题的方式,是“理解问题——找出路径”的高效思维过程,它由“分解—抽象—模式识别—算法”四个步骤组成。我们来详细认识一下这四个步骤。
1.分解简单来说,分解就是把复杂的大问题,拆解成更加可以理解的、可以执行的小步骤。比如说,老师让你写2万字的论文,你会感觉无从入手,这就是一个复杂的大问题,但是如果你有编程的思维,就可以把它拆分成更小的步骤,先定题目,然后列框架,一步一步填充,最后完成论文,解决这个大问题。
2.抽象抽象,是指“抽象思维”,锻炼的是我们忽略无用信息,抽取关键信息的能力。比如我们在学语文,做阅读理解的时候,就要快速抓住关键信息和中心思想,才能更好地理解全文。
3.模式识别模式识别,就是找出相似的模式,并高效解决。简单理解的话,其实就是找规律。比如从1加到100,就是50个101相加,最后得到结果为5050。
4.算法算法就是根据之前一系列对于问题的理解,设计一步步的解决路径,并解决整个问题。也就是说你前面的都已经做好了,最后要实际的去做了,中途可能会出现错误,就需要再回头去看,直到最后解决问题。
那么,拥有编程思维有什么好处呢?
其实,拥有编程思维最大的好处,就是可以提高效率,让我们能够快速的去解决各种问题,节约各种成本。所以我们不一定要是程序员,但是一定要有程序员的思维,那就是编程思维。
希望以上的回答对你有所帮助!
你在编程时遇到过哪些惊为天人的事情?
很多年前新入职一家公司,接手了一份远古代码。C语言写的。
在某个相对核心的逻辑函数里,写了1000多个goto。新逻辑———加几个goto,新人———加几个goto,有BUG——另起几个goto,看不懂代码——自己搞几个goto!
就像这坨电线一样,而这份代码还是公司主营业务的核心代码之一,我是一点也不敢动啊,真的不如重写来的快。
嵌入式工程师有前途吗?
个人这么多年的兜兜转转,私企,外企,国企乃至自主创业时期,都一直没有离开嵌入式软件开发领域。也许很多人会说是情怀作祟,有这一方面的因素但是更多的是,自己还是依然看好嵌入式开发领域。小到衣食住行,大到航天军工工矿企业,哪个应用领域都不敢说离开了嵌入式技术还能依然精彩。
关于问题中嵌入式工程师是否有前途的话题,在个人看来可以从以下两个方面来分析。第一:嵌入式行业的发展前景;第二,嵌入式开发从业人员的开发钱途。
第一,真的没有前途么?俗话说得好,男怕入错行。如果入错了行或者在错误的道路上努力,即使付出得再多也不会有太多的收益。那么,怎么衡量一个行业的前途和发展呢?个人觉得,对于技术领域来说是否可替代,是否有越来越多的人加入是两个很好的衡量标准。毕竟,无可替代的技术总会因为技术的稀缺会物以稀为贵,越来越多人的加入从股票的角度看是后市看好的佐证。这两点,其实嵌入式行业都可以说具备的。第二,钱途如何?
很多时候,情怀的确不能当饭吃。忽然想起来刚高考完在班主任家里吃饭的时候,他曾经用过来人的口吻告诫我们这些即将踏入大学校门的高中生:“读书其实很多时候是为了以后的就业,就业的时候一定要考虑到个人的兴趣爱好,但是选择的时候也要考虑到吃上饭,吃饱饭的问题。不要空谈什么好好学习,回报社会。回报的前提是你要吃饱饭”当年听到这些话,觉得有些功利和刺耳,但是当经历多了,也会明白老师的苦心。毕竟工作是为了更好的生活,生活也是能支持更好的工作。扯得有点远,那么嵌入式从业人员的钱途如何呢?根据个人的经历,其实嵌入式开发人员的钱途起来就是:绝对的饿不死,但是也不可能撑得要命,七八分饱的水平还是有的。与做互联网的朋友比较起来,毕竟人家站在风口浪尖上,肯定是有一定的收入差距的。但是,嵌入式作为一个古老(出现较早,技术成熟)而又年轻(应用等领域不断延展社会各个行业)的行业,未来依然可期。而目前风口浪尖的互联网技术,终将会走向成熟和稳定。根据现在研究某产业互联网平台发展历程中发现,所有的互联网平台都会经历野蛮生长到框架内生长的历程。原来的蓝海慢慢开始转变为红海,竞争逐渐激烈但是会有越来越多的监管机制诞生。而且嵌入式行业门槛相对较高,更加容易构建技术壁垒。而且技术发展和学习路径明确,更便于个人的垂直领域发展。所以,做嵌入式,既有前途,也有钱途。新手如何学习Java?
那首先来了解一下什么是java:
Java是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门高级编程语言,是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
那么为什么要使用这个语言呢,Java语言的特点跨平台性,通过Java语言编写的应用程序在不同的系统平台上都可以运行。原理是只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。
下面对java学习进行一次史无前例的剖析,细致的讲解零基础的人怎么学习Java。先看下Java在基础阶段的知识点路线图。
内容多吗?不要被吓到了,知识点剖析的比较细,所以看着比较多。不要害怕学不会,经过下面的详解,你就会明白这些知识点都是干嘛的了。
入门阶段,主要是培养Java语言的编程思想。了解Java语言的语法,书写规范等,掌握Eclipse、MyEclipse等开发工具,编写Java代码的能力。学完这个阶段你应该可进行小型应用程序开发并且可以对数据库进行基本的增删改查管理。注意:此阶段知识点的学习,会有真实的项目进行驱动学习,让你轻松理解各知识点。
1计算机基础知识
针对零基础学习的人,从对计算机操作等知识的了解,延伸到Java语言的发展与开发工具的使用上。主要是让你知道怎样执行计算机命令,认识Java这门语言,感受编程语言Java怎么开发程序。
1) 计算机基础
让零基础学习的人先了解计算机相关知识,进而再去了解Java语言。
2) DOS常用命令
了解什么是DOS,并掌握DOS控制台的打开方式,同时熟悉常用的DOS命令,例如:盘符切换、进入指定目录、删除文件等,完成使用DOS命令对计算机进行操作和控制。
3) Java概述
了解Java语言的发展史、Java语言平台版本、Java语言的特点,以及JRE与JDK。JRE是Java的运行环境,JDK是Java开发工具包,它包含了Java的开发工具以及JRE。所以安装了JDK就不用再单独安装JRE了。
4) JDK环境安装配置
了解了什么是JDK,以及JDK的重要性,下一步我们就来学习如何安装和配置JDK环境。在安装JDK之前,我们首先需要下载JDK,针对不同的系统,我们需要下载不用版本的JDK。
5) 环境变量配置
了解path、classpath环境变量,理解path变量和classpath变量的作用,并掌握path变量和classpath变量的配置方式。
6) Java程序入门
当JDK、环境变量配置完毕,我们就可以开始 编写Java程序。编写Java程序可以使用如下几种工具:notepad(微软操作系统自带)、Editplus、Notepad++、Eclipse、MyEclipse,sublime等等。
IntelliJ IDEA工具的使用(重点)
2编程基础
此模块学习是让你了解编程的具体流程,学习Java基础语法的格式等。具体要掌握不同数据类型的变量定义与使用,掌握不同运算符的运算规则,掌握流程控制语句的执行流程,编写方法的声明与调用,创建数组并访问数组元素等知识。
1) 注释
在程序开发工程中,用于解释和说明程序的文字我们称之为注释,Java中的注释分为以下几种:单行注释、多行注释、文档注释。
2) 关键字
了解Java关键字的含义及特点,掌握关键字使用的注意事项。
3) 标识符
了解什么是标识符,标识符的组成规则,以及标识符使用时的注意事项。
4) 常量与变量
理解常量与变量的含义,并掌握常量与变量的区别、变量的定义格式以及变量的赋值。
5) 数据类型
掌握Java语言的数据类型,如基本数据类型:byte、short、int、long、float、double、char、boolean,以及引用类型:类、接口、数组。
6) 运算符
熟练掌握Java中的运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符。
7) 流程控制语句
了解什么是流程控制语句,掌握以下流程控制语句:顺序结构、选择结构、循环结构,并能够通过流程控制语句实现特定的功能。
8) 方法
掌握方法的定义及格式,并能正确的调用方法,理解方法的调用过程,同时清楚方法的注意事项;掌握方法重载及其特点。
9) 数组
了解数组的概念,掌握数组的定义格式、静态初始化、动态初始化,并能够理解Java中数组的内存图解。熟练掌握数组的遍历、获取最值、数组元素逆序、数组元素查找、数组排序和二分查找,以及二维数组的定义格式及初始化。
3面向对象
现实世界中,随处可见的一种事物就是对象,对象是事物存在的实体,如人类、书桌、计算机、高楼大厦等。人类解决问题的方式总是将复杂的事物简单化,于是就会思考这些对象都是由哪些部分组成的。通常都会将对象划分为两个部分,即动态部分与静态部分。静态部分,顾名思义就是不能动的部分,这个部分被称为“属性”,任何对象都会具备其自身属性,如一个人,它包括高矮、胖瘦、性别、年龄等属性。然而具有这些属性的人会执行哪些动作也是一个值得探讨的部分,这个人可以哭泣、微笑、说话、行走,这些是这个人具备的行为(动态部分),人类通过探讨对象的属性和观察对象的行为了解对象。
1) 面向对象思想
了解面向过程编程思想,能够通过案例理解Java的面向对象编程思想,了解面向对象开发、设计、特征。
2) 类与对象
了解什么是类,什么是对象,并理解类与对象之间的关系;熟练掌握类的定义、对象内存图等。
3) 成员变量和局部变量
了解什么是成员变量,什么是局部变量,以及从他们在类中的位置、内存中的位置、生命周期、初始化值等方面掌握他们的区别。
4) 匿名对象
了解什么是匿名对象,掌握匿名对象的两种使用情况。
5) 封装
清楚的了解什么是封装,并能够理解封装的优点与缺点,同时掌握封装的原则。
6) this关键字
掌握this关键字的含义与使用。
7) 构造方法
了解什么是构造方法,构造方法的作用,以及与构造方法相关的注意事项。
8) 继承
理解什么是继承,继承的好处以及java中继承的特点和注意事项,继承中成员变量的关系、构造方法的关系、成员方法的关系,方法重写与方法重载的区别。
9) 多态
理解什么是多态,掌握多态案例及成员访问的特点,多态的优点和缺点,多态中的转型问题。
10) 抽象类
了解什么是抽象类,抽象类的特点,抽象类成员的特点。
11) 接口
了解什么是接口,接口的特点,接口成员的特点,类与类、类与接口的关系,以及抽象类与接口的区别。
12) 内部类
什么是内部类,内部类的访问特点,内部类的位置,什么是成员内部类、局部内部类、匿名内部类,以及匿名内部类在开发中的使用。
4、常用类
类库就是Java API(Application Programming Interface,应用程序接口),是系统提供的已实现的标准类的集合。在程序设计中,合理和充分利用类库提供的类和接口,不仅可以完成字符串处理、绘图、网络应用、数学计算等多方面的工作,而且可以大大提高编程效率,使程序简练、易懂。
学习内容:掌握Object类、Scanner类、String类、StringBuffer类、StringBuilder类、Arrays类、基本包装类、正则表达式、Math类、Random类、System类、Date类、DateFormate类、Calendar类,及其常用方法。
5、集合
集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用。简单一点就是说,集合是存放数据的容器。
学习内容:什么是集合?数组与集合有什么区别,集合类的特点,掌握Collection接口、Iterator接口、List接口、ListIterator接口、ArrayList类、Vector类、LinkedList类、泛型、Set接口、HashSet类、Map接口、HashMap类、LinkedHashMap类等。
6、IO
IO(Input/Output)是计算机输出/输出的接口。Java的核心库http://java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。
1) 异常
了解什么是异常,异常的由来,常见的异常,异常的分类,掌握jvm对异常的默认处理方案,异常的处理方案:try…catch…finally、throws,什么是编译时异常,什么是运行时异常,掌握它们两的区别,throws关键字、throw关键字,以及这两个关键字的区别,熟练掌握自定义异常,异常注意事项。
2) File类
了解什么是File类,File类的用途,掌握File类的方法:createNewFile()、mkdir()、mkdirs()、delete()、renameTo(File dest)、isDirectory()、isFile()、exists()、等方法,以及File类的基本获取功能方法和高级获取功能方法。
3) IO流
了解什么是IO流,IO流的用途;熟练掌握输入流、输出流、字符流、字节流、IO流的常用基类;如何使用字节流读写数据、复制数据;什么是字节缓冲流,如何使用字节缓冲流读写数据;什么是转换流,如何使用转换流更加高效的读写数据,内存操作流、打印流、标准输入输出流、序列化流、Properties集合。
4) IO流练习
(1) 复制文本文件;
(2) 复制图片;
(3) 把ArrayList集合中的字符串数据存储到文本文件;
(4) 从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合;
(5) 复制单极文件夹;
(6) 复制单极文件夹中指定文件并修改文件名称;
(7) 复制多极文件夹;
(8) 已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl”;
(9) 请编写程序读取数据内容,把数据排序后写入ss.txt中;
(10) 获取每次读取数据的行号;
(11) 登录注册IO版。
7、多线程
是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理(Chip-level multithreading)或同时多线程(Simultaneous multithreading)处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理(Multithreading)”。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程(台湾译作“执行绪”),进而提升整体处理性能。
1) 多线程
了解什么是线程,什么是多线程,理解java程序的运行原理,掌握多线程的实现方案,如何获取和设置线程名称、线程的生命周期、如何解决线程安全问题、线程同步、Lock锁、死锁问题、线程间通信、线程的状态及状态转换、线程池。
2) 多线程面试题
(1) 多线程有几种实现方案,分别是哪几种?
(2) 同步有几种方式,分别是什么?
(3) 启动一个线程是run()还是start()?它们的区别?
(4) sleep()和wait()方法的区别;
(5) 为什么wait(),notify(),notifyAll()等方法都定义在Object类中;
(6) 线程的生命周期图。
3) 设计模式
了解什么是设计模式,设计模式的分类,熟练掌握单例设计模式(懒汉式、饿汉式)。
8 、网络编程
网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。
9、反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java新特性:(重点及理解)
Java7特性重点:
switch支持String、泛型自动类型推断
理解:可catch多个异常,异常之间使用“|”分隔
Java8特性重点:Lambda表达式、接口中的默认方法和静态方法、新的Date API。
大家凑合着看看吧。
它的发展史是怎样的?
DCS是分布式控制系统的英文缩写(Distributed Control System),在国内自控行业又称之为集散控制系统。是相对于集中式控制系统而言的一种新型计算机控制系统,它是在集中式控制系统的基础上发展、演变而来的。
它是一个由过程控制级和过程监控级组成的以通信网络为纽带的多级计算机系统,综合了计算机,通信、显示和控制等4C技术,其基本思想是分散控制、集中操作、分级管理、配置灵活以及组态方便。在特殊控制领域,如核电站控制系统,DCS的含义被误叫做数字化控制系统(Digital control system),其实质仍为分布式操作系统。概 述首先,DCS的骨架—系统网络,它是DCS的基础和核心。由于网络对于DCS整个系统的实时性、可靠性和扩充性,起着决定性的作用,因此各厂家都在这方面进行了精心的设计。对于DCS的系统网络来说,它必须满足实时性的要求,即在确定的时间限度内完成信息的传送。这里所说的“确定”的时间限度,是指在无论何种情况下,信息传送都能在这个时间限度内完成,而这个时间限度则是根据被控制过程的实时性要求确定的。因此,衡量系统网络性能的指标并不是网络的速率DCS,即通常所说的每秒比特数(bps),而是系统网络的实时性,即能在多长的时间内确保所需信息的传输完成。系统网络还必须非常可靠,无论在任何情况下,网络通信都不能中断,因此多数厂家的DCS均采用双总线、环形或双重星形的网络拓扑结构。为了满足系统扩充性的要求,系统网络上可接入的最大节点数量应比实际使用的节点数量大若干倍。这样,一方面可以随时增加新的节点,另一方面也可以使系统网络运行于较轻的通信负荷状态,以确保系统的实时性和可靠性。在系统实际运行过程中,各个节点的上网和下网是随时可能发生的,特别是操作员站,这样,网络重构会经常进行,而这种操作绝对不能影响系统的正常运行,因此,系统网络应该具有很强在线网络重构功能。其次,这是一种完全对现场I/O处理并实现直接数字控制(DDC)功能的网络节点。一般一套DCS中要设置现场I/O控制站,用以分担整个系统的I/O和控制功能。这样既可以避免由于一个站点失效造成整个系统的失效,提高系统可靠性,也可以使各站点分担数据采集和控制功能,有利于提高整个系统的性能。DCS的操作员站是处理一切与运行操作有关的人机界面(HMI-Human Machine Interface或operator interface)功能的网络节点。工程师站是对DCS进行离线的配置、组态工作和在线的系统监督、控制、维护的网络节点,其主要功能是提供对DCS进行组态,配置工作的工具软件(即组态软件),并在DCS在线运行时实时地监视DCS网络上各个节点的运行情况,使系统工程师可以通过工程师站及时调整系统配置及一些系统参数的设定,使DCS随时处在最佳的工作状态之下。与集中式控制系统不同,所有的DCS都要求有系统组态功能,可以说,没有系统组态功能的系统就不能称其为DCS。DCS自1975年问世以来,已经经历了四十多年的发展历程。在这四十多年中,DCS虽然在系统的体系结构上没有发生重大改变,但是经过不断的发展和完善,其功能和性能都得到了巨大的提高。总的来说,DCS正在向着更加开放,更加标准化,更加产品化的方向发展。作为生产过程自动化领域的计算机控制系统,传统的DCS仅仅是一个狭义的概念。如果以为DCS只是生产过程的自动化系统,那就会引出错误的结论,因为现在的计算机控制系统的含义已被大大扩展了,它不仅包括过去DCS中所包含的各种内容,还向下深入到了现场的每台测量设备、执行机构,向上发展到了生产管理,企业经营的方方面面。传统意义上的DCS现在仅仅是指生产过程控制这一部分的自动化,而工业自动化系统的概念,则应定位到企业全面解决方案,即total solution的层次。只有从这个角度上提出问题并解决问题,才能使计算机自动化真正起到其应有的作用。DCSDCS具有以下特点:1. 高可靠性。由于DCS将系统控制功能分散在各台计算机上实现,系统结构采用容错设计,因此某一台计算机出现的故障不会导致系统其他功能的丧失。此外,由于系统中各台计算机所承担的任务比较单一,可以针对需要实现的功能采用具有特定结构和软件的专用计算机,从而使系统中每台计算机的可靠性也得到提高。2. 开放性。DCS采用开放式,标准化、模块化和系列化设计,系统中各台计算机采用局域网方式通信,实现信息传输,当需要改变或扩充系统功能时,可将新增计算机方便地连入系统通信网络或从网络中卸下,几乎不影响系统其他计算机的工作。形态组成DCS是分布式控制系统的英文缩写(Distributed Control System),在国内自控行业又称之为集散控制系统。它是一个由过程控制级和过程监控级组成的以通信网络为纽带的多级计算机系统,综合了计算机(Computer)、通讯(Communication)、显示(CRT)和控制(Control)等4C技术,其基本思想是分散控制、集中操作、分级管理、配置灵活、组态方便。发展历史第一阶段1975-1980年,在这个时期集散控制系统的技术特点表现为:DCS1)采用微处理器为基础的控制单元,实现分散控制,有各种各样的算法,通过组态独立完成回路控制,具有自诊断功能2)采用带CRT显示器的操作站与过程单元分离,实现集中监视,集中操作3)采用较先进的冗余通信系统第二阶段1980—1985.,在这个时期集散控制系统的技术特点表现为:1)微处理器的位数提高,CRT显示器的分辨率提高2)强化的模块化系统3)强化了系统信息管理,加强通信功能第三阶段1985年以后,集散系统进入第三代,其技术特点表现为:1)采用开放系统管理2)操作站采用32位微处理器3)采用实时多用户多任务的操作系统进入九十年代以后,计算机技术突飞猛进,更多新的技术被应用到了DCS之中。PLC是一种针对顺序逻辑控制发展起来的电子设备,它主要用于代替不灵活而且笨重的继电器逻辑。现场总线技术在进入九十年代中期以后发展十分迅猛,以至于有些人已做出预测:基于现场总线的FCS将取代DCS成为控制系统的主角。特点介绍DCS是分散控制系统(Distributed Control System)的简称,国内一般习惯称为集散控制系统。它是一个由过程控制级和过程监控级组成的以通信网络为纽带的多级计算机系统,综合了计算机(Computer)、通讯(Communication)、显示(CRT)和控制(Control)等4C技术,其基本思想是分散控制、集中操作、分级管理、配置灵活、组态方便,DCS特点如下。高可靠性由于DCS将系统控制功能分散在各台计算机上实现,系统结构采用容错设计,因此某一台计算机出现的故障不会导致系统其它功能的丧失。此外,由于系统中各台计算机所承担的任务比较单一,可以针对需要实现的功能采用具有特定结构和软件的专用计算机,从而使系统中每台计算机的可靠性也得到提高。开放性DCS采用开放式、标准化、模块化和系列化设计,系统中各台计算机采用局域网方式通信,实现信息传输,当需要改变或扩充系统功能时,可将新增计算机方便地连入系统通信网络或从网络中卸下,几乎不影响系统其他计算机的工作。灵活性通过组态软件根据不同的流程应用对象进行软硬件组态,即确定测量与控制信号及相互间连接关系、从控制算法库选择适用的控制规律以及从图形库调用基本图形组成所需的各种监控和报警画面,从而方便地构成所需的控制系统。易于维护功能单一的小型或微型专用计算机,具有维护简单、方便的特点,当某一局部或某个计算机出现故障时,可以在不影响整个系统运行的情况下在线更换,迅速排除故障。协调性各工作站之间通过通信网络传送各种数据,整个系统信息共享,协调工作,以完成控制系统的总体功能和优化处理。控制功能齐全控制算法丰富,集连续控制、顺序控制和批处理控制于一体,可实现串级、前馈、解耦、自适应和预测控制等先进控制,并可方便地加入所需的特殊控制算法。DCS的构成方式十分灵活,可由专用的管理计算机站、操作员站、工程师站、记录站、现场控制站和数据采集站等组成,也可由通用的服务器、工业控制计算机和可编程控制器构成。处于底层的过程控制级一般由分散的现场控制站、数据采集站等就地实现数据采集和控制,并通过数据通信网络传送到生产监控级计算机。生产监控级对来自过程控制级的数据进行集中操作管理,如各种优化计算、统计报表、故障诊断、显示报警等。随着计算机技术的发展,DCS可以按照需要与更高性能的计算机设备通过网络连接来实现更高级的集中管理功能,如计划调度、仓储管理、能源管理等。结构从结构上划分,DCS包括过程级、操作级和管理级。过程级主要由过程控制站、I/O单元和现场仪表组成,是系统控制功能的主要实施部分。操作级包括:操作员站和工程师站,完成系统的操作和组态。管理级主要是指工厂管理信息系统(MIS系统),作为DCS更高层次的应用,目前国内纸行业应用到这一层的系统较少。DCS的控制程序:DCS的控制决策是由过程控制站完成的,所以控制程序是由过程控制站执行的。过程控制站的组成:DCS的过程控制站是一个完整的计算机系统,主要由电源、CPU(中央处理器)、网络接口和I/O组成I/O:控制系统需要建立信号的输入和输出通道,这就是I/O。DCS中的I/O一般是模块化的,一个I/O模块上有一个或多个I/O通道,用来连接传感器和执行器(调节阀)。I/O单元:通常,一个过程控制站是有几个机架组成,每个机架可以摆放一定数量的模块。CPU所在的机架被称为CPU单元,同一个过程站中只能有一个CPU单元,其他只用来摆放I/O模块的机架就是I/O单元。国内外应用分散控制系统1975 年美国Honeywell和日本横河公司几乎同一时间推出了各自的分散控制系统。美国最大的仪表控制公司Honeyw ell 首次向世界推出了它的综合分散控制系统TDC—2000 ( Toal Distributed Control-2000),这一系统的发表,立即引起美国工业控制界高度评价,称之为“最鼓舞人心的事件”。日本横河公司推出了CEN TUM系统。世界各国的各大公司也纷纷加入,推出了一个又一个集散系统,从此过程控制进入了集散系统的新时期。在此期间有美国泰勒仪表公司的MO SË,费雪尔公司的DCÉ —400,贝利公司的N —90,福克斯波罗公司的Cpect rum 和德国西门子公司的Telepermm。随着计算机特别是微型计算机与网络技术的飞速发展,加上各制造商的激烈竞争,使DCS 很快从70 年代的第一代发展到90 年代初的第三代DCS。尽管在这之前的集散系统的技术水平已经很高,但其中存在着一个最主要的弊病是: 各大公司推出的几十种型号的系统,几乎都是该公司的专利产品,每个公司为了保护自身的利益,采用的都是专利网络,这就为全厂、全企业的管理带来问题。随着计算机的发展与网络开发使各控制厂商更多地采用商业计算机的技术,80年代末许多公司推出新一代的集散系统,其主要特征是新系统的局部网络采用MA P 协议; 引用智能变送器与现场总线结构; 在控制软件上引入PLC 的顺序控制与批量控制,使DCS 也具有PLC 的功能。至90 年代初各国知名的DCS 有:3000,Bailey 的IN F I—90,Ro semoun t 的RS—3,W est Hoo se 的WDPF,L eeds &Non th rup 的MAX—1000,Foxbo ro 的IöA S,日本横河的CEN TUM。这里所提到的均为大型的DCS,为了适应市场的需要各厂商也开发了不少中小型的DCS 系统如S—9000,MAX—2,LXL,A 2 PACS 等等。流程工业CIMS流程工业CIMS是一个复杂的综合自动化系统,处理的对象是整个企业的全部生产活动,DCS作为一种有效的工具和实现手段,在流程工业CIMS中完成重要的基础控制和实时生产数据采集、动态监控等功能。与管理类计算机相比,DCS能够提供更加可靠的生产过程数据,使CIMS系统所作出的优化决策也更加可靠。从功能上看,流程工业CIMS中的生产自动化系统、动态监控系统和在线质量控制都可以由DCS实现。从流程工业CIMS的层次结构看,DCS主要担负过程控制和过程优化任务,有些生产调度和生产管理工作也可在DCS上完成。主要厂家国内DCS主要厂家有:上海新华,南京科远自动化集团股份有限公司,杭州优稳,浙江中控,和利时,浙江威盛,自仪股份、鲁能控制,国电智深,上海华文,上海乐华,正泰中自等。国外的有:西屋公司、艾默生、FOXBORO、ABB、西门子、霍尼韦尔、横河、罗克韦尔、山武-霍尼韦尔公司、FISHER-ROSEMOUNT公司等。相关问答1. 什么是DCS?DCS是分布式控制系统的英文缩写(Distributed Control System),在国内自控行业又称之为集散控制系统。2. DCS有什么特点?DCS是计算机技术、控制技术和网络技术高度结合的产物。DCS通常采用若干个控制器(过程站)对一个生产过程中的众多控制点进行控制,各控制器间通过网络连接并可进行数据交换。操作采用计算机操作站,通过网络与控制器连接,收集生产数据,传达操作指令。因此,DCS的主要特点归结为一句话就是:分散控制集中管理。4. DCS的控制程序是由谁执行的?DCS的控制决策是由过程控制站完成的,所以控制程序是由过程控制站执行的。5. 过程控制站的组成如何?DCS的过程控制站是一个完整的计算机系统,主要由电源、CPU(中央处理器)、网络接口和I/O组成。日常维护1 过程通道故障:过程通道故障出现最多的是I/O卡故障。I/O卡故障一般的判断与处理:通过系统诊断,更换通道或通过更换备用件处理,至于其内部元件老化或是其他原因造成的损坏,一般控制人员不好判断。I/O卡的检修一般是由厂家处理,目前的热控检修人员的手段还不能达到像检修常规仪表那样检修。而且生产厂家的I/O卡件已制造成一体化的趋势,这样只能购买备件。好在这类故障只是在调试阶段出现较多,正常运行中出现几率很低。一次元件或控制设备出现故障有时不能直接被操作员发现,只有异常或报警后才通知热控人员处理。这样对检修人员和运行人员的素质要求就要提高,运行人员要详细介绍故障前后的状态便于热控检修人员能够快速、准确地处理缺陷,减少故障的扩大化,另外许多DCS厂家在产品宣传上都支持卡件热拨,做为控制人员,在运行中更换卡件时一定要做好安全防护措施否则会引起系统变化或负荷变化,尤其数字量卡件。2 对于操作员站死机无论国产与进口设备都有相关的报道,那么究其原因比较多,硬盘或卡件故障,冷却风扇负荷过重等等,有时会发生人为操作现象,一般在修改控制逻辑下装软件重启设备或强制设备保护信号时,最易发生操作事件,轻则设备异常,重则易造成设备停运后果非常严重;对死机后重启,不同厂家的启动时间不同,少则几十秒,多则几分钟,人为该操作发生的故障在热工专业中的不安全事件中占有很大比例,在操作中尤为引起高度重视,减少人为故障。3球标操作不正常,一般是由于机械装置长期工作、老化、污染、点通断不可靠、电缆插件不牢等这样的就需要换检查即可。4控制操作失灵:是由于球标的操作信号没有正常改变过程通道的状态,造成操作失效,这是2个方面造成的,一个方面是软件缺陷,另一方面是硬件本身故障的状态针对这样的缺陷通常做法检查过程通道功能正常后,再检查操作远必要时进行重起初始操作。5 对于薄膜键盘主要是键盘接触不良信号电缆松动或主机误动键盘或启动不完整都可以导致其功能不正常应用针对不同情况处理。6打印机不工作一般是由于配置的原因,这样的故障应检查打印机的设置及其硬件是否正常进行处理。报表软件功能不强主要表现在由于打印机打印报表和SOE等造成死机,或者打印机的SOE记录时问与实际情况不符;SOE打印浏览后不能返回历史曲线;SOE时间顺序不一致有时偏差很大,这会延误事故分析的进展时,有时还会误导分析方向,SOE问题既与系统设计不合理,SOE点没完全集中在一个DPU上的有关,也与系统硬件及软件设计考虑不周有关。这种故障的出现,通过分析认为这主要是对电厂的总体方面考虑的不太完美,在小的方面还不够仔细会出现这样那样的故障,针对这种情况要认真对待,不放过蛛丝马迹,与厂家认真研究提出问题进一步完善,让该系统更好地为生产服务。7 电源故障:电源故障问题较多,保险配置不合理,备用电源不能自投,电源波动引起保护误动及接插头接触不良易造成无电源。针对电源故障处理相对比较容易。首先,认真核对保险的配置及容量,真正起到保险的作用;其次,UPS的配备很重要,它可以在电源波动时也能保证系统正常供电,而且要考虑冗余和备用问题。8 干扰造成的故障:对于干扰主要是接地问题,备用电源的切换和大功率的无线通信设备如手机、对讲机等。另外还有DCS系统的干扰信号可能由本身造成的。那么对于DCS系统的接地问题越来越引起人们的重视,尤其在电力行业,大功率电器设备的启动和停止都会干扰DCS的控制信号,造成不必要的故障。为了防止干扰信号串入系统,严格执行屏蔽和接地要求和方式,信号线远离干扰源,同时采取防电源波动措施。主/从过程处理机之间在机组运行时,除非万不得以,尽量不要人为切换,已防产生干扰,如必须切换,应采取措施,先将控制切手动,以免对机组运行工况产生影响。对电子设备问、工程师站等重点部位,应绝对禁止使用大功率无线电通信设备。 [1] 相关控制系统总述计算机和网络技术的飞速发展,引起了自动化控制系统结构的变革,一种世界上最新型的控制系统即现场总线控制系统(Fieldbus Control System,FCS)在上世纪九十年代走向实用化,并正以迅猛的势头快速发展。现场总线控制系统是目前自动化技术中的一个热点,正越来越受到国内外自动化设备制造商与用户的关注。现场总线控制系统的出现,将给自动化领域在过程控制系统上带来又一次革命,其深度和广度将超过历史的任何一次,从而开创自动化的新纪元。FCS可以说是第五代过程控制系统,是由PLC(Programmable Controller)或DCS(Distributed Control System)发展而来的。FCS与PLC及DCS之间有千丝万缕的联系,又存在着本质的差异。本文针对PLC、DCS、FCS三大控制系统的特点、性能和差异作一分析。1 PLC、FCS三大控制系统的基本特点目前,在连续型流程生产工业过程控制中,有三大控制系统,即PLC、DCS和FCS。它们各自的基本特点如下:PLC1.从开关量控制发展到顺序控制、运算处理,是从下往上的。2.逻辑控制、定时控制、 计数控制、 步进(顺序)控制、连续PID控制、 数据控制――PLC具有数据处理能力、 通信和联网等多功能。3.可用一台PC机为主站,多台同型PLC为从站。4.也可一台PLC为主站,多台同型PLC为从站,构成PLC网络。这比用PC机作主站方便之处是:有用户编程时,不必知道通信协议,只要按说明书格式写就行。5.PLC网络既可作为独立DCS/TDCS,也可作为DCS/TDCS的子系统。6.主要用于工业过程中的顺序控制,新型PLC也兼有闭环控制功能。FCS1.FCS是第五代过程控制系统,它是21世纪自动化控制系统的方向。是3C技术(Communication,Computer, Control)的融合。基本任务是:本质(本征)安全、危险区域、易变过程、难于对付的非常环境。(2)全数字化、智能、多功能取代模拟式单功能仪器、仪表、控制装置。3.用两根线联接分散的现场仪表、控制装置,取代每台仪表的两根线。“现场控制”取代“分散控制”;数据的传输采用“总线”方式。4.从控制室到现场设备的双向数字通信总线,是互联的、双向的、串行多节点、开放的数字通信系统取代单向的、单点、并行、封闭的模拟系统。5.用分散的虚拟控制站取代集中的控制站。6.把微机处理器转入现场自控设备,使设备具有数字计算和数字通信能力,信号传输精度高,远程传输。实现信号传输全数字化、控制功能分散、标准统一全开放。7.可上局域网,再可与internet相通。既是通信网络,又是控制网络。8.3类FCS的典型应用:1) 连续的工艺过程自动控制如石油化工,其中“本安防爆”技术是绝对重要的;2)分立的工艺动作自动控制如汽车制造机器人、汽车;3)多点控制如楼宇自动化。这三大控制系统,尤其是DCS、PLC,都在电站得到了广泛应用,而且效果也非常好。系统差异差异2.1.1 DCS或PLCPLC系统与DCS系统的结构差异不大,只是在功能的着重点上的不同,DCS着重于闭环控制及数据处理。PLC着重于逻辑控制及开关量的控制,也可实现模拟量控制。DCS或PLC系统的关键是通信。也可以说数据公路是分散控制系统DCS及PLC的脊柱。由于它的任务是为系统所有部件之间提供通信网络,因此,数据公路自身的设计就决定了总体的灵活性和安全性。数据公路的媒体可以是:一对绞线、同轴电缆或光纤电缆。DCS的特点是:(1)控制功能强。可实现复杂的控制规律,如串级、前馈、解耦、自适应、最优和非线性控制等。也可实现顺序控制。(2)系统可靠性高。(3)采用CRT操作站有良好的人机界面。(4)软硬件采用模块化积木式结构。(5)系统容易开发。(6)用组态软件,编程简单,操作方便。(7)有良好的性价比。通过数据公路的设计参数,基本上可以了解一个特定DCS或PLC系统的相对优点与弱点。1.系统能处理多少I/O信息。2.系统能处理多少与控制有关的控制回路的信息。3.能适应多少用户和装置(CRT、控制站等)。4.传输数据的完整性是怎样彻底检查的。5.数据公路的最大允许长度是多少。6.数据公路能支持多少支路。7.数据公路是否能支持由其它制造厂生产的硬件(可编程序控制器、计算机、数据记录装置等)。为保证通信的完整,大部分DCS或PLC厂家都能提供冗余数据公路。为了保证系统的安全性,使用了复杂的通信规约和检错技术。所谓通信规约就是一组规则,用以保证所传输的数据接收与发送。目前在DCS和PLC系统中一般使用两类通信手段,即同步的和异步的,同步通信依靠一个时钟信号来调节数据的传输和接收,异步网络采用没有时钟的报告系统。2.1.2 FCSFCS具有(1)很好的开放性、互操作性和互换性。(2)全数字通信。(3)智能化与功能自治性。(4)高度分散性。(5)很强的适用性。FCS的关键要点有三点:1.FCS系统的核心是总线协议,即总线标准。采用双绞线、光缆或无线电方式传输数字信号,减少大量导线,提高了可靠性和抗干扰能力。FCS从传感器、变送器到调节器一直是数字信号,这就使我们很容易地处理更复杂、更精确的信号,同时数字通信的差错功能可检出传输中的误码。FCS可以将PID控制彻底分散到现场设备(Field Device)中。基于现场总线的FCS又是全分散、全数字化、全开放和可互操作的新一代生产过程自动化系统,它将取代现场一对一的4~20mA模拟信号线,给传统的工业自动化控制系统体系结构带来革命性的变化。根据IEC61158的定义,现场总线是安装在制造或过程区域的现场装置与控制室内的自动控制装置之间的数字式、双向传输、多分支结构的通信网络。现场总线使测控设备具备了数字计算和数字通信能力,提高了信号的测量、传输和控制精度,提高了系统与设备的功能、性能。IEC/TC65的SC65C/WG6工作组于1984年开始致力于推出世界上单一的现场总线标准工作,走过了16年的艰难历程,于1993年推出了IEC61158-2,之后的标准制定就陷于混乱。2000年初公布的IEC61158现场总线国际标准子集有八种,分别为:①类型1 IEC技术报告(FFH1);②类型2 Control-NET(美国Rockwell公司支持);③类型3 Profibus(德国Siemens公司支持);④类型4 P-NET(丹麦Process Data公司支持);⑤类型5 FFHSE(原FFH2)高速以太网(美国Fisher Rosemount公司支持);⑥类型6 Swift-Net(美国波音公司支持);⑦类型7 WorldFIP(法国Alsto公司支持);⑧类型8 Interbus(美国Phoenix Contact公司支持)。除了IEC61158的8种现场总线外,IEC TC17B通过了三种总线标准:SDS(Smart Distributed System);ASI(Actuator Sensor Interface);Device NET。另外,ISO公布了ISO 11898 CAN标准。其中Device NET于2002年10月8日被中国批准为国家标准,并于2003年4月1日开始实施。所以,要实现这些总线类型的相互兼容和互操作,就目前状态而言,几乎是不可能的。开放的现场总线控制系统的互操作性,就一个特定类型的现场总线而言,只要遵循同一类型现场总线的总线协议,对其产品是开放的,并具有互操作性。换句话说,不论什么厂家的产品,只要遵循同一类型总线的总线协议,产品之间是开放的,并具有互操作性,就可以组成总线网络。另外,FCS还可以通过网关和企业的上级管理网络相连,以便管理者掌握第一手资料,为决策提供依据。所以现场总线具有开放性、互操作性、系统结构的高度分散性、灵活的网络拓扑结构、现场设备的高度智能化、对环境的高度适应性等诸多突出特点。2.FCS系统的基础是数字智能现场装置控制功能下放到现场仪表中,控制室内仪表装置主要完成数据处理、监督控制、优化控制、协调控制和管理自动化等功能。数字智能现场装置是FCS系统的硬件支撑,是基础;道理很简单,FCS系统执行的是自动控制装置与现场装置之间的双向数字通信现场总线信号制。现场装置必须遵循统一的总线协议,即相关的通讯规约,具备数字通信功能,能实现双向数字通。再一点,现场总线的一大特点就是要增加现场一级控制功能。3.FCS系统的本质是信息处理现场化对于一个控制系统,无论是采用DCS还是采用现场总线,系统需要处理的信息量至少是一样多的。实际上,采用现场总线后,可以从现场得到更多的信息。现场总线系统的信息量没有减少,甚至增加了,而传输信息的线缆却大大减少了。这就要求一方面要大大提高线缆传输信息的能力,另一方面要让大量信息在现场就地完成处理,减少现场与控制机房之间的信息往返。可以说现场总线的本质就是信息处理的现场化。由现场智能仪表完成数据采集、数据处理、控制运算和数据输出等功能。现场仪表的数据(包括采集的数据和诊断数据)通过现场总线传送到控制室的控制设备上,控制室的控制设备用来监视各个现场仪表的运行状态,保存智能仪表上传的数据,同时完成少量现场仪表无法完成的高级控制功能。2.2 典型系统比较通过使用现场总线,用户可以大量减少现场接线,用单个现场仪表可实现多变量通信,不同制造厂生产的装置间可以完全互操作,增加现场一级的控制功能,系统集成大大简化,并且维护十分简便。传统的过程控制仪表系统每个现场装置到控制室都需使用一对专用的电缆或双绞线,以传送4mA~20mA信号。现场总线系统中,每个现场装置到接线盒的双绞线仍然可以使用,但是从现场接线盒到中央控制室仅用一根双绞线完成数字通信。通过采用现场总线控制系统,到底能节省多少电缆,编者就不作详细的计算。应用差异上述的比较是偏重于纯技术性的比较,下面就DCS与FCS系统在具体应用方面进行比较。前题是DCS系统与典型的、理想的FCS系统进行比较。具体比较:1.DCS系统是个大系统,其控制器的功能强而且在系统中的作用十分重要,数据公路更是系统的关键,所以,必须整体投资一步到位,事后的扩容难度较大。而FCS功能下放较彻底,信息处理现场化,数字智能现场装置的广泛采用,使得控制器功能与重要性相对减弱。因此,FCS系统投资起点低,可以边用、边扩、边投运。2.DCS系统是封闭式系统,各公司产品基本不兼容。而FCS系统是开放式系统,不同厂商、不同品牌的各种产品基本能同时连入同一现场总线,达到最佳的系统集成。3.DCS系统的信息全都是二进制或模拟信号形成的,必须通过D/A与A/D转换。而FCS系统将D/A与A/D转换在现场一次表完成,实现全数字化通信,使精度得到大的提高,可提高到0.1%。并且FCS系统可以将PID闭环控制功能装入现场设备中,缩短了控制周期,提高运算速度,从而改善调节性能。4.DCS它可以控制和监视工艺全过程,对自身进行诊断、维护和组态。但是,由于自身的致命弱点,其I/O信号采用传统的模拟量信号,因此,它无法在DCS工程师站上对现场仪表(含变送器、执行器等)进行远方诊断、维护和组态。FCS采用全数字化技术,数字智能现场装置发送多变量信息,而不仅仅是单变量信息,并且还具备检测信息差错的功能。FCS采用的是双向数字通信现场总线信号制。因此,它可以对现场装置(含变送器、执行机构等)进行远方诊断、维护和组态。5.FCS由于信息处理现场化,与DCS相比可以省去相当数量的隔离器、端子柜、I/O终端、I/O卡件、I/O文件及I/O柜,同时也节省了I/O装置及装置室的空间与占地面积。同时,FCS可以减少大量电缆与敷设电缆用的桥架等,同时也节省了设计、安装和维护费用。6.FCS相对于DCS组态简单,由于结构、性能标准化,便于安装、运行、维护。发展前景大家都知道FCS是由PLC或DCS发展而来,现在FCS系统被广泛的应用,那么,PLC与DCS前景又将如何。PLC于20世纪60年代末期在美国首先出现,目的是用来取代继电器,执行逻辑、计时、计数等顺序控制功能,建立柔性程序控制系统。1976年正式命名,并给予定义:PLC(Programmable logic Controller)是一种数字控制专用电子计算机,它使用了可编程序存储器储存指令,执行诸如逻辑、顺序、计时、计数与演算等功能,并通过模拟和数字输入、输出等组件,控制各种机械或工作程序。经过30多年的发展,PLC已十分成熟与完善,并具有强大的运算、处理和数据传输功能。并定义为可编程控制器(Programmable Controller PLC)。PLC在FCS系统中的地位似乎已被确定并无多少争论。PLC作为一个站挂在高速总线上。充分发挥PLC在处理开关量方面的优势。另外,电厂辅助车间,例如水处理车间、循环水车间、除灰除渣车间、输煤车间等,这些车间的工艺过程多以顺序控制为主。PLC对于顺序控制有其独特的优势。辅助车间的控制系统应以遵循现场总线通讯协议的PLC或能与FCS进行通讯交换信息的PLC为优选对象。现场总线的应用是工业过程控制发展的主流之一。可以说FCS的发展应用是自动化领域一场革命。采用现场总线技术构造低成本现场总线控制系统,促进现场仪表的智能化、控制功能分散化、控制系统开放化,符合工业控制系统技术发展趋势。总之,计算机控制系统的发展在经历了基地式气动仪表控制系统、电动单元组合式模拟仪表控制系统、集中式数字控制系统以及集散控制系统(DCS)后,将朝着现场总线控制系统(FCS)的方向发展。虽然以现场总线为基础的FCS发展很快,但FCS发展还有很多工作要做,如统一标准、仪表智能化等。另外,传统控制系统的维护和改造还需要DCS,因此FCS完全取代传统的DCS还需要一个漫长的过程,同时DCS本身也在不断的发展与完善。可以肯定的是,结合DCS、工业以太网、先进控制等新技术的FCS将具有强大的生命力。工业以太网以及现场总线技术作为一种灵活、方便、可靠的数据传输方式,在工业现场得到了越来越多的应用,并将在控制领域中占有更加重要的地位。结论在未来,工业过程控制系统中,数字技术向智能化、开放性、网络化、信息化发展,同时,工业控制软件也将向标准化、网络化、智能化、开放性发展。因此现场总线控制系统FCS的出现,数字式分散控制DCS及PLC并不会消亡,DCS及PLC系统会更加向智能化、开放性、网络化、信息化发展。或只是将过去处于控制系统中心地位的DCS移到现场总线的一个站点上去。这样说,DCS或PLC处于控制系统中心地位的局面从此将被打破。今后的控制系统将会是:FCS处于控制系统中心地位,兼有DCS、PLC系统一种新型标准化、智能化、开放性、网络化、信息化控制系统。