kidien
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 104 個(gè)
工控威望: 204 點(diǎn)
下載積分: 758 分
在線時(shí)間: 27(小時(shí))
注冊(cè)時(shí)間: 2010-01-08
最后登錄: 2024-11-07
查看kidien的 主題 / 回貼
108樓  發(fā)表于: 2019-07-17 21:11
感謝樓主,最近在學(xué)功能塊,向結(jié)構(gòu)化轉(zhuǎn)型,多謝分享!
chenyuuuu
Raymond
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 37 個(gè)
工控威望: 135 點(diǎn)
下載積分: 34416 分
在線時(shí)間: 154(小時(shí))
注冊(cè)時(shí)間: 2019-05-06
最后登錄: 2024-11-07
查看chenyuuuu的 主題 / 回貼
109樓  發(fā)表于: 2019-07-19 09:09
謝謝樓主,學(xué)習(xí)學(xué)習(xí)。
huxiang2030
山本無(wú)憂,因雪白頭;水本無(wú)愁,因風(fēng)起皺...
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 85 個(gè)
工控威望: 129 點(diǎn)
下載積分: 1380 分
在線時(shí)間: 22(小時(shí))
注冊(cè)時(shí)間: 2019-06-19
最后登錄: 2024-03-18
查看huxiang2030的 主題 / 回貼
110樓  發(fā)表于: 2019-07-19 09:45
。。怎么打不開(kāi)
山本無(wú)憂,因雪白頭;水本無(wú)愁,因風(fēng)起皺...
nos001
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 54 個(gè)
工控威望: 110 點(diǎn)
下載積分: 814 分
在線時(shí)間: 42(小時(shí))
注冊(cè)時(shí)間: 2018-03-31
最后登錄: 2022-10-06
查看nos001的 主題 / 回貼
111樓  發(fā)表于: 2019-07-19 21:40
結(jié)構(gòu)化,程序大,有條理,值得借鑒。
就是定義在一頁(yè)的全局變量太多,感覺(jué)應(yīng)該分頁(yè)。
其實(shí)不知道硬件,不知道用途,還是挺難看懂。
還是更喜歡st編程,自定義定時(shí)器感覺(jué)比gx works 內(nèi)建的好用。
復(fù)制代碼
  1. (******************************************************************************
  2. * 從自動(dòng)包裝切換到手動(dòng)操作
  3. * 如果前面進(jìn)行過(guò)“自動(dòng)包裝”,切換到“手動(dòng)操作”時(shí)進(jìn)行一次初始化
  4. *****************************************************************************)
  5. IF HmiKey_ManualOP THEN
  6.     
  7.     IF( bMode_Manual = FALSE ) THEN
  8.         
  9.         bMode_Manual := TRUE;
  10.         bMode_Auto   := FALSE;
  11.         HmiKey_AutoPack := FALSE;
  12.         HmiKey_FillPack := FALSE;
  13.         HmiKey_EmptyBagTest := FALSE;
  14.         HmiKey_FillBagOne := FALSE;
  15.         
  16.         ZRST( TRUE, Y001, Y004 );
  17.         ZRST( TRUE, Y006, Y007 );
  18.         ZRST( TRUE, Y010, Y011 );
  19.         ZRST( TRUE, Y013, Y017 );        
  20.         ZRST( TRUE, Y020, Y027 );
  21.         
  22.         Tcnt_10[ IDX_DOWN_FILL_DLY ].reset := TRUE;    
  23.         Tcnt_10[ IDX_DOWN_FILL ].reset := TRUE;    
  24.         Tcnt_10[ IDX_PULL_FILM_DLY ].reset := TRUE;    
  25.         Tcnt_10[ IDX_VERT_SEAL_DLY ].reset := TRUE;    
  26.         Tcnt_10[ IDX_VERT_SEAL ].reset := TRUE;
  27.             
  28.         Tcnt_10[ IDX_KNURL_DLY ].reset := TRUE;    
  29.         Tcnt_10[ IDX_KNURL ].reset := TRUE;    
  30.         Tcnt_10[ IDX_VACUUM_BOX_CLOSE_DLY ].reset := TRUE;    
  31.         Tcnt_10[ IDX_BAG_FOLD_DLY ].reset := TRUE;    
  32.         Tcnt_10[ IDX_BAG_FOLD ].reset := TRUE;
  33.                                     
  34.         Tcnt_10[ IDX_BAG_CUT_DLY ].reset := TRUE;                    
  35.         Tcnt_10[ IDX_BAG_CUT ].reset := TRUE;                        
  36.         Tcnt_10[ IDX_VACUUMIZE ].reset := TRUE;                    
  37.         Tcnt_10[ IDX_HEAT_SEAL ].reset := TRUE;                
  38.         Tcnt_10[ IDX_SEAL_KEEP ].reset := TRUE;                    
  39.         Tcnt_10[ IDX_SEAL_COOL ].reset := TRUE;            
  40.             
  41.     END_IF;
  42.     
  43. ELSE
  44.     RST( TRUE, bMode_Manual );
  45.     
  46. END_IF;
  47. (******************************************************************************
  48. * 從手動(dòng)操作切換到自動(dòng)包裝
  49. * 如果前面進(jìn)行過(guò)“手動(dòng)操作”,切換到“自動(dòng)包裝”時(shí)進(jìn)行一次初始化
  50. *****************************************************************************)
  51. IF HmiKey_AutoPack THEN
  52.     
  53.     IF( bMode_Auto = FALSE ) THEN      (* 初始化 *)
  54.         
  55.         bMode_Auto   := TRUE;
  56.         bMode_Manual := FALSE;    
  57.         HmiKey_ManualOP := FALSE;
  58.         HmiKey_Knurling := FALSE;
  59.         
  60.         ZRST( TRUE, Y001, Y004 );
  61.         ZRST( TRUE, Y006, Y007 );
  62.         ZRST( TRUE, Y010, Y011 );
  63.         ZRST( TRUE, Y013, Y017 );        
  64.         ZRST( TRUE, Y020, Y027 );    
  65.             
  66.         Tcnt_10[ IDX_DOWN_FILL_DLY ].reset := TRUE;    
  67.         Tcnt_10[ IDX_DOWN_FILL ].reset := TRUE;    
  68.         Tcnt_10[ IDX_PULL_FILM_DLY ].reset := TRUE;    
  69.         Tcnt_10[ IDX_VERT_SEAL_DLY ].reset := TRUE;    
  70.         Tcnt_10[ IDX_VERT_SEAL ].reset := TRUE;
  71.             
  72.         Tcnt_10[ IDX_KNURL_DLY ].reset := TRUE;    
  73.         Tcnt_10[ IDX_KNURL ].reset := TRUE;    
  74.         Tcnt_10[ IDX_VACUUM_BOX_CLOSE_DLY ].reset := TRUE;    
  75.         Tcnt_10[ IDX_BAG_FOLD_DLY ].reset := TRUE;    
  76.         Tcnt_10[ IDX_BAG_FOLD ].reset := TRUE;
  77.                                     
  78.         Tcnt_10[ IDX_BAG_CUT_DLY ].reset := TRUE;                    
  79.         Tcnt_10[ IDX_BAG_CUT ].reset := TRUE;                        
  80.         Tcnt_10[ IDX_VACUUMIZE ].reset := TRUE;                    
  81.         Tcnt_10[ IDX_HEAT_SEAL ].reset := TRUE;                
  82.         Tcnt_10[ IDX_SEAL_KEEP ].reset := TRUE;                    
  83.         Tcnt_10[ IDX_SEAL_COOL ].reset := TRUE;
  84.         
  85.     END_IF;
  86.     
  87. ELSE
  88.     bMode_Auto := FALSE;               (* 如果切換到“手動(dòng)操作”,這條語(yǔ)句必然被執(zhí)行 *)
  89.     
  90. END_IF;
  91. (******************************************************************************
  92. * brief  按鍵掃描與互鎖
  93. * note  
  94. *****************************************************************************)
  95. HmiKey_Scan_InterLock();    
  96. (******************************************************************************
  97. * brief  自動(dòng)包裝(填充包裝)按鍵事件處理
  98. * note
  99. *****************************************************************************)
  100. (* 按鍵生效,下降沿 *)
  101. IF( LDP( TRUE, KeyID_FillPack ) AND ( bY0_out_watch = FALSE ) ) THEN            
  102.      PackingFlow := FLOW_STANDBY;          
  103. END_IF;
  104. (* 按鍵生效,下降沿 *)    
  105. IF( LDF( TRUE, KeyID_FillPack ) ) THEN            
  106.      PackingFlow := FLOW_END;                          
  107. END_IF;
  108. (******************************************************************************
  109. * brief  空袋調(diào)試 按鍵事件處理
  110. * note
  111. *****************************************************************************)
  112. (* 按鍵生效,上升沿 *)
  113. IF( LDP( TRUE, KeyID_EmptyBagTest ) AND ( bY0_out_watch = FALSE ) ) THEN            
  114.      PackingFlow := FLOW_STANDBY;          
  115. END_IF;
  116. (* 按鍵生效,下降沿 *)    
  117. IF( LDF( TRUE, KeyID_EmptyBagTest ) ) THEN            
  118.      PackingFlow := FLOW_END;                          
  119. END_IF;
  120. (******************************************************************************
  121. * brief 制袋一個(gè) 按鍵事件處理
  122. * note
  123. *****************************************************************************)
  124.         
  125. (* 按鍵生效,下降沿 *)
  126. IF( LDP( TRUE, KeyID_FillBagOne ) AND ( bY0_out_watch = FALSE ) ) THEN            
  127.      PackingFlow := FLOW_STANDBY;          
  128. END_IF;
  129. (* 按鍵生效,下降沿 *)    
  130. IF( LDF( TRUE, KeyID_FillBagOne ) ) THEN            
  131.      PackingFlow := FLOW_END;                          
  132. END_IF;
  133. (******************************************************************************
  134. * 拉膜皮帶
  135. *
  136. * 伺服電機(jī)通過(guò)傳動(dòng)桿驅(qū)動(dòng)拉膜皮帶,拉膜氣缸控制拉膜皮帶:
  137. * 抱緊下料筒的包裝膜
  138. * 松開(kāi)下料筒的包裝膜
  139. *****************************************************************************)
  140. IF( bMode_Auto )  THEN
  141.     
  142.      IF( HmiKey_BeltFlimPull ) THEN
  143.                   
  144.          SET( TRUE, Y_BeltPullFilm_cylinder );        
  145.      ELSE        
  146.          RST( TRUE, Y_BeltPullFilm_cylinder );        
  147.      END_IF;
  148.     
  149. END_IF;
  150. (******************************************************************************
  151. * 真空泵
  152. *
  153. *****************************************************************************)
  154. IF( bMode_Auto ) THEN
  155.     
  156.     IF( HmiKey_VacuumPump ) THEN
  157.         
  158.         SET( TRUE, Y_VacuumPump_SSR );        
  159.     ELSE        
  160.         RST( TRUE,Y_VacuumPump_SSR );        
  161.     END_IF;
  162.     
  163. END_IF;  
  164. (******************************************************************************
  165. * 跑遍糾正
  166. *
  167. * HmiPB_MoveLeft     HMI“自動(dòng)包裝”界面“跑偏糾正”左移按鈕
  168. * HmiPB_MoveRight    HMI“自動(dòng)包裝”界面“跑偏糾正”右移按鈕
  169. * Limit_Left         左移限位開(kāi)關(guān)
  170. * Limit_Right        右移限位開(kāi)關(guān)
  171. *****************************************************************************)
  172. IF( HmiKey_MoveLeft AND ( NOT ix_PackFilm_Limit_L ) ) THEN
  173.     
  174.     SET( TRUE, Y_MoveLeft_SSR );    
  175. ELSE    
  176.     RST( TRUE, Y_MoveLeft_SSR );    
  177. END_IF;
  178. IF( HmiKey_MoveRight  AND ( NOT ix_PackFilm_Limit_R ) )THEN
  179.     
  180.     SET( TRUE, Y_MoveRight_SSR );    
  181. ELSE    
  182.     RST( TRUE, Y_MoveRight_SSR );    
  183. END_IF;
