CoDeSysV2.3--11.1CoDeSys是什么......................................................................................................................................41.2CoDeSys功能一览..................................................................................................................................42.CoDeSys组成....................................................................................................................................................72.1工程组件.................................................................................................................................................7程序.......................................................................................................................................................112.2语言.......................................................................................................................................................142.2.1指令表.......................................................................................................................................142.2.2结构化文本...............................................................................................................................162.2.3顺序功能图(SFC).................................................................................................................212.2.4功能模块图...............................................................................................................................252.2.5连续功能图表编辑器...............................................................................................................252.2.6梯形图.......................................................................................................................................252.3调试、联机功能...................................................................................................................................272.4标准化...................................................................................................................................................283.我们来编写一个小程序.................................................................................................................................293.1控制一个交通灯信号单元...................................................................................................................293.2可视化交通信号单元...........................................................................................................................384.各个单独的组件.............................................................................................................................................434.1主窗口...................................................................................................................................................434.2工程选项...............................................................................................................................................454.3管理工程...............................................................................................................................................624.3.1'工程''数据库连接'.............................................................................................................854.4管理工程中的对象...............................................................................................................................914.5编辑功能...............................................................................................................................................984.6联机功能.............................................................................................................................................1044.7设置窗口.............................................................................................................................................1174.8帮助.....................................................................................................................................................1185.CoDeSys中的编辑器....................................................................................................................................1195.1关于所有的编辑器..............................................................................................................................1195.2声明编辑器.........................................................................................................................................1205.3声明编辑器中的预处理pragma指令..............................................................................................1285.4文本编辑器.........................................................................................................................................1355.4.1指令表编辑器.........................................................................................................................1385.4.2结构化文本编辑器.................................................................................................................1395.5图形化编辑器.....................................................................................................................................1405.5.1功能模块图编辑器.................................................................................................................1435.5.2梯形图.....................................................................................................................................1475.5.3顺序功能图表编辑器.............................................................................................................1535.5.4连续功能图表编辑器.............................................................................................................1616.资源...............................................................................................................................................................1726.1全局变量、变量配置、文件框架....................................................................................................1726.1.1全局变量.................................................................................................................................1726.1.2变量配置.................................................................................................................................1766.1.3文档框架.................................................................................................................................1776.2报警配置.............................................................................................................................................1786.3库管理器.............................................................................................................................................186
-CoDeSysV2.326.4日志记录.............................................................................................................................................1876.5任务配置.............................................................................................................................................1896.6监控和配方管理器.............................................................................................................................1956.7工作空间.............................................................................................................................................1976.8对象系统设置.....................................................................................................................................1976.9PLC配置.............................................................................................................................................1986.9.1综述.........................................................................................................................................1986.9.2PLC配置中的工作................................................................................................................1996.9.3PLC配置中的一般设置.......................................................................................................1996.9.4定制特定的参数的对话框....................................................................................................2006.9.5I/O模块配置........................................................................................................................2016.9.6通道配置.................................................................................................................................2036.9.7Profibus模块的配置..........................................................................................................2046.9.8CAN模块的配置...................................................................................................................2116.9.9Can驱动器的配置.................................................................................................................2156.9.10在线模式中的PLC配置.......................................................................................................2186.9.11来自PLC的硬件扫描/状态/诊断信息.................................................................................2196.10采样追踪............................................................................................................................................2196.10.1综述和配置.............................................................................................................................2196.10.2采样追踪的显示.....................................................................................................................2206.10.3保存采样追踪.........................................................................................................................2226.10.4外部采样追踪配置.................................................................................................................2226.11参数管理器........................................................................................................................................2236.11.1参数管理器的编辑...............................................................................................................2246.11.2参数列表的导出、导入......................................................................................................2286.11.3在线模式下的参数管理......................................................................................................2286.12PLC浏览器........................................................................................................................................2296.13工具...................................................................................................................................................2327.ENI.................................................................................................................................................................2378.DDE接口........................................................................................................................................................2398.1CoDeSys程序设计系统的DDE接口.................................................................................................2408.2DDE网关服务器的DDE信息..............................................................................................................2409.CoDeSys的许可证管理器............................................................................................................................24310.附录.............................................................................................................................................................244附录A:IEC操作符和额外的标准扩展功能块................................................................................................24410.1算术操作符.....................................................................................................................................24410.2位串操作符.....................................................................................................................................24710.3移位操作符.....................................................................................................................................24910.4选择操作符.....................................................................................................................................25110.5比较操作符.....................................................................................................................................25310.6地址操作符.....................................................................................................................................25510.7调用操作符.....................................................................................................................................25610.8类型变化.........................................................................................................................................25710.9数字操作符.....................................................................................................................................26210.10初始化操作符.................................................................................................................................265附录B:CoDeSys中的操作数...........................................................................................................................266
CoDeSysV2.3--310.11常量...............................................................................................................................................26610.12变量...............................................................................................................................................26810.13地址...............................................................................................................................................27010.14功能...............................................................................................................................................271附录C:CoDeSys中的数据类型.......................................................................................................................27210.15标准数据类型.................................................................................................................................27210.16已定义的数据类型.......................................................................................................................273附录D:CoDeSys程序库...................................................................................................................................27910.17standard.lab标准库..................................................................................................................27910.17.1字符串功能.......................................................................................................................27910.17.2双稳功能程序...................................................................................................................28310.17.3触发器...............................................................................................................................28410.17.4计数器...............................................................................................................................28510.17.5定时器...............................................................................................................................28710.18Util.lib库................................................................................................................................29010.18.1BCD转换...........................................................................................................................29010.18.2位/字节功能.....................................................................................................................29010.18.3数学辅助功能...................................................................................................................29110.18.4控制器...............................................................................................................................29310.18.5信号生成...........................................................................................................................29410.18.6功能操作器.......................................................................................................................29610.18.7模拟值的处理...................................................................................................................29710.19AnalyzationNew.lib库..............................................................................................................29810.20CoDeSys系统程序库....................................................................................................................299附录E:操作符及程序库模块总结..................................................................................................................29910.21CoDeSys中的操作符:..................................................................................................................29910.22Standard.lib库的元素:............................................................................................................30210.23Util.lib库的元素:....................................................................................................................303附录F:命令行/命令文件................................................................................................................................30310.24命令行相关命令.............................................................................................................................30310.25命令文件(cmdfile)命令...........................................................................................................304附录G:导入Siemens产品数据......................................................................................................................31010.26导入一个SEQ符号文件.................................................................................................................31110.27将S5转换成IEC61131-3............................................................................................................31110.28导入一个S5工程文件...................................................................................................................3141.附录I应用键盘................................................................................................................................31510.34应用键盘.........................................................................................................................................31510.35组合键.............................................................................................................................................315CoDeSys中的关键字..........................................................................................................................................318CoDeSys文件.....................................................................................................................................................321附录K关于编译错误和警告............................................................................................................................32310.41警告.................................................................................................................................................32310.42错误.................................................................................................................................................327
-CoDeSysV2.341.CoDeSys简要介绍1.1CoDeSys是什么CoDeSys是可编程逻辑控制PLC的完整开发环境(CoDeSys是ControlledDevelopementSystem的缩写),在PLC程序员编程时,CoDeSys为强大的IEC语言提供了一个简单的方法,系统的编辑器和调试器的功能是建立在高级编程语言的基础上(如VisualC++)。1.2CoDeSys功能一览如何构建一个工程?一个工程放在以工程命名的文件中,新工程中创建的第一个程序组织单元POU自动命名为PLC_PRG,程序从这里开始执行(相当于C程序中的主函数),从这一点能够访问其它的POUs(程序,功能块和功能)。一旦定义了一个任务配置,就不必创建程序PLC_PRG了。在任务配置章节将讲到更多的内容。在工程中有不同的对象:POUs、数据类型、可视化和资源。对象管理器中包含了工程中的所有对象。如何建立一个工程?首先,为了保证在工程文件中使用的地址的正确性,应该配置PLC。然后创建解决问题所需要的POUs。当程序编写完成时,可以编译这个工程并去除所有的错误。此刻可以用你所喜欢的编程语言来编写这些POUs。如何测试自己的工程?一旦排除了所有的错误,激活仿真模式,登录入仿真的PLC并在PLC中“加载”工程文件,此时处于联机模式。现在打开一个PLC配置的窗口测试工程的时序正确性,手动为此输入输入变量,观察输出变量是不是所期望的。你也可以观察POU中的局部变量的序列值,在监视和接收管理器中可以配置你希望检查的值的数据记录。调试你可以在程序出错的地方设置断点。当程序运行后停在断点处时,你可以及时检查在这个点处所有变量的值,通过一步一步(单步)执行,你可以检查程序的逻辑正确性。附加的联机功能更多的调试功能:你可以设置程序变量并输入输出某些值。你可以通过流程控制来检查那些程序行已完成运行。日志文件按照时间的顺序记录了联机模式下的操作以及用户行为和内部进程的情况。如果在目标设置中激发了采样追踪,那么它允许你在一个较长的过程中来追踪和显示变量值的真实变化过程。PLC浏览器是目标系统的一个特殊功能,它能够用来向PLC请求某些信息。当工程完成了建立和测试后,它也能够装载到硬件中并进行测试。和仿真模式式下有相同的联机功能。附加的CoDeSys功能整个工程可以在任何时候文档化或导出到一个文本文件中。为了通讯的目的,CoDeSys有一个符号接口和一个动态数据交换(DDE)接口。网关服务器和OPC服务器和动态数据交换服务器是CoDeSys的标准安装软件包的组件。
CoDeSysV2.3--5使用恰当的目标设置能够把相同的CoDeSys工程加载到不同的目标系统中,可以通过目标文件来加载这些目标设置。通过当前的目标设置来激活网络全局变量和参数管理器。可以在控制器网络中交换数据。通过ENI服务器,用工程接口能够访问任何我们所期望的源代码管理程序。ENI服务器是个独立运行的程序,CoDeSys的程序组织单元和编译文件可以以文档方式存于数据库中,它们能够被ENI服务器的客户端访问到。这允许在一个工程文件的工作过程中进行多用户操作,它为CoDeSys和其它工具提供了一个公用数据缓冲池而且它使版本管理成为可能。工具:这个功能性也是与目标有关的,它允许启动CoDeSys工程中的特殊目标执行文件,除此之外还可以定义要被装载到控制器中的这些文件,它与外部工具的联系可以在目标文件中预定义或者插入到工程资源树中。CoDeSys的可视化可以处理象网页可视化或目标可视化,这样可以通过因特网或者PLC监视器的运行来展示可视化。
CoDeSysV2.3--72.CoDeSys组成2.1工程组件工程一个工程包含了PLC程序中的所有对象,工程存储在以工程命名的文件中,工程中包含下列对象:POU,数据类型,可视化,资源和库POU(程序组织单元)功能、功能块、程序是程序组织单元,它们能够通过动作来增补,每一个程序组织单元都包含一个定义部分和主体部分,主体部分可以用IEC的语言来编写,这些语言包括指令列表,结构化文本,顺序功能图,功能模块图,梯形图或连续功能图表。CoDeSys支持所有IEC标准的POU,如果你想在你的工程文件中使用这些POU,必须在你的工程文件中包含标准库文件standard.lib。POU可以调用其它的POU,但递归调用是不允许的。功能一个功能是一个POU,它正确地产生一个数据元素(可以包含若干元素,比如,字段或者结构体)在处理过程中,可以用文本化语言中的表达式中的一个操作数来调用它。在声明一个功能的时候,一定要给它一个类型,这就是说,在功能名后面加上一个冒号然后跟一个数据类型。一个正确的功能声明可以参考下面的例子:FUNCTIONFct:INT另外,必须分配给功能一个结果,即把功能名作为一个输出变量功能的声明从关键字FUNCTION开始。推荐的声明方式。下例是在指令列表(IL)中的一个功能,它声明了三个输入变量:前两个变量的相乘然后除以第三个变量。功能返回此操作的结果。声明部分:FUNCTIONFct:INTVAR_INPUTPAR1:INT;PAR2:INT;PAR3:INT;END_VAR程序部分:LDPAR1MULPAR2DIVPAR3STFct在结构文本中功能的调用可以作为表达式中的一个操作数。功能不会有任何内部条件,这就是说,调用带有相同的输入变量功能将会返回相同的输出结果。下面是调用功能的例子:inIL:LD7Fct2,4
-CoDeSysV2.38STErgebnisinST:Ergebnis:=Fct(7,2,4);inFUP:功能不会保持内部状态,对于不包含全局变量和地址的功能,每次在它被调用的过程中,给它传递相同的输入变量,它将返回相同的值。注意:如果一个局部变量在一个功能中被声明为RETAIN,这也没有任何影响,为此变量将不会写到保留区。如果你定义了一个功能名为CheckBounds,你可以用它来检验工程中的溢出的范围,定义地功能名是它的仅有的标识符,更详细的内容请参考10.1章节中关于数学运算符中的DIV。如果在工程中你定义了CheckDivByte,CheckDivWord,CheckDivDWord和CheckDivReal功能,如果你用了除法算式,你可以用它们来检查除数的值,可以避免分母为零。如果你定义了功能名CheckRangeSigned和CheckRangeUnsigned,超出变量定义范围的数据类型被截取。所有这些检验功能名作为特定的用途保留下来。更多的知识请参考DefinedDatatype,Array。在SFC中,一个功能的调用只能发生在一个单步操作或变换之内。功能块一个功能块是一个程序组织单元,在程序中提供一个或多个值,与功能相反,一个功能块没有返回值。功能块的声明用关键字FUNCTION_BLOCK开始.推荐的声明方式。可以创建功能块的复制或实例。调用功能块是通过功能块实例实现的。下面是一个在指令列表中功能块的例子,在指令列表中功能块中包含两个输入变量和两个输出变量,一个输出的是两个输入变量的乘积,另一个是两个输入变量的是否相等的比较。声明部分:FUNCTION_BLOCKFUBVAR_INPUTPAR1:INT;PAR2:INT;END_VARVAR_OUTPUTMELERG:INT;VERGL:BOOL;END_VAR在IL的执行部分:LDPAR1MULPAR2STMULERGLDPAR1EQPAR2STVERGL功能块实例