线下实训
HOME
线下实训
正文内容
s71200plc编程实例课件 西门子工程师:图文干货,不同角度来解析S7-1200PLC程序结构
发布时间 : 2024-10-08
作者 : 小编
访问数量 : 23
扫码分享至微信

西门子工程师:图文干货,不同角度来解析S7-1200PLC程序结构

大部分从日系PLC或西门子S7-200PLC来用S7-1200PLC,可能会不熟悉于S7-1200 或者TIA PORTAL 里面的部分专业术语,比如OB,DB,FC,FB这一些模块等等,其实这专业术语也包含了S7-300、400 、1500等。所以今天给大伙讲解的内容,理论上亦可适应于这些PLC,很多概念性的东西基本上是相通的。

西门子S7-1200PLC的功能强大正式基于拥有多种变量类型,这里用不一样观点来阐述PLC编程,你会发现这里面其实也有很多有趣的地方。

S7-1200 由以下几类基本元素组成:

OB:组织块、DB:数据块、FC:函数、FB:FC+DB组合。

OB组织块

当我们新建一个程序时,系统会自动建立一个Main[OB1]程序,该程序会在PLC的每个扫描周期被调用。Main程序和200里面的主程序,是一个同样的概念。也类似于C里面的Main ,即为函数入口点,我们可以在Main程序里面调用各种函数和块。下面的图是在程序中调用一个FC和FB,然后在FC中调用另外一个FC,形成嵌套调用。

注:方便我们记忆和理解,真正的地址在[.....]中,如OB1,FC2,FC1,FB1等等。

图1 Main程序

图2 Main调用结构

图1显示了Main程序具体内容,图2显示了Main程序的调用结构。图中很多元素的概念,我们暂时不需要了解,但是可以看到一些整体概念,Mian程序包含程序段1(NW1)和程序段2(NW2),在Main的调用结构中包含了3个元素test、调用FB和调用FC。其实应该是4个,还有一个嵌套在中,点击左侧箭头,出现如下图所示:

图3 FC嵌套调用

图4 OB分类

我们来分析上图中的OB类型。OB块主要用于程序循环、启动、延时中断、循环中断、硬件中断、HSC中断、诊断错误和时间错误八大事件。OB块还有两个属性是编号和优先级,优先级越高,中断级别越高。在同样的优先级别,OB编号越小,越优先执行。从图1中,我们看到Main程序的地址在OB1,是一个循环运行程序,优先级为1较低。时间错误事件的优先级最高,当发生该事件时,会暂停执行Main程序,优先执行时间错误事件OB块。程序循环OB类块的编号属性为“1;>=123”,意为我们可以创建多个类似OB块。因为新建程序默认OB编号为1,假设我们要创立该事件类型OB块,那么默认编号为123起,同时OB1的执行要优先于OB123。诊断错误事件OB块和时间错误OB块只有一个。

图5 添加OB新块

图6 手动选择创建编号

图5 添加OB新块界面,我们可以看到,在红色矩形框处,OB编号数值为123,我们选择的创建方式为自动。如果你想起用别的编号,可以选择手动方式,同时可以选择创建OB块采用的语言。大家不妨自己试一试哦。

这里讲解几个常用的OB类型块使用,其他类型OB块使用,大家可以翻阅系统编程手册。

程序循环事件OB块(program cycle):该块主要用于执行循环运行的程序,一般一个程序中创建一个便可以,就是默认的Main程序(OB1),我们可以通过调用FC和FB来实现其他功能。系统CPU每个扫描周期都会执行该类型OB块。

启动事件OB块(Startup):该块主要用于初始化变量,当PLC断电重启或者CPU从STOP切换为RUN时候执行,往后不再运行,也就是只运行一次。我们新建一个DB1块,添加两个,设置初始值,如下图所示:

图7 添加DB块变量

然后新建一个Startup事件OB块,写如下程序(SCL语言):

图8 Startup事件OB块程序

我们可以看到该类型OB块编号为100,如果再建一个该类型OB块,编号必须>=123。然后我们下载程序,这里顺便提一下下载选项,如下图所示:

图9 下载选项

如果是初次下载,选择“硬件和软件(仅更改)”。如果不是初次,可以选择你修改的部分,这样会提高下载速度。

图10 程序运行结果

循环中断事件OB块(Cyclic interrupt):常常用于需要定时执行的任务,比如我们需要1秒钟采样50个模拟值,我们可以把循环时间设置为20毫秒。可能会有人问,为什么不采用普通定时器每隔20毫秒采样一次呢?因为普通定时器会受到CPU扫描周期的影响。在PID程序中,我们需要采用循环中断事件来调整计算PID输出。

图11 添加循环中断事件OB块

在实验程序里,通过INC指令把DB1块里面的变量,每隔1秒加1,运行效果如下:

图12 循环中断事件OB

我们会看到在OB30这个程序块里面,"Data".Var2的值会每隔1秒变化,如果把INC指令放在Main[OB1]里面会是什么情况呢?

诊断错误事件OB块(Diagnostic error interrupt):当PLC发生故障时,会触发该事件;解除故障时,也会触发该事件,在该模块里面,我们可以读到故障信息。

图13 添加诊断错误事件OB块

在实验程序里,我们需要捕捉模拟量输入的溢出错误,所以需要对模拟量输入进行如下配置:

图14 添加溢出诊断功能

