2.2 S7-1200 PLC的硬件结构
S7-1200的CPU将微处理器、集成电源、输入电路和输出电路组合到一个设计紧凑的外壳中,以形成功能强大的PLC。S7-1200 PLC作为紧凑型自动化产品的新成员,目前有5款CPU,CPU 1211C、CPU 1212C、CPU 1214C、CPU 1215C和CPU 1217C,部分型号产品图片如图2-2所示。
图2-2 S7-1200产品图片
每款CPU根据电源信号和输入/输出信号的类型有不同的型号,其本机自带数字量输入/输出点数亦有所差异,具体数据见表1-1。
S7-1200的CPU都支持扩展一个信号板(Signal Board),而对于信号模块(Signal Module),CPU 1211C不支持,CPU 1212C支持2个,CPU 1214C、1215C、1217C支持最多8个。S7-1200 PLC都自带至少一个PROFINET接口,都支持最多3个扩展通信模块。
S7-1200 PLC的附件还包括存储卡、电源和以太网交换机等。通过存储卡,将一个程序转移到多个CPU,只需简单地将内存卡安装到CPU中并执行一个上电周期,处理过程中CPU内的用户程序不会丢失。
2.2.1 S7-1200 PLC的CPU模块
S7-1200 PLC不同型号的CPU面板是类似的,如图2-3所示为CPU 1214C的面板示意图。
CPU有3类状态指示灯,用于提供CPU模块的运行状态信息。
(1)STOP/RUN指示灯
该指示灯的颜色为纯橙色时指示STOP模式,纯绿色时指示RUN模式,绿色和橙色交替闪烁时指示CPU正在启动。
(2)ERROR指示灯
该指示灯的颜色为红色闪烁时指示有错误,如CPU内部错误、存储卡错误或组态错误(模块不匹配)等,纯红色时指示硬件出现故障。
(3)MAINT指示灯
该指示灯在每次插入存储卡时闪烁。
CPU模块上的I/O状态指示灯用来指示各数字量输入或输出的信号状态。
CPU模块上提供一个以太网通信接口用于实现以太网通信,还提供了两个可指示以太网通信状态的指示灯。其中,“Link”(绿色)点亮指示连接成功,“Rx/Tx”(黄色)点亮指示传输活动。
图2-3 CPU 1214C的面板示意图
拆下CPU上的挡板可以安装一个信号板如图2-4所示。通过信号板可以在不增加空间的前提下给CPU增加I/O和RS485通信功能。目前,信号板包括数字量输入、数字量输出、数字量输入/输出、模拟量输入、模拟量输出、热电偶和热电阻模拟量输入以及RS485通信等类型。
图2-4 信号板的使用
另外,S7-1200 PLC的I/O接线端子是可拆卸的。
2.2.2 S7-1200 PLC的信号模块
S7-1200 PLC提供了各种I/O信号模块用于扩展其CPU能力,信号模块包括数字量输入模块、数字量输出模块、数字量输入/直流输出模块、数字量输入/交流输出模块、模拟量输入模块、模拟量输出模块、热电偶和热电阻模拟量输入模块以及模拟量输入/输出模块等,如图2-5所示。
图2-5 各种信号模块
各数字量信号模块还提供了指示模块状态的诊断指示灯。其中,绿色指示模块处于运行状态,红色指示模块有故障或处于非运行状态。
各模拟量信号模块为各路模拟量输入和输出提供了I/O状态指示灯。其中,绿色指示通道已组态且处于激活状态,红色指示个别模拟量输入或输出处于错误状态。此外,各模拟量信号模块还提供有指示模块状态的诊断指示灯。其中,绿色指示模块处于运行状态,而红色指示模块有故障或处于非运行状态。
2.2.3 S7-1200 PLC的通信模块
S7-1200的CPU最多可以添加3个通信模块,支持PROFIBUS主从站通信,RS485和RS232通信模块可以实现点对点的串行通信。SIMATIC STEP 7 Basic工程组态系统中有各种扩展指令或库功能,如USS驱动协议、Modbus RTU主站和从站协议等,能够实现相关通信的组态和编程。
S7-1200的CPU家族提供各种各样的通信选项以满足用户的网络要求,如I-Device、PROFINET、PROFIBUS、远距离控制通信、点对点(PtP)通信、USS通信、Modbus RTU、AS-i及I/O Link MASTER等。
1. PROFINET
S7-1200 PLC本机集成的PROFINET接口允许与以下设备通信:编程设备、HMI设备及其他SIMATIC控制器等;支持以下协议:TCP/IP、ISO-on-TCP及S7通信(服务器端)。
S7-1200 PLC通信接口由一个抗干扰的RJ45连接器组成。该连接器具有自动交叉网线(Auto-Cross-Over)功能,支持最多23个以太网连接,数据传输速率达10/100Mbit/s。为了使布线最少并提供最大的组网灵活性,可以将紧凑型交换机模块CSM 1277和S7-1200 PLC一起使用,从而组建成一个统一或混合的网络(具有线形、树形或星形的拓扑结构)。
采用公开的用户通信和分布式I/O指令,S7-1200的CPU可以和以下设备通信:其他的CPU、PROFINET I/O设备(如ET 200和SINAMICS)、使用标准的TCP通信协议的设备。如图2-6所示。
2. PROFIBUS
通过使用PROFIBUS主站和从站通信模块,S7-1200的CPU支持PROFIBUS通信标准。PROFIBUS主站通信模块同时支持下列通信连接,如图2-7a所示。
图2-6 S7-1200 PLC的PROFINET通信
1)为人机界面与CPU通信提供3个连接。
2)为编程设备与CPU通信提供1个连接。
3)为主动通信提供8个连接,采用分布式I/O指令。
4)为被动通信提供3个连接,采用S7通信指令。
通过使用PROFIBUS-DP从站通信模块CM 1242-5,S7-1200 PLC可以作为一个智能DP从站设备与任何PROFIBUS-DP主站设备通信。如图2-7b所示。
图2-7 S7-1200 PLC的PROFIBUS通信
a)PROFIBUS-DP主站 b)PROFIBUS-DP从站
3.远程控制通信
通过使用GPRS通信处理器,S7-1200的CPU支持通过GPRS实现监视和控制的简单远程控制,如图2-8所示。
图2-8 S7-1200 PLC的远程控制通信
TS适配器IE Basic拥有为各种通信技术精选的TS模块,如Modem、ISDN、GSM及RS232等,支持所有远程服务功能,不需要现场的PG/PC,不需要专业人员经常到现场,节省因售后服务而产生的差旅费用。如图2-9所示。
图2-9 TS适配器实现远程服务
4.点对点(PtP)通信
点对点通信可以实现S7-1200 PLC直接发送信息到外部设备,如打印机等,或者从其他设备接收信息,如条形码阅读器、RFID读写器和视觉系统等,以及与GPS装置、无线电调制解调器和许多其他类型的设备交换信息。如图2-10所示。
5. Modbus RTU
通过Modbus指令,S7-1200 PLC可以作为Modbus主站或从站与支持Modbus RTU协议的设备进行通信。通过使用CM 1241 RS485通信模块或CB 1241 RS485通信板,Modbus指令可以用来与多个设备进行通信。如图2-11所示。
图2-10 点对点(PtP)通信
图2-11 Modbus通信
6. USS通信
通过USS指令,S7-1200的CPU可以控制支持USS协议的驱动器。通过CM 1241 RS485通信模块或者CB 1241 RS485通信板,使用USS指令可用来与多个驱动器进行通信。如图2-12所示。
7. I-Device(智能设备)
通过简单组态,S7-1200 PLC控制器通过对I/O映射区的读写操作可实现主从架构的分布式I/O应用。如图2-13所示。
图2-12 USS通信
图2-13 I-Device(智能设备)应用
2.2.4 S7-1200 PLC的定位
S7-1200 PLC紧凑型控制器定位在原有的SIMATIC S7-200 PLC和S7-300 PLC产品之间。它与S7-200 PLC和S7-300 PLC的区别和差异主要体现在硬件、通信、工程、存储器、功能块、计数器、定时器及工艺功能等方面。
在硬件扩展方面,S7-200 PLC最多支持7个扩展模块,S7-300 PLC主机架最多支持8个扩展模块,且扩展模块全部在CPU的右侧(若水平放置),而S7-1200 PLC支持扩展最多8个信号模块和最多3个通信模块,其对比示意图如图2-14所示。
图2-14 硬件扩展对比示意图
在CPU本机输入/输出点及其信号面板方面,以CPU 224XP、CPU 313C和CPU 1214C为例来说明,S7-1200 PLC支持通过信号面板来根据需要增加I/O点,而S7-200 PLC和S7-300 PLC则是固定的。
在硬件组态方面,S7-200 PLC的地址自动分配,不能改变;而S7-1200 PLC和S7-300 PLC的地址可以由用户手动重新分配。
在通信方面,S7-200 PLC、S7-300 PLC和S7-1200 PLC都支持通过RS232和RS485实现点对点通信,支持ASCII、USS和Modbus等通信协议。S7-200 PLC需要RS232转换器实现RS232的串口通信,S7-300 PLC需要选用带PtP接口的CPU或者CP模块实现RS232的串口通信,而S7-1200 PLC通过RS232通信模块即可实现。S7-1200 PLC本机集成了PROFINET以太网接口,支持与编程设备、HMI和其他CPU的通信。
S7-1200 PLC的编程软件STEP 7 Basic提供了一个易用、集成的工程框架,可以用于S7-1200 PLC、精简HMI面板和伺服系统的组态。
在存储器方面,S7-200 PLC的程序存储器和数据存储器的大小是固定不变的,而S7-1200 PLC和S7-300 PLC的则是浮动的。
在装载存储区方面,S7-1200的CPU符号表和注释可以在线获得,即S7-1200的CPU符号表和注释可以保存在CPU中,而S7-200和S7-300的CPU皆不支持此功能。
S7-1200 PLC中利用“符号化存取”,可以最优化分配数据块所占的存储区;而在S7-300 PLC中,由于是混合声明数据块中的数据类型,这使得存储区的分配使用非常杂乱,其示意图如图2-15所示。
图2-15 数据块存储区分配
在保持存储区方面,S7-200 PLC仅有数据区可以设置为保持性的,S7-300 PLC是以字节为单位进行保持性设置的,而S7-1200 PLC最多可以设置2048B的保持区,可以对数据块中的离散变量设置保持性。
在存储卡大小上,S7-1200 PLC的存储卡最大可到24MB。对于S7-200 PLC和S7-1200 PLC,存储卡都是可选的,可以存放的内容是相同的。而S7-300 PLC的存储卡是必需的,且S7-300 PLC的存储卡无法存放配方和数据记录等。此外,S7-1200 PLC的存储卡还将用来实现存储区扩展、程序分配及固件升级等功能。
在块的类型方面,S7-200 PLC有主程序、子程序、中断子程序及数据区V区等,而S7-1200 PLC和S7-300 PLC类似,有OB、FB、FC及数据块DB等。
在程序结构方面,S7-200 PLC调用子程序,最大嵌套深度为8,所有程序块共用一个通用数据块;而S7-1200 PLC像S7-300 PLC一样具有FC、FB和OB等,高度模块化,且可以重复利用,最大嵌套深度为16。S7-200 PLC中将事件分配给中断,中断事件触发相应的子程序;而S7-1200 PLC和S7-300 PLC类似,都是通过组织块分配事件。
S7-1200 PLC的新数据类型使应用更加灵活。例如用于日期和时间时,S7-200 PLC需要读取相应的V区数据,S7-300 PLC通过调用SFC读取日期时间数据,而S7-1200 PLC可以通过符号名访问DTL结构的所有组成部分。
在计数器指令方面,S7-200 PLC、S7-300 PLC和S7-1200 PLC也有不同。S7-200 PLC的计数器当计数值大于或等于设定值时,计数器状态位置位;S7-300 PLC的计数器当计数值大于0时,计数器输出置位;而S7-1200 PLC的计数器当计数值大于或等于设定值时,输出置位。S7-200 PLC计数器的计数范围是0~32767,S7-300 PLC的S5计数器的计数范围是0~999,S7-1200 PLC的计数范围可以调整。
在定时器指令方面,S7-200 PLC和S7-1200 PLC也有差异。S7-200 PLC的定时器当计时值大于或等于设定值时,定时器状态位置位;S7-300 PLC的定时器当计时值大于设定值时,定时器输出置位;而S7-1200 PLC的定时器当计时值大于或等于设定值时,输出置位;而且S7-1200 PLC的定时时间可以像S7-300 PLC的一样直接输入,不需要像S7-200 PLC那样使用定时时基1/10/100ms进行换算。
在工艺功能方面,S7-200 PLC一般是通过向导来实现的,而S7-1200 PLC则是通过调用相应的块来实现的。
上述差异的详细内容将在后续章节进行介绍。
2.2.5 电源计算
S7-1200的CPU有一个内部电源,为CPU、信号模块、信号扩展板及通信模块提供电源,并且也可以为用户提供24V电源。
CPU为信号模块、信号扩展板及通信模块提供5V直流电源,不同的CPU能够提供的功率是不同的。在硬件选型时,需要计算所有扩展模块的功率总和,检查该数值是否在CPU提供功率范围之内,如果超出则必须更换容量更大的CPU或减少扩展模块数量。
S7-1200的CPU也可以为信号模块的24V输入点、继电器输出模块或其他设备提供电源(称作传感器电源),如果实际负载超过了此电源的能力,则需要增加一个外部24V电源,此电源不可与CPU提供的24V电源并联。建议将所有24V电源的负端连接到一起。
传感器24V电源与外部24V电源应当供给不同的设备,否则将会产生冲突。
如果S7-1200 PLC系统的一些24V电源输入端互联,此时可用一个公共电路连接多个M端子。例如当设计CPU为24V电源供给、信号模块继电器为24V电源供给及非隔离模拟量输入为24V电源供给的“非隔离”电路时,所有非隔离的M端子必须连接到同一个外部参考点上。
下面通过例子说明电源的计算方法。
某工程项目经统计I/O点数为20个DI,DC 24V输入,10个DO中继电器输出8个,2个DC输出,1路模拟量输入,1路模拟量输出,选用S7-1200 PLC,CPU选型如下。
由于数字量I/O点数较多,且为继电器输出,选用CPU 1214C AC/DC/继电器,订货号为6ES7 214-1BE30-0XB0。由于需要2个DC输出,选用扩展的信号模块SM 1223 8×DC 24V输入/8×DC 24V输出,订货号为6ES7 222-1BF30-0XB0,1路模拟量输入为CPU自带,1路模拟量输出可以选用信号板SB 1232的1路模拟量输出,订货号为6ES7 232-4HA30-0XB0。
电源功率的计算见表2-1。本例中,CPU为信号模块提供了足够的DC 5V电源,通过传感器电源可以为所有输入和扩展的继电器线圈提供足够的DC 24V电源,故额外不再需要DC 24V电源。
表2-1 电源功率的计算