[ 此帖被nos001在2019-07-19 21:47重新編輯 ]
wangli1268
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 34 個(gè)
工控威望: 82 點(diǎn)
下載積分: 7479 分
在線時(shí)間: 14(小時(shí))
注冊(cè)時(shí)間: 2019-06-14
最后登錄: 2022-06-01
查看wangli1268的 主題 / 回貼
112樓  發(fā)表于: 2019-07-19 22:15
感謝您的分享,學(xué)習(xí)中!
denghong
我是一只草泥馬.!
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 171 個(gè)
工控威望: 349 點(diǎn)
下載積分: 1173 分
在線時(shí)間: 185(小時(shí))
注冊(cè)時(shí)間: 2007-10-12
最后登錄: 2024-11-05
查看denghong的 主題 / 回貼
113樓  發(fā)表于: 2019-08-08 09:00
樓主,軸的機(jī)構(gòu)體寫(xiě)的不是很好,我有幾個(gè)簡(jiǎn)單的。
林李56
級(jí)別: 正式會(huì)員
精華主題: 0
發(fā)帖數(shù)量: 26 個(gè)
工控威望: 94 點(diǎn)
下載積分: 5583 分
在線時(shí)間: 53(小時(shí))
注冊(cè)時(shí)間: 2019-01-25
最后登錄: 2024-10-26
查看林李56的 主題 / 回貼
114樓  發(fā)表于: 2019-08-08 09:58
樓上的高手能分享下嗎?
小嘿嘿
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 243 個(gè)
工控威望: 356 點(diǎn)
下載積分: 15314 分
在線時(shí)間: 168(小時(shí))
注冊(cè)時(shí)間: 2012-09-24
最后登錄: 2024-11-10
查看小嘿嘿的 主題 / 回貼
115樓  發(fā)表于: 2019-08-08 12:08
         感謝樓主
