直播课堂
HOME
直播课堂
正文内容
plc块编程 如何编写优质的PLCPAC程序?这份作业建议你抄一下
发布时间 : 2024-10-10
作者 : 小编
访问数量 : 23
扫码分享至微信

如何编写优质的PLCPAC程序?这份作业建议你抄一下

如何编写优质的PLC/PAC程序?首先来看看我们收集到从业者是怎么说的:

A:编程这个东西只可意味,不可言传。总体感觉开始偏向计算机语言编程的风格,有异曲同工之妙。从标准化到模块化,再到面对对象,编程风格不断变化。是因为控制复杂程度不断提前,项目越来越大,越需要清晰的思路。

B: 自动化控制要求从业人员,丰富的理论知识和实际维修经验。编程思维缜密是从日积月累中来,要多学人家的经验结合自己的实际情况,勤学苦练。要有锲而不舍的精神!向老师学习,希望多写更多好文章,让我们学到更多懂得更多。

C: plc编程不仅仅需要对工艺流程很了解,还需要很清晰的逻辑思维和结构思维,我很认同通用程序用标准化的编程语言,核心功能用特殊指令或封装成功能块,做到简洁明了又有一定的保密性

D: 写程序就应该有足够的词汇积累,能用指令处理就不要用技巧处理

E: 我经常就是先把这套设备得控制流程了解清楚,再根据客户需要的功能分步骤编写,手动,自动分开编写,自动相同的部分做在子程序里可以重复调用。调试有问题的时候找到对应动作的区域修改就行,不影响整个程序的其他动作。

F: plc编程不仅要对工艺流程、工艺要求有充份的了解,还要进行程序标准化;可编程控制器(PLC)技术广泛应用于各种工业控制领域,它具有流程控制、数据采集、设备控制与输出、工程报表、数据与曲线等输出强大功能.这些标准功能使用能做到标准化程序并封装成各功能块,这样就便于程序调用和调试,程序BUG会更少。

……

针对这个话题,我们邀请大神邓李老师来给大家谈谈他的总结。邓李老师是工业自动化专业,从事专业课教学十二年;后进入罗克韦尔自动化,任培训师和现场服务工程师十八年。具有丰富教学经验和现场工作经验,已出版专业书籍三本(《PAC编程基本教程》、《集成架构中型系统》、《ControlLogix系统实用手册》),在行业内颇有影响。满满都是干货,希望对大家有用。

毫无疑问,每一个编程的项目开发人员,都希望自己编出的是好程序,什么是好的程序?尽情地施展聪明才智,别出心裁,标新立异、奇思妙想、独树一帜、与众不同就是好的程序吗?我恐怕不能苟同。我认为好的程序应该具备如下几点:

严密性

逻辑严谨,执行准确,绝无疏漏,这点应该是共识,这个严密不仅有控制进程的严密,还有例程调用的严密,指令执行的严密。严密性跟编程之前的规划也是有关的,紧扣生产过程进程,分析控制对象的动作,仔细地规划项目的程序结构,安排执行的顺序,这都是保证严密的基础。

正确性

勿庸置疑的是控制逻辑处理的正确,针对控制对象的逻辑关系选对指令。正确地使用指令是非常重要的,什么情况该用什么指令,正确理解指令执行的过程和正确设置参数,给予输出指令的梯级条件是否正确,预扫描和后扫描的影响如何,这些都是需要考虑的,尽量避免指令或例程的陷阱。

对称性

现场很多控制对象的活动具有对称性,尤其是一些具有互锁关系的动作,对应编写的逻辑处理也应具有对称性,例如几个互锁关系的同类控制动作,除了梯级条件和数据状态不同,梯级的逻辑结构应该是一样的,尤其是规律性的交替执行。对称动作采用不对称的逻辑执行,本身的严密性就值得怀疑,对称也是判断编程严密性的一个准则。

规律性

