女人叫床声_动漫美女被艹视频_国产精品短篇二区_理发店女人一级毛片

zqszk123
集百家之所長,融百家之所思,揚百家之所名!
級別: 論壇先鋒
精華主題: 1 篇
發帖數量: 246 個
工控威望: 1067 點
下載積分: 585 分
在線時間: 123(小時)
注冊時間: 2018-06-19
最后登錄: 2023-04-03
查看zqszk123的 主題 / 回貼
樓主  發表于: 2018-08-20 10:16
三菱的,結構化編程,看編程思維,不用詳細看動作 !
歡迎一起討論!(感覺還好的話送點積分給我,我要改名字!
[ 此帖被18706185276在2018-08-20 16:33重新編輯 ]
附件: 程序.zip (3544 K) 下載次數:11884
網站提示: 請不要用迅雷下載附件,容易出錯
本帖最近評分記錄:
  • 下載積分:+5(renjiawonder) 結構編程
  • 下載積分:+1(aaa2073) 感謝分享!
  • 下載積分:+1(一水知寒) 好貼好貼!
  • 下載積分:+1(工控老杜) 好貼好貼!
  • 下載積分:+1(zhao82159217)
  • 下載積分:+1(zhuo610616) 真誠感謝!
  • 下載積分:+1(上官文博) 真誠感謝!
    nos001
    級別: 探索解密
    精華主題: 0
    發帖數量: 54 個
    工控威望: 110 點
    下載積分: 814 分
    在線時間: 42(小時)
    注冊時間: 2018-03-31
    最后登錄: 2022-10-06
    查看nos001的 主題 / 回貼
    1樓  發表于: 2019-07-19 21:40
    結構化,程序大,有條理,值得借鑒。
    就是定義在一頁的全局變量太多,感覺應該分頁。
    其實不知道硬件,不知道用途,還是挺難看懂。
    還是更喜歡st編程,自定義定時器感覺比gx works 內建的好用。
    復制代碼
    1. (******************************************************************************
    2. * 從自動包裝切換到手動操作
    3. * 如果前面進行過“自動包裝”,切換到“手動操作”時進行一次初始化
    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. * 從手動操作切換到自動包裝
    49. * 如果前面進行過“手動操作”,切換到“自動包裝”時進行一次初始化
    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;               (* 如果切換到“手動操作”,這條語句必然被執行 *)
    89.     
    90. END_IF;
    91. (******************************************************************************
    92. * brief  按鍵掃描與互鎖
    93. * note  
    94. *****************************************************************************)
    95. HmiKey_Scan_InterLock();    
    96. (******************************************************************************
    97. * brief  自動包裝(填充包裝)按鍵事件處理
    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  空袋調試 按鍵事件處理
    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 制袋一個 按鍵事件處理
    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. * 伺服電機通過傳動桿驅動拉膜皮帶,拉膜氣缸控制拉膜皮帶:
    137. * 抱緊下料筒的包裝膜
    138. * 松開下料筒的包裝膜
    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“自動包裝”界面“跑偏糾正”左移按鈕
    168. * HmiPB_MoveRight    HMI“自動包裝”界面“跑偏糾正”右移按鈕
    169. * Limit_Left         左移限位開關
    170. * Limit_Right        右移限位開關
    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重新編輯 ]