爱收集资源网

完美PLC程序,系统运行不是问题

网络整理 2023-10-28 08:03

一套完整的PLC程序,并不仅仅是使系统才能运行上去那么简单,它也须要完整的注释、精良的构架、良好的可扩充性、完备的报案保护系统、运行前的模拟系统。

1、简单性

使PLC程序尽可能简单。简单的涵义就是尽可能地使用标准化的程序框架,尽可能使用简单的指令。

要想程序简单,从大的方面讲,要优化程序结构,用流程控制指令简化程序,从小的方面讲还要用功能强的指令替代功能单一的指令,以及注意指令的安排次序等。

2、可读性

要求所设计的程序可读性要好。这除了以便程序设计者加深对程序的理解,易于调试,但是,还要易于他人看懂你的程序,以便使用者维护。必要时,也可使程序推广。

要使程序可读性好,所设计的程序就要尽可能清晰。要注意层次,实现模块化,进而于用面向对象的方式进行设计。要多用一些标准的设计。

如遇特殊情况下采用语言编程,多数情况下请使用矩形图编程,便捷阅读。

再就是I/O分配要有规律性,易于记忆与理解。必要时,还要做一些注释工作。内部元件的使用也要讲规律性,不要随意地用来就用。

可读性在程序设计开始时就要注意。这不易完全做到。由于在程序调试的过程中,指令的增减,内部元件的使用变化,可能使原较清晰的程序,显得有些乱。所以在设计时就对调试增减留有一定的余地,之后调试完毕后再做一下整理,这样所设计的程序具有更高的质量。

程序的注释,至少应当有以下几个方面:

A、系统注释:整套程序的版权公司和此套程序用途;

B、程序块注释:此程序块的主要用途和作者;

C、段注释:此段代码的用途;

D、变量注释:重要性无需多言,包含I/O注释、中间变量注释。

而至于保密性的考虑,我认为应当在程序的加密算法或则块的加密上考虑,而不应当用降低注释这些小聪明来实现。

3、正确性

PLC的程序一定要正确,并要经过实际工作验证,证明其才能正确工作。这是对PLC程序的最根本的要求,若这一点做不到,其它的再好也没有用。

要使程序正确,一定要确切地使用指令,正确地使用内部元件。确切de地使用指令与确切理解指令相联系,因此对指令涵义和使用条件一定要弄清楚。必要时,可编些小程序对一些不清楚的指令作些测试。

同一指令,因为PLC的出厂批次不同或是PLC的系列机型的不同,一些指令细节有可能不一样,应仔细查阅编程指南。

内部元件正确使用也是重要的。如有的PLC有掉电保护,有的PLC没有。一定要做到该掉电保护的一定要用掉电保护的元件,反之则不能用。

其实,要确切地使用指令,正确使用内部元件,使所编的程序能正确动作,这是对PLC程序最根本的要求。

举个简单的事例,西门子的上升沿和增长沿须要使用带储存功能的变量作为中间变量,例如M点或则DB点,假如使用FC的temp变量都会出问题的。

4、可靠性

程序除了要正确,还要可靠。可靠反映着PLC程序的稳定性,这也是对PLC程序的基本要求。

有的PLC程序,在正常的工作条件下或合法操作时能正确工作,而出现非正常工作条件(如临时停水,又很快再通电)或进行非法操作(如一些按键不按次序按,或同时按若干按键)后,程序就不能正常工作了。这些程序,就不大可靠,或说不稳定,就是不好的程序。

好的PLC程序对非正常工作条件出现,能给以辨识,并能使其与正常条件衔接,可使程序适应于多种情况。好的PLC程序对非法操作能给以拒绝,且不留下“痕迹”。只接受合法操作。

互锁是拒绝非法操作常用的手段,继电电路常用这个方式,PLC也可承继这个技巧。

5、易改性

要使程序易改,也就是要以便更改。PLC的特征之一就是便捷,可灵活地适用于各类情况。其办法就是靠更改或重新设计程序。

重新设计程序用于改变PLC工艺的用途要求的情况,除了程序重编,但是I/O也要重新分配。多数情况下不须要重编程序,做一些更改就可以了。这就要求程序具有易性,以便更改。

易改也就是弹性,要求只要做极少的改动,即可达到改变参数或更改动作的目的。

6、扩展性

许多程序可能在进现场之前都早已编好,并且到了现场,可能还须要添加另外的程序,为了防止搅乱整套系统的结构,须要在每位功能区预留一定的空间作为备用。

