CoDeSySV21用户手册

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

CoDeSyS2.1用户编程手册1CoDeSys简介1.1CoDeSys是什么CoDeSys是PLC的一个完整的开发环境,CoDeSys是ControlledDevelopmentSystem的前两个字母的缩写。CoDeSys给使用IEC语言开发PLC程序提供了一个非常简单并且功能强大的平台。1.2CoDeSys功能简述一个工程结构是什么当创建一个工程后整个工程会保存到你命名的工程文件里面。在一个新的工程里面创建第一个POU(ProgramOrganizationUnit)时会自动命名为PLC_PRG。PLC_PRG是整个工程的主程序(就像C语言里的主程序一样)其他所有的POU都是在主程序里被调用。如果你定义了一个任务配置(TaskConfiguration),就不再需要创建一个以PLC_PRG命名的program了,更详细的解释请参考任务配置章节。一个工程里有各个不同的对象组成:POUs,datetypes,displayelements(visualizations)和resources.如何测试一个工程创建一个POU解决你的问题使用你所需要的语言编写POUPOU编写结束后编译你的工程,如果有错误修改所有的错误。所有的错误修改好后,启动simulation,在模拟调试状态下login,这样你就进入模拟在线状态,启动run就运行你的程序。调试你可以通过设置断电、单步运行、修改输入值等各种方法调试程序。2.CoDeSys主要构成2.1Project组成Project一个project包含了PLC编程所有的对象。一个工程被保存为一个文件,所有的对象都包含在project里面。POU(ProgramOrganizationUnit)Functions,functionblocks,programs叫做POU,actions也可以做为POU的补充。每一个POU都包含了一个变量声明部分和一个程序体部分。程序体可以使用IEC编程语言中的任何一个编写:IL,ST,SFC,FBD,LD,CFC.CoDeSys支持IEC所有的标准POU。如果你想在你的工程里面使用这些POU,必须将standard.lib库函数添加到你的工程里。POU里面可以调用其他所有的POU,但是递归调用是不允许的。FunctionFunction是一个POU,当直行function之后会产生唯一一个返回值。当申明一个function时不要忘记给function必须返回一个值。意思是在function名字后面加一个冒号,在冒号后面是function返回值的数据类型,数据类型可以是标准的数据类型也可以是用户自己定义的数据类型。注意在数据类型后面不需要加分号。一个正确的function申明应该想如下例子:FUNCTIONFct:INT在function程序体中必须给function赋值,意思是function名可以做为一个变量使用。Function的申明是以关键字FUNCTION开始的。Function必须要有一个输入变量。在IL语言里function只能放在一个实际的操作后面或者在转移里面。在ST语言里面可以将function名做为表达式的一个操作数。由于一般现在已经没有什么人使用IL语言编写程序,以后程序举例不使用IL语言编程举例。下面的例子是在ST语言里定义了一个function,该function有三个输入变量,function返回数据类型为INT,返回值为前面两个输入变量的乘机除以第三个输入变量。调用输入变量相同的function总是返回一个相同的结果。调用function例子fucntion不保持所有的内部变量,所有的定义的中间变量每一次调用都初始化为零。注意:如果在function里一个本地变量被申明为RETAIN是没有任何效果的,变量不会写到保留区域。在SFC里function的调用只能在step或transition面调用。FunctionBlock一个functionblock是一个POU,在运行后可以提供一个或多个输出变量,和function不同的是functionblock本身不提供返回值。一个functionblock申明是以关键字FUNCTION_BLOCK开始的。可以创建一个functionblock的实例,即在其他POU里调用functionblock时必须先定义一个数据类型为该functionblock名的变量,定义了一个这样的变量也就是拷贝了一个functionblock的实例,然后通过这个变量调用functionblock。FunctionblockPOU示例:该functionblock有两个输入变量,两个输出变量,一个输出变量是这两个输入变量的乘积,另一个输出变量是判断这两个输入变量是否相等。FunctionBlockInstances在调用functionblock时必须创建一个functionblock的实例,即变量类型为给functionblock名。每一个functionblock的实例都有自己唯一的标志即变量名和数据结构,包括输入变量、输出变量和中间变量。Functionblock的变量可以申明为本地变量或全局变量。一个申明functionblock实例的例子:INSTANCE:FBD;申明了一个functionblockFBD的实例INSTANCE,即INSTANCE变量的数据类型为functionblock的名字。在调用functionblock时,外部和functionblock之间只能通过输入变量和输出变量进行数据交流,不能够对内部中间变量进行操作。调用functionblock对输入变量的处理:

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功