倍福PLC编程概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
功能块
• 功能块提供程序运行过程中的一个或多个 值,功能块不提供返回值。
• 功能块声明:功能块名作为标识符类型予 以指示
实例名
功能块 名
功能块调用
• 功能块调用 • 存取功能块变量输入和输出变量
• 使用“:=”进行输入参数赋值 • 特别的POU的输入/输出变(VAR_IN_OUT) 将变成为一个指针不能对他们赋值常数不能
进行外部读写操作。
√
×
• 处理功能块后所有值直到下一次处理前都 加以保留,通过相同变元的功能块调用并 不总是返回相同的输出值。
• 如果至少有一个功能块变量是一个保留变 量,则全部实例都存储在保留区(??)。
• 示例
1
3
功能块
2
程序
• 程序在运行中返回若干个值,并全局识别 整个项目的程序。从上一次运行程序直到 下一次运行程序,一直保留所有值。
新建项目步骤
• step1:选择目标系统 • step2:配置任务 • step3:建立你的问题所需的POU,(可以
使用期望的编程语言) • step4:编译该项目,修改可能的错误。
测试项目
• 下载项目程序后,联机模式下通过测试发现是否为正确顺 序。
• 1、使用Watch and Receipt Manager(监视和接 收管理器)
功能、功能块和程序区别与联系
• 功能与功能块: • 功能声明时必须返回一个类型,功能块不提供返
回值 • 相同变元(输入参数)调用的一个功能总是产生相
同的值(输出。) • 功能块名是作为标识符类型予以指示的,通过实
例调用(作为本地或全局变量声明);功能名坐 为输出变量使用的。
功能、功能块和程序区别与联系
TwinCAT PLC 编程手册
德国倍福电气有限公司 2005 年5月
TwinCAT PLC Control 简介
• TwinCAT PLC Control 定义: 1、为PLC设计的一种完整的开发环境 2、可自由处理功能强大的IEC语言,为 PLC编程提供一种简便的 3、编辑器和调试功能的使用则基于先进编 程语言和已验证的程序开发环境
• 2、程序出现错误可设置断点检查逻辑的正确性 • 3、Sampling Trace(抽样跟踪) • (以上可配合手动设置输入变量观察对应的输出) • 4、LOG(日志)
其他功能
• 整个项目可随时进行文档化或输出到一个 文本文件,也可以将它翻译成其他语言 (??)。
• ENI接口(工程接口):可以将编程系统连 接到外部数据库。在那你可以存储创建一 个自动化项目过程中所需要的各种数据。 外部数据库的使用保证了数据的一致性, 这些数据以后可以被多个用户、项目和程 序所共享。
关键词
功能实例名
类型
• 由ST(结构化文本)编写的一个功能可作 为表达式中的一个操作数。功能没有任何 内部条件。意味着,由相同(输入参数) 调用的一个功能总是产生相同的值(输 出)。在功能内声明一个保持型的本地变 量是没有意义的,变量不会保存在保留区。
• 功能调用 • 示例:
功能
• 使用SFC时,一个功能调用只出现在一个 步或一个转换内。
功能、功能块和程序区调用关系
• 功能不能调用程序 • 程序不存在实例
功能
功能块
程序
POU
动作
• 作为功能块和程序的附加特性,可以定义 各种动作,一个动作是使用步实现的。
• 一个动作是与关联的功能块或程序的数据 一起工作的,与常规实现体一样,使用相 同的输入输出变量和局部变量。
• <实例名>.<动作名>和<程序名>.<动作名> 调用动作。
概述
• 项目新建及构成 • step1:打开一个默认的“Task Configuration” • step2:在项目中新建第一个POU(程序组织
单元)(main主程序) 项目包含不同类型的对象:POU、数据类型资
源和软件库。对象管理器(Object Organizer) 使用一个表包含项目中的对象。
指令表
编程语言实例
结构化文本(ST)
编程语言实例
连续功能图(CFC)
功能块图(FBD)
编程语言实例
顺序功能图(SFC)
梯形图(LD)
调试,联机功能
• 抽样跟踪:允许跟踪20个布尔变量64KB环形缓冲区 • 调试:查找错误所在 • 断点:在程序内特定位置观察变量值 • 单步:逐步操作 • 单循环:每次循环后执行被停止。 • 联机情况下改变值:Write Variable xy手动设定值 • 监视:联机工作方式 • 仿真:只用于Buscontroller (BCxx00),不需物理硬件 • LOG(日志):日志按时间顺序记录用户动作、内部
• 还可以从标准库(standard.lib)调用。
注:一个POU可以调用其他POU,但是不允许进行递归调用。
功能
• 当对它进行处理时,它可准确地生成数据 元素(诸如由几个字段或结构等元素组 成),并在文本语言调用时作为表达式内 法人一个操作符出现。
• 功能声明:功能声明必须返回一个类型。 • 示例:
• 处理功能块后所有值直到下一次处理前都加以保 留,通过相同变元的功能块调用并不总是返回相 同的输出值。
• 特别的POU的输入/输出变(VAR_IN_OUT) • 将变成为一个指针不能对他们赋值常数不能进行
外部读写操作。 • 如果一个POU调用一个程序,而且程序值随之改
变,那么这些改变将被保留到下一次调用程序。 (即使从其他POU内已调用了改程序) • 不同于调用功能块,只改变功能块给定实例中的 值,因此仅当调用相同实例时这些改变才会起作 用。
使用自定义变量那样使用这些库的POU、数据类 型和全局变量
POU(程序组织单元)
• 功能、功能块和程序都是POU ,可以使用菜 单中动作Action在项目中增加。
• 每个POU由一个声明部分和一个程序本体 组成。
• 可是使用IEC编程语言中的一种语言编写。 (IL、ST、SFC、FBD、LD或CFC)
• 程序可以被调用,不允许在一个功能内调 用一个程序。
• 如果一个POU调用一个程序,而且程序值 随之改变,那么这些改变将被保留到下一 次调用程序。(即使从其他POU内已调用 了改程序)
Fra Baidu bibliotek
程序声明
• 程序声明
• 以关键字PROGRAM开始,以END_PROGRAM 结束。
• 示例:
如果从程序PRGexample来的变量PAR是通过一个带有0的主程序初始化,, 然后以上述命名的程序调用逐一调用其他程序,那么,程序中的ERG结果将 有值1、2和3。如果交换调用顺序,那么,给定结果参数的值相应的变化。
• 调用
动作
资源
• “全局变量(Global Variable)”,它可以在整个项 目中使用。
• 用来配置硬件的“PLC配置(PLC Configuration)” • 引导程序执行各种任务的“任务配置(Task
Configuration)” • 用于变量图形化显示的“抽样跟踪(Sampling
TwinCAT项目组成
• TwinCat项目包含以下对象:
✓ POU(程序组织单元):功能、功能块和程序。 他们可以使用动作(Action)加以补充。
✓ 数据类型:除了标准数据类型,还支持用户自己 定义的数据类型。建立结构、枚举类型和子类型
✓ 资源:为了配置和组织项目以及葛总变量值 ✓ 软件库:通过在项目中加载软件库,用户可以像
过程、状态改变和异常事件
Trace)” • 用来显示变量和设置默认变量的“监视和接收管理
器(Watch and Receipt Manager)”
编程语言
• 支持所有IEC61131-3编程语言,两种文本 编程语言和三种图形编程语言。
• 文本编程语言: 指令表(IL) 结构化文本(ST) • 图形编程语言: 功能块图(FBD) 连续功能图(CFC) 梯形图(LD) 顺序功能图(SFC)