一文了解西门子PLC系统,如何编写出质量较高的PLC程序?
一西门子PLC按照控制规模来分类
可以分为小型机、中型机和大型机。
一 西门子小型机:
小型机:小型机的控制点一般在256点之内,适合于单机控制或小型系统的控制。
1 S7-200S7-200是西门子公司推出的一种小型PLC,它的优点是
(1)结构紧凑,占用空间小。
(2)拓展型良好,可以接称重模块,数字量、模拟量输入输出模块等等,使用起来非常方便。
(3)价格低廉
但是除此之外,它还有一些缺点:
(1)虽然国内还可以买到这种PLC的备件,但西门子公司宣布这款产品已经停产,未来的发展很受限。
(2)没有以太网接口,只可以使用西门子配套电缆进行调试编程,不方便。
(1)对于运动控制的支持不好。(S7-200的大多数PLC脉冲输出最大频率是20KHZ,S7-200smart的最大频率是100Khz,也就是对伺服电机的驱动不是很好。)
2 S7-200smart
S7-200smart是西门子公司针对中国市场研发的一款产品,只在中国销售。其原因可能是西门子的S7-200已经停产,西门子公司又不想放弃中国庞大的低端PLC市场,而作为S7-200的升级版,与S7-200相比,它有以下的特点:
(1)同是小型PLC,结构紧凑,价格低廉。
(2)拓展能力不如S7-200,它不支持称重模块,所以你不能使用精确的称重功能,可以选择用称重仪表模拟量输入代替,但精确度不如称重模块。
(3)Smart拥有以太网接口,调试编程拓展都非常方便。
(4)运动控制的支持比S7-200强大。无论是最大脉冲输出,还是运动控制向导,都比S7-200好用。
3 西门子S7-1200
S7-1200是一款紧凑型、模块化的PLC,可完成简单逻辑控制、高级逻辑控制、HMI 和网络通信等任务。
西门子中型机:
中型机: 中型机的控制点一般不大于2048点,可用于对设备进行直接控制,还可以对多个下一级的可编程序控制器进行监控,它适合中型或大型控制系统。
西门子中型机有S7-300: 处理速度0.8~1.2ms ;存贮器2k ;数字量1024点;模拟量128路 ;网络PROFIBUS;工业以太网;MPI。
西门子大型机:
大型机的控制点一般大于2048点,能完成较复杂的算术运算。
1 西门子S7-400
西门子S7-400PLC的主要特色为:极高的处理速度、强大的通讯性能和卓越的CPU资源裕量。
2 西门子S7-1500
西门子S1500是西门子博途系列,也是西门子未来发展的主体方向,其性能自然非常好!
软件及编程语言:
对于西门子所有的PLC,我们都已经整理了版本!需要软件的的同学可以点赞加关注并转发,然后留言“我要西门子软件”,让更多人能够分享到软件。
S7-200的编程软件是“STEP 7-Micro/WIN V4.0 ”留言后可以发私信;西门子200
西门子S7-200smart的编程软件是“STEP7‑Micro/WIN SMART ”。留言后可以发私信;西门子200smart。
西门子S7-300/400的编程软件是“STEP7”。留言后可以发私信;西门子300。
西门子S7-1200/1500的编程软件是“TIA PAORTAL”。留言后可以发私信;西门子博途。
西门子的编程语言主要有:LAD,FBD,STL,SCL,GRAPH,SFC,CFC等等,
在国内,大多数工程师只使用LAD,FBD,高级一点的使用STL,PCS7会涉及到SFC和CFC,其他的大多数时候都是外国工程师在使用,以后有机会我们会讲一些这些常用语言,也会拓展非常用语言。便于大家学习。
二 控制模式
西门子PLC在编程时主要有以下几种控制方式,系统设置远程/本地/手动按钮:
远程: 只能通过上位机对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过上位机对设备进行软手操/自动切换,软手操启/停。
本地: 只能通过触摸屏对系统进行自动启/停控制,单台设备就地控制优先,在程控时,可以通过触摸屏对设备进行软手操/自动切换,软手操启/停。
手动: 手动控制时,上位机/触摸屏失效,只能通过手动控制设备的启/停。
单台设备控制
单台设备必须有软手操/自动切换以及软手操时可以启/停功能,由自动切换到软手操时,设备不能停机;由软手操切换到自动时,设备启/停取决于自动程序。
单台设备
(泵、风机及其它大型设备)运行满24小时必须进行轮换,且必须有运行时间累计,如果由上位机设定启/停顺序除外,操作人员自行设定。
西门子程序FB和FC的区别:
FC:功能,它没有自己的数据块。
FB:功能块,它有自己的存储区,即背景数据块。FB=FC+DB(背景数据块).
如果FC也想使用数据功能的话,需要在外部连接全局数据块进行数据存储。
程序结构统一规范
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
如果程序块与系统块重复,请避让。
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区:也作为中间变量
功能块FC,FB和数据块DB以上只是经验丰富的工程师根据多年的经验进行总结,试图找到一种通用的方式,但不是说这些块就必须严格按照上述功能来编写程序,西门子程序功能是开放的,你可以按照自己的风格私人定制。
记住,学习西门子PLC编程的技巧是:多看,多学,多模仿!
干货 西门子PLC编程详细讲解及案例分析
编程语言种类很多,各有各的优势,语句表和指令表类似,是编程语言的一种,在PLC中应用比较普遍,也是一种高级编程语言,PLC中语句表、梯形图、SCL等编程语言的特点:
1、顺序功能图(SFC-Seauential Fuction Chart)
2、梯形图(LAD-LAdder Diagram)
3、语句表(STL-STatement List)
4、功能块图(FBD-Function Block Diagram)
5、结构化文本(ST-Structured Text)
今天大牛就用PPT的形式为大家讲解西门子PLC编程以及分析案例。
▼
↓↓↓下载进入西门子、三菱PLC学习平台
相关问答
plc编程必背十大程序西门子?
梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。不同型号的PLC编程软件对以上五种编程语言的...梯...
西门子PLC编程语言有哪几种?
西门子PLC编程语言有以下几种:1.LadderDiagram(LD,梯形图):基于图形化的逻辑运算符号,采用类似电路图的形式进行程序设计。2.FunctionBlockDiagram....
plc报警程序怎么编写?
编写PLC报警程序需要考虑以下几个步骤:定义报警条件:首先需要确定哪些条件会触发报警,例如某个设备的温度超过设定值、某个传感器的读数异常等。设计报警逻...
哪有西门子PLCS300的编程软件?-ZOL问答
西门子PLC编程软件是不通用的,S7-200是STEP7-MICRO/WIN编程软件。而S7-300用的是STEP7V5.4+SP3.1编程软件,两种不能互用。它不像三菱的FX系列都是通用...
西门子plc编码器编程实例?
西门子plc的编码器编程的实例如下:使用PRV(062)指令,需要对数据逻辑存储器DM6642进行设置,方法如下即用手持编程器改变PLC设置PLC的开关放到PROGRAM状态下...
西门子plc怎么控制伺服电机编程实例?
PLC与伺服电机之间通过伺服放大器进行链接PLC与伺服放大器之间使用以下三种方式:1、位置控制,即使用脉冲序列进行控制,PLC侧需要高速脉冲输出或者位控模块2...
plc编程用win10还是win11?
不支持。鉴于西门子还没有支持win10的版本以及新版软件不提供对xp系统的支持,建议你安装win764位版本,但不能是家庭版。西门子PLC编程软件用纯净版的win7旗...
西门子plc滤波编程实例?
1,硬件配置滤波,如果是200PLC打开系统块,再Analog里设定滤波时间和频率如果是300400PLC打开硬件配置,再相关模块里设定滤波时间和频率,这个一般是过滤高频...
plc端口设置?
位机开发中三菱PLC如果要走MC协议,是不需要额外编程的,但是需要做一些简单的配置。1.在右侧工程栏中双击PLC参数;2、在弹框中选择内置以太网端口设置,设置I...
西门子编程用amd还是酷睿好?
没有区别。用来编程的话,锐龙和酷睿没什么区别,只要稳定就可以了。编程这类软件工程,主要学习算法、数据结构、操作系统等等理论知识,以及学习C,C++,Java...