zhou1211
級別: 略有小成
精華主題: 1 篇
發(fā)帖數(shù)量: 205 個
工控威望: 362 點
下載積分: 1172 分
在線時間: 66(小時)
注冊時間: 2013-11-04
最后登錄: 2024-09-18
查看zhou1211的 主題 / 回貼
樓主  發(fā)表于: 2013-11-06 14:58
   小弟初學scl編程,有很多不懂的地方,而且網(wǎng)上資料也很少,我在看資料學習過程中有個語句是這么寫的
   FUNCTION FC1:VOID
    還有種寫法是
   FUNCTION_BLOCK FB1:
  無論我怎么寫,都提示操作參數(shù)未定義
  求解?
function_block fb3
  VAR_TEMP
  END_VAR
  END_FUNCTION_BLOCK
zhou1211
級別: 略有小成
精華主題: 1 篇
發(fā)帖數(shù)量: 205 個
工控威望: 362 點
下載積分: 1172 分
在線時間: 66(小時)
注冊時間: 2013-11-04
最后登錄: 2024-09-18
查看zhou1211的 主題 / 回貼
1樓  發(fā)表于: 2013-11-06 15:04
圖片:
圖片:
    沒人能解答么,這還是網(wǎng)上看到的唯一的,也是最簡單的實例,這個在別人那跑寫得灰直冒,到我這第一步都踏不出是怎么回事
z061403
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 256 個
工控威望: 390 點
下載積分: 1243 分
在線時間: 394(小時)
注冊時間: 2011-11-17
最后登錄: 2022-12-31
查看z061403的 主題 / 回貼
2樓  發(fā)表于: 2013-11-06 15:41
//**********************************************************//
FUNCTION FC201 : VOID   //Speed_block

TITLE = 'Speed Block '
VERSION: '3.1'
AUTHOR:fhqdnvl
NAME: Name
FAMILY: Family

VAR_INPUT        // Input Parameters
       //all key
Speed_SV    : REAL;       //Speed SV
Number_PV   :INT;         //6RA70 chack number  16384=100%
Gearshift   :REAL;        // unit   M   for example:1.2M
Drive_Number:REAL;        //Drive  big number for example:16384=100%
Pi          :REAL;        //3.1415926
D           :REAL;        //  roller  diameter
Motor_RPM   :REAL;        //motor data
END_VAR


VAR_IN_OUT          // I/O Parameters

END_VAR

VAR_OUTPUT          // Output Parameters
Number_Give:  INT;   //6RA70 give number  16384=100%
Speed_PV   :  REAL;  //Speed PV
END_VAR

VAR_TEMP         //Temp  Parameters
    Temp1:real;   // Temp value1  Number_PV
    Temp3:REAL;   //Number_Give
    Temp2:REAL;   //Speed_Sv限制
END_VAR
  //*******************************************************************************//
    IF Temp2 <= 1200 THEN     //High  1200M/S
         Temp2:=Speed_SV;
        ELSE
            Temp2:=1200;
      END_IF;
//*******************************************************************************//
    Temp3:=(Temp2*Gearshift*Drive_Number)/(Pi*D*Motor_RPM);         //****************   speed give drive**********//
          IF Temp3 >= 16384  THEN                      // give number drive
        Temp3:=16384;
        END_IF;
Number_Give:=DINT_TO_INT(REAL_TO_DINT(Temp3));     //int number give drive

//*******************************************************************************//
Temp1:=DINT_TO_REAL(INT_TO_DINT(Number_PV)) ;      // real number     //******************  Speed PV number drive*******//
Speed_PV:=(Temp1*Pi*D*Motor_RPM)/(Drive_number*Gearshift);   //reselt
    ;
END_FUNCTION
zhou1211
級別: 略有小成
精華主題: 1 篇
發(fā)帖數(shù)量: 205 個
工控威望: 362 點
下載積分: 1172 分
在線時間: 66(小時)
注冊時間: 2013-11-04
最后登錄: 2024-09-18
查看zhou1211的 主題 / 回貼
3樓  發(fā)表于: 2013-11-06 15:48
  感謝回復,不過程序拷進去還是大片飄紅,幾乎所有的變量都飄紅,外加FUNCTION還是提示未定義
zhou1211
級別: 略有小成
精華主題: 1 篇
發(fā)帖數(shù)量: 205 個
工控威望: 362 點
下載積分: 1172 分
在線時間: 66(小時)
注冊時間: 2013-11-04
最后登錄: 2024-09-18
查看zhou1211的 主題 / 回貼
4樓  發(fā)表于: 2013-11-06 15:55
圖片:
看圖片
zhou1211
級別: 略有小成
精華主題: 1 篇
發(fā)帖數(shù)量: 205 個
工控威望: 362 點
下載積分: 1172 分
在線時間: 66(小時)
注冊時間: 2013-11-04
最后登錄: 2024-09-18
查看zhou1211的 主題 / 回貼
5樓  發(fā)表于: 2013-11-06 16:20
貌似我這上面寫function就不對,快捷語法欄沒有function這個函數(shù),程序里也只能顯示定義了的參數(shù),就是前面會加#號
fangwang
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 6 個
工控威望: 136 點
下載積分: 954 分
在線時間: 7(小時)
注冊時間: 2013-06-05
最后登錄: 2014-02-26
查看fangwang的 主題 / 回貼
6樓  發(fā)表于: 2013-12-27 21:34
圖片:
空程序沒有錯呀