找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3357|回复: 0
打印 上一主题 下一主题
收起左侧

MOVIFIT-SC的PROFIBUS控制程序(写的很经典)

[复制链接]
跳转到指定楼层
楼主
ID:107189 发表于 2016-3-6 14:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
IN

OUT

状态字1


控制字1



---------------------------------------中文-------------------------------------
注意:兼容两个或三个过程数据字

PI1: 状态字 1
PI2: 状态字 2
Bit5   : 错误/警告 ="1"
Bit8-15: 错误位
错误码:
07 - 中间电路电压高
08 - 无监测错误
90 - 马达-变频器不匹配
17-24, 37 - CPU 错误
25, 94 - EEPROM错误
01 - 输出过程过电流
11 - 输出过程温度过高
84 - 马达温度过高
     马达-变频器不匹配
89 - 温度保护开关
     马达-变频器不匹配
06 - 相位错误

PO1: 控制字

--------------------------------------English-----------------------------------
note: compatible with 2 process data words (1PO/2PI)

PI1: Status word 1 (drive 1)
PI2: Status word 2 (drive 2)
Bit5   : Fault/Warning ="1"
Bit8-15: Fault number
Fault code:
07 - INTERMEDIATE CIRCUIT TENSION TO HIGH
08 - FAULT N-MONITORING
90 - ALLOCATION MOTOR-INVERTER WRONG
17-24, 37 - CPU FAULT
25, 94 - EEPROM-FAULT
01 - OUTPUT STAGE OVERCURRENT
11 - OUTPUT STAGE OVERTEMPERATURE
84 - OVERTEMPERATURE MOTOR
     ALLOCATION MOTOR-INVERTER WRONG
89 - OVERTEMPERATURE BRAKE
     ALLOCATION MOTOR-INVERTER WRONG
06 - NET-PHASEFAILURE

PO1: CONTROL WORD
    网段:
LAR1  P##_PI1_StatWord1           // copy status words into local variables
      L     #iPI_1
      T     LW [AR1,P#0.0]

      LAR1  P##_PI2_StatWord2
      L     #iPI_2
      T     LW [AR1,P#0.0]

      L     W#16#0                      // zeroes temporary variables
      LAR1  P##_PO1_CtrlWord
      T     LW [AR1,P#0.0]
//;
      A     #iEnableM1                  // check preconditions to enable drive
      AN    #_PI1_StatWord1.FaultWarn
      =     #_PreconOK_M1

      A     #iEnableM2                  // check preconditions to enable drive
      AN    #_PI2_StatWord2.FaultWarn
      =     #_PreconOK_M2
//;
//;
      A     #_PreconOK_M1
      A     #iStartM1
      =     #_PO1_CtrlWord.EnableM1     // enable drive 1

      A     #iReverseM1
      =     #_PO1_CtrlWord.ReverseM1    // enable drive 1 "CCW"

      A     #_PreconOK_M2
      A     #iStartM2
      =     #_PO1_CtrlWord.EnableM2     // enable drive 2
//;
//;
      A     #iReset
      =     #_PO1_CtrlWord.Reset
//;
//;
      A     #iBrakeM1
      A     #_PreconOK_M1
      =     #_PO1_CtrlWord.BrakeRelM1

      A     #iBrakeM2
      A     #_PreconOK_M2
      =     #_PO1_CtrlWord.BrakeRelM2
//;
//;
      A     #_PI1_StatWord1.DriveEn
      A     #_PI1_StatWord1.DriveRdy
      AN    #_PI1_StatWord1.FaultWarn
      =     #oDrvEnM1                   // drive enable indicator

      A     #_PI2_StatWord2.DriveEn
      A     #_PI2_StatWord2.DriveRdy
      AN    #_PI2_StatWord2.FaultWarn
      =     #oDrvEnM2                   // drive enable indicator

      L     #_PI1_StatWord1.Status
      L     0
      ==I   
      A     #iEnableM1
      AN    #_PI1_StatWord1.DriveRdy
      =     #_24V_Operation             // 24V operation (maintanence switch off)

      A     #_PI1_StatWord1.FaultWarn   // drive fault indicator
      O     #_24V_Operation             // 24V operation (maintanence switch off)
      =     #oFaultM1

      A     #_PI2_StatWord2.FaultWarn   // drive fault indicator
      O     #_24V_Operation             // 24V operation (maintanence switch off)
      =     #oFaultM2

      A     #oFaultM1
      JCN   NFL1
      L     #_PI1_StatWord1.Status
      JU    SFL1
NFL1: L     0
SFL1: T     #oFaultNoM1

      A     #oFaultM2
      JCN   NFL2
      L     #_PI2_StatWord2.Status
      JU    SFL2
NFL2: L     0
SFL2: T     #oFaultNoM2
//;
//;
      LAR1  P##_PO1_CtrlWord            // copy local variables into function outputs
      L     LW [AR1,P#0.0]
      T     #oPO_1

      SET   
      SAVE  
//;





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表