451665150
學(xué)海無(wú)涯,勤作舟
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 59 個(gè)
工控威望: 123 點(diǎn)
下載積分: 1877 分
在線時(shí)間: 57(小時(shí))
注冊(cè)時(shí)間: 2019-04-27
最后登錄: 2022-04-05
查看451665150的 主題 / 回貼
116樓  發(fā)表于: 2019-08-08 20:37
下載了,感謝樓主分享
工控老毛
未來(lái)發(fā)展趨勢(shì),自動(dòng)機(jī)械化。
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 39 個(gè)
工控威望: 833 點(diǎn)
下載積分: 4558 分
在線時(shí)間: 71(小時(shí))
注冊(cè)時(shí)間: 2017-12-14
最后登錄: 2021-01-22
查看工控老毛的 主題 / 回貼
117樓  發(fā)表于: 2019-08-09 08:05
學(xué)習(xí)學(xué)習(xí),謝謝分享
早安你好
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 33 個(gè)
工控威望: 528 點(diǎn)
下載積分: 2924 分
在線時(shí)間: 52(小時(shí))
注冊(cè)時(shí)間: 2019-03-04
最后登錄: 2022-06-07
查看早安你好的 主題 / 回貼
118樓  發(fā)表于: 2019-08-09 15:31
感謝,樓主
752759616
簽名個(gè)鬼
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 216 個(gè)
工控威望: 374 點(diǎn)
下載積分: 2410 分
在線時(shí)間: 159(小時(shí))
注冊(cè)時(shí)間: 2013-07-08
最后登錄: 2024-11-07
查看752759616的 主題 / 回貼
119樓  發(fā)表于: 2019-08-10 09:56
學(xué)習(xí)下一下