软件培训资料_第1页
软件培训资料_第2页
软件培训资料_第3页
软件培训资料_第4页
软件培训资料_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工业控制软件开发基础知识张峰图灵视控(北京)科技有限公司Email:feng.zhang@目录前言软件开发流程工业软件开发注意事项工业软件通讯及算法数据管理图灵视控(北京)科技有限公司2前言—程序与软件定义程序的定义面向过程的程序=算法+数据结构面向对象的程序=对象+消息面向构件的程序=构件+构架软件的定义软件=程序+数据+文档3“人生就是一段程序,这段程序是用特殊代码写成的,只是算法极其复杂而已。”图灵视控(北京)科技有限公司前言—TIOBE世界编程语言排行榜TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商使用的数量,并使用搜索引擎(如Google、Bing、Yahoo!、百度)以及Wikipedia、Amazon、YouTube统计出排名数据,只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。每月更新一次。4图灵视控(北京)科技有限公司前言—编程语言与开发环境Java:

1995年,由SunMicroSystems公司发布。目前比较流行的开发环境为Eclipse和NetBeans。安卓系统上的软件大都是由Java开发的。C/C++:C语言诞生于1972年,由美国贝尔实验室的D.M.Ritchie开发。1983年,贝尔实验室的BjarneStroustrup在C语言基础上推出了C++。通用开发平台为MicrosoftVisualStudio,目前最新版本为VS2015,大家用的较多的且较为稳定的为VS2010和VS2008。另外,QT常被用来开发C++程序,其提供了较丰富的界面美化功能。C#:2000年,微软公司发布。C#运行于.NetFrameWork之上,也就是说要运行C#开发的程序,电脑上必须安装对应版本的.NetFrameWork。通用开发平台为MicrosoftVisualStudio。Python:由GuidovanRossum于1989年发明,第一个公开发行版发行于1991年。其开发环境为Python内置IDE5图灵视控(北京)科技有限公司前言—编程语言与开发环境执行效率高:C/C++写的软件,编译器直接将语句编译成CPU指令,确保执行正确与高效。Java写的软件,没有直接编译成CPU指令,而是由解释器来读,再由解释器来解释具体动作,最后解释器使用自己的软件来执行CPU指令。稳定性和安全性:事实证明C\C++是最稳定,最可靠的,最安全的,开发应用系统效率低,开发成本大。Java主要应用于商业和移动设备,移植性好,不受底层硬件、芯片类型的影响。6图灵视控(北京)科技有限公司一般工业软件用什么语言开发?--C/C++软件开发流程7图灵视控(北京)科技有限公司周期序号周期名称周期序号周期名称1立项(或签合同)、下达任务书6软件测试2需求分析7软件发布与实施3概要设计8软件维护4详细设计9版本更新或退役5编码实现软件开发模型8图灵视控(北京)科技有限公司瀑布模型增量模型迭代模型瀑布模型(WaterfallModel)定义:1970年温斯顿•罗伊斯(WinstonRoyce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动。同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动。对于经常变化的项目而言,瀑布模型毫无价值。9图灵视控(北京)科技有限公司瀑布模型图10图灵视控(北京)科技有限公司瀑布模型优缺点优点:提供了软件开发的基本框架为项目提供了按阶段划分的检查点当前一阶段完成后,您只需要去关注后续阶段可在迭代模型中应用瀑布模型(*)缺点:在项目各个阶段之间极少有反馈由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险通过过多的强制完成日期和里程碑来跟踪各个项目阶段。而且各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果11图灵视控(北京)科技有限公司增量模型增量模型将软件产品看作一组增量构件,每次设计、实现、集成、测试和交付一块构件,直到所有构件全部实现为止。要开发一个大的软件系统,先开发其中的一个核心模块,后再开发其他模块,这样一个个模块地增加上去,直至整个系统开发完毕为止。增量模型的特点是引进了增量包的概念,无须等到所有需求都出来,只要某个需求的增量包出来即可进行开发。虽然某个增量包可能还需要进一步适应客户的需求并且更改,但只要这个增量包足够小,其影响对整个项目来说是可以承受的。12图灵视控(北京)科技有限公司增量模型图13图灵视控(北京)科技有限公司分析设计编码测试增量1分析设计编码测试增量2分析设计编码测试增量3分析设计编码测试增量4增量模型的优缺点优点采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源。如果核心产品很受欢迎,则可增加人力实现下一个增量。当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。这样即可先发布部分功能给客户,对客户起到镇静剂的作用。增量能够有计划地管理技术风险。缺点由于各个构件是逐渐并入已有的软件体系结构中的,所以加入构件必须不破坏已构造好的系统部分,这需要软件具备开放式的体系结构。在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。如果增量包之间存在相交的情况且未很好处理,则必须做全盘系统分析,这种模型将功能细化后分别开发的方法较适应于需求经常改变的软件开发过程。14图灵视控(北京)科技有限公司增量模型的选择条件选择模型的条件:在项目开发过程中,客户接受分阶段交付。开发人员对应用领域不熟悉,难以一步到位。工期过紧的中等或高风险项目。用户可参与到整个软件开发过程中。使用面向对象语言或第四代语言。软件公司自己有较好的类库、构件库。15图灵视控(北京)科技有限公司迭代模型(IterativeModel)迭代被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。实质上,它类似小型的瀑布式项目。所有的阶段(需求及其它)都可以细分为迭代。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。16图灵视控(北京)科技有限公司迭代模型图17图灵视控(北京)科技有限公司迭代模型的优缺点优点降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。缺点对项目组成员要求很高。必须掌握先进的开发工具18图灵视控(北京)科技有限公司工业软件开发注意事项安全性:即使在软件异常情况下,也不能致使底层设备(尤其是运动机构)运行紊乱稳定性:软件能够长时间无故障运行可靠性:软件算法具有较好的鲁棒性,对于复杂工况仍能可靠运行实时性:工业控制软件的实时性一般在毫秒级易用性:使用方便,工人不需要复杂的专业知识就可以操作使用软件可维护性:对于软件存在的bug能够较快进行修复19图灵视控(北京)科技有限公司工业软件开发注意事项底层最好用PLC控制,上位机软件尽量不要参与PLC的运行逻辑,只做用户交互和数据管理;(安全性、可靠性)如果底层没有PLC的话,上位机软件在逻辑上要加严格判断,并实时检查软件逻辑异常情况,并对异常及时作出判断;由于操作系统故障导致的异常将很难控制;(安全性、可靠性)关注软件算法的安全性,在算法运行超时、算法运行结果异常等情况下,对涉及到的数据使用要多加注意;(安全性、稳定性)设计软件界面时要综合考虑功能需求和工人操作习惯,将常用操作置于显要位置;(易用性)数据统一管理;

