SIMATIC S7-1200 CPU 多可以添加三个通信模块。RS485 和 RS232 通信模块为点到点的串行通信提供连接。对该通信的组态和编程采用 了扩展指令或库功能、USS 驱动协议、Modbus RTU 主站和从站协议,它 们都包含在 SIMATICSTEP 7 Basic 工程组态系统中。 5.1.3.2 SIMATIC S7-1200 CPU (1)信号板、信号模块、通信模块。SIMATIC S7-1200 系统的 CPU 有 三种不同型号:CPU 1211C、CPU 1212C 和 CPU 1214C。每一种都可以 根据机器的需要进行扩展。任何一种 CPU 的前面都可以增加一块信号板, 以扩展数字或模拟 I/O,而不必改变控制器的体积。信号模块可以连接到 CPU 的右侧,以进一步扩展其数字或模拟 I/O 容量。CPU 1212C 可连接 2 个信号模块,CPU 1214C 则可连接 8 个。所有的 SIMATIC S7-1200 CPU 都可以配备多 3 个通信模块(连接到控制器的左侧)以进行点到点的串行 通信。 (2)紧凑的结构。所有的 SIMATIC S7-1200 硬件在设计时都力求紧 凑,以节省控制面板中的空间。例如,CPU 1214C 的宽度仅有 110mm, CPU 1212C 和 CPU 1211C 的宽度也仅有 90mm。通信模块和信号模块的 体积也十分小巧,使得这个紧凑的模块化系统大大节省了空间,从而在安装 过程中为您提供了高的效率和灵活性。 (3)SIMATIC S7-1200 I/O 模块。信号模块和通信模块具有大量可供 选择的信号板,可量身定做控制器系统以满足需求,而不必增加其体积。多 达 8 个信号模块可连接到扩展能力高的 CPU。一块信号板就可连接至所 有的 CPU,由此您可以通过向控制器添加数字或模拟量输入/输出信号来量 身定做 CPU,而不必改变其体积。 目前西门子S7-300/400系列的PLC的通讯方式开始大量使用工业以太网通讯,MP277/377、xP177B系列触摸屏也集成了以太网接口,这带来一个好处,所有的接口都统一,在网络通讯时采用都以太网接口,所有的设备组成一个局域网,包括上位监控计算机、编程设备、PLC、触摸屏都能很方便地互相访问,需要扩展多一个设备也很方便,只需要加一个交换机就能扩展出多个接口。因为有这些好处,所以采用以太网通讯越来越流行,下面说一说以太网通讯的其中一个应用,PLC与PLC之间通过以太网互连。
一、S7-300/400之间互连
1、采用PLC与PLC通过以太网访问,需要增加以太网模块,如CP343-1,CP443-1的模块,或者采用带有PN接口的PLC,如CPU315-2DP/PN的PLC。
2、采用两块CP343-1互连,先在同一个项目里做好两套PLC的硬件组态,分配好IP地址,打开NetPro,选择其中一个PLC,双击连接列表上的空白行,添加一个
S7 conection。选择连接的另一个PLC,记住连接的ID号。通讯双方的其中一个站为Client端,激活“Establish an active connection”的选项(默认是激活的)。这样NetPro的配置就完成了,编译、下载完成
3、打开其中两套PLC的OB1,调用FB12(BSEND)块发送数据,FB13(BRCV)块接收数据,1#PLC的发送对应2#PLC的接收,1#PLC的接收对应2#PLC的发送。
4、调用FB12的时候几个参数的含意,a、REQ,发送开始,上升沿触发发送工作;b、ID,连接ID号,这个ID号是在NetPro组态时生成的ID号;c、R_ID,连接号,相同连接号的FB块互相对应发送/接收数据,这个是由用户编程时定义的,例如1#PLC的FB12的R_ID是DW#16#2,则2#PLC的FB13的R_ID也是DW#16#2,这样才能保证正常接收发送;d、DONE,发送完成,如果REQ端是一个不停的脉冲,正常情况下DONE端也应该也是一个不停的脉冲反馈;e、SD_1,发送的开始地址,以P# x.x byte xxx来表示,f、LEN,发送数据的长度。
5、采用FB12、FB13来进行发送/接收是比较麻烦的,一方面需要两端的以太网模块都支持双边发送,如Cp343-1-Lean就不支持了,另一方面,两边都要写程序,对于增加的系统不太方便,所以这时可以在NetPro里把One-way(单边通讯,激活后FB12、FB13不能使用)激活,采用FB14(GET)取数据、FB15(PUT)发送数据来做,FB14的参数定义和FB12差不多,只是少了R_ID和LEN,这样更方便一些,而且还有一个好处,不需要对原有的系统进行什么更改,只需要把单边的PLC组态和程序下载就可以了
6、需要注意的另一个问题是FB和SFB的区别,在S7-400上采用SFB,在S7-300上采用FB,在S7-300集成的PN口上,采用SFB,这个问题曾经折磨过我一两天才解决。
二、WinLC与PLC互连
WinLC是在PC机上的软件PLC,可以把一台PC机当成PLC使用。这样对于不能采用模拟器连接的软件是比较方便的,如采用Intouch、Ifix这些SCADA软件做为上位机软件时,测试是个麻烦的问题,需要与实际机器连接起来才能测试,但如果有WinLC,可以把程序拷到WinLC上运行,上位机软件与WinLC联机测试,省去不少工夫,所以WinLC对于不方便进行现场测试的环境,是个不错的替代方案。WinLC既然是一套软件PLC,就能够实现PLC的功能,那么与PLC通讯也是可以实现的,
下面说一说WinLC与S7-300互连
1、新建一个项目,建立一个S7-300的站点,硬件组态;建立一个PC站点,在PC站点上增加一个WinLC和一个IE General,IE General的IP地址与PC机的IP地址一致,其实IE General指的就是PC机的以太网卡。
2、打开NetPro,在WinLC上新建一个S7 conection,指向S7-300,编译、存盘
3、在PCStation上增加WinLC和IE General,需要注意槽号要与硬件配置时候一样
3、打开WinLC的OB块,调用SFB14、SFB15来读写S7-300的数据
4、启动WinLC软件,下载程序,这样就可以实现软件PLC与PLC互连了
三、两种方式的结合
如果有多台PLC需要与PC机上的SCADA软件通过OPC进行通讯,但是又发现SCADA软件读取的速度太慢,不能满足刷新要求,或者数据要做些预处理才能显示,SCADA软件上运行太多的脚本又影响速度,那么通过软PLC把多台PLC的数据先读过来进行预处理,SCADA软件只与一台PLC进行通讯,这样SCADA软件上的工作量会少一些。这个时候把上面说的两种方式结合一下,就能够实现这样的功能了。
1、通讯连接参照上面的方法设置
2、在WinLC的PC站点上添加一个OPC服务器,在NetPro里面打开OPC的连接列表,
添加一个S7 conection,指向WinLC,编译、下载
3、通过OPC客户端可以直接访问OPC服务器的内容,常用的SCADA软件如Intouch、Citect、IFix这些软件都支持OPC,设置访问连接就可以在软件上直接读写了,如果更简单的界面,可以自己用VB编写一个OPC客户端,读写数据都在VB程序上实现,不使用SCADA软件,可以省掉不少钱了。
不同性能级别的 2 种标准 CPU:
CPU 1510SP-1 PN
CPU 1512SP-1 PN
程序用工作存储器,集成 | 100 KB | 200 KB |
数据用工作存储器,集成 | 750 KB | 1.0 MB |
装载存储器 | 通过 SIMATIC 存储卡插入 | 通过 SIMATIC 存储卡插入 |
命令执行时间 | ||
位运算 | 0.072 µs | 0.048 µs |
字运算 | 0.086 µs | 0.058 µs |
定点运算 | 0.115 µs | 0.077 µs |
浮点运算 | 0.461 µs | 0.307 µs |
位存储器、定时器、计数器 | ||
S7 计数器/定时器 | 各 2 048 | 各 2 048 |
IEC 计数器 | 任何数量(仅受工作存储器的限制) | 任何数量(仅受工作存储器的限制) |
IEC 定时器 | 任何数量(仅受工作存储器的限制) | 任何数量(仅受工作存储器的限制) |
位存储器 | 16 KB | 16 KB |
I/O 地址范围 | ||
输入 | 32 KB(存储在过程映像中的所有输入) | 32 KB(存储在过程映像中的所有输入) |
输出 | 32 KB(存储在过程映像中的所有输出) | 32 KB(存储在过程映像中的所有输出) |
运动 | ||
运动控制资源的数量 | 800 | 800 |
通信 | ||
PtP | √(通过 CM) | √(通过 CM) |
PROFINET IO | 1 x PN IO IRT(3 端口交换机) | 1 x PN IO IRT(3 端口交换机) |
PROFIBUS DP | √(通过 CM DP) | √(通过 CM DP) |
OPC UA DA(数据访问) 服务器 客户机 方法 + 伴随技术规格 | √(需要 RT 许可证) | √(需要 RT 许可证) |
Web 服务器 | √ | √ |