研选课堂
HOME
研选课堂
正文内容
plc编程和设计 PLC程序设计规范及编程建议
发布时间 : 2025-04-04
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC程序设计规范及编程建议

我们在进行PLC程序设计时,最好能按照一个规范去编程,这样编出来的程序具有简单可靠,可读易懂性。下面我们来看一下都有哪些规范吧!

编程之前进行软元件规划,包括内部继电器、保持继电器、数据寄存器、定时器、计数器等。

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

在分段分块编写的程序前应加上简短的段注释,说明此段程序的功能,如有必要可以注明相应的工艺流程,便于程序的可读性。

在程序设计时,应对设备进行抽象,对如停止、急停、过载、超限、超时、等共用因子进行提取,放在启动回路或连锁回路,作为整个程序结构的大前提,在此基础下,再将程序分为自动、手动两大功能区。

自动模式切换到手动模式时,程序应清除自动模式下的输出和中间状态。特别是在自动模式使用SET指令时,必须在手动模式用RESET指令予以清除。

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

7、在设计程序的时候,当出现工艺上的故障(非控制系统控制),最好将故障现象保持,并有灯光声音报警。直到操作工复位,以让其知道系统出现了故障。

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

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

10、一些安全用检测开关(如急停按钮、极限开关等)用常闭(NC)输入。PLC的输入点一般情况下默认为外围开关连接的是NO触点,对于需要接NC触点的须在注释中标明。所有注释应当清晰明了,不易产生误解。

11、PLC和上位机(或触摸屏)组成监控系统时,在画面上很多时候需要有"手动"、"自动"等控制模式。在程序里面可以用"MOV"指令。如:当选择"手动"就将常数1 MOV到一个寄存器VB10里面,当选择"自动"就将2 MOV到同一寄存器VB10。只要判断寄存器的数据是多少,就知道系统是那种控制方式。这样的思路好处是容易理解,不需要互锁之类的程序。

在顺序控制程序时,即一个动作完成后,进入到下一个动作,等类似的顺序控制,采用+10控制模式,。其思路是:预置一个寄存器,在初始化时值为0,当系统启动后,对它+10,此时寄存器为10,寄存器等于10时可以做第一个动作;第一个动作完成后,再对寄存器+10,此时寄存器等于20,可以做第二个动作,这样只要判断寄存器里面数据为多少,就知道要完成那个动作。当需要跳跃动作时,可以不再+10,可以加+20\+30....,看实际的需要而定。为什么加10而不是加1,因为加10之后,如果插入一段,只要在这10个空余的地方随便选择一个位置就可以了。

13、程序有模拟量控制时,如果读取的数据误差很大,就需要采取其它的滤波方式,如算平均值等。

关于程序加密:对于加密程序的密码必须有专门的文件予以保存,并注明相应的用户名+密码+权限,分发给至少两个人以上了解密码,防止密码丢失带来无法打开程序的情况。

以上是小编综合了一些电气工程师进行程序设计时的一般规范,而总结出来的几个我认为比较重要的规范要点和编程建议,希望对你们有用~

(技成培训原创,作者:蔡慧荥,未经授权不得转载,违者必究!)

资深工程师分享:PLC程序设计思路,初学者福利

前几天有个学员咨询一个程序设计的问题,程序的控制要求如下:需要控制5台电机的运行,每台电机运行时需要记录运行时间,电机启动运行时,根据记录的运行时间,从小到大,每个2s依次启动电机的运行。

我想对于这个程序的控制要求来讲,他的难点在于如何对这些电机运行时间进行排列,排列好了后,如何根据排列的顺序去起动电机的运行,从这个控制要求中我们可以看出,这主要是分为两个部分来完成这个程序的设计的:

第一部分:用于对电机的运行时间进行从小到大顺序的排列;

第二部分:根据排列好的数据,如何判断需要起动那一台电机。

这里我们以西门子S7-200SMART系列PLC为例,先说说,如何编写一个数据排列的带参数的子程序。

数据排列带参数子程序设计思路:

西门子S7-200系列的PLC中不像三菱的FX系列PLC具有数据排列的指令,因此我们要实现这个数据的排列功能,必须自己去搭建一个这样的功能块,在搭建这个功能块的时候,会使用到间接寻址和循环指令,同时还需要应用到带参数的子程序。那么如何编写一个数据排列的子程序呢?

