西门子S7-400中央控制器CPU412-1西门子总代理商
西门子S7-400中央控制器CPU412-1西门子总代理商
西门子S7-400中央控制器CPU412-1西门子总代理商
西门子S7-400中央控制器CPU412-1西门子总代理商
西门子PLC s7-1200学习之路
1 Introduction
Zui近因为一个项目需要使用西门子PLC,买了一个入门级的PLC s7-1200,并完成了一个PLC和PC通过TCP进行通信的小程序,为了防止活干完了,内容就全忘了,所以用一个笔记进行梳理和总结。入门一种语言,需要回答新手的几个问题,这个笔记按照回答的方式梳理。
2 问题
2.1 PLC是什么,什么时候用,要怎么选?
根据[1],PLC可以替代继电器功能并完成复杂的控制功能。个人感觉功能上来看,PLC、DSP、单片机和FPGA之间的界限越来越小,只是各有侧重。
PLC因为基于梯形图这种数据流编程,安全稳定、开发难度低,点位多并且拓展灵活,适合大型的电气系统开发。主要还是开发简单,现场调试也方便。
S7-1200和smart 200的集成度较高,也更便宜。s7-1200存储区更大、集成了网口。其他的那些大家伙太贵了。
2.2 PLC的开发环境?
按照[2]搭建开发环境,开始第一个程序。接下来2倍加速把[5]过一遍,观其大略。
2.3 硬件和程序怎么交互?
PLC做好了数据块和硬件IO的映射。
具体可以在设备组态中查看和配置。
2.4 梯形图编程
问题1:梯形图上传递的是什么?类似的LabVIEW图形化语言的区别是什么?
树干上只传递0,1变量,和电路类似也有并联和串联。LabVIEW数据流上是啥都可以传递。
问题2:一般变量怎么修改?
既然梯形图不是真正的数据流编程,那一般变量只能通过函数进行修改。
问题3: 一般变量怎么创建?有全局变量、局部变量之分吗?
我们来看看函数中的变量,main函数中的变量和普通函数变量,只差了一个static,这不就是c语言中的静态变量嘛。那么c语言中的局部变量,常量都可以在梯形图编程中找到对应的变量了。
PLC个人理解是典型的面向过程编程,那么显然少不了全局变量啊。
除 了 I O 映 射 的 数 据 之 外 , 我 在 学 习 P L C 的 时 候 , 视 频 老 师 经 常 用 一 个 中 间 寄 存 器 M 10.0 , M 100.0 \color{red}{除了IO映射的数据之外,我在学习PLC的时候,视频老师经常用一个中间寄存器M10.0,M100.0}除了IO映射的数据之外,我在学习PLC的时候,视频老师经常用一个中间寄存器M10.0,M100.0
从c语言的角度出发,这么干非常危险,Zui 好 不 要 去 这 么 直 接 操 作 内 存 啊 \color{red}{zuihao不要去这么直接操作内存啊}zuihao不要去这么直接操作内存啊,可以用全局变量。
再结合PLC的在线工具,可以像KEIL 编程一样,查看和改写全局变量的数据。
到这里,我们发现梯形图和开发嵌入式单片机差不多嘛。
问题4: 如何创建函数?
有三种函数:OB、FB、FC。
FB和FC的差距,差在有没有static。FB有static变量,每个FB的function内部的static 变量都有单独的存储空间,互不干涉。
F C 类 似 c 语 言 中 的 功 能 函 数 ; F B 可 以 从 电 气 模 块 化 设 计 的 角 度 理 解 。 \color{red}{FC类似c语言中的功能函数;FB可以从电气模块化设计的角度理解。}FC类似c语言中的功能函数;FB可以从电气模块化设计的角度理解。
根据[3],OB类似于c语言中的线程(thread),所以梯形图虽小,也是五脏俱全。搞清楚梯形图编程的主干,编程完全是一个熟练度的问题了。
OB块主要用于程序循环、启动、延时中断、循环中断、硬件中断、HSC中断、诊断错误和时间错误八大事件。
OB块还有两个属性是编号和优先级,优先级越高,中断级别越高。在同样的优先级别,OB编号越小,越优先执行。
问题5:数据结构有哪些?
问题6:库函数的能力?
一个编程语言的强大,和官方的库函数以及社区的强大分不开。梯形图编程更贴近硬件,编程特点决定了,只使用官方库基本上满足需求。更复杂的需求估计只能换工控机这类设备了。
常见电气项目中的主要功能使用起来非常方便。
- 问题7:数据怎么读写?如何进行数据读写保护?
数据读写,两种方法:1)在梯形图主干上,通过触点(常开触点、常闭触点等)作为输入,用线圈作为输出;
2)使用函数,进行数据操作;
对于普通的数据类型,因为梯形图限定了程序是单线程,不会出现读写死锁的问题;
对于IO输出,如果出现在不同的地方写入,就是PLC中的双线圈问题[4]。
解决的方法就是两个支路进行并联,结合一些中间变量(寄存器)。
2.5 怎么在线查看?
在线查看重点关注两个方面的内容:变量的变化?过程编程中具体过程状况?
通过梯形图,可以看到从上至下,从左到右的(0,1)执行变化,反应程序的过程状态,以及中间变量数值。可视化程度很高,和嵌入式开发很接近。
在数据DB区可以看到全部变量的变化情况,很方便。
References
[1] PLC原理及应用.刘星平 https://e.jd.com/30690778.html
[2] S7-1200零基础入门到精通 侯俊霞 https://www.bilibili.com/video/BV11A411u7n2?p=7
[3] https://www.zhihu.com/search?type=content&q=%E8%A5%BF%E9%97%A8%E5%AD%90%20OB
[4] https://www.zhihu.com/search?type=content&q=plc%20%E5%8F%8C%E7%BA%BF%E5%9C%88%20
[5] https://www.bilibili.com/video/BV11D4y1U7GU?p=26&t=1899
————————————————
版权声明:本文为CSDN博主「expectmorata」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43485943/article/details/117263182
SIMATIC S7-1500 (Hu, Jia Ning) 可编程控制器 |
Product Type 产品类型 | Sub type 分类 | MLFB 订货号 | MLFB 订货号 | Description 产品描述 |
CPU模块 | 标准型CPU | 6ES7518-4AP00-0AB0 | 6ES7518-4AP00-0AB0 | CPU 1518-4 PN/DP,4 MB 程序,20 MB 数据;1 ns;集成 X1: 2x PN接口 ,X2: 1x PN接口,X3:1x 1000M以太网,X4: 1x DP接 |
6ES75184AX001AC0 | 6ES75184AX001AC0 | CPU 1518-4 PN/DP MFP,4 MB 程序,20 MB 数据;1 ns;集成 X1: 2x PN接口 ,X2: 1x PN接口,X3:1x 1000M以太网,X4: 1x DP 接口; 可C/C++扩展PLC功能, 至少需要2GB SIMATIC Memory Card。另有一个嵌入式Linux系统,可用C/C++开发Linux应用。该订货号包含MFP CPU、C/C++ 运行授权、 OPC UA 授权 | ||
6ES7517-3AP00-0AB0 | 6ES7517-3AP00-0AB0 | CPU 1517-3 PN/DP,2 MB 程序,8 MB 数据;2 ns;集成 X1: 2x PN接口 ,X2: 1x PN接口,X3:1x DP 接口 | ||
6ES7516-3AN02-0AB0 | 6ES7516-3AN02-0AB0 | CPU 1516-3 PN/DP,1 MB 程序,5 MB 数据;10 ns ;集成 X1: 2x PN接口 ,X2: 1x PN接口,X3:1x DP 接口 | ||
6ES7515-2AM02-0AB0 | 6ES7515-2AM02-0AB0 | CPU 1515-2 PN,500 KB 程序,3 MB 数据;30 ns;集成 X1: 2x PN接口 ,X2: 1x PN接口 | ||
6ES751-31AL02-0AB0 | 6ES7513-1AL02-0AB0 | CPU 1513-1 PN,300 KB 程序,1.5 MB 数据;40 ns;集成 2x PN 接口 | ||
6ES75111AK020AB0 | 6ES7511-1AK02-0AB0 | CPU 1511-1 PN,150 KB 程序,1 MB 数据;60 ns;集成 2x PN 接口 | ||
紧凑型CPU | 6ES75121CK010AB0 | 6ES7512-1CK01-0AB0 | CPU 1512C-1 PN, 250 KB程序,1 MB数据;48 ns;集成2x PN接口;集成 32 DI/32 DO, 5 AI/2 AO, 6 HSC@100kHz | |
6ES75111CK010AB0 | 6ES7511-1CK01-0AB0 | CPU 1511C-1 PN, 175 KB程序,1 MB数据;60 ns;集成2x PN接口;集成 16 DI/16 DO, 5 AI/2 AO, 6 HSC@100kHz | ||
高防护等级CPU | 6ES75162PN000AB0 | 6ES7516-2PN00-0AB0 | CPU 1516PRO-2 PN,1MB 程序,5 MB 数据;10 ns;集成 X1: 3x PN接口 ,X2: 1x PN接口 | |
分布型CPU | 6ES75121DK0-0AB0 | 6ES751-21DK0 -0AB0 | CPU 1512SP-1 PN,200KB 程序,1 MB 数据;48 ns;集成 1x PN 接口 (可用ET 200SP总线适配器再拓展2个PN 接口) | |
6ES75101DJ010AB0 | 6ES7510-1DJ01-0AB0 | CPU 1510SP-1 PN,100KB 程序,750 KB 数据;72 ns;集成 1x PN 接口(可用ET 200SP总线适配器再拓展2个PN 接口) | ||
开放型CPU(第二代) | 6ES76772DB420GB0 | 6ES76772DB420GB0 | CPU 1515SP PC 2 ,8 GB RAM,120 GB CFAST; 预装64位Windows 10 Enterprise LTSB 2016,预装CPU 1505SP V2.5软件控制器;必须配一个总线适配器。 | |
6ES76772DB420GK0 | 6ES76772DB420GK0 | CPU 1515SP PC 2 ,8 GB RAM,120 GB CFAST; 预装64位Windows 10 Enterprise LTSB 2016,预装CPU 1505SP V2.5软件控制器和WINCC ADVANCED RUNTIME V15(带有128点授权);;必须配一个总线适配器。 | ||
6ES76772DB420GL0 | 6ES76772DB420GL0 | CPU 1515SP PC 2 ,8 GB RAM,120 GB CFAST; 预装64位Windows 10 Enterprise LTSB 2016,预装CPU 1505SP V2.5软件控制器和WINCC ADVANCED RUNTIME V15(带有512点授权);;必须配一个总线适配器。 | ||
6ES76772DB420GM0 | 6ES76772DB420GM0 | CPU 1515SP PC 2 ,8 GB RAM,120 GB CFAST; 预装64位Windows 10 Enterprise LTSB 2016,预装CPU 1505SP V2.5软件控制器和WINCC ADVANCED RUNTIME V15(带有2048点授权);;必须配一个总线适配器。 | ||
6ES76772DB400GB0 | 6ES76772DB400GB0 | CPU 1515SP PC 2 ,8 GB RAM,120 GB CFAST;CPU 1505SP V2.5软件控制器 Ready4Linux;必须配一个总线适配器。 | ||
软控制器 | 6ES76727AC010YA0 | 6ES76727AC010YA0 | CPU 1507S V 2.x(1个浮点授权), 仅能在SIMATIC IPC上使用 | |
6ES76728AC010YA0 | 6ES76728AC010YA0 | CPU 1508S V 2.x(1个浮点授权), 仅能在SIMATIC IPC上使用 | ||
6ES78062CD030YA0 | 6ES78062CD030YA0 | S7-1500软件控制器用ODK V2.5,使用C/C++扩展S7-1500软件控制器的功能 | ||
分布型CPU通信模块 | 6ES75455DA000AB0 | 6ES7545-5DA00-0AB0 | S7-1510/1512 SP CPU DP通信模块 (RS-485 PROFIBUS-DP) | |
ET 200pro CPU连接模块 | 6ES71944AP000AA0 | 6ES71944AP000AA0 | ET200pro CPU 1516PRO-2 PN连接模块,3 x M12 and 2 x 7/8"for 2 x PROFINET | |
CPU 存储卡 | 6ES79548LC030AA0 | 6ES79548LC030AA0 | S7-1200/1500 4M 存储卡 | |
6ES79548LE030AA0 | 6ES79548LE030AA0 | S7-1200/1500 12M 存储卡 | ||
6ES79548LF030AA0 | 6ES79548LF030AA0 | S7-1200/1500 24M 存储卡 | ||
CPU通信模块 | 6ES79548LL030AA0 | 6ES79548LL030AA0 | S7-1200/1500 256M 存储卡 | |
连接模块 | 6ES79548LP020AA0 | 6ES79548LP020AA0 | S7-1200/1500 2G 存储卡 | |
CPU 存储卡 | 6ES79548LT030AA0 | 6ES79548LT030AA0 | S7-1200/1500 32G 存储卡 | |
ET200MP有源背板 | 6ES75900BD000AA0 | 6ES75900BD000AA0 | ET200MP有源背板, 4槽 | |
6ES75900BH000AA0 | 6ES75900BH000AA0 | ET200MP有源背板, 8槽 | ||
6ES75900BL000AA0 | 6ES75900BL000AA0 | ET200MP有源背板, 12槽 | ||
6ES75900CA000AA0 | 6ES75900CA000AA0 | 有源背板盖板, 5片一包 | ||
ET 200MP接口模块 | 6ES71555AA010AB0 | 6ES7155-5AA01-0AB0 | ET 200MP IM 155-5 PN ST 标准型接口模块 | |
接口模块 | 6ES71555AA000AC0 | 6ES7155-5AA00-0AC0 | ET 200MP IM 155-5 PN HF 高性能型接口模块 | |
6ES71555BA000AB0 | 6ES7155-5BA00-0AB0 | ET 200MP IM 155-5 DP ST 标准型接口模块 | ||
6ES71555AA000AA0 | 6ES7155-5AA00-0AA0 | ET 200MP IM 155-5 PN BA 基本型接口模块(Zui多可支持连接12个IO模块,不支持 safety, PN IRT, 系统冗余, MRPD) | ||
电源管理模块 | 6ES75050RB000AB0 | 6ES7505-0RB00-0AB0 | PS:60W ,额定输入电压 DC 24/48/60 V,扩展CPU带电保持存储区(适用于STEP7 Professional V14 SP1 和 CPU FW 2.1 及以上) | |
6ES75070RA000AB0 | 6ES7507-0RA00-0AB0 | PS:60 W,额定输入电压 AC/DC 120/230 V | ||
6ES75050RA000AB0 | 6ES7505-0RA00-0AB0 | PS:60 W,额定输入电压 DC 24/48/60 V | ||
6ES75050KA000AB0 | 6ES7505-0KA00-0AB0 | PS:25 W,额定输入电压 DC 24 V | ||
模拟量输出模块 | 6ES75325HF000AB0 | 6ES7532-5HF00-0AB0 | AQ 8:模拟量输出模块,高速 AQ 8x U/I HS, 35mm模块,不含前连接器 | |
电源模块 | 6ES75325HD000AB0 | 6ES7532-5HD00-0AB0 | AQ 4:模拟量输出模块,AQ 4x U/I ST, 35mm模块,不含前连接器 | |
6ES75325ND000AB0 | 6ES7532-5ND00-0AB0 | AQ 4:模拟量输出模块,高性能,通道隔离,AQ 4x U/I HF, 35mm模块,不含前连接器 | ||
6ES75325NB000AB0 | 6ES7532-5NB00-0AB0 | AQ 2:模拟量输出模块,AQ 2x U/I ST, 25mm模块,含前连接器 | ||
模拟量输入模块 | 6ES75317LH000AB0 | 6ES7531-7LH00-0AB0 | AI 16:模拟量输入模块,AI 16x U 35mm模块,不含前连接器 | |
6ES75317MH000AB0 | 6ES7531-7MH00-0AB0 | AI 16:模拟量输入模块,AI 16x I 35mm模块,不含前连接器 | ||
6ES75317KF000AB0 | 6ES7531-7KF00-0AB0 | AI 8:模拟量输入模块,AI 8x U/I/RTD/TC ST, (支持4通道RTD), 35mm模块,不含前连接器 | ||
6ES75317NF100AB0 | 6ES7531-7NF10-0AB0 | AI 8:模拟量输入模块,高速,AI 8x U/I HS, 35mm模块,不含前连接器 | ||
6ES75317PF000AB0 | 6ES7531-7PF00-0AB0 | AI 8:模拟量输入模块,高性能,通道隔离,AI 8x U/R/RTD/TC HF(支持8通道RTD),35mm模块,不含前连接器 | ||
6ES75317NF000AB0 | 6ES7531-7NF00-0AB0 | AI 8:模拟量输入模块,高性能,通道隔离,AI 8xU/I HF,35mm模块,不含前连接器 | ||
6ES75317QD000AB0 仪器仪表 | 6ES7531-7QD00-0AB0 | AI 4:模拟量输出模块,AI 4x U/I/RTD/TC ST, 25mm模块,含前连接器 | ||
模拟量输入/输出模块 | 6ES75347QE000AB0 | 6ES7534-7QE00-0AB0 | AI4/AQ2:模拟量输入/输出模块 AI/AO 4x U/I/RTD/TC 2x U/I ST, 25mm模块,含前连接器 | |
数字量输出模块 | 6ES75221BP000AA0 | 6ES7522-1BP00-0AA0 | DQ 64:数字量输出模块,源型, 晶体管 DQ 64 x 24 VDC/ 0.5A BA, 35mm模块,不含前连接器,需要配合Topconnector使用 | |
6ES75221BP500AA0 | 6ES7522-1BP50-0AA0 | DQ 64:数字量输出模块,漏型, 晶体管 DQ 64 x 24 VDC/ 0.5A BA, 35mm模块,不含前连接器,需要配合Topconnector使用 | ||
6ES75221BL010AB0 | 6ES7522-1BL01-0AB0 | DQ 32:数字量输出模块,晶体管 DQ 32 x 24 VDC/ 0.5A HF, 35mm模块,不含前连接器 | ||
6ES75221BL100AA0 | 6ES7522-1BL10-0AA0 | DQ 32:数字量输出模块,晶体管 DQ 32 x 24 VDC/ 0.5A BA, 25mm模块,含前连接器 | ||
6ES75221BH010AB0 | 6ES7522-1BH01-0AB0 | DQ 16:数字量输出模块,晶体管 DQ 16 x 24 VDC/ 0.5A HF, 35mm模块,不含前连接器 | ||
6ES75221BH100AA0 | 6ES7522-1BH10-0AA0 | DQ 16:数字量输出模块,晶体管 DQ 16 x 24 VDC/ 0.5A BA, 25mm模块,含前连接器 | ||
6ES75225FH000AB0 | 6ES7522-5FH00-0AB0 | DQ 16:数字量输出模块,可控硅 DQ 16x 230 VAC/ 1A ST (TRIAC), 35mm模块,不含前连接器 | ||
6ES75225HH000AB0 | 6ES7522-5HH00-0AB0 | DQ 16:数字量输出模块,继电器 DQ 16x 230 VAC/ 2A ST (RELAY), 35mm模块,不含前连接器 | ||
6ES75225EH000AB0 | 6ES7522-5EH00-0AB0 | DQ 16:数字量输出模块,晶体管 DQ16 X 24...48VUC/125VDC/0.5A, 35mm模块,不含前连接器 | ||
6ES75221BF000AB0 | 6ES7522-1BF00-0AB0 | DQ 8:数字量输出模块,高性能 DQ 8x 24VDC/ 2A HF, 35mm模块,不含前连接器 | ||
6ES75225FF000AB0 | 6ES7522-5FF00-0AB0 | DQ 8:数字量输出模块,可控硅 DQ 8 x 230 VAC/ 2A ST (TRIAC), 35mm模块,不含前连接器 | ||
6ES75225HF000AB0 | 6ES7522-5HF00-0AB0 | DQ 8:数字量输出模块,继电器 DQ 8x 230VAC/ 5A ST (RELAY), 35mm模块,不含前连接器 | ||
数字量输入模块 | 6ES75211BP000AA0 | 6ES7521-1BP00-0AA0 | DI 64:数字量输入模块,基本型 DI 64x 24VDC BA, 35mm模块,不含前连接器,需要配合Topconnector使用 | |
6ES75211BL000AB0 | 6ES7521-1BL00-0AB0 | DI 32:数字量输入模块,高性能 DI 32x 24VDC HF, 35mm模块,不含前连接器 | ||
6ES75211BL100AA0 | 6ES75211BL100AA0 | DI 32:数字量输入模块,DI 32x 24VDC BA, 25mm模块,含前连接器 | ||
6ES75211BH000AB0 | 6ES7521-1BH00-0AB0 | DI 16:数字量输入模块,高性能 DI 16x 24VDC HF, 35mm模块,不含前连接器 | ||
6ES75211BH100AA0 | 6ES7521-1BH10-0AA0 | DI 16:数字量输入模块,DI 16x 24VDC BA, 25mm模块,含前连接器 | ||
6ES75211BH500AA0 | 6ES7521-1BH50-0AA0 | DI 16:数字量输入模块,源型,DI 16x 24VDC SRC BA, 35mm模块,不含前连接器 | ||
6ES75211FH000AA0 | 6ES7521-1FH00-0AA0 | DI 16:数字量输入模块,DI 16x 230V AC BA, 35mm模块,不含前连接器 | ||
6ES75217EH000AB0 | 6ES7521-7EH00-0AB0 | DI 16:数字量输入模块,DI 16 X 24...125V UC HF, 35mm模块,不含前连接器 | ||
数字量输入/输出模块 | 6ES75231BP500AA0 | 6ES75231BP500AA0 | DI32/DQ32:数字量输入/输出模块,32x 24VDC/32x 24VDC/ 0.5A BA, 35mm模块,需要配合Topconnector使用 | |
6ES75231BL000AA0 | 6ES7523-1BL00-0AA0 | DI16/DQ16:数字量输入/输出模块,16x 24VDC/16x 24VDC/ 0.5A BA, 25mm模块,含前连接器 | ||
联系方式
- 地址:上海松江 上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
- 邮编:201600
- 联系电话:未提供
- 经理:吴悦
- 手机:19514718569
- QQ:2810544350
- Email:2810544350@qq.com