山东省西门子授权供应商---西门子电机济宁市总代理

产品名称 山东省西门子授权供应商---西门子电机济宁市总代理
公司名称 广东湘恒智能科技有限公司
价格 .00/件
规格参数 西门子PLC:西门子伺服电机
西门子触摸屏:西门子电缆
西门子变频器:西门子模块
公司地址 惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)
联系电话 13510737515 13185520415

产品详情

    S7-1200PLC定时器为IEC定时器,没有固定的类似S7-200CN中的T0、T37一样的编号,使用前需要在数据块中声明IEC_TIMER类型变量才可以使用。使用的数量收CPU的存储器容量限制。


    定时器介绍


    S7-1200定时器包含四种定时器:

        1、TP:生成脉冲定时器。

                IN由“0”变成“1”时,Q由“0”变为“1”。在ET未达到PT时间前,Q均                                保持“1”输出状态,不受IN的状态变化影响。当ET=PT时,停止计                                时,Q由“1”转换为“0”。


图1 TP生成脉冲定时器

        2、TON:接通延时定时器。

                IN为“1”时,定时器启动计时。当ET=PT时,Q输出为“1”,ET停止计时并                    保持当前计时状态。任意时刻IN为“0”时,ET计时时间清零,Q输出恢                        复为“0”。


图2 接通延时定时器

        3、TOF:关断延时定时器。

                    IN由“0”变为“1”时,Q输出变为“1”,当IN由“1”变为“0”时,定时器计时                        启动,当ET=PT时,Q输出变为“0”,并定时器停止计时,保持当前计                            时值。任意时刻IN变为1时。Q输出变为“0”,并定时器计时值清零。


图3 TOF关断延时定时器

        4、TONR:时间累加器。

                IN由“0”变为“1”时,定时器开始计时,当IN由“1”变为“0”时,定时器停                            止计时并保持当前计时值。当ET=PT时,Q输出变为“1”。当R                                    由“0”变为“1”时,定时器计时值复位,Q输出变为“0”。


图4 TONR时间累加器


        在S7-1200指令中,定时器分为功能框定时器和线圈型定时器。如图5所示。

这两种定时器在使用上没有区别。


图5 定时器指令

    定时器程序编写

        

      前面我们有介绍到,S7-1200中的IEC定时器,需要先在数据块中声明IEC_TIMER类型的定时器变量,声明方法如下:

        1、将DB块声明为1个IEC_TIMER定时器。过程如“图6”所示。

                1、添加新块;

                2、定义新DB块名称;
                3、将类型修改为“IEC_TIMER”类型;

                4、点击“确定”即可;


图6 DB块声明为IEC_TIMER

        2、在全局DB块内,声明一个或多个IEC_TIMER类型变量。过程如“图7”所示

                1、添加一个全局DB数据块,名称可任意定义;

                2、在全局DB内,添加一个变量,类型设置为“IEC_TIMER”;

                通过此方法可以在一个DB块内,添加多个IEC_TIMER变量,这样会比第一                        种方法看起来更加简洁直观。

图片

图7 在全局DB块内新建IEC_TIMER定时器

        声明好IEC_TIMER变量后,我们可以回到Main主程序中,添加一个定时器来做个简单测试。下面以TON接通延时定时器为例,做个简单程序测试。

        1、从指令树的基本指令中,将TON指令拖入到我们想要放的位置;

        2、如果我们已声明过IEC_TIMER变量,则弹出的对话框我们可以直接点取消;

        3、在TON定时器指令上方,输入我们所声明的定时器变量;

        4、为定时器的IN和PT分配参数;Q和ET可以选择不分配变量;

             其中PT为Timer类型变量;格式为“T#”再加时间,如2秒,可以                                    写入“T#2S”或者用“T#2000MS”

图片

图8 TON指令调用

            这样定时器的程序即完成。


问题注意点:


        1、为什么TON定时器在IN为“1”时,定时器不计时?

            1、S7-1200中IEC_TIMER定时器在使用时,如果在程序中未使用的该定时                    器的ET或Q,则该定时器不会刷新,则计时器当前值不更新。

            2、定时器的声明变量被重复使用。


图9 定时器计时不工作

            2、定时器能否达到精准计时?

                    不能做到。

                    IEC_TIMER定时器的更新发生在定时器的ET或者Q被扫描到时。因此定                        时器的计时值会受到扫描周期影响,不能做到精准计时,如果需要精准                        技术,可采用循环中断(OB30)来实现。