假设有5个数据需要把他们的数据的大小按照顺序从小到大排列,那么我们可以先在这五个数中找到最大的数放在最后面。然后在剩下的四个数中找到最大的数放到倒数第二个的位置,接着在剩下的三个数中找到最大的值放到倒数第三的位置,依次下去,这样当全部比较完后,我们的数据就按照从小到大的顺序排列好了。那么很明显,我们需要用两个循环指令进行嵌套。外层的循环指令需要循环4次,而内层的循环指令的循环次数是会变化的,因为第一次从5个数据中找出最大值,循环4次,第二次的时候从4个数据中找出最大值,循环3次,依次下去,每次需要改变循环的次数。

如何找出最大值呢? 我们可以进行比较,首先用第二个数跟第一个数比较,如果第二个数比第一个数大,那么指针往下移动变成第二个数跟第三个数比较,如果第二个数比第三个数大,那么对第二个数和第三个数进行交换,依次下去,当比较完成后,最大的数就放到最后的地址里面去了。

程序设计:

(1)建立变量表

(2)根据变量表,编写数据排列子程序

第二部分的内容: 根据排列好的数据,如何判断需要起动那一台电机。

在启动电机时,我们需要把每一台电机运行的时间拿过来与排列好的数据进行比较,看看他是位于我们这个排列好的数据中的的什么位置。然后根据这个位置来判断启动的时候。

设计思路:

在这里面我们会用到两个功能,第一个功能时把我们电机运行的时间,按照编号顺序放到表格中,例如VW20到VW28分别表示电机1到电机5的运行时间,把它放到表格中,而后把我们排列好的数据,拿过来与表格中的数据进行比较(可以使用查表指令),看看最小的值时位于表格中的哪个位置,根据查表指令所查找的位置来启动那条电机,比如查找出来的值时3则表示的就是第三台电机的运行时间最少,可以启动这第三台电机,这里我们需要用到表格指令及间接寻址。

程序:

总结

本程序作为一个框架程序,主要应用到了以下几个内容,间接寻址的应用,循环指令的应用,带参数子程序的应用,查表指令的使用,希望读者看完后,对自己以后设计程序时思路会有所启发,若有考虑不周之处或更好的方法,望指出,谢谢。

本文为技成曾鑫老师原创作品,未经同意转载必究

↓↓↓下载可免费观看西门子系列课程

相关问答

plc单独编程到调试过程详情?

熟悉控住对象、PLC选型及确定硬件配置、设计PLC的外部接线。设计控制程序、程序调试和编制技术文件。1了解控制对象,确定控制要求这一步是系统设计的基础。...

PLC程序设计方法有几种,各有什么特点?

PLC的编程方法有线性化编程、模块化编程和结构化编程i种。线性化编程是将整个用户程序放在主程序OB1中,在CPU循环扫描时执行()BI中的全部指令。其特点是结构简...

@数控系统编程和plc编程有什么不同主要是机床设计方向,该怎...

2.数控plc编程是编制机床动作的梯形图程序,是数控机床电气设计工程师的一部分工作。先找几本书学习理论知识,再在实践中慢慢实践操作,当然有师傅教就会学的快...

本人想配置一台电脑学plc编程,请问应配置什么样的电脑?-ZOL问答

平面设计吃处理器,3d设计和游戏吃显卡!两者都依赖合适内存!屏幕方面需求必须自己确定,设计需求肯定对高色域有要求的,甚至需要进行校色的。校色后按说生成个...

plc程序如何编译?

PLC程序的编译通常是通过PLC编程软件完成的。以下是一般的PLC程序编译步骤:1.打开PLC编程软件:根据PLC品牌和型号选择相应的编程工具,打开对应的编程软件。...

plc编程步骤方法?

常用的PLC编程方法有经验法、解析法、图解法。经验法:即是运用自己的或别人的经验进行设计,设计前选择与设计要求相类似的成功的例子,并进行修改,增删部分功...

PLC(可编程序控制器)一共有几种编程方式?

你说的应该是编程语言分几种吧。一般有以下几种:梯形图(LD语言)也有叫LAD语言、顺序功能图(SFC)语言、功能块图(FBD)语言,指令表(IL)语言和结构文本(S...三、F...

西门子的PLC怎么编程?

需要准备的工具:西门子PLC编程软件,电脑。1、计算机系统应用语言在“控制面板”(ControlPanel)的“区域与语言”(Regionandlanguage)中确认。2、单击...

plc有两种编程方式分别为?

1、经验法即是运用自己的或别人的经验进行设计,设计前选择与设计要求相类似的成功的例子,并进行修改,增删部分功能或运用其中部分程序,直至适合自己的情况。...

plc触摸屏一体机怎么编程?

其实你理解错了,绝大部分触摸屏编程是直接连接电脑编程,而不是连接PLC编程,连接PLC只是使用编好的程序读写PLC数据的,编程的时候不需要连接任何PLC,但是要定...

 饮用水卫生标准  硕美科g945 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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