控制过程的动作大都具有规律,基于分析控制过程的功能方框图,在编写的例程中要表现出这种规律,哪些是常规的主流执行动作,哪些是重复执行动作,哪些是条件式的调用动作,哪些是设备之间的约束关系,以及生产进程的显示,都要有脉络清晰明了的体现。

可读性

程序是写给别人看的,别人很容易读明白,自己以后也能很快读明白,当时的得意之作,不要过一阵连自己也读不懂了。思路要清晰,表达要清楚,这点可以参照写文章的心得,有中心、有层次、有重点、有排比、有修饰,规律和对称的编程自然是可读性强的。当然,每个梯级逻辑或操作数的文字说明是必不可少的,这将帮助我们理解过程处理和编程思想,说明有时比梯级逻辑本身更重要。

标准化

对待同一个需求控制的处理,可以用指令功能解决的,不要技巧编程去解决,因为指令功能是共性的,如何设置参数,如何运行指令,都有固定的模式,大家具有共识;编程技巧有时是很个性化的,即便构思非常精巧,但别人很难把握思路,特别是后期的维护人员不容易读懂程序。尤其PAC控制器更是提供了标准化编程的平台,即使是新手也能编写出规范的程序来。

以上几点,最能体现好程序的是标准化,只有标准化的编程最容易达到严密、正确、对称、规律、可读,标准化往往是长期经验积累的最终形式 ,可编程序控制器的发展历史,就是一个沿标准化方向发展的过程,直接用于编程的指令系统表现则尤为明显。

在PAC控制器系统中提供各种编程方式,更是多方地提供了标准化的编程平台,这对当今项目开发所追求的短工期、高效率、低成本的目标,具有十分重大的意义,并在实践中得到认可。

此外,标准化的编程还在项目开发者和现场维护人员之间达成了某些共识,使后者更容易解读程序和查找故障,这在生产实际中十分有效,尤其是某些行业,本来就有一些共同遵守的规则,更是要通过标准的程序来体现。

(图源:RA官网)

面对同一个需求,我们可以看到二种编程处理情况:

技巧处理 ,可能是非常精妙的技巧,让人拍案叫绝;也可能让人百思不得其解,经过解释才让人明白;或者广泛流传的一种技巧,让人们达到了共识,如自保持位逻辑的编程方法。不管是什么情况,技巧是个性化的处理,难以作为标准。

功能处理 ,根据指令的功能和固有的指令编程模式,让解读程序的人很快理解处理的目的和结果。这是通用的,所有的人都容易明白的,指令功能是共性化的处理,标准的做法,但是需要学习指令的运用方法。

编程的一般原则是,能用指令功能处理的,尽可能不要用技巧处理。

道理是显而易见的,只有共性的东西才是可以共识的,容易共用的。毕竟一个程序项目是大家共有的,具有从开发人员移交到维护人员的延续性,要让更多的人更容易参与项目。

我们学习编程,一定要研究指令的功能和相应的运用方法,用以编写标准的、易读的程序。所以,我们要对控制器指令系统中的每一条指令,给予充分了解,参数的含义、指令的动作、执行的条件,才能准确无误地使用指令。尽可能使用指令功能处理问题,尽量避免使用技巧编程处理。

此外,养成良好的编程习惯也是至关重要的 ,记住某些指令的使用惯例和典型处理,这是前辈经验流传,良好的编程习惯可以帮助你避免落入一些程序运行的陷阱,以免在调试系统时为某些逻辑处理结果感到困惑。良好的编程习惯可以让你对自己编写的程序具有自信,准确坚定地排除不可能情况,不会盲目质疑而耽误了调试的时间。良好的编程习惯是经历了考验的工作方式,保持它可以减少错误的产生,加快编程速度,提高工作效率。

图源:互联网

编程序就跟写文章一样,你既可以写成一篇随心所欲的散文,也可以写成一篇思维慎密的论文。读散文每个人都可以有不同的理解和感受,甚至得出不同的结论;论文却可以让人准确地理解作者所要表达的内容,其论点明确、逻辑清晰、层次分明,结构严谨,论述清楚。把程序编得像一篇论文,应该就是编写好的程序的基本要求吧。

