实例讲解如何编写一个规范的大型的西门子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编程软件?一起看看大型企业的PLC编程规范
概述
对于各种品牌的PLC编程,虽然风格不尽相同,但其原理大同小异,如何才能做出一个好的PLC程序,是大家共同关心的问题。
有的朋友可能会说,只要能满足生产需要,怎么编程都可以。但是一个完整的项目,除了满足正常的运行,还会涉及到管理、维护和继承的问题。因此,如何做出一套好的程序,是很多企业或行业非常关心的事情,有些企业甚至需要定制版的编程软件。通常一套好的PLC程序需要具备以下几个特征:简单性、可读性、正确性、可靠性、易改性、扩展性、完整的报警系统和方便程序模拟。对于不同的行业和工艺,尽管这些特征表现形式多样,但其核心思想是一样的。下面就引用几个大型企业的编程规范,供大家学习参考!
一、PLC编程规范:宁德时代版
二、三菱GXWORK3编程标准 :KUKA版本
三、西门子博途程序设计规范指南
相关问答
plc编程必背十大程序西门子?
梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。不同型号的PLC编程软件对以上五种编程语言的...梯...
plc有两种编程方式分别为?
常用的方法有梯形图法、波形图法及流程法。梯形图法是基本方法,无论是经验法还是解析法,若将PLC程序转化成梯形图后,就要用到梯形图法。波形图法适合于时间控...
plc程序设计语言?
(4)由于每种功能模块需要占用一定的程序内存,对功能模块的执行需要一定的执行时间,因此,这种设计语言在大中型可编程控制器和集散控制系统的编程和组态中才...
对于一个较为复杂的自动化任务,PLC编程的思路是什么,应该怎样考虑?
根软件设计一样根据需要硬件配置(plc点数,IO余量)程序设计需要先要规划(数据寄存器,中间继电器分配,IO分配),程序结构框架,单元功能实现,整体程序调试...根软...
plc程序怎么实现串级控制?
回答如下:PLC程序实现串级控制的方法通常包括以下步骤:1.确定需要串级控制的设备或系统的工作流程和逻辑关系。2.根据工作流程和逻辑关系,编写PLC程序来控...
一个plc可以写进几个程序?
一个PLC编程时,主程序只能有一个,但子程序的多少仅仅受内存大小限制,数量上是不受限制的,所以在内存足够的情况下,可以说有无限个。不过,子程序编程时,参...
圆盘多工位设备plc程序怎么编?
1:确定所编写的PLC型号与所要链接的PLC类型相同,不同改正过来。2:编程软件窗口上选择《PLC》这个选项,在下拉列表里选择《在线工作》就连上PLC了3:在《PLC》...
西门子plc程序字怎么变大?
1.PLC程序字可以通过增加存储器容量来变大。2.PLC程序字的大小受到PLC存储器容量的限制,如果存储器容量不足,程序字就无法变大。因此,要增加PLC程序字的大小...
plc能用C语言编程吗?
PLC有大型小型分别,一般小型机是不行,例如三菱FX系列,但是三菱大型PLCQ系列是可以的,Q有专用的C语言模块,西门子S7-300,400也是可以。而且C语言其实很难使...
求助PLC程序的大小如何计算?
你好,我学的是三菱PLC,他的程序大小单位叫做步数,FX2N一般能存8000步,在写程序是会有显示。你好,我学的是三菱PLC,他的程序大小单位叫做步数,FX2N一般能存800...