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培训的风气,将正在实用的技术分享给工控人,而不是理论性的去抄一抄,制作那些没有营养的文章;
下一个专题:《设备安装标准化规则》 规范定义设备的外观、机械、电气及设备配件的统一型号等相关标准,使设备标准化、目视化、规范化,保证生产稳定进行。
编程一个完整的PLC程序,从这几个步骤开始
项目分析
项目分析需要对项目的生产工艺、工作环境、硬件需求和控制要求等方面进行全面分析。这项工作是整个系统设计的基础。如果前期项目分析不到位,将会造成后面硬件选型不准确,导致工程延期。
一、项目分析
工程技术人员首先要对工程项目进行分析,即项目工程的控制流程和每个流程的控制类型,并对整个项目可能出现问题做出预判。
(1)分析控制流程。分析控制流程时,建议绘制相关的控制流程图,清晰的标注每一步工作的内容和到下一步的条件。
(2)分析控制类型和预估PLC选型所需参数。一般PLC适用于四种控制类型,即顺序控制,过程控制,运动(或位置)控制和网络通信等。工程技术人员在分析控制要求后,根据绘制的控制流程图,将每个控制流程的控制类型进行分类,再根据项目的复杂程度将组合出控制类型,因此前期准确地分析每一步的控制类型,将有助于选型的准确和问题的预估。
在分析项目控制类型的同时,工程技术人员还要预估PLC选型所需要的重要参数值。如顺序控制中的I/O点数;若使用编码器,要根据编码器的参数计算其输出脉冲的频率值,进而换算成PLC高速计数的脉冲频率。再如,过程控制中模拟量数和模拟量精度、运动控制中PLC对于伺服驱动器反馈信号的响应速度和PLC高速脉冲输出的数量,以及在网络通信时,所选PLC是否支持相应的网络类型等参数。
二、预估可能出现的问题
对于可能出现问题的预估是工程分析中较难的环节。这不仅需要工程技术人员对现场的工作环境和整个项目控制难点能够较好地把握,还要对可能出现的突发情况和危险具有前期预判。
(1)设备工作环境的把握。工程人员需要对生产环境有较全面的认识。如纺织机械所处工作环境的空气湿度高、振动较大,所以设计PLC系统时要做好防震处理。又如建材加工厂的环境温度比较高,并且有很大的粉尘和较强的静电,因此工程技术人员要在保证电气控制柜通风良好的前提下,进一步做好防尘和除静电处理。
设备工作环境的把握不仅仅局限于物理的环境,随着PLC应用的深入,更需考虑人员因素。如设备操作人员的素质较低时,需要开发较为简练的设备操作界面。
(2)项目难点的预期。项目难点的预期其实就是对项目核心问题的把握。如喷气织机设备的控制核心就是如何快速有序地控制电磁阀,利用压缩空气的摩擦力来牵引纬纱穿过纺织梭,完成纺织的引纬工作,这需要PLC具有非常快的响应速度。在确定项目难点后,工程技术人员可以根据难点来对PLC进行选型。从整个项目的角度出发,项目的难点就是系统设计的特点,也是PLC选型的方向。
(3)项目危险的前期预估。在项目设计前期,工程技术人员需对本项目可能出现的危险情况进行预判。如顺序控制或运动控制中调试设备时对于误动作的防护;在过程控制中,测试时是否有高压,高温或者有毒有害物质以及相关的防护措施。在项目设计前期对危险进行预估有助于加强工程技术人员的安全意识。
PLC硬件选型
PLC的选型是工程技术人员根据前期项目分析和项目难点的预期来选择合适PLC,主要依据以下原则。
一、先特殊后一般原则
根据工程经验,大多数工程项目中制约PLC选型的因素主要集中在几个关键点上,所以应遵循先特殊后一般的原则选择PLC。
所谓特殊即项目有哪些特殊的控制要求,不同控制类型有着不同的首要制约因素。如顺序控制中,CPU的程序容量和I/O点的扩展能力为PLC选型的主要因素。过程控制中,则以控制模拟量的数量和模拟量的精度作为出发点进行选型。在较为简单的运动控制中,PLC需要接收来自现场编码器送回的位置信号并相应地发出一定频率的脉冲来控制伺服电机,因此PLC处理数据的速度、输入端接收高速脉冲的能力和输出端高速脉冲的发送能力将成为PLC选型的首要因素。而在大型复合项目中,需使用不同的PLC组网,因此PLC支持的网络类型则成为PLC选型的首要因素。
工程技术人员需按照本项目的核心需求,将不同的控制要求按照从特殊到一般的顺序进行排列,如此选型将事半功倍,更可降低工程的整体难度。
二、由下至上原则
由下至上原则的目的是将PLC选型的性价比最大化。目前多数厂家的PLC产品分成多个系列。当工程技术人员选型时,按照第一步从特殊到一般的选型顺序,从最低款PLC开始,逐一对照性能参数。当发现不满足要求时,考虑较高一款产品。以此类推,直至选取全部满足要求的PLC型号。如若由上至下选型,则会使PLC功能浪费,造成大马拉小车。
三、PLC开关量输入/输出单元的选择
PLC的开关量输入点是用来接受现场传感器所输入的电平信号,开关时输出点的作用根据内部的控制信号来驱动外部负载。
(1)开关量输入端子的选择。现在市面上PLC输入点均为晶体管输入,使用者只需要根据前期预估的输入点数量选择即可。但是这里需要注意,因PLC端接线类型不同,分别有NPN和PNP两种输入方式,其意义是输入端是以低电平有效还是以高电平有效,一旦确定输入端的接线类型,则需选用相同类型输入的传感器,即NPN和PNP型的传感器不能共用一个PLC的输入端子。
现在市面上PLC输入端子多为直流24V的输入电压,如果需要其将他电压规格的传感器接入到PLC,需用继电器做相应的隔离,保证接入PLC输入端的信号为直流24V电压。
(2)开关量输出端子的选择。PLC开关量输出点的类型主要为继电器型输出和晶体管输出两种。
1)继电器输出型。 继电器输出负载能力好,能够短时间承受较高过电压和过电流,有较强的隔离作用。但是由于继电器内部为机械触点,动作寿命有限,所以只能用于连接动作频率较低且不需要高速脉冲输出的场合。
2)晶体管输出型。 晶体管型输出是以通过控制其内部三极管的导通为手段,来达到控制输出端子通断目的,并且其内部并没有机械触点结构,所以相比于继电器输出触点,晶体管输出触点寿命长,动作频率高,不易损坏,缺点为负载能力较差。
(3)开关量输出端子选型的注意事项
类似于输入端,晶体管输出端子也分为NPN型和PNP型两种。一旦型号确定则只能按照同种接线方式连接负载。
在实际应用中,建议工程技术人员多选用晶体管输出型PLC,并在输出端使用继电器连接外部负载,形成对于下游负载设备的电气隔离,这样的组合综合了晶体管寿命长和继电器负载能力强的优点。如果现场出现电气故障,PLC输出端子将会因受到隔离继电器保护而免受损坏,只需要更换损坏的继电器即可。而一旦继电器输出型PLC端子损坏,将无法修复损坏端子。
四、先内置后扩展原则
随着PLC的不断更新换代,特别是小型机功能的不断增强,PLC单机已内置了许多扩展模块的功能,如模拟量功能,通信功能等。因此,选型时尽可能选用内置功能多的PLC,既降低了成本,又节省控制柜空间,更可以简化设置和编程工作量。
五、PLC选型冗余量的把握
由于前期预估、现场施工改动和后期维护升级的需要,PLC选型需考虑一定的冗余量。主要考虑I/O点的数量,较小的工程控制在20%的冗余范围;较大的工程控制在5%~10%。其它如模拟量,通信和总线功能的冗余问题,需工程技术人员根据现场硬件配置灵活把握,如果控制功能均为PLC内置的,则需更换高一级单机PLC;若控制功能是通过扩展模块实现的,则考虑冗余时仅需更新相应模块即可。
PLC编程要点
(1)根据控制流程图分配程序段
根据前期控制流程图将控制程序分解成不同的程序段,这样可以使程序整体结构清晰,便于后期调试程序。如果项目较复杂,将程序分段后便于分配给若干名编程人员同时编程和调试,从整体上提高了编程效率。
(2)编制I/O表和内存表
编制I/O表是给每个输入/输出点分配地址并做注释,避免编程时出现I/O点混乱的问题。编制内存表是分配PLC内存地址给程序的中间变量并做注释,便于编程时引用。
(3)简化编程
编程员在熟悉PLC指令系统的基础上,熟练使用高级指令编程,可以极大地减少编程工作量,节省PLC存储器空间,有助于更好地发挥PLC功能。
(4)注释清晰
为了方便后期调试程序,编程时需将每个相关点的注释清晰地标注在程序中,包括使用的特殊指令目的等。程序可读性好,为后期项目维护和升级打下基础。
PLC程序调试方法
PLC应用程序的调试工作可以分为模拟调试和联机调试两个步骤。
一、模拟调试
模拟调试是指根据开关量I/O单元上各位对应的发光二极管的显示状态而不带输出设备进行的调试。
设计好控制程序后,一般先作模拟调试。有的PLC厂家提供了在计算机上运行、可用来替代PLC硬件来调试程序的仿真软件,例如欧姆龙公司与CX-Programmer编程软件配套的CX-Simulator仿真软件等。在仿真时按照系统功能的要求,将某些输入元件位强制为ON或OFF,或改写某些元件中的数据,监视系统的功能是否能正确实现。
如果连接上PLC硬件来调试程序时,可以使用接在输入端子上的小开关和按钮来模拟PLC实际的输入信号,例如用它们发出操作指令,或者用它们模拟实际的反馈信号,如行程开关触点的接通和断开等。通过开关量输出单元上各输出点对应的发光二极管,观察输出信号是否满足设计的要求。
调试顺序控制程序的主要任务是检查程序的运行是否符合顺控图的规定,即在某一转换实现时,是否发生活动步状态的正确变化,该转换所有的前级步是否变为不活动步,所有的后续步是否变为活动步,以及各步被驱动的负载是否发生相应的变化。在调试时应充分考虑各种可能的情况,对系统各种不同的工作方式、顺控图中的每一条支路、各种可能的进展路线,都应逐一检查,不能遗漏。发现问题后及时修改程序,直到在各种可能的情况下输入信号与输出信号之间的关系完全符合要求。如果程序中某些定时器或计数器的设定值过大,为了缩短调试时间,可以在调试时将它们减小,模拟调试结束后再写入它们的实际设定值。
总之,模拟调试是整个程序设计工作中一项很重要的内容,它可以初步检查程序的实际效果。模拟调试和程序编写是密不可分的,程序的许多功能是在调试中不断修改和逐步完善的。模拟调试既可以在实验室内进行,也可以在现场实施。如果是在现场进行模拟调试,那就应将PLC系统与现场信号隔离,切断I/O单元的外部电源,以免引起不必要的损失。
二、联机调试
联机调试是指将PLC安装到控制柜中,并连接输入元件和输出负载,运行控制程序进行整体调试的过程。
在对程序进行模拟调试的同时,可以设计、制作控制柜,PLC之外其他硬件的安装、接线工作也可以同时进行。完成控制柜内部接线后,应测试接线。可以在控制柜的接线端子上模拟PLC外部的开关量输入信号,或操作控制柜面板上的按钮和指令开关,观察对应PLC输入点的状态变化是否正确。用编程器或编程软件将PLC的输出点强制置位或复位,观察对应PLC的负载(如外部的继电器、接触器等)动作是否正常,或对应控制柜接线端子上输出信号的状态变化是否正确。
对于有模拟量输入的系统,可以给变送器提供标准的输入信号,通过调节单元上的电位器或程序中的参数,使模拟量输入信号和转换后的数字量之间的关系满足要求。
在现场安装好控制柜并完成柜内接线测试后,将外部的输入元件和执行机构接入PLC,将PLC置于运行模式,运行控制程序,检查控制系统是否能满足要求。
在调试过程中将暴露出PLC系统可能存在的硬件问题及梯形图设计中的问题,发现问题后在现场加以解决,直到完全符合要求。全部调试完成后,还要经过一段时间的试运行,以检验系统的可靠性。
相关问答
plc下怎样使用软启动电机?
点动和连续的混合控制是异步电机控制的典型控制线路,随便找本电力拖动的教材就可以找到。因为你提供的信息太少,我假定你是将继电器电路图中元件直接用PLC软元...
PLC控制电梯的器件选型原则?
一、先特殊后一般原则根据工程经验,大多数工程项目中制约PLC选型的因素主要集中在几个关键点上,所以应遵循先特殊后一般的原则选择PLC。所谓特殊即项目有...
三菱PLC点动和持续运转的梯形图是什么?
首先这是点动的梯形图,非常的简单,在继电器控制方式改为PLC控制方式的时候只需要将对应的输入信号接到X,输出信号接到Y就可以,例如我能通过外部接线将启动按...
医药血液透析超纯水机技术及工艺流程_千问健康
医药血液透析超纯水机技术及工艺流程_千问健康
什么是pLC直线插补?
PLC直线插补是指多个轴同时运动且运动轨迹为一条直线。不同品牌的PLC有的有直线插补指令,有的没有。直线插补指令用到的参数有目标位置坐标值,复合运动的速度...
做了三年的广数系统数控车床了,最近去找工作,人家人法兰克的,怎么去学习下啊?
大专学的数控编程,模型画图,plc电路控制,虽然有学车床,但是没有学精,plc更加不用说,我完全没懂过一点点皮毛,出来去干加工中心的路过,然后现在不想混车间...
工业4.0概念股有哪些?
工业4.0概念股活跃龙头:东土科技(300353)、法因数控(002270)、机器人(300024)、新时达(002527)、蓝英装备(300293)、英威腾(002334)工业4.0概念股相关.....
智能制造装备技术学什么内容?
在智能专用装备领域,要重点发展新一代大型电力和电网装备,机器人产业,全断面掘进机、快速集成柔性施工装备等智能化大型施工机械,以及大型先进高效智能化农...
数控卧加维修标准是什么?十万火急!
[回答]数控卧加维修随机性故障因为它的不确定性所以比较难解决。第四种是按照故障出现时有无破坏性划分的。有破坏性的叫做破坏性故障,没有破坏性的叫做无...
PLC智能化污泥处理设备有哪些?
[回答]河南博信重工设备有限公司专业生产砂石场环保机械用于处理洗沙场废水,废水处理成泥饼和清水。清水回用洗沙,不向场地外排放污水,解决客户泥浆水处理...