• <cite id="uwv89"></cite>
      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        • «
        • 1
        • 2
        • 3
        • »
        • Pages: 1/3     Go
        nos001
        級別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 54 個
        工控威望: 110 點
        下載積分: 814 分
        在線時間: 42(小時)
        注冊時間: 2018-03-31
        最后登錄: 2022-10-06
        查看nos001的 主題 / 回貼
        樓主  發(fā)表于: 2019-06-27 16:21
        圖片:
        找不到st編程的教程,硬是自己摸索,一點一點摳出來的。
        后來發(fā)現(xiàn)iQ-R 結(jié)構(gòu)化文本(ST)編程指南就是教程,關(guān)于語法、其他手冊上找不到的較難理解的結(jié)構(gòu)變量都有示例。
        完全st編程的中斷寫法好幾天無從著手,把FXCPU結(jié)構(gòu)化順序指令篇看了一遍又一遍,才摸索出來,具體見工程附件。
        工程是未完成的不完整工程,只是希望自己認為較難理解手冊沒提及的st編程方法對需要的同志有所幫助。

        另外吐槽一下st編輯器,變量不能在程序里定義,只能在標簽窗口定義,結(jié)構(gòu)體成員引用不能單獨設(shè)置字體顏色,這些都影響閱讀。
        總之,gx works2 的st編輯器比較簡陋,但可閱讀性已經(jīng)比梯形圖好多了。

        復(fù)制代碼
        1. (*****************************************************************************************************
        2. * 程序“恒定掃描”設(shè)置
        3. * M8039 = TRUE, 則程序為恒定周期掃描
        4. * D8039 = 掃描周期, 單位為ms,最小恒定掃描周期為1ms
        5. *****************************************************************************************************)
        6. M8039 := TRUE;
        7. IF M8039 THEN
        8.     D8039 := 5;
        9. END_IF;
        10. (*****************************************************************************************************
        11. * 初始化
        12. *****************************************************************************************************)
        13. EI ( TRUE );        (* 允許中斷 *)
        14. IF M8002 THEN
        15.     
        16.     FOR j := 0 TO 30 BY 1 DO        
        17.         Tcnt[j] := -1;        
        18.     END_FOR;
        19.     RST( TRUE, HmiKey_ManualOP );
        20.     RST( TRUE, bMode_Manual );
        21.     RST( TRUE, HmiKey_AutoPack );
        22.     RST( TRUE, bMode_Auto );
        23.     DownFill_FB_Call( );
        24.     VerticalSeal_FB_Call( );          
        25.     BagFold_FB_Call( );
        26.     
        27. END_IF;
        28. (* 每包包裝時間所需計數(shù)值 = 60000ms / 10ms / 預(yù)置包裝速度,每分鐘為60000ms,定時器為10ms *)
        29. TVal_Packing :=  6000 / Param_PresetSpeed;
        30. (*****************************************************************************************************
        31. * 清零
        32. *****************************************************************************************************)
        33. IF( HmiKey_BagCnt_CLR ) THEN
        34.     MakeBagCnt := 0;
        35. END_IF;
        36. IF( HmiKey_PackingCnt_CLR ) THEN
        37.     PackingCnt := 0;
        38. END_IF;    
        39. (*****************************************************************************************************
        40. * 警報發(fā)生
        41. * 報警鎖,任何一種警報發(fā)生,自動包裝都將停止運行
        42. ****************************************************************************************************)
        43. IF( bAlarm_Lock_AutoPack = TRUE ) THEN
        44.     
        45.     ZRST( TRUE, Y001, Y007 );
        46.     ZRST( TRUE, Y010, Y017 );
        47.     ZRST( TRUE, Y020, Y027 );    
        48.             
        49.     FOR j := 0 TO 30 BY 1  DO        
        50.         Tcnt[j] := -1;        
        51.     END_FOR;    
        52.     
        53. END_IF;
        54. (*****************************************************************************************************
        55. * HMI按鈕開關(guān)
        56. *****************************************************************************************************)
        57. Key_Hmi_FB_Call();
        58. (*****************************************************************************************************
        59. * 包裝流程
        60. *
        61. *****************************************************************************************************)
        62. IF( bMode_Auto ) AND ( bAlarm_Lock_AutoPack = FALSE ) AND ( HmiKey_FillPack[1]  OR  HmiKey_EmptyBagTest[1]  OR  HmiKey_FillBagOne[1] ) THEN
        63.     
        64.     IF( HmiKey_FillPack[1]  ) THEN
        65.         DownFill_FB_Call( hmi_key := KeyDownID,  pT_DownFillDly := Tcnt[ ID_DOWN_FILL_DLY ],   iX := iX_DownFill ); (* 下料 *)
        66.     END_IF;
        67.         
        68.     IF( HmiKey_EmptyBagTest[1]  OR  HmiKey_FillBagOne[1] ) THEN
        69.         
        70.         IF( PackingFlow = 0 ) THEN  
        71.                       
        72.             SET( TRUE, bEnd_DownFill );
        73.             PackingFlow := FLOW_PULL_FILM;
        74.                         
        75.         END_IF;
        76.         
        77.     END_IF;
        78.     VerticalSeal_FB_Call( bEnable := bServo_End );    (* 縱封 *)        
        79.     
        80.     BagFold_FB_Call( bEnable:= bServo_End );          (* 折角 *)
        81.     
        82.     ServoControl_FB_Call( pServoEnd := bServo_End  ); (* 伺服拉膜;指針參數(shù),指向全局變量 *)
        83.     
        84.     (* 真空箱閉合 *)
        85.     IF( bServo_End = TRUE ) THEN
        86.         
        87.         IF( Tcnt[ ID_VACUUM_BOX_CLOSE_DLY ] = -1 ) THEN    
        88.             Tcnt[ ID_VACUUM_BOX_CLOSE_DLY ] := Param_VcmBoxCloseDly ;    
        89.         END_IF;
        90.         
        91.         IF( Tcnt[ ID_VACUUM_BOX_CLOSE_DLY ] = 0 )  AND ( bAlarm_GlassDoor = FALSE ) THEN
        92.             
        93.             Tcnt[ ID_VACUUM_BOX_CLOSE_DLY ] := -255;
        94.             Tcnt[ ID_BAG_CUT_DLY ] := Param_CutDly;
        95.             SET( TRUE, Y_VacuumBox_Y3 );            
        96.             
        97.         END_IF;      
        98.           
        99.     END_IF;
        100.     (* 剪切包裝膜 *)
        101.     IF( Y_VacuumBox_Y3 ) THEN
        102.         
        103.         IF( Tcnt[ ID_BAG_CUT_DLY ]  = 0 ) AND ( bAlarm_GlassDoor = FALSE ) THEN
        104.             
        105.             Tcnt[ ID_BAG_CUT_DLY ] := -255;
        106.             Tcnt[ ID_BAG_CUT ] := Param_Cut;
        107.             SET( TRUE, Y_Cutter_Print_cylinder );          
        108.             
        109.         END_IF;    
        110.         
        111.         IF( Tcnt[ ID_BAG_CUT ]  = 0 ) THEN
        112.             
        113.             Tcnt[ ID_BAG_CUT ] := -255;
        114.             Tcnt[ ID_VACUUMIZE ] := Param_Vacuum;
        115.             RST( TRUE, Y_Cutter_Print_cylinder );
        116.             SET( TRUE, Y_VacuumPump_Y5 );
        117.             SET( TRUE, Y_Vacuum_cylinder );
        118.             
        119.         END_IF;    
        120.               
        121.     END_IF;
        122.     (* 包裝袋抽真空、封口,恒溫,冷卻 *)
        123.     IF( Tcnt[ ID_VACUUMIZE ] = 0 ) THEN           (* 抽真空 *)
        124.         
        125.         Tcnt[ ID_VACUUMIZE ] := -255;
        126.         Tcnt[ ID_HEAT_SEAL ] := Param_HeatSeal;
        127.         SET( TRUE, Y_HoriSeal_cylinder );
        128.         
        129.     END_IF;
        130.     
        131.     IF( Tcnt[ ID_HEAT_SEAL ] = 0 ) THEN           (* 熱封 *)
        132.         Tcnt[ ID_HEAT_SEAL ] := -255;
        133.         Tcnt[ ID_SEAL_KEEP ] := Param_SealKeep;
        134.         RST( TRUE, Y_HoriSeal_cylinder );
        135.     END_IF;
        136.     
        137.     IF( Tcnt[ ID_SEAL_KEEP ] = 0 ) THEN           (* 恒溫保持 *)
        138.         Tcnt[ ID_SEAL_KEEP ] := -255;
        139.         Tcnt[ID_SEAL_COOL ] := Param_SealCool;
        140.         SET( TRUE, Y_AirIn_cylinder );
        141.     END_IF;
        142.     
        143.     IF( Tcnt[ID_SEAL_COOL ] = 0 ) THEN            (* 冷卻等待 *)
        144.         RST( TRUE, Y_VacuumBox_Y3 );
        145.         RST( TRUE, Y_Vacuum_cylinder );
        146.         RST( TRUE, Y_AirIn_cylinder );
        147.         PackingFlow := FLOW_END;
        148.     END_IF;
        149.     
        150.     (* 每分鐘為60000ms,程序掃描周期為5ms,每分鐘的計數(shù)值為60000 / 5 = 12000 *)
        151.     IF( Cnt < 11999 ) THEN
        152.         Cnt := Cnt + 1;
        153.     END_IF;
        154.         
        155.     IF( PackingFlow = FLOW_END  ) AND ( HmiKey_FillPack[1]  ) THEN
        156.     
        157.         MakeBagCnt := MakeBagCnt + 1;             (* 制袋計數(shù) *)
        158.         PackingCnt := PackingCnt + 1;             (* 包裝計數(shù) *)
        159.         PackingSpeed := 12000 / Cnt;              (* 包裝速度計算 *)
        160.         Cnt := 0;
        161.         
        162.     END_IF;
        163.     
        164.     IF( PackingFlow = FLOW_END ) AND ( HmiKey_EmptyBagTest[1]  OR  HmiKey_FillBagOne[1] )  THEN
        165.         
        166.         MakeBagCnt := MakeBagCnt + 1;             (* 制袋計數(shù) *)
        167.         PackingSpeed := 12000 / Cnt;
        168.         Cnt := 0;
        169.                 
        170.     END_IF;
        171.     (* 包裝流程結(jié)束,復(fù)位定時器、伺服結(jié)束標志、制袋一個按鈕 *)
        172.     IF( PackingFlow = FLOW_END  ) THEN  
        173.         
        174.         PackingFlow := 0;
        175.         RST( TRUE, bServo_End );
        176.         RST( TRUE, HmiKey_FillBagOne[0] );
        177.         FOR j := 0 TO 30 BY 1 DO
        178.             Tcnt[j] := -1;
        179.         END_FOR;
        180.               
        181.     END_IF;
        182.                 
        183. END_IF;
        184. (*****************************************************************************************************
        185. * 包裝膜卷棍電機控制
        186. *
        187. * 說明:接近開關(guān)的感應(yīng)體是一個自由落體的金屬橫桿,由包裝膜拉動其上下運動表示包裝膜的松緊。
        188. *       感應(yīng)體運動到頂部,頂部金屬感應(yīng)開關(guān)動作,說明包裝膜被拉緊,包裝膜卷棍電機運轉(zhuǎn)送膜;
        189. *       感應(yīng)體運動到中部,中部金屬感應(yīng)開關(guān)動作,說明送膜已經(jīng)足夠,停止送膜;
        190. *       感應(yīng)體運動到底部,底部金屬感應(yīng)開關(guān)動作,說明接近開關(guān)的感應(yīng)體已經(jīng)沒有包裝膜拉動其運動,
        191. *       或者送膜太多,感應(yīng)體自由落體到底部
        192. ****************************************************************************************************)
        193. IF bMode_Auto THEN
        194.     
        195.     IF( ix_PackFilm_SensorTop  ) THEN
        196.         
        197.         SET( TRUE, Y_FilmMotor_Y13 ); (* 送膜 *)
        198.         
        199.     ELSIF( ix_PackFilm_SensorMid OR ix_PackFilm_SensorBot )  THEN
        200.         
        201.         RST( TRUE, Y_FilmMotor_Y13 ); (* 送膜停止 *)
        202.         
        203.     END_IF;  
        204.     
        205. END_IF;
        206. (* 手動控制,放膜 *)
        207. IF HmiKey_ManualOP THEN
        208.     
        209.     IF( HMI手動_放膜 ) THEN
        210.         
        211.         SET( TRUE, Y_FilmMotor_Y13 ); (* 手動送膜 *)
        212.         
        213.     ELSE  
        214.         
        215.         RST( TRUE, Y_FilmMotor_Y13 );    
        216.         
        217.     END_IF;
        218.     
        219. END_IF;
        [ 此帖被nos001在2019-07-04 17:38重新編輯 ]
        附件: 結(jié)構(gòu)化文本(ST)編程指南-1802.pdf (1477 K) 下載次數(shù):943
        附件: 顆粒包裝機v1.0_ST.gxw.rar (180 K) 下載次數(shù):758
        本帖最近評分記錄:
      2. 下載積分:+1(gk1234) 感謝分享!
      3. 下載積分:+1(lizhendong) 感謝分享!
      4. 下載積分:+1(xn0220xn) 真誠感謝!
      5. 下載積分:+1(chihung) 感謝分享!
      6. 下載積分:+5(吳工2014)
      7. 下載積分:+1(zhcdb2671) 真誠感謝!
      8. 下載積分:+3(heidelberg5) 好貼好貼!
        楓落云端
        施主,腳抬一下
        級別: 略有小成

        精華主題: 0
        發(fā)帖數(shù)量: 341 個
        工控威望: 465 點
        下載積分: 1548 分
        在線時間: 416(小時)
        注冊時間: 2017-10-10
        最后登錄: 2025-08-06
        查看楓落云端的 主題 / 回貼
        1樓  發(fā)表于: 2019-06-27 17:11
        圖片:
        圖片:
        圖片:
        ------------------------
        本帖最近評分記錄:
      9. 下載積分:+5(菜鳥入行) 感謝分享!
        nos001
        級別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 54 個
        工控威望: 110 點
        下載積分: 814 分
        在線時間: 42(小時)
        注冊時間: 2018-03-31
        最后登錄: 2022-10-06
        查看nos001的 主題 / 回貼
        2樓  發(fā)表于: 2019-06-27 19:32
        引用
        引用第1樓楓落云端于2019-06-27 17:11發(fā)表的  :
        ------------------------

        樓主神人,把輸出語句改寫了。我說奇怪呢,明明我程序不是這樣啊,原來是改寫了。
        不過我不喜歡軟件自帶的指令,盡量以C語言的格式來寫,方便閱讀。
        楓落云端
        施主,腳抬一下
        級別: 略有小成

        精華主題: 0
        發(fā)帖數(shù)量: 341 個
        工控威望: 465 點
        下載積分: 1548 分
        在線時間: 416(小時)
        注冊時間: 2017-10-10
        最后登錄: 2025-08-06
        查看楓落云端的 主題 / 回貼
        3樓  發(fā)表于: 2019-06-28 09:38
        只是看起來一個指令解決的事情非得寫一IF ELSE,而且還出現(xiàn)雙線圈提示。個人習慣
        我看到你了
        級別: 家園常客
        精華主題: 0
        發(fā)帖數(shù)量: 373 個
        工控威望: 619 點
        下載積分: 491 分
        在線時間: 156(小時)
        注冊時間: 2018-05-02
        最后登錄: 2024-09-12
        查看我看到你了的 主題 / 回貼
        4樓  發(fā)表于: 2019-06-28 10:06
        全是if else...而且還中英混搭,何必呢
        mall9002
        級別: 略有小成
        精華主題: 0
        發(fā)帖數(shù)量: 137 個
        工控威望: 248 點
        下載積分: 921 分
        在線時間: 183(小時)
        注冊時間: 2017-11-30
        最后登錄: 2025-08-20
        查看mall9002的 主題 / 回貼
        5樓  發(fā)表于: 2019-06-28 11:03
        還是習慣用FBD,ST編邏輯邏輯看著太累,出問題找半天,梯形圖一竿子到底,不利于閱讀。
        變量在程序里輸入完標簽名稱按F2就出來了,還行吧。
        nos001
        級別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 54 個
        工控威望: 110 點
        下載積分: 814 分
        在線時間: 42(小時)
        注冊時間: 2018-03-31
        最后登錄: 2022-10-06
        查看nos001的 主題 / 回貼
        6樓  發(fā)表于: 2019-06-28 16:32
        引用
        引用第4樓兩只橙于2019-06-28 10:06發(fā)表的  :
        全是if else...而且還中英混搭,何必呢

        混搭標簽容易辨識,就是寫的時候難受。
        軟件自帶的指令與函數(shù),邏輯開關(guān)寫成一長串,怎么閱讀啊。
        寫單片機程序習慣了,所以只用SET、RST這樣簡單的指令,主要便于閱讀。
        nos001
        級別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 54 個
        工控威望: 110 點
        下載積分: 814 分
        在線時間: 42(小時)
        注冊時間: 2018-03-31
        最后登錄: 2022-10-06
        查看nos001的 主題 / 回貼
        7樓  發(fā)表于: 2019-06-28 17:00
        引用
        引用第3樓楓落云端于2019-06-28 09:38發(fā)表的  :
        只是看起來一個指令解決的事情非得寫一IF ELSE,而且還出現(xiàn)雙線圈提示。個人習慣

        層主是大神。
        OUT指令其實是照搬梯形圖,優(yōu)點是簡潔。但一旦控制邏輯復(fù)雜,那讀起來真是頭暈眼花。
        用條件語句來寫的缺點就是條件為非時,線圈不能像OUT指令那樣跟隨條件變化,而要多出ELSE語句,是照搬單片機的C語言寫法。
        兩種寫法可謂各有優(yōu)缺點。
        至于雙線圈警告,可以在選項設(shè)置里勾選“SET指令不是雙線圈的檢查對象”。
        昆山博元電氣
        自動化控制柜、非標設(shè)備自動化設(shè)計。。。
        級別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 58 個
        工控威望: 116 點
        下載積分: 2601 分
        在線時間: 15(小時)
        注冊時間: 2019-06-18
        最后登錄: 2020-03-27
        查看昆山博元電氣的 主題 / 回貼
        8樓  發(fā)表于: 2019-06-28 22:38
        就可讀性而言,除了個人習慣原因以外,就整體程序并沒有說PLC編程語言有哪一種能完全碾壓另外一種的說法,
        關(guān)于梯形圖、結(jié)構(gòu)化還有ST的優(yōu)劣各大論壇已經(jīng)討論過很多次了,這跟那個大佬發(fā)帖狠懟PLC垃圾,未來發(fā)展趨勢是單片機天下
        有異曲同工
        江浙滬非標設(shè)備自動化設(shè)計制作、自動化控制柜制作及銷售、程序設(shè)計...18550928952微信同號
        淘寶店鋪 w2wz.com/grmj
        云生冰寒
        級別: 正式會員
        精華主題: 0
        發(fā)帖數(shù)量: 36 個
        工控威望: 87 點
        下載積分: 802 分
        在線時間: 15(小時)
        注冊時間: 2019-05-30
        最后登錄: 2023-05-19
        查看云生冰寒的 主題 / 回貼
        9樓  發(fā)表于: 2019-07-02 13:55
        混搭標簽容易辨識,就是寫的時候難受。
        軟件自帶的指令與函數(shù),邏輯開關(guān)寫成一長串,怎么閱讀啊。
        寫單片機程序習慣了,所以只用SET、RST這樣簡單的指令,主要便于閱讀。
        我看到你了
        級別: 家園常客
        精華主題: 0
        發(fā)帖數(shù)量: 373 個
        工控威望: 619 點
        下載積分: 491 分
        在線時間: 156(小時)
        注冊時間: 2018-05-02
        最后登錄: 2024-09-12
        查看我看到你了的 主題 / 回貼
        10樓  發(fā)表于: 2019-07-02 14:24
        引用
        引用第6樓nos001于2019-06-28 16:32發(fā)表的  :

        混搭標簽容易辨識,就是寫的時候難受。
        軟件自帶的指令與函數(shù),邏輯開關(guān)寫成一長串,怎么閱讀啊。
        寫單片機程序習慣了,所以只用SET、RST這樣簡單的指令,主要便于閱讀。


        我知道..個人喜好吧。

        我就是覺得你是直接把梯形圖用if else翻譯過來,而且一個條件就占一行,那屏幕得多大才夠看,中英文混合寫代碼過程中還得頻繁切換輸入
        學海無涯333
        級別: 探索解密
        精華主題: 0
        發(fā)帖數(shù)量: 62 個
        工控威望: 154 點
        下載積分: 782 分
        在線時間: 18(小時)
        注冊時間: 2017-07-16
        最后登錄: 2020-03-30
        查看學海無涯333的 主題 / 回貼
        11樓  發(fā)表于: 2019-12-07 16:35
        謝謝分享
        • «
        • 1
        • 2
        • 3
        • »
        • Pages: 1/3     Go

        主站蜘蛛池模板: 国产区精品福利在线熟女| 国产免费性感美女被插视频| 亚洲av肉欲一区二区| 欧洲免费一区二区三区视频| 视频一区视频二区制服丝袜| 免费无码又爽又刺激高潮虎虎视频 | 亚洲第三十四九中文字幕| a级国产乱理伦片在线观看al| 美女爽到高潮嗷嗷嗷叫免费网站| 精品国产福利久久久| 国产精品亚洲综合网一区| 国产精品白丝久久av网站| 国内极度色诱视频网站| 潮喷失禁大喷水无码| 国产午夜精品理论大片| 91老肥熟女九色老女人| 国产精品一码二码三码| 丰满无码人妻热妇无码区| 老熟妇乱子交视频一区| 亚洲av一本二本三本| 日韩av在线一卡二卡三卡| 国产一区二区日韩在线| 国产成人欧美日韩在线电影 | 饥渴的熟妇张开腿呻吟视频| 国产欧美亚洲精品第一页在线| 国产一区二区在线观看粉嫩| 丰满少妇内射一区| 中文一区二区视频| 国产成人精品国内自产色| 双乳奶水饱满少妇呻吟免费看| 国产稚嫩高中生呻吟激情在线视频| 乱人伦人妻中文字幕不卡| 亚洲精品无码日韩国产不卡av| 国产乱码精品一区二区上| 亚洲av永久无码精品天堂久久| 精品一区二区三区少妇蜜臀| 真人无码作爱免费视频| 亚洲熟妇色xxxxx亚洲| 国产精品乱码一区二区三| 国产精品大片中文字幕| 精品无人乱码一区二区三区 |