(可维护性)20图灵视控(北京)科技有限公司如何做到安全性、稳定性、可靠性、易用性呢?工业软件通讯及算法21图灵视控(北京)科技有限公司通讯是基础,算法是核心!算法数据管理输入输出软件1、模拟量信号:压力、温度、速度、流量、位置2、数字量输入3、CCD、复杂设备反馈信号1、模拟量信号:电压、电流等2、数字量输出3、复杂设备控制信号通讯工业软件通讯及算法22图灵视控(北京)科技有限公司常用的工业通讯接口类型有哪些?串口通讯(RS232、RS485、CAN总线)以太网通讯Profibus总线串口通讯的优点:接口简单、接线少,缺点:速度受限有没有并口通讯?计算机内存条的访问计算机内硬盘的访问并口通讯的优点:速度极快,直接读取;缺点:接口复杂(地址线、数据线、控制命令线,加起来将近100根线)工业软件通讯及算法23图灵视控(北京)科技有限公司RS232串口通讯接口:3根线:TXD(发送)、RXD(接收)、GND(信号地)逻辑1:-3V~-15V逻辑0:+3V~+15V

通讯速率:50、75、100、150、300、600、1200、2400、4800、9600、19200、38400、115200

通讯距离:一般5米左右,与通讯速率有关,最长可达15米。RS232串口可以级联吗?如果级联的设备种类不同、指令格式不同,在通讯速率一致的情况下可以级联;如果级联设备有相同类型,通过扩展地址模块,在通讯速率一致的情况下可以级联;注意:RS232串口级联时,需要对所有设备进行轮询,有时需要对单个设备轮询多次,每个独立设备的通讯间隔会增大,降低设备访问的实时性。工业软件通讯及算法24图灵视控(北京)科技有限公司RS232级联及调试方式TXDRXDGNDRXDTXDGNDRXDTXDGNDRXDTXDGND设备1设备2设备n地址扩展

