版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.1.1、可编程控制器编程语言的国际标准IEC-国际电工委员会为电子技术的所有领域制订全球标准的世界性组织。IEC1131-可编程控制器标准,1994年5月公布,IEC1131-3是可编程控制器的编程语言标准。IEC1131-3 详细地说明了句法、语义和下述5种编程语言表达方式1 顺序功能图 (Sequential Function Chart)2 梯形图 (Ladder Diagram)3 功能块图 (Function Block Diagram)4 指令表 (Instruction List)5 结构文本 (Structured Text) 3.1 PLC编程语言 3.1.2、编程语言简
2、介1.顺序功能图(SFC) 一种位于其它语言之上的图形语言,用来编制顺序控制程序。顺序功能图提供了一种组织程序的图形化方法,在顺序功能图中可以用别的语言嵌套编程。步、转换和动作是顺序功能图中的三种主要元件。可以用顺序功能图来描述系统的功能,根据它可以很容易地画出梯形图程序。 3.1 PLC编程语言 2. 梯形图(LAD)梯形图最接近于继电器接触器控制系统的电路原理图,直观易懂,很容易被熟悉继电器控制的电气技术人员掌握,是应用最多的一种编程语言。梯形图由触点、线圈和用方框图表示的功能块组成。触点代表逻辑输入条件,如外部的开关、按钮和内部条件等。线圈通常代表逻辑输出结果,用来控制外部的指示灯、交流
3、接触器和内部输出条件等。功能块用来表示定时器、计数器或者数学运算等附加指令。在分析梯形图的逻辑关系时,为了借助继电器电路图的分析方法,可以想象左右两侧垂直母线之间有一个左正右负的直流电源电压, 某些PLC编程软件的梯形图中省略了右侧的垂直母线,当图中的I0.1与I0.2触点接通,或M0.3与I0.2的触点接通时,有一个假想的“能流”(Power Flow )流过Q1.1的线圈。利用这一能流的概念,可以帮助我们更好的理解和分析梯形图,能流只能从左向右流动。 触点和线圈组成的独立电路称为一个梯级(RUNG,在STEP7中称为网络NETWORK),梯形图中,程序的逻辑运算是按从左到右的方向执行,与能
4、流的方向一致。各梯级按从上到下的顺序执行,执行完所有梯级后,返回最上面的网络重新执行。 3.1 PLC编程语言 3. 功能块图(FBD)功能块图是一种图形化的编程方式,通过放置功能块,并用连线连接功能块的输入输出至程序变量或其他功能块形成程序,是一种比梯形图高级的编程语言。 3.1 PLC编程语言 4. 语句表STL这是一种采用类似汇编语言助记符的形式编写PLC程序的方法, 可编程序控制器编程软件提供一组指令,由这些指令组成的程序称指令表程序或语句表程序。语句表程序比较适合熟悉可编程序控制器和逻辑程序设计的经验丰富的程序员,语句表可以实现某些不能用梯形图或功能图实现的功能。5. 结构文本STL
5、(STRUCT TEXT)结构文本是为IEC1131-3标准创建的一种专用高级语言,它类似BASIC语言或PASCAL语言,具有赋值、条件语句、循环语句等高级语言功能,使用方便,当需要进行复杂运算和处理大量数据时,才用这种编程语言,使用它可以大大节省编程时间。 3.1 PLC编程语言 3.2.1、控制器中的软件构成LOGIX5000控制器操作系统是一个有优先级的多任务系统控制器中的程序被划分为任务(Task)程序(Program)例程(Routine)控制器中的软件构成如下图 3.2 RSLogix5000编程基本概念软件界面 3.2 RSLogix5000编程基本概念控制器中的用户程序Tas
6、k8Task1Program1Program32控制器错误处理程序Main RoutineFault RoutineOther RoutinesProgram(local) TagsConfigurationStatusWatchDogController(Global) TagsI/O DataSystem-Shared Data3.3.1、任务定义按程序执行方式的不同将程序划分成不同性质的任务(TASK)。连续性任务周期性任务或基于事件的任务。 CompactLogix控制器支持的任务数量1769-L35E ,L43E支持8个任务L32E支持6个任务,一个控制器程序中只能有一个连续型任务。
7、创建工程后,主任务(Main Task)被自动创建并被定义成连续任务。 3.3 任务(Task)3.3.2 、任务优先级(Priority)任务优先级概念控制器中的每个任务都有一个优先级。LOGIX5000支持15个优先级。1为最高,15为最低当多个任务被触发时,操作系统使用优先级来决定该执行哪个任务。用户可以组态周期性任务从最低优先级15到最高优先级1高优先级任务都会中断任何低优先级任务。连续性任务具有最低的优先级,它经常被周期性任务中断。 3.3 任务(Task)I/O数据处理任务CompactLogix控制器使用一个专用的周期性任务以优先级7处理I/O数据。这个周期性任务以RPI (请求
8、信息包间隔)速度执行,该RPI是用户为CompactBus组态的,并且最快可达每1ms一次。该周期性任务的全部执行时间为它扫描已组态的I/O模块的时间。任务组态会影响控制器如何接收I/O数据。优先级为1到6的任务优先于专用的I/O任务。在这个优先级范围的任务会影响I/O的处理时间。如果用户组态I/O RPI为1ms,组态优先级1到6 的任务需要500s执行完并且按预定每毫秒都运行。这需要专用于I/O的任务在500s内就完成扫描组态I/O的任务。 3.3 任务(Task)任务优先级总结A优先级最高的任务中断所有优先级低的任务。B专用于I/O任务可以被优先级为1到6的任务中断。专用于I/O任务可以
9、中断优先级为8到15的任务。这个任务按CompactLogix系统预定的RPI速率运行。C连续性任务运行在最低的优先级,它可以被所有其它的任务中断。D一个低优先级的任务可以被高优先级的任务中断很多次。E如果没有高优先级的任务运行,那么当连续性任务完成一次全扫描之后会立刻自动重新启动。 3.2 RSLogix5000编程基本概念 3.3 任务(Task)每个程序包含一个局部数据区(称为Program Tags),主例程(Main Routine)、子例程(SubRoutine)和错误处理例程(Fault Routine)。程序非常适合于多个程序员同时开发一个项目的情况,由于每个程序有自己的独立局
10、部变量,不必担心变量被重复定义。或者将控制不同设备的部分使用不同的程序实现主程序在工程创建时自动定义。每个任务可以最大安排32个程序。分配给一个任务的程序总是按顺序执行。不属于任何任务的程序被显示为非预定程序。程序只能在控制器项目管理器中出现一次,不能被多个任务共享。在控制器扫描程序之前,用户必须在任务中指定(预定)程序。 3.4 程序(Program)例程是用一种编程语言编写的逻辑指令的集合。每个程序都有一个主例程。当控制器触发相关的任务或调用相关的程序时主例程是第一个被执行的例程。使用调用指令如Jump to Subroutine(JSR)调用其它例程。用户也可以指定一个可选的程序故障例程
11、。如果在相关程序的任何例程中发生指令执行故障时控制器将执行此例程。一个程序中的例程数量仅受PLC内存的限制。主例程在工程创建时自动定义在主任务的主程序中。 3.2 RSLogix5000编程基本概念 3.5 例程(Routine) 3.5 例程(Routine)3.6.1 数据类型基本数据类型SINT、INT、DINT、BOOL、REAL复合数据类型数组,最多三维。数据元素可为基本数据类型或结构。自定义结构,可以使用基本数据类型创建结构,结构中的数组只能是一维数据。独立的基本数据类型的数据标签将占用4个字节32位内存空间。对SINT、INT类型,控制器总是转换成DINT进行运算,再返回SINT
12、和INT。3.6数据类型基本数据类型内存空间分配3.6 .1 数据类型 数据类型的选择数值或数组索引变量使用DINT浮点数和模拟量使用REALSINT、INT型主要用于自定义结构和与不支持DINT类型的外部设备通讯的情况将BOOL型值组合成DINT数组以充分利用PLC内存,同时也使位变量值能够利用FBC、DDT指令存取。3.6.2数组数组用于存储具有相同存储类型的一组数据,控制器为数组分配一块连续的存储空间。可以定义一维、二维或三维数组自定义结构中只能包含一维数组做为结构成员。数组下标从0开始例 Tag Name Type一维数组 Array1 DINT7二维数组 Array2 DINT3,5
13、三维数组 Array3 DINT2,3,7BOOL96占12字节SINT10 占12字节,其中两字节空闲INT5占12字节,其中两字节空闲DINT3占12字节,REAL3占12字节数组的间接寻址间接寻址比直接寻址速度慢可以使用表达式作为索引,例如:MyArray10+MyIndex使用DINT类型的TAG作为索引可以使执行速度更快3.6.3、自定义结构自定义结构可以将多种数据类型的变量组合在一个结构中。当使用BOOL、SINT、INT类型时,把相同类型的成员放在一起。3.7.1 标签(Tags)标签是存储数据的控制器存储区域的符号名控制器标签(Controller Tags)整个工程内可访问程
14、序标签(Program Tags)仅在所在程序内可访问3.7 标签3.7 标签3.7.2、基于符号标签名 (Symbolic Tag Name)的编程RSLogix5000支持符号编程,可以定义符号标签名,并在指令中使用标签名最多40个字符长。标签名必须以大小写字母、下画线开头,剩余字符可以为字母、数字或下划线。3.7 标签标签的类型 标签分为四种类型Base,基本标签: 在工程中存储可进行各种运算的数值Alias,别名标签: 给已存在的标签取的另外一个名字,使用别名可以创建可重用的工程Produced,生产者标签: 用于发送(广播)数据至其它控制器Consumed,消费者标签:用于从其它控制
15、器发来的数据3.7 标签创建工程后应首先配置I/O模块。I/O模块配置后,每个I/O通道对应的地址标签名被自动创建在控制器标签列表中。可以为I/O标签创建更有意义的别名以容易识别。I/O标签名的由通讯节点名、模块所在物理机箱的槽号、类型(I/O/C)、成员名(Data/Fault) 、数据位 等构成,格式如下: Location:SlotNumber:Type.MemberName.SubMemberName.Bit 详见下页图3.8 IO寻址方式地址变量 意义 Location(位置)标识网络位置LOCAL本地框架SlotNumber(槽号) I/O模块在它的框架中的槽号Type(类型) 数
16、据类型:I输入,O输出,C组态 MemberName(成员名称) 从I/O模块中来的特定数据;由模块可以存储数据的类型决定例如:Data(数据)和Fault(故障)是I/O模块中可用的数据域。Data(数据)是向I/O点发送或从I/O点接收数据的通用名。 Ch0DataSubMemberName(子成员名称)与MemberName(成员名称)相关的特殊数据。 Bit(可选的) I/O模块中的特定点;由I/O模块的大小决定(对于32点的模块为0-31)。 Location:SlotNumber:Type.MemberName.SubMemberName.Bit 例:Local:3:I.data.
17、0 Local:2:I.Ch0Data 例:在本地CompactBus上使用了两组I/O模块。 Bank 1为 组1, Bank 2为 组2位置: 实例标签名:在本地组1,槽1的输入模块Local:1:CLocal:1:I.data在本地组1,槽1的输入模块 Local:2:CLocal:2:ILocal:2:O在本地组2,槽3的模拟量输入模块 Local:3:CLocal:3:I .Ch0Data在本地组2,槽4的模拟量输出模块 Local:4:CLocal:4:ILocal:4:O在本地组2,槽5的模拟量输入模块Local:5:CLocal:5:I3.9.1内务处理的百分率(System
18、Overhead Percentage)概念系统内务处理百分率指定了控制器专用于通讯和后台功能时间的百分率。系统内务处理功能包括:与编程和HMI设备(例如:RSLogix5000软件)通讯响应消息发送消息串口消息和指令的处理控制器属性对话框允许用户为系统内务处理指定百分率.控制器每次最多花费1ms执行一次系统内务处理功能。如果控制器在1ms内完成内务处理功能,那么它会继续执行连续性任务。3.9 内务处理3.9.1内务处理的百分率(System Overhead Percentage)内务处理百分率对程序的影响增加系统内务处理百分率,分配给执行连续性任务的时间会减少。若控制器不需要管理通讯,则控
19、制器会使用通讯时间去执行连续性任务。增加系统内务处理百分率会增加通讯的性能。增加的系统内务处理百分率也会增加整体扫描时间。内务处理任务与连续任务之间的任务切换也会占用额外的处理器时间3.9 内务处理3.9.2任务执行时间的考虑如果用户安排2个高优先级任务(1到6)每毫秒运行,并且它们都需要500s或更多的时间去执行,那么CPU时间不会留给专用于I/O任务了。若设定周期2ms,如果用户有很多已组态的I/O,并且专用I/O任务的执行时间已经接近于2ms(或者高优先级任务和专用于I/O任务之和接近于2ms),会导致没有CPU时间留给低优先级的任务(8到15)。如果用户的程序需要按一个确定的速率对输入
20、反应并控制输出,则可组态一个周期性任务,其优先级高于7(为1到6)。这可以防止专用于I/O任务影响程序的周期速率。如果用户的程序包含许多数学运算和数据处理,则需要把此逻辑程序放在优先级低于7(8到15)的任务中,例如连续性任务,以便使专用于I/O任务不受程序的不利影响。内务处理百分率与处理器时间分配按照下列时间片:连续性任务运行:内务处理发生持续:109 ms1 ms204 ms1 ms332 ms1 ms501 ms1 ms内务处理百分率与处理器时间分配示例3.10、RSLogix5000软件使用初步1. 创建工程点File-New,则出现新控制器对话框,选处理器,取工程名,选择工程路径,填写好描述,点OK,则工程被创建。软件界面ControllerorganizerOn-LineStatus barInstructionset toolbarVerify WindowComponentcreate toolbarUser customizedInstruction tabMessage BarCurrent rungpositionFi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年阜阳货运资格证考试口诀
- 一日活动流程盥洗方案
- 2025年六盘水b2考货运资格证要多久
- 《促销员的管理》课件
- 《设置绘图环境》课件
- 2025中央空调维护合同
- 2025石油销售合同范本范本
- 传统点火系统教学课件
- 怎样在台上做述职报告
- 2024年甘肃省临夏州中考化学真题卷及答案解析
- 金融法案例优质获奖课件
- F450装机教程优秀课件
- (完整word版)高分子材料工程专业英语第二版课文翻译基本全了
- 低结构材料在区域游戏投放过程中存在的问题及应对策略 论文
- 识别自动化思维重塑快乐自我
- 2023版思想道德与法治课件专题7第1讲社会主义法律的特征和运行PPT
- 毒品与艾滋病预防智慧树知到答案章节测试2023年湖南警察学院
- 2023-2024学年山东省临沂市小学数学五年级上册期末自测试卷
- GB/T 35506-2017三氟乙酸乙酯(ETFA)
- 品香的方法课件
- 幼儿教师如何做家访专题培训课件
评论
0/150
提交评论