6ES7297-0AX30-0XA0
萍乡西门子一级代理商
萍乡西门子一级代理商6ES7297-0AX30-0XA0
西门子S7-1200/1500 PLC 的功能块
小型工程任务可用线性化编程,复杂工程任务用结构化编程将更容易实现。
结构化编程必须把程序模块化。
程序模块化作用是方便其他程序的调用,便于组织、修改和调试程序。
常用的块有:OB、FB、FC、DB。
块类型 | 说明 |
组织块(OB) | CPU操作系统与用户程序的接口,决定用户程序的结构。 |
函数块(FB) | 用户编写的包含常用功能的子程序块,有专用背景数据块(存储器) |
函数(FC) | 用户编写的包含常用功能的子程序块,无专用背景数据块(存储器) |
背景数据块(DB) | 用于FB的变量的保存 |
全局数据块(DB) | 用于存储用户的数据区域 |
操作系统包含在PLC的CPU中,管理所有与特定工程任务无关的CPU功能和序列,和计算机的操作系统类似。
用户程序就是为特定工程任务服务的功能程序,由用户编写,并装载到PLC的CPU中。
组织块(OB)有中断组织块、启动组织块、循环程序处理块、错误处理块等。
函数(FC)是不带存储器的程序块。由于没有存储器可用,函数的形式参数必须分配实际参数。一个程序可在不同位置多次调用同一个函数。函数用全局数据块也是可以存储数据的。
函数(FB)是带存储器的程序块。它将输入、输出及其参数地存储在背景数据块中,在执行完函数块之后,这些值仍然有效。一个程序可在不同位置多次调用同一个函数块。函数块也可以使用临时变量,只使用一个扫描周期,不存储于背景数据块中。
单次调用可用FC,多次调用可用FB,程序有沿操作、定时器等不能用FC,所以尽量使用FB。FB调用FB时,有个FB的“多重背景"选项,可以对背景数据进行整理。
全局数据块(DB)存储所有其它块都可以用的数据。类似于三菱PLC的全局标签。
▼ 数据块访问图
背景数据块(DB)是存储实例使用的数据块。函数块的调用称为实例。
西门子S7-1200/1500PLC的S7通信
现代工业设备通信有串口通信和工业以太网通信,串口通信一般是基于RS485接口的串行通信,工业以太网通信是基于RJ45接口的串行通信。
也有的人把它们分为现场总线通信(不包括基于以太网的现场总线)和工业以太网通信。现场总线通信偏重于控制通信,工业以太网通信偏重于数据通信。由于工业以太网也可以做为现场总线,这种分类就不太合适了。
工业以太网通信由于设置简单、联网容易、速度快的特点,得到迅速发展。
西门子产品支持各类以太网通信,包括:S7通信(简单)、Profinet IO(简单)、TCP通信(开放式)、ISO0n TCP 通信(基于以太网的ISO)、UDP通信(开放式)、MODBUS TCP通信(基于以太网的MODBUS)等。
通信总的来说是有一定格式规律可循的,按照格式规律来做就好了,做多了就熟悉了。
S7通信协议是从字面上来看就是,西门子S7系列产品之间通信使用的通信协议。由于标准一样,所以通信简单。
S7通信是一种协议,与总线的类型无关,现在用的较多的是基于以太网的S7通信。S7通信有单边通信与双边通信之分。单边通信是指主站准备好通信数据,从站组态连接和编程。
S7单边通信组态设置
1、组态设备,在控制器中选择所要使用的PLC类型,这里选择1214C CPU PLC做为PLC1。
▼ 组态主站设备
2、如果工程为同一个项目,在“网络视图"中,可再添加一个PLC2,这里添加了一个1511-1PN CPU 的PLC为PLC2。“连接"按钮,在复选框中选择“S7连接"。
▼ 组态从站设备
3、PLC1的PROFINET接口(绿色处),在属性栏中选择“以太网地址",在“接口连接到"栏中,添加一个新子网,如:PN/IE_1;在IP协议栏中,设置IP地址,如:。
▼ PLC1子网与IP地址
4、PLC1的CPU模块(蓝色处),在属性栏选择“防护与安全",在下级栏有个“连接机制",勾选“允许来自远程对象的PUT/GET通信访问。主/从均要修改。
▼ 解锁PLC1访问限制
5、按同样的方法设置PLC2的子网和IP地址,子网名称一样即可自动连接,IP地址为:。
▼PLC2子网与IP地址
6、如两台PLC不在同一个项目,则可以右键PLC1的蓝色CPU区,新建一个连接。
▼ 创建新连接
7、接上一步,添加PLC1的连接伙伴,记住本地ID为100,编程要用到。左边栏为同一项目下的PLC。主动建立连接的PLC为从站。
▼ 创建新连接
8、“S7_连接_1"可查看连接属性,在连接属性中设置伙伴的IP地址,其余因不在同一项目下,默认“未知"。
▼ 设置伙伴IP地址
9、在连接属性里的“地址详细信息"中,设置连接伙伴的TSAP值,通信伙伴为S7-300,设置为03.02;通信伙伴为S7-1200/1500,设置为03.01。
▼ 地址信息设置
10、在同一项目下组态到第五步就可以结束了。
在服务器端不用编程,在客户端(从站)添加GET(得到、接收)/PUT(给、发送)指令编程,也可以在块参数中组态连接。
比如GET(得到、接收)/PUT(给、发送)M:P#M100.0 WORD 5;
比如GET(得到、接收)/PUT(给、发送)DB:P#DB0.0INT5。
▼ 简单编程
因状态字不保持,要保存状态的话,需要加传送指令。
还可以收发I、Q区的数据,但不建议这样做,因为S7通信不是实时通信。
- 上一篇: 6ES7290-6AA30-0XA0
- 下一篇: 重庆西门子PLC代理商