PLC编程规范--功能块编程(第三讲)
目的: 规范自动化设备PLC控制器编程方法,以利于后续产线设备的维护与管理。
一、 功能块编程
a) 编程语言
采用复合 IEC6113-3 标准的编程语言进行 PLC 程序设计,应首选 LAD 作为块的编程语言,因为 编程语言 LAD 可为维护人员提供更轻松的诊断和更快速的修改。
b) 编程规则
1. 功能块程序避免访问全局常量。否则,该模块将无法再模块化使用。
2. 数据块始终存储在CPU的RAM中。仅在特殊情况下才允许使用装载存储器存储数据块。
3. 优选使用多实例代 替单实例。
4. 功能块之间数据访问通过输入输出接口访问。
c) 注释
1. 块注释
块注释必须 以一行或几行的形式放在相应代码段的前面。每个块注释内容格式包含以下各项。
Ø 公司名称
Ø 库名称
Ø 已测试固件版本的 PLC(例 如 S7-1511 V1.6)
Ø 创建时的软件版本
Ø 使用限制(例如某些 OB 类型)
Ø 要求(例如,其他硬件)
Ø 功能说明
Ø 带有作者和日期的图块版本
如图 1 所示
(图1 块注释)
2. 线路注释
如果可能的话,必须在代码行的末尾添加行注 释,或者,应在相应代码行的前面添加注释。
d) 功能块引脚
1) 输入输出没有前缀;
2) 通过块接口进行数据交换;
3) 如果多个FB或FC中需要数据,则通过块接口(输入,输出和InOut接 口)处理数据交换。禁止直接访问FB外部的静态变量;
4) 对于基本数据类型(例如WORD,DWORD,REAL, INT,TIME类型),应使用输入或输出接口类型;
5) 对于基本数据类型,仅当在块的外部和内部写入时才使用 InOut接口类型;
6) 如果传输了许多参数,则应尝试将 它们封装在PLC数据类型中。然后,应将此PLC数据类型声明为InOut标记;
7) 对于结构化标签(例如,ARRAY,STRING等类型) 和PLC数据类型,通常应使用InOut接口类型;
e) 标签声明
静态和临时: 为了能够从代码中的传输和输出参数中清楚地分离出静态和临时标签,使用 标签前缀。前缀静态标签:stat;临时标签:temp;
f) 具有执行的块
流程从 execute 参数的上升沿开始,并采用输入参数中的未决值。
输入输出信号时序图如下图 2 。
(图2 输入输出时序图)
1) 使用Execute下降沿 重置Error和Commandaborted。
2) 执行时,FB的功能不会随着Execute下降沿而终止。
3) 如果Execute已经为FALSE,并且Busy为False,仅Error和Commandaborted 等待一个周期。
4) 当块仍在执行时,请求执行时具有上升沿的新作业。
5) 如果处理作业被更高优先级或同等优先级的 作业(另一个块/实例的中断)中断,则Commandaborted由该块设置。它立即中断剩 余的作业处理。
g) 启用块
设置启用参数将启动作业。只要保持启用设置,作业处理就处于活动状态,并且可以采用新值并连续对其进行处理。重置 enable 参数将终止作业。如果启动了新作业,则该块将进入其初始状态,并且可以全新地进行切换和配置,如下图 3,4 所示。
(图3 功能块示意)
(图4 作业时序图)
1) Error为True复位并停止FB的所有功能。如果FB能够自动复位,Busy 仍为True
2) 消除错误后,FB状态恢复
3) 错误必须由用户处理的错误,需停止FB功能,同时复位Busy状态。
4) 使能为False时Error停止输出。
5) Valid 为TRUE表示该块已激活,没有待处理 的错误,并且因此,FB的输出有效。
6) Enable为False,复位FB所有输出。
7)
《PLC编程规范》完结,更多干货后续持续更新,这些都是我们在给客户编写程序必须要遵循的编程标准,大家可以收藏使用,如果遇到问题或者不能理解的地方可以私聊或评论留言;
希望大家可以支持小编,你们的支持是我最大的动力,如果觉得小编写的文章有用请记住我们是智控教育团队的技术老师,我们正在全新的改革PLC培训的风气,将正在实用的技术分享给工控人,而不是理论性的去抄一抄,制作那些没有营养的文章;
下一个专题:《设备安装标准化规则》 规范定义设备的外观、机械、电气及设备配件的统一型号等相关标准,使设备标准化、目视化、规范化,保证生产稳定进行。
「案例分享」S7-200SMART PLC自己如何建立库指令
说到库指令,想必大家对库指令这三个字并不陌生吧!库指令不管是在学习PLC,或者使用PLC编程常常都会用得到,但在有时,需要自己去创建库指令,为何要自己建立库指令呢?在我们编程时,常常需要重复调用某一段程序,每次都要写很麻烦,这时就需要把这段程序做成库指令就可以反复的调用它了,好,话不多说,下面就为大家来条分缕析。
01 编程程序
第一步: (在桌面打开STEP 7-MicroWIN SMART编程软件)
第二步: (在子程序(SBR)创建变量)
这里举例启保停程序创建库文件
在变量表里建立变量
符号:启动 变量类型:IN 数据类型:BOOL
符号:停止 变量类型:IN 数据类型:BOOL
符号:运行 变量类型:OUT 数据类型:BOOL
选择完数据类型自动创建地址
第三步: (在子程序编写启保停程序,使用第二步创建的变量来填写)
第四步: (更改子程序命名,鼠标选择SBR-0右击属性—常规—名称修改一下,这里更改为启保停库指令)
温馨提醒:如果在创建库指令时,不更改子程序名称,会报错并提示(放置该指令需要创建一个或多个POU)。
第五步: (在编程软件左侧项目树鼠标选中库并右击选择创建库,打开后库名称输入启保停,点击下一步组件鼠标选中启保停库指点击添加,这时就会看到右侧已经成功添加启保停库指令,这时一直点击下一步直到创建这一步并点击创建,看一下输出窗口,创建库文件成功)
02 调用库指令
第一步: (重新启动STEP 7-MicroWIN SMART编程软件后,在左侧项目树库指令会看到前面创建的库指令名称)
第二步: (在主程序调用启保停库指令,并填写相应的引脚)
03 监视测试库指令
第一步: (下载程序)
第二步: (监视PLC,强制I0.0,Q0.0输出由0为1)
以上知识点大家都理解并且掌握了嘛?如果你还百思不得其解的?可以在上述文章找答案!
↓免费学习资料
相关问答
plc程序封装什么意思?
PLC程序封装是指将PLC程序进行整理、组织和封装,以便于程序的复用和维护。封装可以包括将程序分解为模块,定义输入输出接口,编写注释和文档,使用函数和子程序...
自己编写PLC与上位机的通讯,一般用什么语言?
监控系统上位机一般都是工控机!也就是工业计算机,通过里面的软件和各种接口,例如串口、以太网等等,采集各种设备的数据,例如PLC、仪表、变频器等等,工控机把...
连续重整闭锁料斗控制系统(CRCS)控制使用方法-盖德问答-化工...
这个是技术专利,所以程序是用plc封装和独立控制的其实有许多东西要学的。投自动就成了,真正循环起来,人是不需要操作的工艺的不需要深入了结crcs...
plc编程循环问题怎么整?
在PLC编程中,处理循环问题需要注意以下几点:确定循环条件:使用比较指令或逻辑指令对循环条件进行判断,根据判断结果决定是否继续循环。比如,可以使用比较指...
封装PQFP44/LQFP44区别能把封装尺寸告诉我吗?
封装PQFP44、LQFP44区别:LQFP、PQFP都是方形扁平封装,LQFP、PQFP在封装尺寸上如果数量一样封装大小是可以共用的,两者间差别在于厚度。PQFP(塑料方块平面封...
plc内部结构详解?
PLC的内部结构由CPU、存储器(EPROM、RAM)、输入/输出单元、外设I/O接口、通信接口及电源组成。对于整体式PLC,这些部件都在同一个机壳内。而对于模块式PLC,各...
西门子s7-200PLC与西门子触摸屏之间通讯怎么设置-ZOL问答
触摸屏设置好“项目”---“通讯”--“连接”中的接口为“IF1B”、配置文为“PPI”,波特率和200PLC里设置的一致,在触摸屏的编程软件里可以看到下图所示的一条线...
西门子S7-200PLC怎样接线cpu226,L端接24v正,M端接0v还是L、M...
如果你的PLC是继电器输出型的,则输出端的L24V的正负都可以接,但如果L接24V正...②寿命长:LED为固体冷光源,环氧树脂封装,抗震动,灯体内也没有松动的部分,不存在...
什么是plc功能框?
PLC功能框(FunctionalBlock)是PLC程序设计中一个基本的模块。简单来说,它就像一个小程序,包含一组逻辑、数学或其他操作。PLC功能框有以下特点:1.封装:功...
PCB封装画错了,扳子也做出来了,谁有好办法修改扳子!
[回答]LZ好,1、BGA(ballgridarray)球形触点陈列,表面贴装型封装之一。在印刷基板的背面按陈列方式制作出球形凸点用以代替引脚,在印刷基板的正面装配...
扫一扫微信交流