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

IF TON_1.Q  THEN (*定時(shí)時(shí)間到,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語句編譯通過,但定時(shí)器似乎不起左右,因?yàn)樵?,7控制Y0口不起作用,,麻煩幫看一下,在下先謝謝了,!
tingfenghu
級別: 工控俠客

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

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

精華主題: 3 篇
發(fā)帖數(shù)量: 6760 個(gè)
工控威望: 38361 點(diǎn)
下載積分: 1043 分
在線時(shí)間: 9474(小時(shí))
注冊時(shí)間: 2006-09-13
最后登錄: 2024-09-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 個(gè)
工控威望: 149 點(diǎn)
下載積分: 840 分
在線時(shí)間: 18(小時(shí))
注冊時(shí)間: 2014-11-13
最后登錄: 2020-04-12
查看pc8mcu的 主題 / 回貼
4樓  發(fā)表于: 2015-11-11 08:59
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#1S ); (*定義一個(gè)1S定時(shí)器*)

D0 := 0;
IF TON_1.Q  THEN (*定時(shí)時(shí)間到,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í)行了一次定時(shí)就退出了,,,謝謝 對我 ST語言的知道,,,,謝謝"
cvlsam"老兄
pc8mcu
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 50 個(gè)
工控威望: 149 點(diǎn)
下載積分: 840 分
在線時(shí)間: 18(小時(shí))
注冊時(shí)間: 2014-11-13
最后登錄: 2020-04-12
查看pc8mcu的 主題 / 回貼
5樓  發(fā)表于: 2015-11-11 09:31
TON_1(IN:= NOT TON_1.Q ,PT:= TIME#5S ); (*定義一個(gè)1S定時(shí)器*)

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

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

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

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

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

IF TON_1.Q  THEN (*定時(shí)時(shí)間到,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 ); (*定義一個(gè)1S定時(shí)器*)

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

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

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

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

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

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