单元RXDTXDGNDTXDRXDGND主机工控机TXDRXDGND工业软件通讯及算法25图灵视控(北京)科技有限公司RS485串口通讯接口:4根线,差分方式:TXD+(发送+)、TXD-(发送-)、RXD+(接收+)RXD-(接收-)逻辑0:+2V~+6V逻辑1:-6V~-2V通信速率在100Kbps及以下时,RS485的最长传输距离可达1200米。通讯速率与RS232类似,与232相比,由于采用差分模式传输,数据抗干扰能力较强,传输距离大大提高。RS485串口可以级联吗?————可以(主从方式,与RS232类似,多个同样设备也需要扩展地址模块)工业软件通讯及算法26图灵视控(北京)科技有限公司RS485级联方式TXD+TXD-RXD+RXD+RXD-TXD+设备1主机RXD-TXD-RXD+RXD-TXD+设备2TXD-RXD+RXD-TXD+设备nTXD-工业软件通讯及算法27图灵视控(北京)科技有限公司CAN总线通讯接口:2根线,CAN_H,CAN_L直接通讯距离最远可达10公里(速率5Kbps);通信速率最高可达1MB/s(此时距离最大为40m)节点数实际可达110个多主方式工作,网络上任一节点均可以在任一时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。采用非破坏性仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止发送数据,而优先级高的节点可不受影响地继续传输数据。距离小于40m)工业软件通讯及算法28图灵视控(北京)科技有限公司CAN总线通讯工业软件通讯及算法29图灵视控(北京)科技有限公司目前汽车上的网络连接主要采用3条CAN:一条用于驱动系统的高速CAN,速率达到500kb/s。主要面向实时性要求较高的控制单元,如发动机、电动机等;另2条用于车身系统的低速CAN,速率是100kb/s,主要针对车身控制的,如车灯、车门、车窗等信号的采集和反馈。其特征是新好多,但是实时性要求低,因此实现成本要求低工业软件通讯及算法30图灵视控(北京)科技有限公司工业软件通讯及算法对串口访问时最好建立临界区,避免多个线程同时对同一个串口进行访问,以免造成访问冲突和数据紊乱的现象;串口通讯均有同步和异步模式,采用同步模式时数据解析方便,程序运行效率较低,发送和接收之间需要加延时;采用异步模式时,数据解析复杂,但程序执行效率较高,发送和接收数据相互独立。个人比较喜欢用异步模式;串口设备级联时,要确保各设备的通讯速率一致,速率不一致会导致数据丢失,单个设备要事先调好;读取数据时,避免根据先验知识直接访问数据区,要解析信息头是否一致。31图灵视控(北京)科技有限公司编写串口通讯软件模块时的注意事项工业软件通讯及算法32图灵视控(北京)科技有限公司以太网通讯,高速通讯,适合大数据传输接口:以太网口通讯速率:10Mbps,100Mbps,1000Mbps通讯距离:通过中继器、路由器可以无限长。

工业现场哪些设备需要用以太网通讯?工业相机工控机触摸屏PLC其它复杂的设备,如拧紧枪控制器、温控仪等工业软件通讯及算法33图灵视控(北京)科技有限公司如何利用以太网通讯访问相应接口的设备?工业相机:一般都有相应的软件开发包(SDK)并提供了示例程序。一般编写相机接口函数前,需要对其Demo程序和开发手册进行仔细阅读。计算机网络之间:一般通过Socket通讯实现网络设备之间的通讯,一方作为服务端,其它为客户端。关于Socket通讯,不同的编程语言均有相应的接口函数,网上也有示例程序可以参考。工业触摸屏:一般用于和PLC之间的通讯,由于对实时性要求较高,多用以太网通讯,也有用USB或串口通讯的。对于触摸屏软件开发,不需要专门写通讯函数,只需要进行简单设定即可:如IP地址、通讯协议等。其它设备:很多独立运行的设备支持Socket通讯,对这些设备访问一方面要熟悉Socket通讯协议,另一方面需要对其设备的指令格式进行理解。工业软件通讯及算法34图灵视控(北京)科技有限公司如何利用以太网通讯访问相应接口的设备?上位机访问PLC:可以选择用串口、以太网口等方式

选择用串口访问时,需要制定相互之间的通讯协议、指令格式等,然后在上位机和PLC上均需要编写对应的接口函数,通讯速度较慢,软件维护起来复杂。

选择以太网Socket通讯时,同串口类似。

利用OPC(OLEforProcessControl)通讯访问PLC,接口形式为以太网,不需要在PLC侧编写代码,只需要在上位机编写接口即可。优点:上位机故障不会影响PLC的运行,两者不需要同步,通讯速度较快。工业软件通讯及算法35图灵视控(北京)科技有限公司Profibus-DP总线通讯一般用于PLC与底层设备之间的通讯;传输技术:RS-485双绞线.双线电缆或光缆。波特率从9.6Kbit/s到12Mbit/s;总线存取:各主站间令牌传递,主站与从站间为主-从传送。支持单主或多主系统。总线上最大站点数为126。通信:点对点(用户数据传送)或广播(控制指令)。循环主-从用户数据传送和非循环主-主数据传送。功能:DP主站和DP从站间的循环用户有数据传送。各DP从站的动态激活和可激活。DP从站组态的检查。强大的诊断功能,三级诊断诊断信息。输入或输出的同步。通过总线给DP从站赋予地址。通过部线对DP主站(DPM1)进行配置,每DP从站的输入和输出数据最大为246字节。工业软件通讯及算法36图灵视控(北京)科技有限公司Profibus-DP总线通讯福田康明斯SP铝制油底壳生产线网络拓扑结构工业软件通讯及算法37图灵视控(北京)科技有限公司算法算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论