sz518104
級(jí)別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 916 個(gè)
工控威望: 788 點(diǎn)
下載積分: 17726 分
在線(xiàn)時(shí)間: 382(小時(shí))
注冊(cè)時(shí)間: 2009-01-05
最后登錄: 2024-01-19
查看sz518104的 主題 / 回貼
樓主  發(fā)表于: 2018-11-21 15:29
西門(mén)子300 PLC軟件編寫(xiě)SCL電機(jī)啟動(dòng)運(yùn)行小程序
組態(tài)、建FB省略:


  

在主程序中OB1調(diào)用FB功能塊。賦值實(shí)際PLC IO地址
把西門(mén)子SCL寫(xiě)的電機(jī)運(yùn)行小程序移植到臺(tái)達(dá)PLC A系列上,目前A系統(tǒng)是最新款PLC 功能強(qiáng)大、本機(jī)主機(jī)才1500左右,性?xún)r(jià)比好、本機(jī)帶6軸伺服控制、CANOPEN總線(xiàn)運(yùn)用好。
臺(tái)達(dá)PLC 新建項(xiàng)目、建FB功能塊省略


  

電機(jī)運(yùn)行小程序移植到松下PLC上也是很簡(jiǎn)單


  
給松下PLC 電機(jī)啟動(dòng)程序賦值 IO對(duì)應(yīng)值

歐姆龍PLC程序移植   建功塊、調(diào)用功能賦值



  


最新歐姆龍推出EtherCAT 總線(xiàn)PLC NX1P系列程序移植如下



  


最后大家都熟知的三菱的程序移植, 也是復(fù)制粘貼。新建程序  建 FB塊



  


附: SCL小程序
VAR_INPUT
Start_1:BOOL;
Stop_1:BOOL;
Rest_1:BOOL;
Fault_1:BOOL;    // Input Parameters

END_VAR
VAR_OUTPUT
Motor_1:BOOL;
Alam_1:BOOL;   // Output Parameters
END_VAR
IF Start_1 AND NOT Stop_1 AND NOT Fault_1 THEN  //電機(jī)啟動(dòng)條件
    Motor_1:=true;  
END_IF ;
IF Stop_1 THEN    //停止條件
    Motor_1:=false;
END_IF ;
IF Fault_1 THEN    //故障條件
    Motor_1:=false;
    Alam_1:=true;
ELSIF Rest_1  THEN // 復(fù)位條件
    Alam_1:=false;
END_IF;
將高級(jí)語(yǔ)言進(jìn)行到底!
https://mp.weixin.qq.com/s?__biz=MzIzMjQ3MjM0Ng==&mid=2247483956&idx=1&sn=d675c7b56e6100fda07ad60f6663ec90&chksm=e8952841dfe2a1576bcc82ffb26cb29311b2d27dc343378e6eb6208d0f742d97bce9d90d1934&token=1111682101&lang=zh_CN#rd
本帖最近評(píng)分記錄:
  • 下載積分:+1(lizhendong) 強(qiáng)。!
    愚公移山
    可解FPX,F(xiàn)PXH,F(xiàn)P0R,F(xiàn)P0H
    級(jí)別: 論壇先鋒
    精華主題: 1 篇
    發(fā)帖數(shù)量: 770 個(gè)
    工控威望: 1037 點(diǎn)
    下載積分: 2086 分
    在線(xiàn)時(shí)間: 484(小時(shí))
    注冊(cè)時(shí)間: 2008-01-26
    最后登錄: 2024-10-24
    查看愚公移山的 主題 / 回貼
    1樓  發(fā)表于: 2018-11-25 08:43
    SCL語(yǔ)言跟C類(lèi)似,建議優(yōu)化為這樣更完美(啟動(dòng)條件有改進(jìn)):


    IF Start_1 AND NOT Stop_1 AND NOT Fault_1 AND NOT Alam_1 THEN (* 啟動(dòng)條件 *)
        Motor_1:=true;  
    END_IF ;
    IF Stop_1 THEN (* 停止條件 *)
        Motor_1:=false;
    END_IF ;
    IF Fault_1 THEN (* 故障條件 *)
        Motor_1:=false;
        Alam_1:=true;
    ELSIF Rest_1  THEN (* 復(fù)位條件 *)
        Alam_1:=false;
    END_IF;
    [ 此帖被愚公移山在2018-11-25 09:40重新編輯 ]