2目录1.概述和基本概念....................................................................................................................31.编程对象(POUs).........................................................................................................32.资源对象(设备树)..........................................................................................................32.创建并运行一个工程...........................................................................................................4启动CoDeSys并创建一个工程...........................................................................................4(1)启动CoDeSys........................................................................................................4(2)创建工程....................................................................................................................4编写PLC程序.........................................................................................................................6(1)在PLC_PRG中声明变量.......................................................................................6(2)在PLC_PRG的实现部分输入程序代码...............................................................7(3)创建编程POU(用ST语言编写功能块FB1).....................................................8为在PLC上运行和控制程序,定义资源对象.....................................................................9(1)启动GatewayServer和PLC.................................................................................9(2)激活“应用”............................................................................................................9(3)设置通讯参数..........................................................................................................10在PLC中运行并查看应用...................................................................................................12(1)编译并将应用程序下载到PLC.............................................................................12(2)启动和监控应用程序..............................................................................................13在PLC上启动应用程序:...................................................................................................13监控应用程序.........................................................................................................................13(1)打开程序的示例窗口..............................................................................................13(2)写入和强制变量(3)使用监控视窗调试程序.................................................................................................................................15(1)设置断点并单步执行程序......................................................................................153.CoDeSysV3–快速入门...............................................................................................17使用CoDeSysV3来编写一个控制车库门的程序...........................................................17CoDeSysV3–快速学习1/6.............................................................................................17CoDeSysV3–快速学习2/6.............................................................................................18CoDeSysV3–快速学习3/6.............................................................................................21CoDeSysV3–快速学习4/6.............................................................................................22CoDeSysV3–快速学习5/6.............................................................................................26CoDeSysV3–快速学习6/6.............................................................................................28下载基于CoDeSysV3的整个工程的应用程序...............................................................32231.概述和基本概念CoDeSys是一种与设备(硬件)无关的可编程控制器(PLC)编程系统。CoDeSys不仅完全支持所有符合IEC61131-3标准的编程语言,同时还支持C语言等高级编程语言。与CoDeSys实时运行系统(RuntimeSystem)结合后,可以在一个工程(项目)中对多个控制器(设备)进行统一配置和编程。使用CoDeSys编程时,请留意下列基本概念:面向对象的编程:CoDeSysV3.4中,在编程元素、编程特性、工程结构、版本管理等各个方面都体现了面向对象进行编程的重要思想。可以通过联合、实例化来实现在一个工程中的多设备编程和多应用编程。因此,开发者可以在同一个设备上运行多个应用程序、可以对应用进行拷贝、可以在一个工程中混合配置参数型的和可编程型的硬件(系统)。基于组件的编程系统结构:在用户界面中(例如编辑器和菜单等)可以使用的功能,是由在配置文件中定义的所使用的组件(插件)来决定。组件又分为系统组件和可选组件,其中系统组件是必需的基本组件。除了德国3S软件公司提供的这些组件之外,用户还可以使用CoDeSys自动化开发平台工具包(CoDeSysAutomationPlatformToolkit)来创建自定义的组件。版本管理:在CoDeSys中可以同时安装一个组件的多个版本,并且可以组合使用这些版本,编译器也可以安装和使用多个版本;而且无需更新整个版本就可以新增独立的功能。工程(项目)的组织方式也同样采用了面向对象的方法:在CoDeSys工程中,包含了由各种编程对象组成的PLC程序对象,还包含了在目标系统(硬件设备)上运行PLC程序时需要的“资源”对象。由上所述,在一个工程中有两类主要的对象:(1)编程对象(POUs):编程对象POU包括程序、函数、功能块、方法、接口、动作、数据类型定义等。在“POU窗口”中管理的编程对象,在整个工程范围内都有效,且可以被工程中所有的“应用”通过任务配置来调用,即实例化。在“设备窗口”中管理的编程对象(即针对特定应用的编程对象),只能被本应用来使用,或被本应用的“子应用”实例化后使用。(2)资源对象(设备树):资源对象包括设备对象、应用、任务配置、配方管理等。资源对象只能在设备窗口中进行管理,即只能在设备树中进行管理。在设备树中添加对象后,需要按一定的“规则”与被控设备进行映射。对象(如库和GVL等)在工程中的有效范围,会依据设备树中应用和设备对象的层级关系而定,一般来说,一个应用中的对象对其“子应用”也有效,可以被使用。由集成的编译器生成代码,并使用机器码以便加快执行时间。34与控制器设备之间的数据传输:在CoDeSys与目标设备之间,通过Gateway组件和实时运行系统(RuntimeSystem)进行数据的传输。提供了完善的在线功能对设备程序进行实时监控。2.创建并运行一个工程以下部分介绍了如何创建一个包含PLC程序的简单工程,以及如何通过GatewayServer将这个程序加载到PLC(目标设备)硬件上,运行并监控此程序。CoDeSys安装程序中缺省提供了用于该示例工程的PLC实时运行系统。示例程序用结构化文本(ST)语言编写,包含一段程序:PLC_PRG,和一个功能块:FB1;PLC_PRG中包含一个计数器变量ivar,并调用功能块FB1;FB1从PLC_PRG中得到输入值“in”,在这个输入值上加“2”,并将结果输出到out,由PLC_PRG读out。(注意:下列关于用户界面的默认配置说明由