硬件上留出足够的余量,软件在编撰的时侯把手动,手动,半手动考虑好,位置留下来。

7、完备报案系统

PLC系统常常用于工业环境中,每一次的车祸就会导致或大或小的损失,为了做到车祸预处理或则在车祸上将损失降到最小,必须注重PLC的报案和保护,在此将其摘下来作为系统的一个重要组成部份。

8、程序模拟

为了保证现场的调试进度或则给顾客展示,常常在进现场之前,要对自己的程序进行全手动的模拟。因此须要在程序中加入模拟程序部份,模拟程序部份在正常现场运行以后断掉。为了使程序具备模拟功能,须要做以下工作:

(1)将实际的PLC的I/O点转换为PLC的中间变量或则数据块变量;

(2)依据工艺要求编撰各个设备的模拟程序;

在设计PLC程序的过程中,才能满足以上几个方面的要求的才能称得上是一个好程序了。

二、PLC程序的设计规范

PLC

1、选择合适的PLC机型及I/O点数,有特殊功能需求时选择特殊功能模块。

2、熟悉所选择的PLC编程指令及编译软件。

3、进行软器件规划,包括内部熔断器、保持熔断器、数据寄存器、定时器、计数器等。

4、进行程序规划,通常以故障提取、故障处理、手动处理、自动处理、输出处理这样的次序进行编程。比较小型的工程或设备按功能单元分段、分块进行处理,如一条手动化生产线中有提高机、移行、顶起旋转装置等,则应按上述单元分段分块编程。

5、在分段分块编撰的程序前应加上简略的段注释,说明此段程序的功能,如有必要可以标明相应的工艺流程。分块或分段的程序在总体程序的位置次序应基本上按工艺流程次序排列,以便程序的可读性。

6、在程序设计之前,应对设备进行具象,对如停止、急停、过载、超限、超时、安全光幕、碰停、门开关等共用因子进行提取,置于启动回路或启动主控、连锁回路,作为整个程序结构的大前提,在此基础下,再将程序分为手动、手动两大功能区。

7、将程序结构自动功能区共用因子,如自动、危及设备人身安全等质数因子进行提取,置于自动主控、连锁回路,对手动控制进行保护、屏蔽、报警。

8、将程序结构手动功能区共用因子,如手动、超限、超时等质数因子进行提取,置于手动主控、连锁回路,对手动控制下设备进行保护、屏蔽、报警。一个总的原则就是,在确保安全的前提下西门子的nc程序开头是什么地址指令,严格限制设备的进,修身限制设备的出。

9、程序设计时应设计程序总复位功能,以便使用者在设备出现故障情况下,可以便捷早日恢复设备正常工作。总复位应充分考虑在复位过程中设备和人员的安全。

10、自动模式切换到自动模式时,程序应消除手动模式下的输出和中间状态。非常是在手动模式使用SET指令时,必须在自动模式用RESET指令给以消除。

11、严禁在编制程序中使用双输出,即同一条输出句子或同一个输出线圈在程序中出现2次及以上。在不同模式条件下的对同一输出点的输出使用中间熔断器进行中转,最后集中到一起并列到输出点。

12、使用触摸屏时,对触摸屏和PLC公用的控制区和状态区,不得做其他功能方面的编程使用。

13、对PLC的特殊模块,在使用之前,应先查明其控制区和状态区是否占用工作字,若占用,不得将这种工作字做其他方面的编程。

14、PLC的输入、输出、中间熔断器、定时器、计数器、数据寄存器等都要加英文注释。输入、输出还要有元元件名称位号。对应的输入点,通常情况下默认为外围开关联接的是NO触点,对于须要接NC触点的须在注释中标注。所有注释应该清晰明了,不易形成误会,尽量少使用亦称。

15、工程调试完成后,系统必须保留最终软件程序,保存的文件名应包含项目编号/作者/日期信息/版本号等。

16、关于程序加密:对于加密程序的密码必须有专门的文件给以保存,并标明相应的用户名+密码+权限,分发给起码两个人以上了解密码,避免密码遗失带来难以打开程序的情况。

三、PLC程序的编程建议

PLC

1、PLC和上位机(或触摸屏)组成监控系统时,在画面上好多时侯须要有“手动”、“自动”等控制模式(通常都是多个只能一个时)。在程序上面可以用“MOV”指令。如:当选择“手动”就将常数1MOV到一个寄存器VB10上面,当选择“自动”就将2MOV到同一寄存器VB10。只要判定寄存器的数据是多少,就晓得系统是哪种控制方法。这样的思路用处是容易理解,不须要联锁之类的麻烦程序。

