浔之漫智控技术有限公司(西门子系统集成商)销售西门子S7-200/300/400/1200PLC、
数控系统、变频器、人机界面、触摸屏、伺服、电机、西门子电缆等,
并可提供西门子维修服务
很多从日系PLC或者200PLC过来的人,很不习惯于S7 1200 或者TIA PORTAL 里面的一些术语,比如OB,DB,FC,FB等等,其实这些术语也包含于S7 300,400 ,1500等,所以讲解的内容,理论上也适应于这些PLC。虽然我没有玩过这些东西,但是TIA PORTAL适合于西门子全系列PLC,很多概念性的东西都是一致的。S7 1200的功能强大正式基于拥有各种类型的block和多种变量类型。
我会用不一样观点来讲述PLC编程,相比于很多普通的PLC教程,你会发现很多有趣的地方。
S7 1200 由以下几类基本元素组成:
OB:组织块,英文名Organization block。组织块是CPU系统和用户程序之间的接口,可以在CPU上电启动时调用,也可以循环调用,也可以在PLC发生错误时候调用。
DB:数据块,英文名Data block。从字面含义便知主要用于储存用户数据,比如模拟量转换数据,相当于200里面的V区,欧姆龙PLC的W区。
FC:函数,英文名Function。我们常常在FC函数中写一些需要重复执行的代码,可以在程序不同地方调用,可以被OB调用,也可以被FC调用。使用FC可以简化我们需要重复执行的任务,提高代码的运行效率。FC类似于200的子程序。
FB:FC+DB组合,意思是含有DB块的FC函数,与FC的区别是当函数调用结束后,通过Static变量仍然可以保留数值,经常用于调用间的数据共享。
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块只有一个。
电源模块 所有都可以AS 16X1.04
6ES7407-0DA02-0AA0 电源模块(4A)
6ES7407-0KA02-0AA0 电源模块(10A)
6ES7407-0KR02-0AA0 电源模块(10A)冗余
6ES7407-0RA02-0AA0 电源模块(20A)
6ES7405-0DA02-0AA0 电源模块(4A)
6ES7405-0KA02-0AA0 电源模块(10A)
6ES7405-0RA02-0AA0 电源模块(20A)
6ES7971-0BA00 备用电池
CPU
6ES7412-3HJ14-0AB0 CPU 412-3H; 512KB程序内存/256KB数据内存
6ES7414-4HM14-0AB0 CPU 414-4H; 冗余热备CPU 2.8 MB RAM
6ES7417-4HT14-0AB0 CPU 417-4H; 冗余热备CPU 30 MB RAM
6ES7400-0HR00-4AB0 412H 系统套件包括 2 个CPU、1个H型机架、2个电源、2个1M 存储卡、4个同步模块、2根同步电缆,以及4个备用电池(PS407 10A)
6ES7400-0HR50-4AB0 412H 系统套件包括 2 个CPU、1个H型机架、2个电源、2个1M 存储卡、4个同步模块、2根同步电缆,以及4个备用电池(PS405 10A)
6ES7412-1XJ05-0AB0 CPU412-1,144KB程序内存/144KB数据内存
6ES7412-2XJ05-0AB0 CPU412-2,256KB程序内存/256KB数据内存
6ES7414-2XK05-0AB0 CPU414-2,512KB程序内存/512KB数据内存
6ES7414-3XM05-0AB0 CPU414-3,1.4M程序内存/1.4M数据内存 1个IF模板插槽
6ES7414-3EM05-0AB0 CPU414-3PN/DP 1.4M程序内存/1.4M数据内存 1个IF模板插槽
"6ES7414-3EM06-0AB0
"
6ES7416-2XN05-0AB0 CPU416-2,2.8M程序内存/2.8M数据内存
6ES7416-3XR05-0AB0 CPU416-3,5.6M程序内存/5.6M数据内存 1个IF模板插槽
6ES7416-3ER05-0AB0 CPU416-3PN/DP 5.6M程序内存/5.6M数据内存 1个IF模板插槽
"6ES7416-3ES06-0AB0
"
6ES7416-2FN05-0AB0 CPU416F-2,2.8M程序内存/2.8M数据内存
6ES7416-3FR05-0AB0 CPU416F-3PN/DP,5.6M程序内存/5.6M数据内存
"6ES7416-3FS06-0AB0
"
6ES7 417-4XT05-0AB0 CPU417-4,15M程序内存/15M数据内存
在实验程序里,通过INC指令把DB1块里面的变量,每隔1秒加1,运行效果如下:
图12 循环中断事件OB
我们会看到在OB30这个程序块里面,"Data".Var2的值会每隔1秒变化,如果把INC指令放在Main[OB1]里面会是什么情况呢?
诊断错误事件OB块(Diagnostic error interrupt):当PLC发生故障时,会触发该事件;解除故障时,也会触发该事件,在该模块里面,我们可以读到故障信息。
图13 添加诊断错误事件OB块
在实验程序里,我们需要捕捉模拟量输入的溢出错误,所以需要对模拟量输入进行如下配置:
图14 添加溢出诊断功能
图15 AI通道硬件标识符
在配置硬件组态时,TIA PORTAL 将为每个硬件对象(如模块、接口或模块端口,甚至是智能设备的传输区)自动分配硬件标识符,相当于我们的号码,。
图16 诊断程序
在诊断程序中,我们可以获取错误IO状态,硬件标识符和通道,并添加了STP指令。当错误发生时候,使PLC处于STOP状态,若不添加STP指令,PLC仍以RUN状态运行。
图17 诊断运行结果
通过读取IO_State,LADDR和Channel三个变量,IO状态以二进制格式显示,第4位为1,所以会出现错误。具体每个变量含义请看下图:
图18 诊断错误中断 OB 的启动信息
(内容来源网络,版权归原作者)
免责声明:如涉及版权,请联系!任何人和机构不承担相关的法律责任。
推荐阅读:
上周公开课录像回放【西门子G120C变频器PROFINET通讯(PKW报文讲解)】
工程师为什么不容易找女朋友?
看看你中了没。
工控编程软件下载(实时更新)
初级工控人VS工控人
和谈恋爱什么感觉?
公开课录像西门子S7-300/400 STL语言间接寻址(16位指针、32位指针)
一、添加新设备,可以在Portal视图或项目视图中添加新设备。先我们在Portal视图中添加一台PLC,在任务处选择设备和网络,选择其中的添加新设备,出现设备列表。单击SIMATIC PLC按钮,打开PLC列表。我们选择CPU1214C中的种,右侧显示选中设备的简单描述。在此对输入设备的名称我们不做修改。单击添加按钮,完成PLC的添加。
添加新设备
下面我们在项目视图中添加一台HMI,在项目树中选择添加新设备,双击进入设备列表视图,从右侧的硬件目录中选择SIMATIC HMI,打开HMI列表,这里我们选择六寸屏中的KTP600PN,在此对于输入设备的名称,我们也不做修改。单击确定按钮,这样我们在项目中添加了一台PLC和一台HMI。
添加HMI
二、添加模块,将CPU添加到项目后,再为其配置其他模块,在项目树的PLC1文件夹下选择设备配置,双击打开设备和网络编辑器,可以看到设备视图显示机架中所选的设备,软件中机架的图示与实际结构一样,遵循所见即所得的原则。
机架图示
接下来从硬件目录中选择所需模块添加到设备配置中,这里我们将输入模块DI8放入CPU右侧的2号槽,单击CPU左侧的箭头展开,将RS232通信模块放入CPU左侧的101号槽中,将信号板AOE插入到CPU的空闲插槽中,这样我们完成了其他模块的添加。
添加模块
三、编辑属性和参数,在机架配硬件组件后,即可编辑其默认属性。例如选中2号槽的输入模块DI8,在检查窗口的属性选项卡下,选择DI8下的IO地址硬件标识符选项,将起始地址改为2,当然也可以在属性选项卡中进行其他可能的属性和参数设置。
编辑硬件属性
四、组态设备网络。在图形化的网络视图工作区中,可以方便地对具备通信功能的组件进行接口联网,选择设备和网络编辑器中的网络视图选项卡,将鼠标指针放在PLC1的以太网接口上,单击鼠标左键拖拽,将其移动到HMI的以太网接口上释放,这样把PLC1和HMI1连接到了同一个网络中,同时自动为接口设置了一致的地址参数。
漏型输入见模板接线图,源型输入接线参考下图。
源型/漏型输出接线说明
支持源型输出的信号板:
6ES7 222-1AD30-0XB0
6ES7 222-1BD30-0XB0
6ES7 223-3AD30-0XB0
6ES7 223-3BD30-0XB0
6ES7 223-0BD30-0XB0
注意:所有支持源型输出的晶体管输出信号模块都只支持源型输出,不支持漏型输出。
支持漏型输出的信号板:
6ES7 222-1AD30-0XB0
6ES7 222-1BD30-0XB0
6ES7 223-3AD30-0XB0
6ES7 223-3BD30-0XB0
注意:数字量的输出信号类型,只有 200 KHZ的信号板输出既支持漏型输出又支持源型输出,其他信号板、信号模块和 CPU 集成的晶体管输出都只支持源型输出。
常见问题
为何SM1223已连接,信号输出通道指示灯也亮,但无电压输出?
答:S7-1200扩展模块输出通道指示灯电源由总线提供,但信号输出需要模块供电,正确接线方式如下图所示:
三.模拟量模块输入输出接线图
SM1231 模拟量输入
SM 1232 模拟量输出
SM 1234 模拟量输入/输出
SB 1231 模拟量输入(信号板)
SB 1232 模拟量输出(信号板)
AI 连接传感器接线方式
图1. 4 线制传感器
图2. 3 线制传感器
图3. 2 线制传感器
TC 信号模块
TC 信号模块接线
TC 信号板接线
RTD 信号模块
RTD 信号模块接线
RTD 信号板接线
西门子这个自动化行业的巨人在simatic产品的历史长河里又一次投了一颗砾石激起了一片涟漪而这颗砾石的名字叫作S7-1200,从产品命名上来看更像是S7-200的一个延伸或者升级,在这里笔者想详细的讲解一下这款产品,在讲解之前我觉得应该了解一下西门子PLC的家族史。
0
1
浔之漫智控技术(上海)有限公司是西门子一级代理商具备以下产品优势西门子可编程控制器,西门子触摸屏,西门子工业以太网,西门子数控系统,西门子高低压变频器,西门子电机驱动等等。西门子S7-200PLC,西门子S7-400PLC,西门子S7-300PLC,LOGO!逻辑模块,西门子ET200I/O模块,西门子S7-1200PLC,西门子电机,西门子低压电机,伺服电机,主轴电机,直线电机,扭矩电机,直流电机,西门子工业以太网,西门子光钎电缆,工业交换机,通讯网卡,西门子网络通讯设备,网络模块,西门子总线电缆,紫色双芯电缆绿色4芯电缆,蓝色双芯电缆,西门子总线接头,西门子驱动系统,伺服驱动,模块驱动,电源模块,西门子触摸屏,Smart1000Micro 面板文本面板多功能面板,Smart700触摸屏OP 73触摸屏,其他触摸屏面板,西门子变频器MM420变频器,MM430变频器,MM440变频器,G120变频器G110变频器系列,工程变频器,西门子工程逆变器,西门子直流调速器,其他变频器及备件,西门子数控系统及备件,NCU主板,CCU控制主板,西门子数控系统,西门子PCU50,控制单元操作面板,手持单元,西门子软件,西门子低压产品,西门子工控机等西门子PLC模块-西门子PLC主机-西门子PLC控制器-西门子PLCS7200-西门子PLCS7-300-西门子plcs7-400-西门子PLCS71200-西门子PLCS71500 西门子PLC扩展模块-西门子PLC通讯模块-西门子PLC定位模块-西门子PLC数字量模块-西门子PLC输出输入模块