实例讲解如何编写一个规范的大型的西门子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进行编程?5分钟就学会
原创不易,请勿抄袭!
上篇文章我们学习了变频器和伺服系统的区别。那么今天和大家聊一下,伺服驱动器的接线、编程方法以及注意事项。
伺服驱动器使用方法大体和变频器一样,在这里需要注意的是伺服驱动器的选型不只有功率一个参数,还有低惯量和高惯量。
低惯量类型一般转矩低,转速高,适合一些负载轻,运动频繁的控制。高惯量类型转矩高,转速低,适合一些负载较大的控制。所以需要根据现场情况选择合适的驱动器,否则要不就是转速跟不上,要不就是电机过热影响寿命。
这里我们以松下A5系列伺服驱动器配合西门子S7-200smart为例说明。
第一步,先接线,A5系列伺服驱动器需要接线的端子共有XA(供电电源的控制电源)、XB(电机输出线)、X4(控制线)和X6(电机编码器线)。我们看下接线图。(如果需要使用绝对位置控制,即是使用绝对编码器的话还需要通讯,绝对位置控制本身照比相对位置控制更加准确,且不受外界因素影响,缺点是绝对位置编码器不好维护,出现问题后需要手动复位,复位过程较麻烦,而且松下的驱动器为了保证绝对编码器的精度和安全,通讯使用的是很复杂的多次校验,对于新手很不友好,需要先学习中断,本篇文章不做拓展,如果敢兴趣的话请在评论区留言)
控制端子上有很多保护端子,需要将这些端子都短接才能正常使用
绝对编码器通讯数据图
接完线后我们需要在驱动器上设置控制模式,参数等等。
其中,伺服系统的控制模式分为
一:位置控制模式
二:速度控制模式
三:转矩控制模式
四:全闭环控制模式
根据需要驱动的设备选择模式,每个模式的参数设置方法都不相同,但只要熟悉一个其他的调试起来也很快。
这只是试运行参数,并不是所有参数,参数设置请参考驱动器手册
设置完参数后我们看下程序,以前我们说过,西门子s7-200smart系列对运动控制支持得很好,不仅最大脉冲数足够,而且运动控制非常方便,不需要拓展库文件。
打开S7-200smart软件后添加运动向导(轴的区别只在于输出的Q点不同)
按照电机参数和机械尺寸填写实际数据,以便与真实位置对应。
选择一种模式,这种方式便于直观输出。
前后急停限位,安全措施。
手动速度和最大速度,根据电机数据填写。
清零功能
控制端子,按照接线图接线即可
程序注释;第一行为驱动器使能行,没有的话驱动器无法动作,可以用来做紧急制动。
第二行为编码器清零,此文中的编码器为相对式。第三行为控制输出行,其中START端子应该由上升沿控制,文章中的是一个往复运动的例子。除了以上三个程序指令,运动控制还有其他功能,等着您来探索。
每篇文章都倾注了我的心血,请大家支持原创!喜欢的话请点赞并分享,您的支持是我坚持下去的动力!送人玫瑰,手有余香!
相关问答
plc强制运行指令?
在状态图的“新值(NewValue)”栏,可以输入所需要的信号值进行状态的强制更新。为了运行的安全,建议信号强制在PLC处于STOP状态时进行,为此,需要在主菜单“...
plc多工位的编程怎么写?
PLC多工位编程需要根据具体控制要求进行设计和实现。下面是一个简单的多工位流水线的样例代码:```IF机器人位置=1THENIF机器人工作完成=0THEN...ELSI...
plc控制多个气缸最简单的程序?
1.首先,您需要将多个气缸分配到PLC的输出端口上。2.然后,您需要编写一个程序来控制这些输出端口,以便根据需要打开或关闭每个气缸。3.在程序中,您可以使用...
plc的最大值和最小值编程方法?
PLC的最大值和最小值编程方法是通过使用比较指令来实现的。比如,使用比较指令来比较输入信号和设定的最大值或最小值,然后根据比较结果来执行相应的操作。具体...
谁可以告诉我怎样把编好的PLC程序写进PLC(DVP14SS11T2)?
将编好的PLC程序写进PLC(DVP14SS11T2)需要以下步骤:1.将编写好的PLC程序保存到U盘或其他支持的存储设备中,并将其插入到PLC的USB接口上。2.在PLC的操作面...
plc编程步骤?
(1)根据控制要求进行I/O分配,(2)根据控制要求设计控制流程(3)画出PLC外围接线图,(电气原理图和气路原理图)(4)布置好元件;装好线槽,固定好...(1)根据...
西门子1200模拟量输入编程实例?
以下是使用西门子S7-1200PLC进行模拟量输入编程的示例代码:1.配置模拟量输入模块在S7-1200PLC的硬件配置中,添加模拟量输入模块,并配置其参数。例如,如...
如何写PLC控制变频器的多段速程序?
如果是西门子MM4系列的变频器的话它有有4个端子可以设置成为多段速选择端子,利用四个端子的编码可以选择参数设置的15个不同速度,如果是西门子MM4系列的变频...
plc编程怎么编高低速?
PLC相当于控制器,发高速脉冲到步进电机的驱动器上,用脉冲+方向或者差动脉冲方式来控制;PLC里的指令一般是PLSY之类的,指令里面可以设置高速脉冲的频率和数量...
plc怎么编写压力控制程序?
压力开关属于开关量,只需要将压力开关的黑色线(OUT1)接到PLC的输入点就可以通过编程看到该输入点的状态了,有些还有OUT2先号线输出。压力开关可以设定接点的...