国产一区二区三区毛片_亚洲乱码AV中文一区二区_亚洲精品无码专区在线播放_日韩欧美一二_咪咪av影院_欧久久av一区二区

nos001
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 54 個(gè)
工控威望: 110 點(diǎn)
下載積分: 814 分
在線時(shí)間: 42(小時(shí))
注冊時(shí)間: 2018-03-31
最后登錄: 2022-10-06
查看nos001的 主題 / 回貼
樓主  發(fā)表于: 2019-06-27 16:21
圖片:
找不到st編程的教程,硬是自己摸索,一點(diǎn)一點(diǎn)摳出來的。
后來發(fā)現(xiàn)iQ-R 結(jié)構(gòu)化文本(ST)編程指南就是教程,關(guān)于語法、其他手冊上找不到的較難理解的結(jié)構(gòu)變量都有示例。
完全st編程的中斷寫法好幾天無從著手,把FXCPU結(jié)構(gòu)化順序指令篇看了一遍又一遍,才摸索出來,具體見工程附件。
工程是未完成的不完整工程,只是希望自己認(rèn)為較難理解手冊沒提及的st編程方法對需要的同志有所幫助。

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

復(fù)制代碼
  1. (*****************************************************************************************************
  2. * 程序“恒定掃描”設(shè)置
  3. * M8039 = TRUE, 則程序?yàn)楹愣ㄖ芷趻呙?/li>
  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í)間所需計(jì)數(shù)值 = 60000ms / 10ms / 預(yù)置包裝速度,每分鐘為60000ms,定時(shí)器為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. * 警報(bào)發(fā)生
  41. * 報(bào)警鎖,任何一種警報(bào)發(fā)生,自動(dòng)包裝都將停止運(yùn)行
  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,每分鐘的計(jì)數(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;             (* 制袋計(jì)數(shù) *)
  158.         PackingCnt := PackingCnt + 1;             (* 包裝計(jì)數(shù) *)
  159.         PackingSpeed := 12000 / Cnt;              (* 包裝速度計(jì)算 *)
  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;             (* 制袋計(jì)數(shù) *)
  167.         PackingSpeed := 12000 / Cnt;
  168.         Cnt := 0;
  169.                 
  170.     END_IF;
  171.     (* 包裝流程結(jié)束,復(fù)位定時(shí)器、伺服結(jié)束標(biāo)志、制袋一個(gè)按鈕 *)
  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. * 包裝膜卷棍電機(jī)控制
  186. *
  187. * 說明:接近開關(guān)的感應(yīng)體是一個(gè)自由落體的金屬橫桿,由包裝膜拉動(dòng)其上下運(yùn)動(dòng)表示包裝膜的松緊。
  188. *       感應(yīng)體運(yùn)動(dòng)到頂部,頂部金屬感應(yīng)開關(guān)動(dòng)作,說明包裝膜被拉緊,包裝膜卷棍電機(jī)運(yùn)轉(zhuǎn)送膜;
  189. *       感應(yīng)體運(yùn)動(dòng)到中部,中部金屬感應(yīng)開關(guān)動(dòng)作,說明送膜已經(jīng)足夠,停止送膜;
  190. *       感應(yīng)體運(yùn)動(dòng)到底部,底部金屬感應(yīng)開關(guān)動(dòng)作,說明接近開關(guān)的感應(yīng)體已經(jīng)沒有包裝膜拉動(dòng)其運(yùn)動(dò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. (* 手動(dòng)控制,放膜 *)
  207. IF HmiKey_ManualOP THEN
  208.     
  209.     IF( HMI手動(dòng)_放膜 ) THEN
  210.         
  211.         SET( TRUE, Y_FilmMotor_Y13 ); (* 手動(dòng)送膜 *)
  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ù):942
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯(cuò)
附件: 顆粒包裝機(jī)v1.0_ST.gxw.rar (180 K) 下載次數(shù):756
網(wǎng)站提示: 請不要用迅雷下載附件,容易出錯(cuò)
本帖最近評分記錄:
  • 下載積分:+1(gk1234) 感謝分享!
  • 下載積分:+1(lizhendong) 感謝分享!
  • 下載積分:+1(xn0220xn) 真誠感謝!
  • 下載積分:+1(chihung) 感謝分享!
  • 下載積分:+5(吳工2014)
  • 下載積分:+1(zhcdb2671) 真誠感謝!
  • 下載積分:+3(heidelberg5) 好貼好貼!
    mall9002
    級別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 137 個(gè)
    工控威望: 248 點(diǎn)
    下載積分: 921 分
    在線時(shí)間: 182(小時(shí))
    注冊時(shí)間: 2017-11-30
    最后登錄: 2025-04-03
    查看mall9002的 主題 / 回貼
    1樓  發(fā)表于: 2019-06-28 11:03
    還是習(xí)慣用FBD,ST編邏輯邏輯看著太累,出問題找半天,梯形圖一竿子到底,不利于閱讀。
    變量在程序里輸入完標(biāo)簽名稱按F2就出來了,還行吧。

    主站蜘蛛池模板: 极品人妻大胆尝试50p_国产精品久久久久久久久妇女_欧美精选视频在线观看_91大尺度分娩_久久强奷乱码老熟女_日本h片在线观看免费_性av无码天堂_亚洲AV无码成人精品区 | 亚洲丰满熟女一区二区蜜桃_国产馆一区二区_免费观看992tv_亚洲国产视频一区二区三区_日本中文字幕在线一区_又爽又黄又无遮挡的激情视频_jk制服国产在线视频_岛国成人免费 | 成人综合亚洲日韩欧美色_奇米成人影视_午夜精品a片一区二区三区_超碰色偷偷_青青草精品_久久久久久人妻精品一区二区三区_日本黄色三级大片_91福利网址导航 | 亚洲91视频_国产一区二区三区视频网站_2018天天弄国产大片_韩国一级片在线_porno日本xxxxx_日韩欧美一区二区三区久久婷婷_精品国产乱码久久久久久天美_一级黄色影片在线观看 | 又爽又黄又无遮挡的视频_五月激情五月婷婷_伊人久久综合视频_99国产精品9_免费毛片在线_欧美黄色免费在线观看_成人α片免费视频在线观看_欧美日韩在线精品一区二区三区 | 国产村民一二三区_国产香蕉尹人综合在线观看_久久久久久久久久一区_久久婷婷人人澡人人喊人人爽_天天干天天透_日韩免费特黄一二三区_欧美国产日韩在线视频_国产欧美日韩另类在线专区 | 亚洲欧美国产另类_欧美与黑人午夜性猛交久久久_国产欧美日本在线_风流老熟女一区二区三区_天天干人人_91网国产高清_色婷婷一区二区三区四区成人网_中国特黄一级片 | 久草色香蕉_色原网九区_影视在线观看免费观看_国内精品视频在线观看免费网站_午夜爱爱免费视频_国产福利久久久_欧美老肥妇做爰bbww_日本三级欧美三级人妇视频黑白 | ⅵdeodesetv性欧美_久久精品www人人做人人爽_我要看黄色影片_欧美综合网站_91国产在线播放_97丨九色丨国产人妻熟女_青青久在线视频免费观看_成人av网站大全 | 亚洲aⅴ无码专区在线观看_精品福利网站_午夜影院c绿象_中文字幕十区_久久综合日本_久久网站免费视频_国产免费一区视频_欧美成年人视频 | 美女91_一本大道久久a久久精品综合_青草久操_亚洲伦理99热久久_狠狠色噜噜狠狠狠888米奇_久久美女色视频_777影音_狠狠色综合7777久夜色撩人 | 亚洲天堂岛_国产亚洲日韩在线播放更多_中文字幕1级精品视频在线_草草草影院_黄色精品在线观看_yy8840私人影院的在线_国产日产精品久久久久久_国产一卡二卡三卡免费 | 国产精品久久久久一区二区三区共_国产视频1_国产97在线播放_国产一区二区在线观_久久伊人网站_大地资源网第二页免费观看_久久女人被添全过程A片_国产做爰xxx18在线观看网站 | 日产精品卡二卡三卡四卡区满十八_99精品视频一区二区三区_成人在线网_www.爱爱_男人j桶进女人p无遮挡_久久国产avjust麻豆_在线国产日本_色aaa | 粉色视频成人免费看片视频_国产suv精品一区二区四区99_97SE狠狠狠狠狼鲁亚洲综合色_成年美女色黄网站视频网站_四虎永久免费地址_麻妃在线_亚洲精品中文字幕中文字幕_一二三四在线观看免费高清中文在线观看 | 蜜臀69_日本真人添下面视频免费教_精品欧洲av无码一区二区_操操小视频_三级视屏_97网站_极品福利_超碰在线超碰 | 欧美精品粉嫩高潮一区二区_国产精成人品在线观看_久久精品国产精品亚洲38_俄罗斯极品xxxx_深夜视频在线播放_97超碰人_成人A片免费视频在线观看1_无码人妻丰满熟妇区毛片18 | 国内自拍第23页_欧美性做爰片免费视频看_狠狠操人人_久久av喷潮久久av高_国产真人美女A爱做_国产精成人品localhost_亚洲乱码日产一区三区_999精品国产人妻无码梦乃爱华 | 三级网站在线免费观看_亚洲视频一区在线观看_国产精品一级香蕉一区_好屌爽在线视频_亚洲另类视频_插我舔内射18免费视频_伊人久久大香线蕉AV仙人_日韩在线激情 | 日韩av无码一区二区三区不卡毛片_性XXXX视频播放免费_亚洲国产一级_国产精品久久久久久久免费看_国产人成无码视频在线观看_欧美三根一起进三p视频_国久久久久久_边吻奶边挵进去gif动态图 | 特一级黄色_日本三级视频_国产91欧美_伊人午夜_午夜免费性福利_超碰在线人人草_亚洲日韩国产精品乱-久_中文字幕精品亚洲无线码VR | 亚洲成年在线观看_久草网在线_美女日韩一区_久久香蕉影视_日韩精品a在线观看91_不卡一区综合视频_barazza欧美dh_夜色综合 | 白浆av导航_菲律宾一级片_牛夜精品久久久久久久99黑人_精品无码中文字幕在线_九色一区二区_aⅴ一区二区三区无卡无码_青草视频在线观看国产_欧美日韩在线观看成人 | 国产高清免费在线_国产美女久久久久_毛片在线不卡_亚洲在线一区二区_超碰免费视_24小时日本在线视频_国产啪视频1000部免费_精品国产一区二区三区四区阿崩 | 中文天堂最新版www_男人把女人桶到喷白浆的软件免费_永久黄网站免费视频性色_美女扒开尿眼让男人桶爽视频_永久免费观看av_中文字幕一区二区三区精品_香蕉国产影院_www.亚洲91 | 美女久久一区_插B内射18免费视频_激情综合一区二区三区_国产成人亚洲综合精品_黑人中文字幕_china农村妇女videos_综合久色_高清一区二区三区日本久 | 国产精品久久久久一区_一线高清视频在线观看www国产_成人黄色视频播放165_国产精品亚洲自拍_中文字幕亚洲精品日韩一区_狠狠躁日日躁夜夜躁2020_久色91_成年人免费看片 | 国产成人AV区一区二区三_国产91清纯白嫩初高中在线观看_欧美国产日韩一区二区三区_日韩东京热无码AV一区_少妇高潮太爽了在线播放_亚洲精品国产精品国自产在线_国产91艳遇在线观看_黄色三级网站在线观看 | 一区二区播放_国产ts人妖一区二区三区_日韩精品在_国产在线播放一区_又大又黄又硬视频_激情久久一区_好姑娘国语免费高清观看_国产在线成人 | 国产爱啪啪_亚洲毛片免费_九九自拍视频_欧美xxxxx性喷潮_日韩国产精品久久久久久亚洲_日本a级片免费观看_999精品在线_日本丰满少妇BBB | 日本一区二区在线看_精品国产乱码久久久久久口爆_欧州办公室内射美女_SAO货腿张开JI巴CAO死我_成年女人喷潮毛片免费播放_欧美丝袜丝交足nylons视频_九九久久视频_亚洲国产清纯系在线观看 www日本xx_gay亚洲男男gv在线观看网站_99pao在线视频国产_国产精品亚洲网站_黄色一级大片在线免费看国产一_自慰系列无码专区_国产乱free国语对白_中文字幕综合 | 久久99久久99精品中文字幕_一级毛片免费版_a国产免费_玖玖视频免费_日日激情综合久久一区_91久久国产精品视频_爱福利视频网_天天碰天天摸天天操 | 国产一区免费在线_2021少妇久久久久久久久久_www久久无码天堂mv_免费观看的黄色网址_亚洲精品一区二区三区蜜臀_中文天堂国产最新_无码熟妇人妻在线视频_无码中文字幕加勒比高清 | 黄a免费视频_久久精品国产亚洲一区二区_国产又爽又黄又无遮挡的激情视频_爱福利一区_亚洲国内精品在线_日韩aaa视频_久久无码免费视频播放_久久精品人人槡人妻人 | sxeoquenetv另类重口_日本视频网址_日韩成人在线一区_综合狠狠开心_91久久高清国语自产拍_久草在线免费资源站_国产精品亚洲专区无码不卡_欧洲美熟女乱又伦av影片 | 成人无码视频在线观看网站_快色91_国产欧美日韩一区二区三区在线_在线看黄色_极品销魂美女一区二区_无码成人一区二区三区_videos日本多毛hd护士_人妻互换HD无码中文在线 | 精品性影院一区二区三区内射_又大又湿又紧又爽a视频_亚洲日本一线产区和二线产区_92在线_穿靴子的猫在线观看_国产在线h_农村妇女野外牲交一级毛片_亚洲欧洲国产综合aⅴ无码 | 国产91片_国产一级免费在线视频_国产女人精品视频_毛片1级_一级在线看_久久久麻豆_国产精成人品91_亚洲黄色av | 久久免费视频一区二区_末成年女av片一区二区_亚洲性日韩精品一区二区_国产精品拍自在线观看_www.在线看_久久99亚洲精品久久频_中文字幕日韩精品一区_亲子乱子伦xxxx91 | 丰满少妇大力进入_熟妇好紧好大快点舒服使劲xh_亚洲一区免费视频_成品人国产一区二区三区精品_亚洲欧美精品在线观看_原神xman图_久久久受www免费人成_久久香蕉影院 | 国产91网_国产在线精品一区二区三区不卡_欧美va久久久噜噜噜久久_G国产精品无马_中文字幕在线不卡一区二区三区_亚洲AV色吊丝无码_韩国一级大片_永久免费AV无码网站04 |