西门子PLC总代理西门子授权代理商西门子低压总代理商
西门子PLC总代理西门子授权代理商西门子低压总代理商
西门子PLC总代理西门子授权代理商西门子低压总代理商
西门子PLC总代理西门子授权代理商西门子低压总代理商
6ES7312-1AE14-0AB0 | SIMATIC S7-300,CPU 312 带有MPI接口,集成24 V DC 电源,32 K 工作存储区,必须有MMC卡 |
6ES7312-5BF04-0AB0 | SIMATIC S7-300, CPU 312C, 紧凑型CPU带有MPI,10数字量输入/6数字量输出,2个高速计数器(10KHZ),集成24 V DC 电源,64 KB工作存储区,前连接器(1X 40 针)需要MMC卡 |
6ES7313-5BG04-0AB0 | SIMATIC S7-300, CPU 313C,紧凑型CPU带有MPI,24数字量输入/16数字量输出,4模拟量输入, 2模拟量输出 1 PT100,3个高速计数器(30 KHZ),集成24 V DC 电源,128 KB工作存储区,前连接器(1X 40 针)需要MMC卡 |
6ES7313-5BG04-4AB1 | SIMATIC S7-300 CPU 组包含:S7-300 CPU 313C(6ES7313-5BG04-0AB0),2X前连接器(6ES7392-1AM00-0AA0)带有螺钉触点,40针 |
6ES7313-5BG04-4AB2 | SIMATIC S7-300 CPU 组包含:S7-300 CPU 313C(6ES7313-5BG04-0AB0),2X前连接器(6ES7392-1AM00-0AA0)带有弹簧触点,40针 |
6ES7313-6BG04-0AB0 | SIMATIC S7-300, CPU 313C-2 PTP,紧凑型CUP含MPI,16数字量输入/16数字量输出,3个高速计数器(30 KHZ),集成接口RS485,集成24V DC 电源,128KB 工作存储区,前连接器(1 X 40针)需要MMC卡 |
6ES7313-6CG04-0AB0 | SIMATIC S7-300, CPU 313C-2DP, 凑型CPU带有MPI,16数字量输入/16数字量输出,3个高速计数器(30 KHZ),集成DP接口,集成24V DC 电源,128KB 工作存储区,前连接器(1 X 40针)需要MMC卡 |
6ES7313-6CG04-4AB1 | SIMATIC S7-300 CPU 组包含:S7-300 CPU 313C-2 DP(6ES7313-6CG04-0AB0),1X 前连接器(6ES7392-1AM00-0AA0)带有螺钉触点,40针 |
6ES7313-6CG04-4AB2 | SIMATIC S7-300 CPU组包含:S7-300 CPU 313C-2 DP(6ES7313-6CG04-0AB0),1X 前连接器(6ES7392-1BM01-0AA0)带有弹簧触点,40针 |
6ES7314-1AG14-0AB0 | SIMATIC S7-300, CPU 314 CPU 带有MPI接口,集成24V DC 电源, 128 KB工作存储区,必须有MMC卡 |
6ES7314-6BH04-0AB0 | SIMATIC S7-300, CPU 314C-2 PTP 型 CPU 带有MPI,24数字量输入/16数字量输出,4模拟量输入,2模拟量输出,1T100,4个高速计数器 (60 KHZ),集成接口 RS485,集成24V DC 电源,192 KB工作存储区,前连接器(2 X 40针)需要MMC卡 |
6ES7314-6CH04-0AB0 | SIMATIC S7-300, CPU 314C-2 DP紧凑型CPU带有MPI,24 数字量输入/16 数字量输出, 4模拟量输入, 2模拟量输出, 1 PT100,4个高速计数器(60 KHZ),集成 DP 接口,集成24V DC 电源,192 KB工作存储区,前连接器 (2 X 40针) 需要MMC卡 |
6ES7314-6CH04-4AB1 | SIMATIC S7-300 CPU组包含:S7-300 CPU 314C-2 DP(6ES7314-6CH04-0AB0),2X 前连接器(6ES7392-1AM00-0AA0)带有螺钉触点, 40针 |
6ES7314-6CH04-4AB2 | SIMATIC S7-300 CPU 组包含:S7-300 CPU 314C-2 DP(6ES7314-6CH04-0AB0),2X 前连接器(6ES7392-1BM01-0AA0)带有弹簧触点, 40针 |
6ES7314-6EH04-0AB0 | SIMATIC S7-300, CPU 314C-2PN/DP 紧凑型CPU带有192 KB工作存储区, 24 数字量输入/16 数字量输出, 4模拟量输入, 2模拟量输出, 1 PT100, 4 快速计数器 (60 KHZ), 1. 接口 MPI/DP 12MBIT/S, 2. 接口以太网 PROFINET, 含 2个 PORT SWITCH, 集成 24V DC 电源, FRONT C |
6ES7314-6EH04-4AB1 | SIMATIC S7-300 CPU 组包含:S7-300 CPU314C-2PN/DP(6ES7314-6EH04-0AB0),2X 前连接器(6ES7392-1AM00-0AA0)带有螺钉触点, 40针 |
6ES7314-6EH04-4AB2 | SIMATIC S7-300组包含:S7-300 CPU314C-2PN/DP(6ES7314-6EH04-0AB0),2X 前连接器(6ES7392-1BM01-0AA0)带有弹簧触点, 40针 |
6ES7315-2AH14-0AB0 | SIMATIC S7-300, CPU 315-2DP CPU 含有 MPI 接口, 集成 24 V DC 电源, 256 KB 工作存储区 2. 接口DP-MASTER/SLAVE,需要 MMC卡 |
6ES7315-2EH14-0AB0 | SIMATIC S7-300 CPU 315-2 PN/DP, 中央处理器含有 384 KB工作存储区, 1. 接口MPI/DP 12MBIT/S, 2.接口以太网PROFINET, 带有 2个 PORT SWITCH,必须有 MMC卡 |
6ES7317-2AK140-AB0 | SIMATIC S7-300, CPU317-2 DP, 中央处理器带有1 MB 工作存储区, 1. 接口 MPI/DP 12MBIT/S,2. 接口 DP-MASTER/SLAVE,必须有MMC卡 |
6ES7317-2EK14-0AB0 | SIMATIC S7-300 CPU 317-2 PN/DP, 中央处理器带有 1 MB 工作存储区, 1. 接口 MPI/DP 12MBIT/S, 2. 接口 以太网 PROFINET, 带有 2 个PORT SWITCH, 必须有 MMC卡 |
6ES7318-3EL01- 0AB0 | SIMATIC S7-300 CPU 319-3 PN/DP, 中央处理器 带有 2 MB 工作存储区, 1. 接口 MPI/DP 12MBIT/S, 2. 接口 DP-MASTER/SLAVE, 3. 接口 以太网 PROFINET, 带有 2个 PORT SWITCH,必须有 MMC卡 |
6ES7315-7TJ10-0AB0 | SIMATIC S7-300, CPU 315T-3 PN/DP, 中央处理器用于PLC和TECHNOLOGY,384 KBYTE 工作存储区, 1. 接口 MPI/DP 12MBIT/S, 2. 接口 DP(DRIVE), 3. 接口 以太网 PROFINET 带有 2个 PORT SWITCH,集成 I/O用于TECHNOLOGY, 前连接器 (1 X 40针) 必须有MMC卡 MIN. 8 MB |
一、西门子S7-1200定时器介绍
S7-1200的定时器为IEC定时器,用户程序中可以使用的定时器数量仅仅受CPU的存储器容量限制。
使用定时器需要使用定时器相关的背景数据块或者数据类型为IEC_TIMER(或TP_TIME、TON_TIME、TOF_TIME、TONR_TIME)的DB块变量,不同的上述变量代表着不同的定时器。
S7-1200包含四种定时器:
脉冲定时器 TP
接通延时定时器 TON
关断延时定时器 TOF
时间累加器 TONR
此外还包含复位定时器(RT)和加载持续时间(PT)这两个指令。
指令位置参见图1,定时器引脚参考参见图2,定时器使用及时序图参见图3。这四种定时器又都有功能框和线圈型两种,区别参见图4。
图1 指令位置
图2 定时器引脚汇总
图3 定时器使用及时序图
图4 复位定时器和加载持续时间的区别
二、西门子S7-1200定时器创建
S7-1200定时器创建有以下几种方法:
1. 功能框指令直接拖入块中
自动生成定时器的背景数据块,该块位于“系统块>程序资源”中,参见图5。
图5 自动生成定时器的背景数据块
2. 功能框指令直接拖入FB块中
生成多重背景,该函数块将数据保存在调用函数块的背景数据块中,参见图6。
图6 多重背景
3. 功能框指令直接拖入FB、FC块中
生成参数实例,从TIA博途V14开始,参见图7。
图7 参数实例
4.在DB块、FB的静态变量、FC和FB的INOUT变量中新建IEC_TIMER类型变量
在程序中将功能框定时器指令拖入块中时,在弹出的“调用选项”页面点击“取消”按钮,之后将该建好的变量填入指定位置。对于线圈型指令,这是**方法。
(1)DB块中新建IEC_TIMER等类型变量(LAD/FBD),如果是IEC_TIMER等类型变量的数组,S7-1200从V2.0版本开始支持,参见图8~图10。
图8 DB块中的定义
图9 功能框定时器使用
图10 线圈型定时器使用
(2)FB的静态变量中新建IEC_TIMER等类型变量(LAD/FBD),如果是IEC_TIMER等类型变量的数组,S7-1200从V2.0版本开始支持,参见图11。
图11 静态变量中的定义
(3)FC和FB的INOUT变量中新建IEC_TIMER等类型变量(LAD/FBD),如果是IEC_TIMER等类型变量的数组,S7-1200从V2.0版本开始支持,从TIA博途V14开始支持IEC_TIMER等类型变量的变长数组(ARRAY[#]),参见图12。
图12 IN/OUT中定义
(4)以上三种方法的SCL版本,从TIA博途V14开始支持,参见图13。
图13 SCL中使用
5. 在插入DB时,选择IEC_TIMER类型的数据块,将该数据块填在指令上方
此种方法生成的数据块等同于第一种的背景数据块,位于“系统块>程序资源”中,从TIA博途V11开始,线圈型指令同样适用,参见图14。
图14 新建IEC_TIMER类型DB
三、西门子S7-1200定时器常见问题
1.为什么定时器不计时?
(1)定时器的输入位需要有电平信号的跳变,定时器才会开始计时。如果保持不变的信号作为输入位是不会开始计时的。TP、TON、TONR需要IN从“0”变为“1”启动,TOF需要IN从“1”变为“0”启动。
(2)定时器的背景数据块重复使用。
(3)只有在定时器功能框的Q点或ET连接变量,或者在程序中使用背景DB(或IEC_TIMER类型的变量)中的Q点或者ET,定时器才会开始计时,并且更新定时时间。参考图15。
图15 常见定时器使用方法
2.如何编程自复位定时器并产生脉冲?
正确答案参考图16,同时附上2种常见错误编程方式。
原因:S7-1200的定时器的时间更新发生在定时器功能框的Q点或ET连接变量时,或者在程序中使用背景DB(或IEC_TIMER类型的变量)中的Q点或者ET时。
即如果程序中多次使用同一背景DB的Q点,或者既使用定时器功能框的Q点或ET连接变量,又使用背景DB的Q点,以上两种情况都会造成定时器在一个扫描周期内的多次更新,可能造成定时器不能正常使用的情况。
图16 自复位定时器示例
正确方法的流程,将程序根据指令分为两部分,如图17所示。
图17 分解正确指令
(1)阶段1:初始"DB2".脉冲=False,于是"DB2".脉冲取反为True,触发计时器开始计时,输出的"DB2".脉冲=False,状态不变;定时时间不到,则始终在阶段1;
(2)当“定时时间完成”发生在①所处的位置,在TON处定时器更新,Q输出True,因此输出的"DB2".脉冲=True,等到下周期时"DB2".脉冲取反为False,导致输出的"DB2".脉冲=False,等再到下周期时就回到了阶段1;
(3)当“定时时间完成”发生在②所处的位置,不影响定时器的更新,需要到下一周期才会改变输出,就回到了阶段2。
从上可知,定时器实现了自复位,并且“DB2”.脉冲=true只保持了一个周期,形成了脉冲。
以第一个错误方法解释一下为什么这种方法不能实现自复位定时器并产生脉冲,如图18所示,将程序根据指令分为三部分:
图18 分解错误指令
(1)阶段1:初始第一行"IEC_Timer_0_DB".Q=False,触发计时器开始计时,第二行,当定时时间未完成,"IEC_Timer_0_DB".Q=False保持不变,输出的"DB2".脉冲=False;定时时间不到,则始终在阶段1;
(2)阶段2:当“定时时间完成”发生在①所处的位置,在第一行的"IEC_Timer_0_DB".Q处定时器更新,更新后,"IEC_Timer_0_DB".Q=True,取反为False,此时作为TON的输入,使得定时器复位。第二行的"IEC_Timer_0_DB".Q=False,输出的"DB2".脉冲=False,到下周期时就回到了阶段1;
(3)阶段3:当“定时时间完成”发生在②所处的位置,在第二行的"IEC_Timer_0_DB".Q处定时器更新,更新后,"IEC_Timer_0_DB".Q=True,输出的"DB2".脉冲=True。等到下周期时,"IEC_Timer_0_DB".Q=True,取反为False,此时作为TON的输入,使得定时器复位,第二行的"IEC_Timer_0_DB".Q=False,输出的"DB2".脉冲=False,等再到下周期时就回到了阶段1;
(4)阶段4:当定时时间到发生在③所处的位置,不影响定时器的更新,需要到下一周期才会改变输出,就回到了阶段2。
从上可知无论“定时器时间完成”发生在哪个点,定时器都可以实现自复位,但是只有当定时时间到发生在②所处的位置时,"DB2".脉冲=True只保持一个周期,形成了脉冲,而在①和③时"DB2".脉冲始终为False无法形成脉冲。在正常程序中②的执行时间在整个扫描周期中占比很小,因此只有很低的概率可以实现脉冲。所以不能使用此种方法,第二个错误方法与之类似。
3.如何使用定时器实现**定时?
举例来说,定时1s的接通延时定时器,当程序扫描到定时器功能框的Q点或ET时或者扫描到背景DB(或IEC_TIMER类型的变量)中的Q点或者ET时,如果时间为997ms,只会继续定时等下一次扫描,而下一次扫描到可能就是1003ms,此时定时器接通。
也就是说几乎不可能正好1s接通,如果再配合计数器实现更长时间的定时,误差只会越来越大。
所以**定时还是推荐使用循环中断(OB30)配合计数器来实现。
4.定时器指令中,功能框和线圈型的区别?
原理上是完全一样的,细微区别:
(1) 功能框定时器上可以定义Q点或ET,在程序中可以不必出现背景DB(或IEC_TIMER类型的变量)中的Q点或者ET;而线圈型定时器必须使用背景DB(或IEC_TIMER类型的变量)中的Q点或者ET;
(2) 功能框定时器在使用时可以自动提示生成背景块,或者选择不生成;而线圈型定时器只能通过手动方式建立背景块;
(3) 线圈型定时器如果出现在网络段中间时不影响RLO的变化,如图19所示,"DB46".Static_1和I1.0同步变化。
图19 线圈型定时器示例
————————————————
版权声明:本文为CSDN博主「Lay_鑫辰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/viixin/article/details/131370507