编程序跟写文章有许多相似之处。

写文章 ,有中心思想,段落大意,在阐明一件事情时,你会围绕这件事情在一个文章段落里进行描述;编程序 ,有核心控制,运行进程,面对一个控制对象,在一段梯级逻辑中,编辑相关的逻辑关系和工作状态处理。写文章 ,你掌握的词汇越多,遣词造句的能力就越强,表述事情就越清晰准确;编程序 ,你对指令的功能理解得越清楚正确,运用指令的能力就越强,在不同情况下能准确地选择适合指令。写文章 ,描述相似事物类比的排比句,让人易读且更容易看清事物之间的联系,并有阅读美感;编程序 ,工控对象很多情况下也具有对称性,如果你编写的程序逻辑关系上是对称性的,同样有阅读美感,并让人感到逻辑上值得信赖。写文章 ,有开头和结尾,概述式的开头和总结式的结尾前后呼应;编程序 ,有初始化的处理和结束的处理,数据的进入和数据的送出信息流向清楚。写文章 ,时不时的引用成语熟句,言简意赅,耐人寻味;编程序 ,按需求引用专门的指令,调用特殊宏汇集,梯级简单,处理隐藏。

在学习编程时,你不妨想象你在学习写文章,就像中小学时你的语文老师教给你的那样,先从造句开始,然后学习写段落,最后完成一篇文章,并在写作过程中积累词汇和学习表述,提高写作能力。我们的编程训练也应循序渐进,从基本的指令开始,编写简单的梯级逻辑,然后学习围绕一个控制对象编写一段梯级逻辑的处理,最后完成一个小的项目,并在编程过程中,熟悉指令和训练思维,提高编程能力。

本文由邓李老师为《工控百家谈》《工控参考》撰写,转载请联系我们授权。

实例讲解如何编写一个规范的大型的西门子PLC程序

1、程序结构统一

OB1:主程序;

OB100:初始化程序(无需主程序调用);

OB35:100ms(可修改)中断(无需主程序调用),可以调用PID模块;

OB80、OB82、OB85、OB86、OB87、OB121、OB122:故障诊断模块(无需主程序调用、无需编程);

FC1:系统模式;

FC2:输入处理;

FC3:输出处理;

FC4:运行处理;

FC5:停止处理;

FC6:手自动切换;

FC100:之后用来建立一些可以循环调用的子程序;

FC105:系统自带,模拟量输入子程序(可以循环调用);

FC106:系统自带,模拟量输出子程序(可以循环调用);

modbus通讯(CP341):FB7:P_RCV_RK,FB8:P_SND_RK;

通讯CP340:FB2:P_RCV,FB3:P_SND;

一般PID:用FB41;

温、湿度PID:用FB58;

如果程序块与系统块重复,请避让。

2、数据块

DB1:AI数据,类型:REAL,与上位机接口;

DB2:AO数据,类型:REAL,与上位机接口;

DB3:DI数据,类型:BOOL,与上位机接口;

DB4:DO数据,类型:BOOL,与上位机接口;

DB5:设备运行时间及流量累计,类型:REAL,与上位机接口;

DB6:报警消息,类型:BOOL,与上位机接口;

DB7:类型:REAL,中间寄存器;

DB8:类型:INT,中间寄存器;

DB9:类型:WORD,中间寄存器;

DB10:类型:BOOL,中间寄存器;

DB11:之后用作与设备通讯用,例如:MODBUS通讯等;

DB100:之后用作调用FB块时的背景数据块;

M区:也作为中间变量。

3、DP从站故障诊断

DP从站必须做故障诊断,故障报警,用FB125即可。

控制模式

1、系统设置远程/本地/手动按钮

1.1、远程:只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停;

1.2、本地:只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停;

1.3、手动:手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。

2、单台设备控制

单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。

3、单台设备

