热门搜索:

上海西邑电气技术有限公司成立于1996年。在西门子公司广大同仁和工控领域各界朋友的关怀下埋头发展,一路走来已成西门子合作伙伴中的佼佼者。总部设在上海,办公面积1500多平方米,员工150余人。

    四川省西门子PLC总代理商

    更新时间:2020-09-27   浏览数:129
    所属行业:机械 电工电气 工控系统及装备
    发货地址:上海市金山区  
    产品规格:四川省西门子PLC总代理商
    产品数量:100.00台
    包装说明:全新原装
    单 价:面议

    四川省西门子PLC总代理商

    上海西邑电气技术有限公司   评着“以人为本、科技先导、顾客满意、持续改进”的工作方针,致力于工业自动化控制领域的产品开发、工程配套和系统集成,拥有丰富的自动化产品的应用和实践经验以及雄厚的技术力量,尤其以 PLC复杂控制系统、传动技术应用、伺服控制系统、数控备品备件、人机界面及网络/软件应用为公司的技术特长,几年来,   在与德国 SIEMENS公司自动化与驱动部门的长期紧密合作过程中,建立了良好的相互协作关系,在可编程控制器、交直流传动装置方面的业务逐年成倍增长,为广大用户提供了SIEMENS的新 技术及自动控制的良好解决方案


    blob:http://m.b2b168

    前几天帮着同事处理一个问题,用户反应下雨造成工厂停电,S7-1500 CPU 断电后再也不能启动了?遇到这样的问题反映就是下雨断电肯定是打雷了,没有做防雷保护影响到PLC系统了,CPU再也启动不起来肯定烧坏了,这样分析问题就简单了。

        测试后,CPU居然可以启动,是不是断电时间长,电容放电后就可以了,或许是参数设置错误?带着这个疑问查看了CPU的属性配置,配置图如下:


    111.png


        在启动项可以看到启动设置为“断开电源之前的操着模式”,这表示如果CPU在断电之前是运行模式,那么再次上电后将保持断电前的模式即自动运行,但是为什么没有启动呢?

    查看CPU的诊断缓冲区,原来问题的原因是这样的,先看看节选出来的诊断缓冲区信息(为了便于查看,调整了诊断缓冲区条目次序):

     

    1:CPU 信息:关闭电源

     CPU 从 RUN 切换到 NO POWER 模式

    到达事件

    CPU断电了

     

    2:CPU 信息:上电

    存储卡类型:程序卡(外部装载存储器)

     CPU 从 NO POWER 切换到 STOP(初始值) 模式

    到达事件

    CPU 又上电了,CPU先进入停止模式,然后再进入启动模式。

     

    3:CPU 信息:关闭电源

     CPU 从 STOP(初始值) 切换到 NO POWER 模式

    到达事件

    不幸在启动过程中又断电了,这次断电前的模式变成停止模式了。


    4:CPU 信息:随后切换操作模式

    上电模式设置:不启动

    未决的启动禁止项:

     - 外部装载存储器故障(在 TIA Portal 中将其删除或移除存储卡)

      - 未载入 HW 组态,或载入/更改未成功完成

     CPU 从 STOP(初始值) 切换到 STOP 模式

    到达事件

    这次CPU记住上次断电前的操作模式是“STOP”,所以CPU切换了操作模式,即不启动。

     

    按说到这里CPU进入到“STOP”模式,需要手动将CPU的启动开关切换到“STOP”,然后再次切换到“RUN”就可以运行了,下面看看后续的操作:

     

    5:CPU 信息:关闭电源

     CPU 从 STOP 切换到 NO POWER 模式

    到达事件

    6:CPU 信息:上电

    存储卡类型:程序卡(外部装载存储器)

     CPU 从 NO POWER 切换到 STOP(初始值) 模式

    到达事件

    7:断电

    8:上电

    9:断电

    10:上电

    11:…………………..

     

        但是用户一直操作的是电源上的开关,所以CPU一直执行参数的设置即进入“STOP”模式。问题虽说比较简单,但是背后原因的分析还是需要花些时间。

    1. 德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金、化工、印刷生产线等领域都有应用。西门子(SIEMENS)公司的PLC产品包括LOGO,S7-200,S7-300,S7-400,工业网络,HMI人机界面,工业软件等。

    2. 西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性更高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等

    3.  工业通讯网络

      通讯网络是自动化系统的支柱,西门子的全集成自动化网络平台提供了从控制级一直到现场级的一致性通讯,“SIMATIC NET”是全部网络系列产品的总称,他们能在工厂的不同部门,在不同的自动化站以及通过不同的级交换数据,有标准的接口并且相互之间完全兼容。

    4.  人机界面(HMI)硬件 

      HMI硬件配合PLC使用,为用户提供数据、图形和事件显示,主要有文本操作面板TD200(可显示中文),OP3,OP7,OP17等;图形/文本操作面板OP27,OP37等,触摸屏操作面板TP7,TP27/37,TP170A/B等;SIMATIC面板型PC670等。个人计算机(PC)也可以作为HMI硬件使用。HMI硬件需要经过软件(如ProTool)组态才能配合PLC使用。

    这个原因是由于通信造成的,关键点是HMI发送的数据在哪一时刻传到CPU中,S7-300的通信点在循环控制访问点(CCP)完成的,参考图1.


    1.png四川省西门子PLC总代理商

     

    图1

          

           即在每一个程序处理完成后进行数据的交换,那么为什么S7-300就没有问题呢?原因是FB块的IN/OUT接口,在FB块调用前读入,在执行完成后写回,HMI发送的值,先复制到FB的形参中进行计算,然后将计算结果再写回实参(注意是在FB块所有代码执行完),所以每次HMI发送的值到实参,然后复制到形参,FB块执行完成后再写回到实参,周而复始,不会出现问题。但是S7-400和S7-1500为了增强通信性能,与HMI通信的时间点是在每一个时间片(TS)中完成的,参考图2.


    2.png

    图2 

          

           如果程序执行的时间比较长,通信的数据可以交换多次,这样就提高了通信效率,使通信与CPU的扫描周期分开了,这样对于上述的操作有可能会有问题,如果调用的FB块已经读到实参的值,例如11,在运行中新的值13写到实参中,FB块在执行完成后写回实参中,11将13覆盖了,所以感觉没有写成功,实际是被覆盖了,为什么有时会成功呢?只有在这个FB块执行前或者执行后,通信的值到了才不会被覆盖,我在程序中使用了延时,如果将延时减小,成功的概率就会大增,但是编程必须严谨,这样的问题一次都不能出现,方法很简单,就是HMI发送的数据先到通信缓存区,例如DB块中(这样也便于管理),然后再将缓冲区的数据使用MOVE指令复制到实参中,这样可以确保HMI发送的数据在FB块执行前或者执行后才进行交换。

           那么为什么数组就没有问题呢?简单数据类型实参的值是复制到形参的,参考图3.


     3.png

    图3

          

           这时在FB块中访问IN/OUT参数是在对形参进行操作,FB执行完成后再复制到实参中;使用数组和结构体是使用pointer引用方式,参考图4.


    4.png

     

    图4

          

           我们可以自己在FB的静态参数区添加一个数组,不管多大和多小都是占用6个字节(使用非优化的块,否则看不出地址偏移),6个字节,很容易让我们想起了POINTER类型。如果在FB块中对IN/OUT参数操作时,实际是直接对引用的变量进行操作,执行完了立刻写回,这样就不会等待FB块完全执行完了再写回,由于我们在FB中编写的程序只有一条,而这条指令又不能被通信中断,就是说在MOVE一半时是不能通信赋值的,所有不会被覆盖。如果也是按照图3复制的方式编写FB即先读出,然后经过计算,后在FB块的结尾写回,问题同样会出现的。

    四川省西门子PLC总代理商



    http://www.hyzdhxt.com