在配置硬件组态时,TIA PORTAL 将为每个硬件对象(如模块、接口或模块端口,甚至是智能设备的传输区)自动分配硬件标识符,相当于我们的身份证号码,独一无二。

诊断程序

在诊断程序中,我们可以获取错误IO状态,硬件标识符和通道,并添加了STP指令。当错误发生时候,使PLC处于STOP状态,若不添加STP指令,PLC仍以RUN状态运行。

诊断运行结果

通过读取IO_State,LADDR和Channel三个变量,IO状态以二进制格式显示,第4位为1,所以会出现错误。具体每个变量含义请看下图:

诊断错误中断 OB 的启动信息。

此次分享的内容就是上面这些!

以上,欢迎动动手分享及收藏!

全面解析西门子S7-1200 PLC编程控制

S7-1200PLC 主要面向简单而高精度的自动化任务,它的设计紧凑、组态灵活且具有功能强大的指令集,S7-1200PLC这些特点的组合使它成为控制各种应用的解决方案。

CPU将微处理器、集成电源、输入电路和输出电路组合到一个设计紧凑的外壳中以形成功能强大的PLC。

CPU根据用户程序逻辑监视输入并更改输出,用户程序可以包含布尔逻辑、计数、定时、复杂数学运算以及与其他智能设备的通信。

S7-1200的硬件--数字量I/O

可以选用8点、16点和32点的输入量输入/输出模块,来满足不同的控制需要。

在工业控制中,某些输入量(温度、压力、流量、转速等)是模拟量,某些执行机构(电动调节阀和变频器等)要求PLC输出模拟量信号,而PLC的CPU只能处理数字量。

模拟量I/O模块的任务就是实现A/D和D/A。

编程工具STEP7 Basic-特点

STEP7 Basic是西门子开发的高集成度工程组态系统,包括面向任务的HMI智能组态软件 Wincc Basic。

硬件组态--组态的任务

硬件组态--组态的任务就是在设备和网络编辑器中生成一个与实际的硬件系统对应的模拟系统。

硬件组态--删除硬件组件

可以删除设备视图或网络视图中的硬件组态组件,被删除的组件地址可供其他组件使用。不能单独删除CPU和机架,只能在网络视图或项目树中删除整个PLC站。

删除硬件组件后,可以对硬件组态进行编译,编译时进行一致性检查,如果有错误将会显示错误信息,应改正后重新编译。

那么,关于西门子S7-1200系列PLC的认知点你熟悉多少呢?

来源:技成培训

往期文章

分享三个PLC控制系统实例,有需要的拿去!

六大类电工常备知识点汇总,内容很全啦!

老电工原理+实例分析:顺序控制电路

多种PLC控制电路接线图,收藏一下!

步进电机这部分,40页PPT就能说得一清二楚~

往期文章

26张电路原理动图大放送,你看懂了几张?分享三个PLC控制系统实例,有需要的拿去!六大类电工常备知识点汇总,内容很全啦!老电工原理+实例分析:顺序控制电路多种PLC控制电路接线图,收藏一下!

相关问答

西门子1200程序实例?

以下是一个西门子S7-1200PLC控制器的基本程序实例:```ORGANIZATION_BLOCKPLC_PRGTITLE"ExampleprogramforSiemen...

s71200温度控制实例?

一个常见的S7-1200温度控制实例是使用S7-1200PLC控制温度传感器和加热器。PLC读取温度传感器的值,并根据设定的温度范围来控制加热器的开关状态。当温度低于...

plcs71200控制方案?

1.plcs71200控制方案可以实现各种自动控制系统中的控制逻辑,包括信号采集、逻辑控制、运动控制等。2.对于plcs71200控制方案,其可以应用于物流、工厂、通讯...

西门子1200指针编程实例?

以下是一些西门子S7-1200系列PLC的指针编程实例:1.为了演示指针的用法,我们首先需要声明一个指针变量,例如:```VARpTest:^INT;(*声明一个指向I...以...

西门子plc定时器编程实例?

在西门子PLC定时器编程实例中,可以使用S7-1200PLC来实现。首先,通过TON指令创建一个定时器T1,设置一个时间常量,例如10秒。然后,在程序中使用一个触发条件...

S7-1200PLC使用什么编程软件?

看书一般现在教学使用的都是西门子系列产品的s7-200或者s7-300的plc根据教材弄清原理然后下载plc仿真编程软件进行简单的编程编写如果想要精通需要大量...

写出6种s7-1200系列plc所支持的通信方式?

S7-1200系列PLC支持的通信方式包括以太网、PROFINET、ModbusTCP、良好的梯形协议、TCP/IP、ISO(RFC1006),适配器供电。这些通信方式提供了不同的功能,包括.....

S7-1200plc控制原理?

PLC采用循环执行用户程序的方式,称为循环扫描工作方式,一个循环扫描周期,主要可分为输入采样、用户程序执行和输出刷新三个阶段。PLC运行后首先执行一次启动...

PLC程序结构怎么搭建,自动流程图怎么才能构思缜密没漏洞?

原图文请查看我头条号文章结合项目的实际情况,选用合适的程序设计结构,注意编程常用技巧,可以事半功倍。题图:西门子S7-1200PLC来源:EVERYPIXELPLC...过...

plcs7-1200系统调试和注意事项?

在调试PLCS7-1200系统时,首先确保所有电气和通信连接正确无误。然后,通过STEP7软件配置和编程PLC,确保每个模块和输入输出的功能正确。在调试过程中,注意...

 sj金希澈  天府新区中央公园 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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