浔之漫智控技术(上海)有限公司是西门子授权PLC模块供应商
很多从日系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块只有一个。
要对SEND_PTP赋值参数,先需要创建SEND_PTP的背景数据块和发送缓冲数据块 ,双击“Devices”——> “PLC_1”——>“Program Block ”——“Add new block”,在弹出的串口命名DB_Send_PTP,选择DB块,在Type后选择“SEND_PTP(SFB113)”
图8: 创建发送功能块的背景数据块
插入背景DB后,再插入发送缓冲DB块,重复上面的步骤,只是在选择DB类型为“Global DB”,并去掉“Symbolic access only”选项勾(这样可以对该DB块进行直接地址访问),并取名该DB块为DB_SEND_BUFF。建好这两个DB块后,双击打开DB_SEND_BUFF预先定义好要发送的数据,如下图所示:
图9:在接收缓冲区中接收到的数据
定义完发送缓冲区后,接下来可以对SEND_PTP赋值参数,赋值参数后如下图:
图10:发送编程
在上面的编程块里需要注意的是,在发送缓冲区时。字符的开始地址是从第二个字节,而不是零字节开始,即是P#DB2.DBX2.0 Byte10 而不是P#DB2.DBX0.0 Byte10,原因是由于S7-1200对字符串的存放的格式造成的,S7-1200对字符串的前两个字节的定义字节是的字符长度,第二个字节是实际的字符长度。接下来才是存放实际字符。如下图:
图11:String存储格式
上面完成了程序的编写,对项目进行编译;右击PLC_1项目在弹出的菜单里选择“Complies ALL”选项,这样对硬件与软件进行编译,如下图:
图12:编译项目
编译且没有错误后可以下载程序到PLC中,同样右击PLC_1项目,在弹出的菜单选择“Download to Device”。
②、用串叉线连接S7-1200的串口与计算机的串口,打开计算机的超级终端程序,并设置硬件端口参数如下图:
为什么已经将"启动"选项设置为"暖启动-RUN模式"下载组态后,CPU无法启动,而ERROR灯也不报错?
答:这种情况下查看诊断缓冲区,通常可以发现报错:“没有可用于设备选件处理的数据记录或无效”,如图3所示。造成这个错误的原因是因为,CPU属性的“组态控制”中已“允许通过用户程序重新组态设备”,如图4所示,但启动 OB 未传送一个有效的组态数据记录,则 CPU 从启动模式返回到 STOP 模式。CPU 在这种情况下不会初始化集中式 I/O,导致启动失败。如果用户并没有使用组态控制,一定确认取消“允许通过用户程序重新组态设备”,以免造成不必要的错误。
图3 组态控制造成的错误
图4 组态控制配置秒懂S7-1500PLC读写SQL微软数据库
近几年S7-1200和1500肯定是西门子的主推产品。尽管现在S7-300和400依然被广泛的运用,但随着博途软件的高度集成化,并被越来越多的工程师接受,S7-1200/1500以及一些只有博途才兼容的其它自动化产品将会被越来越多的运用在项目中。
描述
新的模块化
SIMATIC S7-1200
控制器是西门子公司新推出产品的核心,可实现简单却高度的自动化任务。
SIMATIC
S7-1200 控制器实现了模块化和紧凑型设计,功能强大、投资并且完全适合各种应用
。
可扩展性强、灵活度高的设计,可实现标准工业通信的通信接口以及一整套强大的集成技术功能,使该控制器成为完整、的自动化解决方案的重要组成部分。
设计和功能
SIMATIC S7-1200 CPU
SIMATIC S7-1200 系统有五种不同模块,分别为 CPU 1211C、CPU 1212C 、 CPU 1214C、CPU1215C和CPU1217C。
其中的每一种模块都可以进行扩展,以完全满足您的系统需要。
可在任何 CPU 的前方加入一个信号板,轻松扩展数字或模拟量 I/O,同时不影响控制器的实际大小。
可将信号模块连接至 CPU 的右侧,进一步扩展数字量或模拟量 I/O 容量。
CPU 1212C 可连接 2 个信号模块,CPU 1214C 、CPU1215C和CPU1217C可连接 8 个信号模块。
,所有的 SIMATIC S7-1200 CPU 控制器的左侧均可连接多达 3 个通讯模块,便于实现端到端的串行通讯。
安装简单方便
所有的 SIMATIC S7-1200 硬件都有内置的卡扣,可简单方便地安装在标准的 35 mm DIN 导轨上。
这些内置的卡扣也可以卡入到已扩展的位置,当需要安装面板时,可提供安装孔。
SIMATIC S7-1200 硬件可以安装在水平或竖直的位置,为您提供其它安装选项。
这些集成的功能在安装过程中为用户提供了的灵活性,并使 SIMATIC S7-1200 为各种应用提供了实用的解决方案。
.
节省空间的设计
所有的 SIMATIC S7-1200 硬件都经过设计,以节省控制面板的空间。
例如,经过测量,
CPU
1214C 的宽度仅为 110 mm,CPU 1212C 和 CPU 1211C 的宽度仅为 90 mm。
结合通信模块和信号模块的较小占用空间,在安装过程中,该模块化的紧凑系统节省了宝贵的空间,为您提供了率和灵活性。
SIMATIC S7-1200
可扩展的紧凑自动化的模块化概念
它实现了简便的通信、有效的技术任务解决方案,并能完全满足一系列的立自动化需求。
亮点
使用
PID功能,需要先添加循环中断程序块,再添加
PID_Compact 指令
。在下图中可以看到,在这个程序块中可以修改其循环时间。
浔之漫智控技术(上海)有限公司是西门子一级代理商具备以下产品优势西门子可编程控制器,西门子触摸屏,西门子工业以太网,西门子数控系统,西门子高低压变频器,西门子电机驱动等等。西门子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输出输入模块