©ABBGroup–Version2.2(2009-11)TechnicalGuides可升级PLCAC500编程软件PS501PS501概述基本模块©ABBGroupSeptember15,2019|Slide2ControlBuilderPS501基于CoDeSys平台编辑器工程结构操作数及数据类型程序组织单元:POUPS501基本信息内容©ABBGroupSeptember15,2019|Slide3ControlBuilderPS501基于CoDeSys平台编辑器工程结构操作数及数据类型程序组织单元:POUPS501基本信息接下来©ABBGroupSeptember15,2019|Slide4PS501基本信息ControlBuilderPS501基于CoDeSys平台(1)当前3S公司的合作伙伴已超过200©ABBGroupSeptember15,2019|Slide5PS501基本信息ControlBuilderPS501基于CoDeSys平台(2)ControlBuilderPS501OPC服务器AC500,Webserver,PS541-HMIGatewayServer©ABBGroupSeptember15,2019|Slide6ControlBuilderPS501基于CoDeSys平台编辑器工程结构操作数及数据类型程序组织单元:POUPS501基本信息接下来©ABBGroupSeptember15,2019|Slide7国际电工委员会标准IEC61131-3定义:程序的结构数据的声明5种不同逻辑编程语言的语法结构PS501基本信息PS501:IEC61131-3标准编程语言:指令表语言(IL)结构化文本语言(ST)功能图语言(FBD)梯形图语言(LD)顺序功能图语言(SFC)连续功能图语言(CFC)CoDeSys新增编辑语言©ABBGroupSeptember15,2019|Slide8文本化的编程界面指令类似于低级汇编语言使用专用寄存器可进行直接汇编操作小程序非常容易理解IL不支持结构化编程PS501基本信息指令表IL©ABBGroupSeptember15,2019|Slide9类似PASCAL、BASIC的高级文本编程语言易于编写各种循环及嵌套计算、复杂数学计算、先进智能算法等高级应用程序用户函数及功能块能嵌入结构文本中,并且也能被以FBD,CFC或LD编写的程序调用PS501基本信息结构化文本ST©ABBGroupSeptember15,2019|Slide10图形化的编程界面易于理解以框及操作数为结构PS501基本信息功能图FBD©ABBGroupSeptember15,2019|Slide11图形化的编程界面几乎所有PLC都能实现特别适合布尔变量逻辑运算很少用于复杂编程PS501基本信息梯形图LD©ABBGroupSeptember15,2019|Slide12图形化编程界面,程序结构清晰由步及转化条件组成不能取代其它编辑器PS501基本信息顺序功能图SFC©ABBGroupSeptember15,2019|Slide13类似FBD的图形化编程语言容易理解可自定义运算块及操作数的计算顺序可直接插入注解PS501基本信息连续功能图CFC©ABBGroupSeptember15,2019|Slide14ControlBuilderPS501基于CoDeSys平台编辑器工程结构操作数及数据类型程序组织单元:POUPS501基本信息接下来©ABBGroupSeptember15,2019|Slide15全局变量工程(存储名称:name.pro),1任务(如:PLC_PRG)程序代码程序组织单元(FUN,FB,PRG)PS501基本信息工程结构:一个任务的实例可视化库数据类型程序代码下载到PLC声明:局部变量©ABBGroupSeptember15,2019|Slide16程序代码下载到PLCProgramcode全局变量工程(存储名称:name.pro),1任务(e.g.PLC_PRG)Programcode程序代码程序组织单元(FUN,FB,PRG)声明:局部变量PS501基本信息工程结构:一个任务的实例库可视化数据类型©ABBGroupSeptember15,2019|Slide17Task:ProgramPRGFunctionFUNFUNFUNFUNFBFunctionblockFBPRGFB第一指令最后指令PS501基本信息工程结构及处理©ABBGroupSeptember15,2019|Slide18Task:ProgramPRGFunctionFUNFUNFUNFUNFBFunctionblockFBPRGFB第一指令最后指令PS501基本信息工程结构及处理©ABBGroupSeptember15,2019|Slide19ControlBuilderPS501基于CoDeSys平台编辑器工程结构操作数及数据类型程序组织单元:POUPS501基本信息接下来©ABBGroupSeptember15,2019|Slide20常数用于定义数据类型(布尔,整型,实型,时间..)变量全局及局部变量控制器将自动分派地址函数在ST编程环境中,一个函数调用能够被作为一个操作数地址输入,输出及%M、%R标志区使用固定存储单元PS501基本信息操作数©ABBGroupSeptember15,2019|Slide21BOOLSTRINGTIMETIMETODTIME_OF_DAYDATEDTDATE_AND_TIMEREALREALLREALINTEGERBYTEWORDDWORDSINT/USINTINT/UINTDINT/DUINTPS501基本信息标准数据类型(1)©ABBGroupSeptember15,2019|Slide22PS501基本信息标准数据类型(2)布尔类型变量可以给定以下值:TRUEFALSE占用8位内存空间BOOL©ABBGroupSeptember15,2019|Slide23PS501基本信息标准数据类型(3)TypeLowerlimitUpperlimitMemoryrequ.BYTE02558bitWORD06553516bitDWORD0429496729532bitSINT-1281278bitUSINT02558bitINT-327683276716bitUINT06553516bitDINT-2147483648214748364732bitUDINT0429496729532bitINTEGERBYTEWORDDWORDSINT/USINTINT/UINTDINT/DUINT常量声明(如:字节格式):10or16#Aor8#12or2#00001010较大数据类型转为较小数据数型时,有可能丢失信息©ABBGroupSeptember15,2019|Slide24PS501基本信息标准数据类型(4)REALREALLREALREAL/LREAL也称为浮点型数据类型,用于表示有理数.TypeLowerlimitUpperlimitMemoryreq.REAL1.175494351e-383.402823466e+3832bitLREAL2.225073855072014e-3081.7976931348623158e+30864bit©ABBGroupSeptember15,2019|Slide25PS501基本信息标准数据类型(5)TIMETIMETODTIME_OF_DAYDATEDTDATE_AND_TIME时间数据类型处理在内部类似DWORD占用32位内存空间TIMEandTOD:Time表示一个时间值,单元为毫秒TOD表示当天的时间值,以12:00a.m.为初始值DATEandDT:表示当前日期,单位为秒.初始值是1970年1月1日12:00时间常数:声明实例T#10000ms,t#200ms,T#1d23m30s100ms最大值:49d17h2m47s295ms(4194967295ms)顺序:day/hour/minute/second/millisecond©ABBGroupSeptember15,2019|Slide26数组ARRAY具有相同数据类型元素的变量组(INT,WORD,BOOL..)结构Structure具有不相数据类型元素的变量组(INT,WORD,BOOL..)枚举Enumeration一长串的数字常量组成的自定义数据类型,这些常量称为枚举值.指针Pointer可以取得另一个变量或功能块的地址PS501基本信息自定义数据类型(1)©ABBGroupSeptember15,2019|Slide27子范围类型Subrange变量、常数或功能块创建一个可供选择的名称参考类型Reference子范围数据类型,是一种数据类型,其数值范围只是其基本类型的一个子集FUNCheckbounds提供自动检验数组是否遵守范围的边界PS501基本信息自定义数据类型(2)©ABBGroupSeptember15,2019|Slide28ControlBuilderPS501基于CoDeSys平台编辑器工程结构操作数及数据类型程序组织单元:POUPS501基本信息接下来©ABBGroupSeptember15,2019|Slide29在PS501中程序组织单元包括:函数FUN功能块FB程序PRGPS501基本信息ProjectOrganizationUnits(POUs)©ABBGroupSeptember15,2019|Slide30结果保存在函数名下(如SQRT和f)在程序调用时,将分配一个变量,如y函数既没有内部变量也没有占用内存空间对于同样的输入变量,函数具且相同的结果AlgebraILFBDy=√xy:=SQRT(x);SQRTxyExamplewithseveralinputs:y=f(a,b,c)y:=f(a,b,c);fabcyExamplewithoneinput:PS501基本信息FUN:函数©ABBGroupSeptember15,2019|Slide31PS501基本信息操作数及标准函数标准函数的操作符合IEC61131-3标准函数的数量依赖编程语言的选择操作类型:ArithmeticoperatorsADD,MOVE…Bitstringandbit-shiftoperatorsAND,SHL…SelectionoperatorsSEL,MAX…ComparisonoperatorsEQ,GT…AddressoperatorsADR…NumericoperatorsABS,EXP…InitializationoperatorINICallingoperatorCAL©ABBGroupSeptember15,2019|Slide32FBDoperatorsresp.SToperatorsTypeconversionsStandardfunctionsC:\ProgramFiles\3SSoftware\CoDeSysV2.3\Library\standard.libStringfunctionsPS501基本信息操作数,标准函数及转换Examples:AND,LIMITCONCATBOOL_TO_WORD©ABBGroupSeptember15,2019|Slide33PS501基本信息功能块在处理过程中提供一个或多个值相比函数,没有返回值每个声明以关键字FUNCTION_BLOCK开始备注:每个功能块执行完后,所有的值都将被保留至下一个处理过程.因此,具有相同条件的功能块不总是返回相同输出值!备注:假如功能块中只要有一个变量是保持变量,那么整个功能块都将被存储在保持区域内.©ABBGroupSeptember15,2019|Slide34TONCodeStop