工业搅拌过程实例的技术要求具体是什么?

西门子plc 发布于 1年前 分类:S7-300/400

1、书上说的很含糊。工业搅拌过程实例的技术要求具体是什么?
2、请给语句加上注释。
编程用于电机的FB
在STEP 7 中,由其它块调用的每个块都必须先于调用它的块创建。因此,在示例
程序中,必须在创建OB1 之前创建用于电机的FB。
使用STL 编程语言的FB1 代码段如下所示:
Network1 Start/stop and latching
A(
O #Start
O #Motor
)
AN #Stop
= #Motor
Network 2 Startup monitoring
A #Motor
L #Response_Time
SD #Timer_No
AN #Motor
R #Timer_No
L #Timer_No
T #Timer_bin
LC #Timer_No
T #Timer_BCD
A #Timer_No
AN #Response
S #Fault
R #Motor
Network 3 Start lamp and fault reset
A #Response
= #Start_Dsp
R #Fault
Network 4 Stop lamp
AN #Response
= #Stop_Dsp
Network 5 Counting the starts
A #Motor
FP #Start_Edge
JCN lab1
L #Starts
+ 1
T #Starts
lab1:NOP 0
Network 6 Maintenance lamp
L #Starts
L 50
>=I
= #Maint
Network 7 Reset counter for number of starts
A #Reset_Maint
A #Maint
JCN END
L 0
T #Starts
END:NOP 0

 建用于阀的FC
Network 1 Open/close and latching
A(
O #Open
O #Valve
)
AN #Close
= #Valve
Network 2 Display "valve open"
A #Valve
= #Dsp_Open
Network 3 Display "valve closed"
AN #Valve
= #Dsp_Closed

2个回复

  • plc电工爱好者
    plc电工爱好者

    1、工业搅拌过程实例的技术要求具体是什么?
        (1)进料阀控制:具体需要明确进料阀开关的条件和逻辑关系,如搅拌前进料、搅拌中和排料时禁止进料等互锁关系需要明确。
        (2)搅拌电机的控制:需要根据工艺条件编程电机的启停和保护,如报警等功能和运行计时等功能;如果需要控制搅拌频率的话还需要增加变频控制或伺服控制。
        (3)排料阀的开关需要明确开关的条件:如搅拌未完成不准开阀等互锁关系需要明确。
        (4)控制信息的显示与维护信息的显示等需要在操作台或上位机显示,以便于维护。
      2、加解释:
         FB1 代码段如下所示:
      Network1 Start/stop and latching
      A(                   //网络1主要是电机的启、停和运行保持控制。
      O #Start       //开按钮动作时电机开,与电机输出线圈进行或运算达到按开后电机保持运行的目的
      O #Motor     //电机打开后靠电机输出线圈自保持运行
      )
      AN #Stop     //关按钮不动作时就输出电机运行信号
      = #Motor             
      Network 2 Startup monitoring    //启动时监控,启动延时后检测不到反馈信号就报错、停电机
      A #Motor     //电机启动输出标志为1时
      L #Response_Time    //取OB1调用FB1时传送的监控时间参数
      SD #Timer_No      //启动延时计时器(OB1调用时传的实参)
      AN #Motor        //如果电机停止
      R #Timer_No  //则取消延时检测,复位计时器
      L #Timer_No   //取计时器的时间
      T #Timer_bin  //存入临时变量中
      LC #Timer_No  //取计时器的BCD码时间
      T #Timer_BCD  //存入另一临时变量中
      A #Timer_No   //若计时器输出为1
      AN #Response  //并且反馈信号为0
      S #Fault     //置位错误标志位
      R #Motor   //关闭电机输出
      Network 3 Start lamp and fault reset //启动指示灯和错误复位
      A #Response   //如果有正常的反馈信号
      = #Start_Dsp   //启动运行指使灯
      R #Fault           //同时复位错误标志位
      Network 4 Stop lamp    //停止指示灯
      AN #Response   //若反馈信号不为1,即无正常的反馈信号
      = #Stop_Dsp      //  停止指示灯亮
      Network 5 Counting the starts   //主要完成启动次数累积
      A #Motor    //电机启动输出
      FP #Start_Edge   //取电机启动输出的上升沿
      JCN lab1        //若没检测到电机启动信号,则调过下面的启动次数累加语句,到LAB1处,用NOP 0结束本网络段;如果用电机启动,则对启动次数累积保存  
      L #Starts   //取保存在变量中的启动次数
      + 1             //有启动信号就在启动次数上加1
      T #Starts   //然后再将启动次数保存到变量
      lab1:NOP 0  //没启动信号时跳转到此处,继续往下扫描
      Network 6 Maintenance lamp   //维护指示灯
      L #Starts   //取电机启动次数
      L 50  //取50
      >=I     //启动次数和50次比较,累积启动次数大于50次就输出维护标志位#Maint
      = #Maint
      Network 7 Reset counter for number of starts //复位启动次数
      A #Reset_Maint   //有复位维护指示灯的信号后
      A #Maint                //并且启动次数大于50次的话就执行L 0开始的语句
      JCN END     //如果上面两个条件不同时满足的话,就不复位,直接跳到END处接着执行       
      L 0             //若前面的两个条件调试满足;取0
      T #Starts    //把0传给存放启动次数的变量,清零
      END:NOP 0

    建用于阀的FC
    Network 1 Open/close and latching   //阀的开、关和保持
    A(
    O #Open     //开阀按钮动作后,只要#Close按钮不动作,阀一直保持打开状态,直到按关按钮后阀才关闭。

    O #Valve
    )
    AN #Close
    = #Valve
    Network 2 Display "valve open" //阀开的状态指示灯
    A #Valve                    //阀开标志为1
    = #Dsp_Open   //输出阀开指示灯
    Network 3 Display "valve closed"    //阀关的状态指示灯

    AN #Valve                    //阀未打开时
    = #Dsp_Closed         //输出阀关的指示灯

  • plc学习
    plc学习

    这个程序块是你自己写的吗?功能很是混乱!既有过程控制,又有阀门的控制。这样不利于程序的优化。应该将阀门(电机)单独做一个功能块。可以多次调用的。阀门的功能包含了手/自动切换,手动输入、自动输入,控制输出。
    简单的程序:
    a man///手动
    a man_out//手动输出
    o
    an man//自动
    a auto_out//自动输出
    =val//控制输出
    完整的功能包括反馈检测,错误报警
    你的程序的说明楼上的已经描述的很清楚了!没有问题!