• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
pc8mcu
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 50 個
工控威望: 149 點
下載積分: 840 分
在線時間: 18(小時)
注冊時間: 2014-11-13
最后登錄: 2020-04-12
查看pc8mcu的 主題 / 回貼
樓主  發(fā)表于: 2015-11-10 21:32
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#1S ); (*定義一個1S定時器*)

IF TON_1.Q  THEN (*定時時間到,D0++,D0大于10,那么清零*)
    D0 := D0 + 1;
    IF  D0>10 THEN
        D0 := 0;
    END_IF;
  
    IF D0 := 2 THEN
         Y0:=FALSE;
   END_IF;

   IF D0:=8 THEN
       Y0:=TRUE;
  END_IF;

END_IF;

以上ST語句編譯通過,但定時器似乎不起左右,因為在2,7控制Y0口不起作用,,麻煩幫看一下,在下先謝謝了,!
tingfenghu
級別: 工控俠客

精華主題: 0
發(fā)帖數(shù)量: 2846 個
工控威望: 3618 點
下載積分: 3519 分
在線時間: 3810(小時)
注冊時間: 2007-11-04
最后登錄: 2024-12-22
查看tingfenghu的 主題 / 回貼
1樓  發(fā)表于: 2015-11-10 22:56
沒用過ST,用過其它編程語言,好像沒有這種寫法。
這種多條件選擇,是不是應該用if……else if, switch……case,這類寫法。
ST語言,這兩種寫法。
[attachment=141363]
[attachment=141364]  
[ 此帖被tingfenghu在2015-11-10 23:25重新編輯 ]
二手PLC,觸摸屏,伺服驅(qū)動,各類氣動設備
http://shop58129605.taobao.com/
pc8mcu
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 50 個
工控威望: 149 點
下載積分: 840 分
在線時間: 18(小時)
注冊時間: 2014-11-13
最后登錄: 2020-04-12
查看pc8mcu的 主題 / 回貼
2樓  發(fā)表于: 2015-11-11 08:39
沒錯,樓上將多情況跳轉(zhuǎn)用  CASE  ,這有點像C, C++

還是講清楚上問題,用的是GW-Work2 環(huán)境選的是 FX2  ST結(jié)構(gòu)化語言
   剛開始TON_1()系統(tǒng)出錯,后來在左邊原件FB-模塊中選TON 彈出對話框,進行注冊OK即可用上
可用上面語句了,,但定時器不起作用,啥原因,請教了
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員

精華主題: 3 篇
發(fā)帖數(shù)量: 6777 個
工控威望: 38380 點
下載積分: 4243 分
在線時間: 9537(小時)
注冊時間: 2006-09-13
最后登錄: 2024-12-23
查看cvlsam的 主題 / 回貼
3樓  發(fā)表于: 2015-11-11 08:49
IF D0 := 2 THEN
         Y0:=FALSE;
   END_IF;

IF語句條件使用賦值語句,我也是醉了。

IF D0=2 THEN
    Y0:= FALSE;
END_IF;

Good  Luck ~
pc8mcu
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 50 個
工控威望: 149 點
下載積分: 840 分
在線時間: 18(小時)
注冊時間: 2014-11-13
最后登錄: 2020-04-12
查看pc8mcu的 主題 / 回貼
4樓  發(fā)表于: 2015-11-11 08:59
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#1S ); (*定義一個1S定時器*)

D0 := 0;
IF TON_1.Q  THEN (*定時時間到,D0++,D0大于10,那么清零*)
    D0 := 1 - D0 ;
    
    CASE D0 OF
    1:
         Y0:=TRUE;    
   0:
         Y0:=FALSE;    
    END_CASE;
      
END_IF;

太謝謝了,我試上一段語句,意思想讓Y0 在1S 內(nèi)交替亮,滅,  程序執(zhí)行了,亮就不見滅,,我想是不是系統(tǒng)執(zhí)行了一次定時就退出了,,,謝謝 對我 ST語言的知道,,,,謝謝"
cvlsam"老兄
pc8mcu
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 50 個
工控威望: 149 點
下載積分: 840 分
在線時間: 18(小時)
注冊時間: 2014-11-13
最后登錄: 2020-04-12
查看pc8mcu的 主題 / 回貼
5樓  發(fā)表于: 2015-11-11 09:31
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#5S ); (*定義一個1S定時器*)

IF TON_1.Q  THEN (*定時時間到,D0++,D0大于10,那么清零*)  
         Y0:=TRUE;    
