您好!欢迎光临工博士商城

施耐德塑壳断路器专营

产品:135    

咨询热线:19973509795

QQ QQ
您当前的位置:首页 » 新闻中心 » 施耐德变频器 CIA402 状态机控制功能块
产品分类
新闻中心
施耐德变频器 CIA402 状态机控制功能块
发布时间:2023-03-17        浏览次数:536        返回列表
 施耐德ATV变频器是基于IEC 61800-7的状态图实现的CIA402状态机,此状态机描述了由状态字(ETA)参数监控的驱动器状态机与命令字(CMD)之间的交互。此文以ATV310为例,实现CIA402状态机的控制逻辑。
  • 前言

    相信很多初次使用施耐德变频器的同行都会与使用西门子变频器一样给控制相应的位赋值或者给固定的控制字发送给变频,可变频器并不会予以理会,变频的数码管面板依然会显示 “- - 0 6”。当然我也不例外,此处省略一万字的心路历程!

    出现这种问题怎么办?只能咨询施耐德在线客服咯,咨询完后,施耐德的工程师发给我一张名为流程图的PDF,如下图所示:
    微信图片_20230317141714
     

  • 编程思路

    流程图中的都是描述性语言,还是需要给它转换成编程语言,在加上一点点的逻辑修饰,方可完成***的功能块制作。

    将变频的状态字同16#007F(MSK)进行与运算得到2-6的五种状态(ETA)。将变频状态与16#000F(MSK) 进行与运算再判断运算结果是否等于16#0008,等于则故障,不等于则正常可以进行后续逻辑控制。

    解析流程图可发现故障状态和快停状态都是独立出来的,在很多种状态下都可以被触发出现此两种状态。其中故障状态的优先级又是***高的,所以我们可以写两层IF语句嵌套,外层是判断是否故障,里层判断是否快停。由于快停在3-5状态下均可激活,为了编程方便就提高快停的优先级。

    而后是变频正常状态下的2-6流转,使用CASE语句判断当前变频处于何种状态,再给变频发送相应的控制字,使变频正常流转至4状态。例如当状态(ETA)为16#xx40(通电被禁止 变频器未上电状态)或16#xx50(通电被禁止 变频器已上电状态)时,给控制字发送16#0006,此时变频的状态(ETA)将会变成16#xx21(通电准备好 变频器未上电状态) 或者 16#xx31(通电准备好 变频器已上电状态) 。

    正转 和 反转 命令采用中间标志位作为真正的正反转命令标记,上升沿时置位标记位,下降沿时复位标记位,这样处理有一个好处,当变频器故障或异常时我们强行复位正反转标记位,待变频器转为正常时不会意外启动变频器,仅当正转 和 反转 命令再次出现上升沿时才能够允许运行变频器。

    基于程序的可读性建议,可使用块中的常量作为各种状态命令的数据,如下图所示:
    微信图片_20230317141628
     

  • 使用说明

    10704.Sai_CIA402

    S7-300,S7-400,S7-1200,S7-1500

    说明

    可以使用“10704.Sai_CIA402”指令,对使用CIA402状态机的施耐德变频进行基本控制,主要实现对变频器的正转、反转、自由停车和减速停车切换、快停,故障复位;对变频器的基本状态读取例如:就绪、运行、故障、警告、等等状态读取,具体数据说明请参照块接口注释。

    功能块接口(SCL

    "10704.Sai_CIA402_DB"(i_StatusWord  := 16#0,
    i_Enable := TRUE,
    i_QuickStop := false,
    i_FreeStopp := false,
    i_Reset := false,
    i_FWD := false,
    i_REV := false,
    o_ControlWord => _word_out_,
    o_PowerOn => _bool_out_,
    o_RDY => _bool_out_,
    o_Run => _bool_out_,
    o_Dir => _bool_out_,
    o_Reach => _bool_out_,
    o_Limit => _bool_out_,
    o_StopKey => _bool_out_,
    o_Warn => _bool_out_,
    o_Fault => _bool_out_);

    输入参数

    参数 声明 数据类型 存储区 说明
    i_StatusWord Input Word I、Q、M、D、L 状态字
    i_Enable Input Bool I、Q、M、D、L 1 = 使能变频器控制 0 = 发送控制字 16#0000
    i_QuickStop Input Bool I、Q、M、D、L 1 = 变频器快停
    i_FreeStopp Input Bool I、Q、M、D、L 1 = 自由停车 0 = 减速停车
    i_Reset Input Bool I、Q、M、D、L 1 = 故障复位(故障时有效)
    i_FWD Input Bool I、Q、M、D、L 1 = 正转 0 = 停止
    i_REV Input Bool I、Q、M、D、L 1 = 反转 0 = 停止

    输出参数

    参数 声明 数据类型 存储区 说明
    o_ControlWord Output Word I、Q、M、D、L 控制字
    o_PowerOn Output Bool I、Q、M、D、L 1 = 电源接通
    o_RDY Output Bool I、Q、M、D、L 1 = 就绪
    o_Run Output Bool I、Q、M、D、L 1 = 运行 0 = 停止
    o_Dir Output Bool I、Q、M、D、L 1 = 正转 0 = 反转
    o_Reach Output Bool I、Q、M、D、L 1 = 达到目标设定值
    o_Limit Output Bool I、Q、M、D、L 1 = 内部限制值有效
    o_StopKey Output Bool I、Q、M、D、L 1 = 通过Stop键停止
    o_Warn Output Bool I、Q、M、D、L 1 = 警告
    o_Fault Output Bool I、Q、M、D、L 1 = 故障
  • 源代码

    源代码包含内容

    功能块

    FUNCTION_BLOCK "10704.Sai_CIA402"


分享到: 


 

联系热线:19973509795   联系人:卢小姐 联系地址:上海市嘉定区南翔镇众仁路399号B栋20层2007-2012

技术和报价服务:星期一至星期六8:00-22:00 施耐德塑壳断路器专营