齐齐哈尔西门子PLC代理商CPU供应商
作为齐齐哈尔地区的西门子PLC代理商和CPU供应商,我们致力于向客户提供*高质量的西门子工控产品。我们所供应的西门子PLC模块是目前市场上*为常用的工业控制器之一。
我们所提供的西门子PLC模块具有高度的可靠性和精度,能够实现非常复杂的控制功能。在工业自动化领域,它被广泛应用于各种机器和设备的控制系统中。
除了PLC模块以外,我们还提供西门子电源电缆、变频器、触摸屏、伺服机以及低压软启动器等产品。这些产品的质量和性能也是****的。
浔之漫智控技术(上海)有限公司是西门子授权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的串口与计算机的串口,打开计算机的**级终端程序,并设置硬件端口参数如下图:
启动模式设置
S7-1200 启动模式可以在“CPU 属性-常规-启动” 进行设置。如下图 1 所示:
图 1. CPU启动选项设置
①“上电后启动”:定义了CPU 上电后的启动特性,共有以下三个选项,用户可根据项目的特点及性来选择,默认选项为“暖启动-断电前的操作模式”:
“不重新启动(保持为STOP 模式)”:CPU 上电后直接进入STOP 模式;
“暖启动-RUN模式”:CPU 上电后直接进入RUN模式;
“暖启动-断电前的操作模式”:选择该项后,CPU上电后将按照断电前该CPU 的RUN模式启动,即断电前CPU处于运行模式,则上电后 CPU 依然进入RUN模式;如果断电前CPU 处于STOP状态,则上电后CPU进入STOP模式。
如果在发生掉电或故障时,CPU 处于 STOP 模式,则 CPU 将在上电时进入 STOP 模式并保持 STOP 模式,直至收到进入 RUN 模式的命令;
如果在发生掉电或故障时,CPU 处于 RUN 模式,则在未检测到可禁止 CPU 进入 RUN 模式的条件下,CPU 将在下次上电时进入 RUN 模式。
②“比较预设与实际组态”:定义了 S7-1200 PLC站的实际组态与当前组态不匹配时的 CPU 启动特性:
“仅在兼容时,才启动CPU”:所组态的模块与实际模块匹配(兼容)时,才启动CPU。
“即便不匹配,也启动CPU”:所组态的模块与实际模块不匹配(不兼容)时,也启动CPU。
注意:
如果选择了"即便不匹配,也启动CPU",此时的用户程序无常运行,必须采取相应措施!要慎重选择该项。
③ “组态时间”:在 CPU 启动过程中,为集中式 I/O 和分布式 I/O分配参数的时间,包括为 CM 和 CP 提供电压和通信参数的时间。如果在设置的“组态时间”内完成了集中式 I/O 和分布式 I/O的参数分配,则CPU立刻启动;如果在设置的“组态时间”内,集中式 I/O 和分布式 I/O未完成参数分配,则 CPU 将切换到 RUN 模式,但不会启动集中式 I/O 和分布式 I/O;
④ “OB应该可中断”:“OB应该可中断”后,在OB 运行时,较高**级的中断可以中断当前OB,在此OB 处理完后,会继续处理被中断的 OB。如果不“OB应该可中断”,则**级大于2的任何中断只可以中断循环OB,但**级为2~25的OB不可被较高**级的OB 中断。
启动时 CPU 执行的操作
启动特性:
在暖启动期间,所有非保持性位存储器内容都将并且非保持性数据块内容将复位为来自装载存储器的起始值。将保留保持性位存储器和保持性 DB 中的内容。
不管选择哪种启动模式,已编写的所有启动 OB 都会执行。
不执行任何基于时间的程序。
中断控制的程序的执行于:OB 82(诊断中断)
禁用模块上的输出。
不较新过程映像;可以对输入进行直接 I/O 访问。
如下图 2 所示:
图 2. 启动时 CPU 执行的操作
关于 启动 OB 的详细说明, 请参考以下文档:
S7-1200 启动(Start up)组织块
常见问题:
1.
哪些情况会导致 S7-1200 CPU 无法启动?
以下的情况会导致 S7-1200 CPU 断电后再上电无法启动:
检测到的某些错误会阻止 CPU 进入 RUN 模式;
在“CPU 属性-常规-启动” 设置为不重新启动(保持为 STOP 模式);
暖启动 - 断电前的模式:CPU 组态为“暖启动 - 断电前的模式”,且在发生掉电或故障时,CPU 处于 STOP 模式,则 CPU 将在上电时进入 STOP 模式并保持 STOP 模式;
在 CPU 设备组态的属性里选择了“允许通过用户程序重新组态设备”。而 WRREC 指令在启动 OB 中传送完控制数据记录后组态控制才会生效。如果已启用组态控制但 CPU 不具有控制数据记录,则在退出 STARTUP 模式时会转到 STOP 模式。
具体请参考:
组态控制功能
2. 为什么CPU断电后,再上电CPU没有报任何错误,但CPU却运行不起来?
答:原因是CPU没有硬件开关用于启停控制,CPU上电后的启停由CPU属性中的“启动”选项来决定(如图1所示)。其默认设置为“暖启动-断电前的操作模式”,此时如果是断电前CPU因故障停止,那么再上电后没有故障,CPU也会延电前的状态,保持STOP 模式。或者设置成“不重新启动”,则CPU 上电后直接进入STOP 模式。如果在以上两种模式下,CPU无法启动,需要通过博途软件在线功能启动CPU。
必须将启动选项设置为“暖启动-RUN模式”,才能保证在没有错误的情况下,CPU上电后直接进入RUN模式。
3.
组态设备网络S7-1200是西门子公司的新一代小型PLC,代表了下一代PLC的发展方向。它集成了以太网接口和很强的工艺功能,编程软件STEP 7 Basic集成了用于人机界面组态的WinCC Basic,硬件和网络的组态、编程和均采用图形化的方式。
1.
为方便的以太信。
使用普通的以太网电缆,可以下载和,提供了笔记本电脑与PLC通信的简单的方法。
2.指令系统的设计简单合理,有的指令(例如数据转换指令)可以设置一个或两个操作数的数据类型,
一条指令相当于S7-200/300/400的多条指令。
3.
只有梯形图和功能块图语言
,没有语句表语言。
4.程序结构基本上与S7-300/400相同。指令系统、程序结构和编程软件应该与
替代S7-300/400的S7-1500兼容。
5.STEP 7 Basic采用与西门子人机界面的组态软件WinCC flexible类似的多窗口界面,显示项目树窗口、程序区、组态和显示信息的巡视窗口,以及指令表或人机界面的对象列表等。软件的使用为方便,例如可以将变量表和块的接口区中的局部变量直接拖放到梯形图中。
软件很容易上手。
6.各种硬件、网络和参数采用形象直观的图形和表格组态的方法来设置。比S7-200的“向导”功能和系统块
较为直观和方便。
7.集成的WinCC Basic的功能和界面与WinCC flexible基本上相同。PLC与精简系列面板在同一个项目中组态和编程,人机界面可以直接使用PLC的变量。指示灯比WinCC flexible的较好用。
有人机界面仿真功能。
8.
具
有比S7-300的参考数据较强的功能
,有多种显示交叉数据的方法。可以快速查看单的变量在PLC和HMI中使用的情况。
9.
有很强的故障诊断和显示功能
,有诊断缓冲区、巡视窗口的诊断选项卡和读取错误信息的指令。可以用LED显示有故障的模拟量模块的通道。
10.CPU集成了两点模拟量,集成的高速计数器和高速输出的功能和使用方法与S7-200基本上相同。
11.CPU上可安装一块1AO或2DI/2DO信号板。后者可用于高速输入、高速输出,可弥补继电器型
CPU不能输出高速脉冲的缺陷。
12.PID的参数设置和调试方便直观,有参数自整定功能,可控制16个回路。配一块AO信号板,可以实现PID闭环控制。
PID参数自整定功能很好用。
13.
通信功能强,
以太网接口可以实现S7-1200与计算机或精简系列面板的通信,S7-1200之间的通信,S7-1200与S7-200、S7-300/400的通信,S7-1200与WinCC的OPC通信。
14.配上串行通信接口后,可以实现与变频器的USS通信,开始我们来学习西门子S7-1200,S7-1200是西门子公司新推出的一款面向离散自动化系统和立自动化系统的低端PLC。S7-1200采用了模块化设计,具备强大的工艺功能,适用于多种场合,可以满足不同的自动化需求。S7-1200的定位处于原有的SIMATIC S7-200和SIMATIC S7-300之间,是紧凑型自动化产品的新成员。在涵盖了S7-200原有功能的基础上,S7-1200增加了许多新的功能,可以满足较广泛领域的应用要求。S7-1200的CPU集成了PROFINET接口,可以实现编程设备与CPU、CPU与HMI以及CPU与CPU之间的通信。
S7-1200的定位
S7-1200还可以通过开放的以太网协议,实现与第三方设备的通信。S7-1200 CPU集成有强大的技术测量闭环控制以及运动控制等功能,拥有多达六个高速计数器,使其可用作监视增量编码器频率计数,或对过程事件进行高速计数。S7-1200集成了两个高速输出,可用作高速脉冲输出或脉宽调制输出。S7-1200拥有对步进电机和伺服驱动器进行开环速度控制和位置控制的PLCopen运动功能块,还可以使用驱动调试控制面板,对电机进行启动和调试。
运动控制
S7-1200支持多达16个PID控制回路。PID调式控制面板,简化了控制回路的调节过程。对于单个控制回路,除了提供自动调节和手动调节方式外,还提供调节过程的图形化趋势图。西门子公司的SIMATIC HMI精简系列面板拥有高对比度的图形显示屏,具有简便组网和无缝通信的特点。17成为适用于S7-1200的理想面板,4寸、6寸、10寸或15寸操作屏,不仅可以进行触摸操作,还可以使用带有触摸反馈的可编程按键进行操作。精简系列面板的防护等级为IP65,可以在恶劣的工业环境中使用。
安装和拆卸信号板。先断开CPU的电源,卸下CPU上部和下部的端子盖板,准备给CPU安装信号板。安装信号板的步骤如下,将螺丝刀插入CPU上部,接线盒盖背面的槽中,轻轻将盖翘起,并从CPU上卸下,将信号板直接向下放入CPU上部的安装位置中,用力将信号板压入该位置,直到卡入位重新装上端子盖板。卸下信号板时也要断开CPU的电源,并卸下CPU上部和下部的端子盖板。从CPU上卸下信号板的步骤如下,将螺丝刀插入信号板上部的槽中,轻轻将信号板翘起,使其与CPU分离,将信号板直接从CPU上部的安装位置中取出,重新装上信号板盖板,重新装上端子盖板。
安装信号板
拆卸和重新安装S7-1200端子板连接器。先要断开CPU的电源,打开连接器上方的盖子。卸下连接器的步骤如下,查看连接器的**部,并找到可插入螺丝刀头的槽,将螺丝刀插入槽中,轻轻翘起连接器**部,使其与CPU分离,连接器从夹紧位置脱离,抓住连接器,并将其从CPU上卸下。安装连接器的步骤如下,通过断开CPU的电源,并打开端子盖板,准备端子板安装的组件,使连接器与单元上的插针对齐,将连接器的接线边对准连接器座沿的内侧,用力按下并转动连接器,直到卡入到位。仔细检查,以确保连接器已正确对齐,并完全啮合。
拆卸端子板连接器
SM 1221 数字量输入
对于漏型输入将“-”连接到“M”(如图示);对于源型输入将“+”连接到“M”
SM 1222 数字量输出
SM1222 DQ 8 继电器切换模块使用公共端子控制两个电路: 一个常闭触点和一个常开触点。
例如输出"0",当输出点断开时,公共端子 (0L) 与常闭触点 (.0X) 相连并与常开触点 (.0) 断开。 当输出点接通时,公共端子 (0L) 与常闭触点 (.0X) 断开并与常开触点 (.0) 相连。
SM 1223 数字量输入/输出
对于漏型输入将负载连接到“-”端(如图示);对于源型输入将负载连接到“+”端
SM 1223 也有交流电压输入、继电器输出的模块, 如下所示:
SM 1223 DI 8 x 120/230 VAC,DQ 8 x 继电器 (6ES7 223-1QH32-0XB0)
数字量信号板
通过信号板 (SB, Signal Board) 可以给 CPU 增加 I/O。提供所有 SIMATIC S7-1200 控制器的低成本有效扩展,保持原有空间, SB 连接在 CPU 的**。
SB 1221 200KHZ数字量输入接线
仅支持源型输入
SB 1222 200KHZ数字量输出接线
对于源型输出将负载连接到“-”端(如图示);对于漏型输出将负载连接到“+”端
SB 1223 200KHZ数字量输入/输出接线
① 仅支持源型输入
② 对于源型输出将负载连接到“-”端(如图示);对于漏型输出将负载连接到“+”端
SB 1223 数字量输入/输出接线
仅支持漏型输入
源型/漏型输入接线说明
支持源型输入的信号板:
6ES7 221-3BD30-0XB0
6ES7 221-3AD30-0XB0
6ES7 223-3BD30-0XB0
6ES7 223-3AD30-0XB0
支持漏型输入的信号板:
6ES7 223-0BD30-0XB0
支持源型输入的信号模板:
6ES7 221-1BF32-0XB0
6ES7 221-1BH32-0XB0
6ES7 223-1PH32-0XB0
6ES7 223-1PL32-0XB0
6ES7 223-1BH32-0XB0
6ES7 223-1BL32-0XB0
支持漏型输入的信号模板:
6ES7 221-1BF32-0XB0
6ES7 221-1BH32-0XB0
6ES7 223-1PH32-0XB0
6ES7 223-1PL32-0XB0
6ES7 223-1BH32-0XB0
6ES7 223-1BL32-0XB0
可以参考 《 S7-1200 系统手册》
数字量的输入信号类型CPU 集成的输入点和信号模板的所有输入点都既支持漏型输入又支持源型输入,而信号板的输入点只支持源型输入或者漏型输入的一种。
作为一家专业的西门子代理商和供应商,我们具有多年的经验和专业的技术团队,能够为客户提供各种定制化的解决方案。我们致力于为客户提供*优质的产品和服务,让客户在工业自动化领域中更加高效、稳定和可靠。
我们所供应的西门子工业控制产品均来自于德国,这也是我们所供应的产品*大的优势之一。德国作为工业强国,其产品的品质和性能总是维持在高水平,这也保证了我们所供应的产品的品质和性能。
作为齐齐哈尔地区的西门子PLC代理商和CPU供应商,我们将继续为客户提供*高品质的西门子工业控制产品和*优质的服务。