END_IF;

TON_2(IN:= NOT TON_2.Q ,PT:= TIME#5S ); (*定義一個1S定時器*)

IF TON_2.Q  THEN (*定時時間到,D0++,D0大于10,那么清零*)  
         Y1:=TRUE;    
END_IF;

又試驗上面一段ST代碼,,可以運行,,本來我的意思是想程序是順序執(zhí)行的, Y0 先亮,,Y1后亮實際情況是,Y0,Y1同時定時亮。更說明定時器用完就完了,不能循環(huán)使用,如何才能循環(huán)定時呢?謝謝
pc8mcu
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 50 個
工控威望: 149 點
下載積分: 840 分
在線時間: 18(小時)
注冊時間: 2014-11-13
最后登錄: 2020-04-12
查看pc8mcu的 主題 / 回貼
6樓  發(fā)表于: 2015-11-11 09:38
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#1S ); (*定義一個1S定時器*)

IF TON_1.Q  THEN (*定時時間到,D0++,D0大于10,那么清零*)
    D0 := D0 + 1;                          // ---------經(jīng)過反復實驗-
    IF  D0>10 THEN                   //-----------
        D0 := 0;                              //-----------
    END_IF;                                 //----------該段無法時間,因為這段代碼只運行一次,,不能循環(huán)????
END_IF;
pc8mcu
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 50 個
工控威望: 149 點
下載積分: 840 分
在線時間: 18(小時)
注冊時間: 2014-11-13
最后登錄: 2020-04-12
查看pc8mcu的 主題 / 回貼
7樓  發(fā)表于: 2015-11-11 10:07
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#1S ); (*定義一個1S定時器*)
D0:=0;

IF TON_1.Q  THEN (*定時時間到,D0++,D0大于10,那么清零*)  
         D0:= D0+1;
         IF D0>4  THEN
                D0:=0;
         END_IF;

         CASE D0 OF
          1:
               Y0:=TRUE;    
          2:
                Y0:=FALSE;    
          END_CASE;
        
END_IF;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#1S ); (*定義一個1S定時器*)

IF TON_1.Q  THEN (*定時時間到,D0++,D0大于10,那么清零*)  
         Y0:=TRUE;    
END_IF;

TON_2(IN:= NOT TON_2.Q ,PT:= TIME#2S ); (*定義一個1S定時器*)

IF TON_2.Q  THEN (*定時時間到,D0++,D0大于10,那么清零*)  
         Y0:=FALSE;    
END_IF;

=================================================================
上段不能實現(xiàn)Y0 隔1 秒亮, 滅一次,  而 下面一段實現(xiàn)了 Y0 反復的亮滅 ,實現(xiàn)了循環(huán),,能看一下原因,講一下原理嗎??謝謝
pc8mcu
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 50 個
工控威望: 149 點
下載積分: 840 分
在線時間: 18(小時)
注冊時間: 2014-11-13
最后登錄: 2020-04-12
查看pc8mcu的 主題 / 回貼
8樓  發(fā)表于: 2015-11-11 10:13
原因找到了,謝謝
小小一電工
每天一點點 加油 你可以的!
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 646 個
工控威望: 2530 點
下載積分: 1698 分
在線時間: 747(小時)
注冊時間: 2012-02-27
最后登錄: 2024-08-12
查看小小一電工的 主題 / 回貼
9樓  發(fā)表于: 2015-11-11 10:27
這是 上位機通訊語句?
每天一點點
rongbing
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 1054 個
工控威望: 1257 點
下載積分: 22285 分
在線時間: 295(小時)
注冊時間: 2015-02-15
最后登錄: 2024-12-23
查看rongbing的 主題 / 回貼
10樓  發(fā)表于: 2015-11-11 12:30
昆侖通泰的腳本程序
tingfenghu
級別: 工控俠客

精華主題: 0
發(fā)帖數(shù)量: 2846 個
工控威望: 3618 點
下載積分: 3519 分
在線時間: 3810(小時)
注冊時間: 2007-11-04
最后登錄: 2024-12-22
查看tingfenghu的 主題 / 回貼
11樓  發(fā)表于: 2015-11-11 12:51
引用
引用第10樓rongbing于2015-11-11 12:30發(fā)表的  :
昆侖通泰的腳本程序

PLC的ST語言,即實現(xiàn)和梯形圖一樣的功能。
二手PLC,觸摸屏,伺服驅(qū)動,各類氣動設備
http://shop58129605.taobao.com/
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go