Date:2019/10/11Page:1STEP7和CoDeSys简介Date:2019/10/11Page:2STEP7STEP7编程软件用于西门子系列工控产品包括SIMATICS7、M7、C7,是供它们编程、监控和参数设置的标准工具,是SIMATIC工业软件的重要组成部分。STEP7具有以下功能:硬件配置和参数设置、通讯组态、编程、测试、启动和维护、文件建档、运行和诊断功能等。在STEP7中,用项目来管理一个自动化系统的硬件和软件,STEP7用SIMATIC管理器对项目进行集中管理,它可以方便地浏览SIMATICS7、M7、C7的数据。实现STEP7各种功能所需的SIMATIC软件工具都集成在STEP7中。Date:2019/10/11Page:3SIMATIC管理器界面项目窗口2工具栏菜单栏项目窗口1项目结构视图项目对象视图选择过滤器设置过滤器网络配置工具仿真调试工具(S7-PLCSIM)窗口排列工具在线帮助可访问网络节点S7存储卡下载工具(Download)离线工具(Offline)在线工具(Online)查看工具Date:2019/10/11Page:4HWConfigurationDate:2019/10/11Page:5HWConfigurationDate:2019/10/11Page:6HWConfigurationDate:2019/10/11Page:7程序OB1Date:2019/10/11Page:8CoDeSysCodeys是德国3s-software公司开发的PLC软件,是可编程逻辑控制器PLC的完整开发环境(Codesys是ControlledDevelopmentSystem的缩写),它支持IEC61131-3标准IL、ST、FBD、LD、CFC、SFC六种PLC编程语言,用户可以在同一项目中选择不同的语言编辑子程序,功能模块等。一个工程文件包含以下四个对象:程序组织单元POUs(programorganizationunits)、数据类型DataTypes、可视化Visualization、资源ResourcesDate:2019/10/11Page:9POUs子程序可调用函数和功能块,但函数,功能块不能调用子程序,且子程序中的中间变量值是可视的,但函数,功能块里的中间变量值是不可视的,另外函数块没有返回值。Date:2019/10/11Page:10POUs一、指令表IL(InstructionList)IL语言是用布尔助记符来描述程序的一种程序设计语言,它与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。例如指令描述LD读取操作数的值;ST把当前值存入操作数;S把布尔量操作数置TRUE;R把布尔量操作数置FALSE;AND逻辑与;OR逻辑或;NOT逻辑非;XOR逻辑异或;ADD加;SUB减;MUL乘;DIV除;MOD求余数;GT;GE=;EQ=;NE;LE=;LT;Date:2019/10/11Page:11POUs二、结构化文本ST(StructuredText)ST语言是用结构化的描述语句来描述程序的一种设计语言。它是一种类似于高级语言的程序设计语言。在大中型的可编程序控制器系统中,尤其是大量的模拟量运算和处理,常采用ST语言来描述控制系统中各个变量之间较复杂的控制运算关系,完成所需的功能或操作。ST语言除有一般算术运算、逻辑运算、表达式、调用子程序等指令外,还有一些结构化的语句模块。条件语句:IF逻辑表达式1THEN(*表达式为TRUE时,执行功能块一*)...(*功能块一*)ELSIF逻辑表达式2THEN(*表达式为TRUE时,执行功能块二*)...(*功能块二*)ELSIF逻辑表达式nTHEN(*表达式为TRUE时,执行功能块n*)...(*功能块n*)ELSE...(*功能块n+1*)END_IF(*条件结束*)Date:2019/10/11Page:12POUs三、梯形图LAD(LadderDiagram)梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。它来源于继电器逻辑控制系统的描述。与指令表程序设计语言有一一对应关系,便于相互的转换和程序的检查。Date:2019/10/11Page:13POUs四、功能模块图FBD(FunctionBlockDiagram)功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的控制运算或控制功能。功能模块可以分为不同的类型,在同一种类型中,也可能因功能参数的不同而使功能或应用范围有所差别,例如,输入端的数量、输入信号的类型等的不同使它的使用范围不同。由于采用软连接的方式进行功能模块之间及功能模块与外部端子的连接,因此控制方案的更改、信号连接的替换等操作可很方便实现。功能模块图程序设计语言的特点是:以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容;功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易操作性;对控制规模较大、控制关系较复录的系统,由于控制功能的关系可以较清楚地表达出来,因此编程和组态时间可以缩短,调试时间也能减少;用户自己可以用不同的语言编写特定的功能模块,也可在用其他语言编程时插入功能模块。Date:2019/10/11Page:14POUs五、顺序流程图SFC(SequentialFunctionChart)SFC语言是用顺序流程图来描述程序的一种程序设计语言。采用顺序流程图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设计和检查调试SFC语言的特点是:以功能为主线,条理清楚,便于对程序操作的理解和沟通。对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间。能较简单和清楚地描述并发系统和复杂系统的所有现象,并能对系统中存有的死锁、不安全等反常现象进行分析和建模,在模型的基础上能直接编程。当且仅当顺序条件为真时,程序才能往下执行。每一步功能块可用不同语言编写。Date:2019/10/11Page:15POUs六、连续功能图CFC(ContinuousFunctionChart)连续功能图表编辑器不象功能模块图那样操作,但是可以自由放置元素,它允许使用反馈。连续功能图表编辑器中没有使用捕捉栅格,因此元素可以任意放置。连续处理列表的元素包括框、输入、输出、跳转、标签、返回和注释。这些元素的输入和输出可以通过用鼠标拖动连接来连接起来,连接线自动画出。最短的可能的连接线要考虑到现有的连接,当元素移动时连接线自动调整,如果连接线因为缺乏空间不能画出,在输入和相关的输出之间出现一个红线,这个红线只有当空间充足时才转化为连接线。Date:2019/10/11Page:16POUs六、连续功能图CFC(ContinuousFunctionChart)连接也可以用一个连接器(连接标记)表示来替代连接线,在这里唯一的名字连接器添加到输出和相关的输入端。在两个元素之间已经存在的连接现在用连接器表示,连接线的输出端被标记并且菜单中的“Extras下拉菜单Connectionmarker”被选中,下面图表显示一个连接在菜单点选择前后的连接情况。程序给出一个唯一的标准化的名字,开始于M,连接器的名字存储为一个输出变量,它可以被更改,既可以在输入端更改也可以在输出端更改。连接器的名字是和连接的输出端的属性相关的并且和它一起保存。Date:2019/10/11Page:17N01Hydraulic程序Date:2019/10/11Page:18N02RM程序1CPURDiagProfibusDiagnostic1CPURWDWatchDogManagement2CPUREccEccentricity2CPURHgcFHGCfast3CPUFSSupSET-UPmanagement3CPURSTrkTrackingManagement3CPURSMstMasterStand3CPURSLogLogicsStand4CPURHgcpCapsule4CPURHgcsHGCslow4CPURSdcSDC4CPURWrBBBalancing5CPURCHRollChange2CPU放两个程序是有目的Date:2019/10/11Page:19N03FM程序1CPUFDiagProfibusDiagnostic1CPUFWDWatchDogManagement2CPUFEccEccentricity2CPUFHgcFHGCfast3CPUFSSupSET-UPmanagement3CPUFSTrkTrackingManagement3CPUFSMstMasterStand3CPUFSLogLogicsStand4CPUFHgcpCapsule4CPUFHgcsHGCslow4CPUFSdcSDC4CPUFWrBBBalancing5CPUFCHRollChangeDate:2019/10/11Page:20DataTypes1.在CoDeSys环境中,有以下标准数据类型:BOOL(布尔量)、SINT(短整型)、INT(整型数)、DINT(双整型数)USINT(无符号短整型)、UINT(无符号整型数)、UDINT(无符号双整型数)BYTE(位)、WORD(字)、DWORD(双字)、STRING(字符量)、REAL(实型数)32位、LREAL(长实型数)64位、TIME(时间量)2.自定义数据类型自定义数据类型有数组Array、指针、结构体Structure因此,当更大的类型转换为较小的类型,信息可能会丢失。Date:2019/10/11Page:21DataTypes在工程文件中,按适用范围有两种类型的变量,全局变量(Global)、局部变量(local)。全局变量存在于程序的任何模区域,而局部变量只存在于子程序,函数和功能块中。全局变量的说明在“resource”的“globalvariable”里:Date:2019/10/11Page:22DataTypes局部变量的说明在“程序体”上部的局部变量说明区。变量说明有两种方式:一种是在变量区进行说明;另一种是自动说明。自动说明是在主菜单里选择“Project”,“Option”,“Edit”,出现以下对话框:选中“Autodeclaration”,这样,当编写程序,写到新的变量时,自动弹出对话框Date:2019/10/11Page:23CoDeSys的可视化1.集成可视化的优点。可视化的含义就是监测和运行由CoDeSys编程的控制器的数据,而无需附加工具。编程系统包括一个集成的可视化编辑器,允许用户创建一个可视化对象到并口再到相同的用户接口的应用开发。2.一体化的益处CoDeSys的集成可视化不需要标识符表单,它可以直接存取控制器的变量。通常难以组态的OPC层或DDE层,也不需要标识符表单,因为通信是由编程系统所用的相同机制来实现的。那样,可视化的实现所需的工程投入也将大大减少。其中不再需要带监视器的PC的传统的显示方式可视化是由图形符号表示方案变量,这些图形符号允许以在线模式通过鼠标和键盘区将变量输入到PLC程序中。作为编程系统的一部分的CoDeSys可视化编辑器会提供图形元素,这些元素可以按客户的需要来安排并可与方案变量相连。因此,当处于在线模式时,图形元素的外观将随着变量值的变化而改变,你立刻就会得到编程系统中可视化的显示画面。Date:2019/10/11Page:24CoDeSys的可视化Date:2019/10/11Page:25CoDeSys的可视化创建一个新的页面Visualization在Visualizati