2、程序有模拟量控制时,假若读取的模拟量基本上没偏差,可以采取时间混频的形式,延时一段时间。假如读取的数据偏差很大,就须要采取其它的混频形式,如算平均值等。可以查阅相关的资料。

3、在程序调试过程中(非常是设备整修时,你的程序是加入到原先设备的程序中时),当程序句子中出现条件满足,而输出线圈不接通时,可以检测你的这段程序是否是在这样的句子之间,如JUMPgoto等词句。还有一种可能就是在中断程序以后,条件满足而没输出不接通西门子的nc程序开头是什么地址指令,通常都是这段的程序不被扫描。

4、在次序控制程序时,即一个动作完成后,步入到下一个动作,等类似的次序控制,采用+10+10控制模式,本人认为很便捷。其思路是:预置一个寄存器,在初始化时值为0,当系统启动后,对它+10,此时寄存器为10,寄存器等于10时可以做第一个动作;第一个动作完成后,再对寄存器+10,此时寄存器等于20,可以做第二个动作,第二个动作完成后又+10,此时寄存器等于30,这样只要判定寄存器上面数据为多少,就晓得要完成哪个动作。当须要跳跃动作时,可以不再+10,可以加+20+30....,看实际的须要而定。

为何加10而不是加1,由于加10以后,假如插入一段,只要在这10个空余的地方随意选择一个位置就可以了。

5、在设计程序的时侯,当出现工艺上的故障(非控制系统控制),最好将故障现象保持,并有灯光声音报案。直至操作工复位,便于让其晓得系统出现了故障。不然停机了,他人还觉得你的程序出问题了,通常在设计一个新系统时是要注意到这种。

6、对于时常调用的子程序,可以弄成子模块,频繁调用。

7、由于生产机械在工作循环中的各工步运动在执行时须要一定的时间,且这种时间都有一定的限度,因而可以以这种时间为参考,在要测量的工步动作开始的同时,起动一个定时器,定时器的时间设定值比正常情况下该动作要持续的时间长20%~30%,而定时器的输出讯号可以用于报案或手动停机装置。当生产机械某工步动作的时间超过规定时间,达到对应的定时器预置时间,还未转到下一工步动作时定时器发出故障讯号,该讯号停止正常工作循环程序,起动报案或停机程序,这就是我们常说的超节拍保护。

8、一些安全用测量开关(如急停按键、安全光幕、极限开关等)实用常闭(NC)输入。

9、为安全、节能考虑,尽量将输出设计成须要动作时才动作,一旦到位就停止输出,而不要设计成平常始终输出,须要停止时才让输出断掉。

10、执行器件的动作原则应该是即便不动,也不要乱跑!

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

12、单台设备(泵、风机及其它小型设备)运行满24小时必须进行轮换,且必须有运行时间累计,倘若由上位机设定启/停次序除外,操作人员自行设定。

四、PLC程序的命名通用规则

PLC

1、驼峰命令法(CamelCase)

称作骆驼式命名法,就是当变量名或函数名由一个或多个词组联接在一起构成惟一标示符时,作为逻辑断点的词组的首字母都采用小写,比如:“myName”,这样的变量名或函数名看起来如同骆驼峰一样此起彼伏,故得名。驼峰命名法又分为小驼峰法和大驼峰法。

(1)小驼峰法:第一个词组首字母大写,其余词组首字母小写。变量通常使用小驼峰法命名。诸如:“myName”。

(2)大驼峰法:又称帕斯卡命名法,即所有词组首字母小写。函数、类,通常使用大驼峰法命名。诸如:“MyName”。

2、匈牙利命名法(Hungarian)

开头字母用变量类型的简写,其余部份用变量的英语或中文的简写,要求词组第一个字母小写。基本原则:变量名=属性+类型+对象描述。诸如:IntiMyAge;“i”是“int”类型的简写;charcMyName[10];“c”是“char”类型的简写;floatfManHeight;“f”是“float”类型的简写。

3、帕斯卡命名法(PascalCase)

即上面所述大驼峰命名法。每位词组的第一个字母都小写。诸如:“MyName”。

4、下划线命名法(UnderScoreCase)

变量名或函数名的每位逻辑断点都有一个顿号来标记。诸如:“my_name”。

西门子的nc程序开头是什
相关文章