TwinCAT SFC编程入门

本文由用户“x4536453”分享发布 更新时间:2020-02-20 16:25:06 举报文档

以下为《TwinCAT SFC编程入门》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

TwinCAT SFC编程入门教程 Version 1.0 毕孚自动化设备贸易(XX)*** 2016 年 3 月 SFC 编程入门 目录 一、 SFC 编程介绍................................................................................................1 二、 创建 SFC 工程...............................................................................................2 三、 SFC 编程基础入门........................................................................................5 1. Step 步 ......................................................................................................5 2. Transition 转换..........................................................................................8 3. 串行转移.................................................................................................11 4. 选择分支.................................................................................................11 5. 平行分支.................................................................................................13 6. 跳转.........................................................................................................15 四、 SFC 进阶使用..............................................................................................17 1. 输入输出步.............................................................................................17 2. IEC 动作块 ..............................................................................................19 3. SFC 标志位..............................................................................................24 4. 宏(Macro) ..........................................................................................28 五、 SFC 综合使用举例......................................................................................31 六、 交通灯实例说明.........................................................................................40 七、 结束语.........................................................................................................42 一、SFC 编程介绍 PLC 的编程语言主要有以下几种:梯形图(LD)、指令表(LI)、顺序功能图 (SFC)、结构化文本(ST)、连续功能图编辑器(CFC)。这五种编程语言都是符合 IEC61131-3 标准的编程语言。 顺序功能图(Sequential Function Chart)是近年来发展起来的一种程某某设计语 言。它采用顺序功能图描述程某某结构,把程某某分成若干“步”(Step),每个步可 执行若干动作。而“步”之间的转换靠其间的“转移”(Transition)的条件来实 现。至于在“步”中要做什么,在转移过程中有哪些逻辑条件,则可以用其他任 何一种语言(例如 ST 结构化文本)来某某。 SFC 编程的特点: 1、 以功能为主线,条理清晰,便于对程某某操作的理解和沟通;在程某某中可 以很直观地看到设备的动作顺序。比较容易读懂程某某,程某某按照设备的 动作顺序进行编写,规律性较强。即使不是程某某编写人员,在初看时, 也非常容易上手理解。 2、 对大型的程某某,可分工设计、采用较为灵活的程某某结构,可以节省程某某 设计时间和调试时间,在设备故障时能够很容易的查找出故障所处在的 位置,不用检查整个冗长的程某某。 3、 常用在系统规模大,程某某关系较为复杂的场合。不需要复杂的互锁电路, 更容易设计和维护系统。 SFC 程某某的基本运行顺序是:从初始步开始,依次执行每一个步,每次转移 条件成立时执行下一步,走到末尾会返回到初始步,然后进行循环执行。 1 二、创建 SFC 工程 1. 打开 TwinCAT3 软件,新建工程并且在 PLC 下新建一个新 Project 项目 注意: 由于 TwinCAT3 软件新建的 PLC 程某某是默认生成使用 ST 语言的主程某某,所以 需要先将原先的主程某某删除,添加新的使用 SFC 语言的程某某。 2. 删除 POUs 下方的 MAIN(PRG)主程某某,和 PlcTask 下方的 MAIN 任务 2 3. 在 POUs 下方添加新程某某,并将编程语言手动选为 SFC 顺序功能图; 4. 将创建好的 SFC 语言程某某 POU 选中通过“拖动”,添加到 Plc Task 中。 3 5. 这样就创建了一个以 SFC 为编程语言的 PLC 程某某 4 三、SFC 编程基础入门 顺序功能表图编程语言的基本图形符号是步、转换和有向连线。 1. Step 步 顺序功能表图编程语言把一个过程循环分解成若干个清晰的连续的阶段,称 为“步”(Step)。步的图形表示: Init Step 初始步用带步名的双线矩形框表示; 普通步,中间步用带步名的单线矩形框表示; 初始步放在程某某的开始处,执行该步无需条件,此时所有其他步都不执行。 另外初始步可以放置在程某某中的任何一位,不一定需要放在程某某开头。每个程某某 只有一个初始步,但在初始步中可以有多个动作块。 添加 Step 步的步骤: (1) 双击打开 POU 程某某,便可以看到已经默认添加的 Init Step 5 (2) 右键 Init Step,在弹出的对话框中选择 Insert step-transition after 这样就可以在 Init Step 后添加一个新的 Step 另外,也可以通过 SFC 菜单栏和 Toolbox 进行 Step 的添加 6 (3) 双击进入 Step 步完成对步程某某的编写 可以看到在每一个 Step 中编程语言也十分丰富,例如 ST 结构化文本、LD 梯形 图、FBD 功能块图等。用户可以根据实际项目,选择最合适的编程语言对 Step 步程某某进行编写,提高了编程的灵活性。 7 2. Transition 转换 顺序功能表图中,步活动状态的进展按照有向连线规定的路线进行。在每一 个 Step 步之间必须,并且只能有一个转移条件(Transition)。转移条件可以是一 个变量,也可以是一个或一组判断条件。当转移条件满足时,程某某会向下转移, 执行下一个 Step 步中的程某某。 添加 Transition 转移条件的步骤: (1) 通过界面右侧的 Toolbox 进行添加 Transition: (2) 手动修改转移条件 当转移条件为 True 时,则每次自动向下一个步转移; 当转移条件为 Bool 变量时,则当该变量置位 True 时向下一个步转移; 8 (3) 如果需要些多个转移条件时,可以在 PLC 程某某下新建一个 Transition 用来转移条件的编写,同样转移条件也可以使用多种编程语言来进行编 写。 9 (4) 在新建的 Transition 转移条件中就可以输入多个转移判断条件 (5) 在对应的转移条件位置,对转移条件 TRANS 进行添加 (6) 这样就完成了转移条件的添加。当 ABC 满足转移条件时,程某某才会 向下一个步转移。 10 3. 串行转移 当满足转移条件时进入当前步后面的一步处理的转移。 1) 当起动 SFC 程某某时,首先执行起始步 Init。在初始步处理期间检查下 一个转移条件(图示“转移条件 1”)以确定是否满足该转移条件。 2) 初始步处理继续,直到满足转移条件 1,当满足转移条件 1 时,初始 步处理停止并开始下一步 Step0 的处理。 3) 在 Step0 处理期间,检查下一个转移条件(图示中的转移条件 2)以 确定是否满足该转移条件。 4) 当满足转移条件 2 时,停止 Step0 处理并开始下一步 Step1 的处理。 5) SFC 程某某的处理以该方式继续按顺序执行步和转移直到到达 Init 返回 处。 4. 选择分支 若干步以并行方式汇合在一起的转移格式,并且只处理首先满足转移条件 的步。 添加选择分支的步骤: (1) 创建选择分支结构,首先选中旁侧需要创建分支结构的 Step,然后右 击,弹出菜单框,单击 Insert branch right,创建完成。 11 (2) 创建好旁侧分支后,选中分支线段,选择 SFC 菜单栏将默认的 Parallel 平行分支修改为 Alternative 选择分支。 (3) 这样就完成了选择分支的创建 12 对于选择分支结构来说,特征如下: 一个单步连接到两个或多个转换以后,合并一个已被分割成两个或多个分支 工艺流程的工艺流程。 所以在使用选择转移时,需要先对每个分支进行转移判断是否可行,同时在 每个分支选择汇合处也先进行转移判断是否可行。如果一个分歧的多个转换条件 同时满足,默认时优先权将赋予最左边一个步。 5. 平行分支 在满足相关的转移条件时同时处理并行链接的若干步的转移格式。 添加平行分支的步骤: (1) 创建选择分支结构,首先选中旁侧需要创建分支结构的 Step,然后右 击,弹出菜单框,单击 Insert branch right,创建完成。 13 (2) 创建好旁侧分支后,选中分支线段,选择 SFC 菜单栏的 Parallel 平行分 支 (3) 这样就完成了平行分支的创建 对于平行分支结构来说,特征如下: 转换条件达到活动状态,同时转换到分歧后的所有步,紧跟转换,双线后的 步同时激活,执行顺序按照编辑的动作块的先后顺序执行。 所以在使用并行转移时,需要先在进行并行分支前判断转移条件是否满足, 满足后才能够进行并行步分支,同时在每个分支并行汇合处,汇合后也先进行转 移判断是否可行。 14 6. 跳转 指当满足转移条件时跳转到指定步,开始执行对应步程某某。 对于跳转,在转换后有一个箭头和跳转目地步号。如图示,在 step5 完成后, 通过转移判断后,有一个跳转箭头指向 step1,也就是说该分支完成后会自动跳 转到 step1 步,并且激活 step1 使其处于活动状态。 常见转移类型总结: 类别 转移 名称 串行转移 选择分支 选择分支—并行分支 选择汇合 选择汇合—并行分支 并行分支 15 SFC 图符号 并行汇合 并行汇合—并行分支 并行汇合—选择分支 并行汇合—选择汇合 跳转 16 四、SFC 进阶使用 1. 输入输出步 基本概念: 输入输出步受所在步的控制。当所在步被激活的瞬间,输入步先进行执行, 随后再执行步程某某;当所在步结束动作的瞬间,输出步立即开始执行。 应用场合: 在执行程某某前对参数进行初始化赋值;在执行完程某某后,需要将程某某处理的 结果进行保存。这一系列程某某动作,就可以在基本 Step 步的基础上,采用“输入 输出步”来使得程某某逻辑更加清晰。 创建步骤: (1) 右键对应 Step,在弹出的对话框中选择 Add entry action 和 Add exit action (2) 在对应添加的输入/输出步中,可以使用多种编程语言进行输入输出步程 序的编写 (3) 添加完成后,可以在所在步看到对应标识,标识该步有输入步和输出步。 其中 E 执行 Step0_entry;X 执行 Step0_exit 17 使用举例: 输入步 Step0_entry: 执行步 Step0_active: 退出步 Step0_exit: SFC 主程某某: 程某某效果: 结合 TwinCAT 3 自带的 Scope View,可以观察到 18 参数 A 每个循环周期都会从 0 开始累加; 参数 B 会随着程某某的多次执行,而不断累加 2. IEC 动作块 基本概念: 一个单步可以注册多个动作块,与一个动作块一起登记的动作个数没有上限。 动作块包括了:AQ:动作限定符;IEC actions:IEC 动作; 应用场合: 在执行 Step 步程某某的同时,执行另一段或多段程某某,并且彼此之间存在着一 定的时间关系,此时就可以添加动作块 19 AQ 动作限定符功能介绍: AQ 符号 D DS L N P R S SD SL 名称 延时 延时置位 延期执行 默认 脉冲 复位 置位 置位延时 置位限制 功能 是否需要设 置定时器 从步活动开始,过去用户指定时间后 动作执行。如果在用户指定时间到期 是 之前步变为非活动,动作将不执行。 步活动后直到用户指定时间到达,动 作开始执行,步在用户指定延迟时间 是 到期之前变为非活动,动作将不操 作。要取消执行,使用 R 限定符。 当步活动后,动作执行直到用户指定 时间到达。如果步变为非活动,动作执 是 行将终止。 动作执行跟步活动时间一样长。 若最终扫描功能使能,当步活动时某某 作执行 2 个扫描周期。 若最终 扫描功能非使能,当步活动 时,动作执行 1 个周期。 当步变为活动,且他的动作是由“S、 SL、SD 或 DS”限定符,指定动作停止 并复位。如果动作正在执行,但不是由 “S、SL、SD 或 DS”限定符执行,动 作只是复位(不停止)。 步活动时某某作执行 ,即使步变成非活 动也持续执行,要取消执行,使用 R 限 是 定符。 步活动后直到用户指定时间到达,动 作开始执行,即使步变成非活动也持 是 续执行,要取消执行,使用 R 限定符。 步活动时某某作执行,直到用户指定时 间到期。与“L”不同的是,即使步变 是 成非活动也持续执行,要取消执行,使 用 R 限定符。 20 AQ 动作限定符的动作时序图: 21 创建步骤: (1) 选中要创建 Action 的 step,然后右击,从弹出菜单栏中找到 Insert action association(after)单击添加 Action。 (2) Action 左侧框是动作限定符,默认是 N,如需更改可单击,再单击 , 即可弹出对话框 input assistant,选定需要的动作限定符。 22 (3) 对于需要设定时间的 AQ,在限定符后输入 TIME 格式的时间,例如 T#2s (4) 在 PLC 程某某下创建一个 Action,并且添加到对应的 IEC 动作 (5) 这样就完成了 1 个 IEC 动作块的创建 注意: TwinCAT 2 软件中需要手动添加 System.Lib 后,才能使用 IEC 动作块 TwinCAT 3 软件中默认添加 TC2_System,所以可以直接使用 IEC 动作块 使用举例: 创建 Step 步动作: 创建 IEC Action 动作,AQ 为 D T#2s: SFC 主程某某: 23 程某某效果: 结合 TwinCAT 3 自带的 Scope View,可以观察到: 变量 B 相对于变量 A 晚累加 2s,与设置的 AQ 和延迟时间一致 3. SFC 标志位 基本概念: SFC 编程中,已经定义好了一部分的标志位,而且这部分标志位已经具有特 定的功能。这些标志位的数据类型被定义在系统功能库,用户只需要启用对应 SFC 标志位,即可在程某某中监控 SFC 程某某的执行状态 应用场合: 执行程某某过程中,希望对程某某进行初始化、暂停或查看是否有报错、当前执 24 行步时,就可以使用这些已经定义好的 SFC 标志位,进行程某某监控。 创建步骤: (1) 右键 Project,选择 Properties 属性,在属性窗口中选择 SFC (2) 确认查看标志位是否申明,并选择启用所需要使用的标志位 25 以下介绍几个常用的标志位: (1) SFCInit ( Bool ) 如果该标志位置为 True,在连续功能图表将会被返回到 Init 步。初始步将保 持在活动状态。为了回到正常的进程,SFCInit 必须被置为 False。 26 (2) SFCPause ( Bool ) 一旦标志位为 True,SFC 图表的触发就被停止。 例如下图所示:当触发程某某运行过程中该标志位置为 True,则该程某某停止; 置为 False,则该程某某继续运行。 27 (3) SFCCurrentStep ( String ) 该标志位储存一个当前为活动状态的步的名字,例如下图所示: 注意: TwinCAT 2 软件中 SFC 标志位需要用户在本地或者全局变量自行申明,并变 量名与标志位拼写保持一致才能使用 SFC 标志位; TwinCAT 3 软件中默认已经申明,需要在 PLC 属性中进行勾选启用。 4. 宏(Macro) 基本概念: 宏程某某用黑色粗体框表示,并包含宏程某某的名字。如下图所示: 宏包括了部分的 SFC 图表,这部分图表在主程某某编辑区不直接出现,进程流 不会因使用宏程某某被影响。 28 应用场合: 需要对 SFC 若干个连续的 Step 步和 Transition 转移条件进行封装,将冗长的 程某某进行隐藏,使得程某某更简明。 创建步骤: (1) 选中需要创建 macro 相邻的 Step 或者 Transition,然后点击菜单栏 SFC, 找到 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 XX区西直门外大街 1 号西环广场 T3 写字楼 1801 - 1803 室 电话: 010-***/7 传真: 010-*** 邮编:100044 广*** 德国倍*** *_**珠江新***高德置地G2603室 电话: 020-***/1/2 传真: 020-*** 邮编:510623 成*** 德国倍*** *_**东御街18号 百扬大厦2305 房 电话: 028-*** 传真: 028-*** 邮编:610016 扫一扫,关注 倍福官方微信 技术服务热线:*** 倍福中文官网: http://doc.001pp.com.cn/ 技术资料下载: ftp://ftp.beckhoff.com.cn 招贤纳士:job@beckhoff.com.cn 技术支持:support@beckhoff.com.cn 产品维修:service@beckhoff.com.cn 方案咨询:sales@beckhoff.com.cn 45 [文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]

以上为《TwinCAT SFC编程入门》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览