(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定;

编程技巧

1、程序块尽量细化,方便阅读,将同一类型的设备控制放在一个程序块中;

2、如遇特殊情况下采用语言编程,多数情况下请使用梯形图编程,方便别人阅读;

3、对于经常调用的子程序,可以做成子模块,频繁调用,例如:求几个数平均值或求几个数的最大值;

4、程序要有注释,变量及中间变量必须有描述,方便别人阅读或以后查阅;

5、定期做程序备份,最好以工程名称+系统名称+当天日期;

6、程序加密,防止别人窃取。

西门子PLC按照控制规模来分类

可以分为大型机、中型机和小型机。

西门子PLCS7-300系列

小型机:小型机的控制点一般在256点之内,适合于单机控制或小型系统的控制。

西门子小型机有S7-200:处理速度0.8~1.2ms;存贮器2k;数字量248点;模拟量35路。

中型机:中型机的控制点一般不大于2048点,可用于对设备进行直接控制,还可以对多个下一级的可编程序控制器进行监控,它适合中型或大型控制系统。

西门子中型机有S7-300:处理速度0.8~1.2ms;存贮器2k;数字量1024点;模拟量128路;网络PROFIBUS;工业以太网;MPI。

大型机:大型机的控制点一般大于2048点,不仅能完成较复杂的算术运

西门子PLCS7-400系列

算还能进行复杂的矩阵运算。它不仅可用于对设备进行直接控制,还可以对多个下一级的可编程序控制器进行监控。

西门子大型机有S7-400:处理速度0.3ms/1k字;

存贮器512k;I/O点12672。

相关问答

plc块怎样建立?

方法第一步:打开GXWorks2软件,新建程序,选择你的PLC型号,然后请选择程序语言为SFC,点击确定,跳出块信息设置。标题不填写,块类型选择梯形图块,点击执行...

西门子PLC写程序块?

回答如下:西门子PLC写程序块的步骤如下:1.打开西门子PLC编程软件(如Step7)并创建一个新的工程。2.在工程中创建一个程序块。可以选择创建一个新的程序块...

plc块建好后怎样写程序?

要自己创建FB块或FC块。在FB的局部变量表中,建立块内使用的各种变量,INPUT,OUTPUT,TEMP,等。还需要自建一些UDT类型,变量引用。自己做块程序,需要一些实际编...

西门子plc怎么把子程序做成块?

要自己创建FB块或FC块。在FB的局部变量表中,建立块内使用的各种变量,INPUT,OUTPUT,TEMP,等。还需要自建一些UDT类型,变量引用。自己做块程序,需要一些实际编...

汇川功能块编程方法?

汇川是一种工业控制器,可以使用功能块编程方法进行编程。功能块编程方法是一种可视化编程方法,它使用图形化的组件(称为功能块)代替传统的文本代码。例如,...

plc寻址编程方法?

1.PLC寻址编程方法有多种。2.首先,常见的一种方法是直接寻址编程,即通过指定PLC的输入输出点的地址来进行编程。这种方法简单直接,适用于简单的控制任务。另...

plc并联输出怎么弄?

回答如下:在PLC中进行并联输出,需要使用PLC的输出模块和电路进行连接。具体步骤如下:1.确定需要进行并联输出的输出端口。2.将这些输出端口连接到并联输出...

plc例子函数与函数块有什么?

plc例子函数与函数块有一些区别。1,例子函数是一段预先定义好的代码,可以直接调用使用,能够完成特定的功能。它的主要作用是简化编程流程,提高编程效率。2,...

plc功能块图是什么意思?

功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑,适合于有数字电路基础的编程人员使用。一般来讲,功能块,就是将一个plc程序中频繁使用到代码,封装...

plc的编程方式有几种?

PLC的编程方式有梯形图语言(LD)、指令表语言(IL)、功能模块语言(FBD)、顺序功能流程图语言(SFC)、连续功能图(CFC)、结构化文本语言(ST)。但现目前在工业运用...

 京戏脸谱  兽化格斗 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部