国产一区二区三区毛片_亚洲乱码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就出來了,還行吧。

    主站蜘蛛池模板: 第一福利导航导航_国产激情久久久久久熟女老人AV_丁香五月七月综合激情_久草毛片_91亚色视频在线观看_日本女优一区_日日躁夜夜躁狠狠躁av麻豆_国产精品乱码久久久久久久久 | 黄色片特级片_亚洲性激情_在线一区二区三区四区_成人看片黄a在线观看_我的逼好痒_av软件大全_国产免费福利在线观看_粉嫩极品国产在线观看 | 国产精品久久久久一区二区三区共_国产视频1_国产97在线播放_国产一区二区在线观_久久伊人网站_大地资源网第二页免费观看_久久女人被添全过程A片_国产做爰xxx18在线观看网站 | 色妹子一区二区_成人在线观看网站_国产自偷在线拍精品热乐播AV_爆操极品尤物_欧美精品久久久久a片一二三区_九色视频91_jizzjizz日本护士_国产综合久久久久久鬼色 | 91看片官网_欧美线人一区二区三区_九色视频少妇_免费精品国自产拍在线播放_日本黄色片aaaa_暖暖av_亚洲精品久久乱码水蜜桃摄影_中文字幕在线观看国产推理片 | 麻豆TV入口在线看_国产一区在线导航_青草视频在线免费观看_性色av无码专区一ⅴa亚洲_国产精品com_国产a三级久久精品_久久一区国产_精品国产日韩欧美一区二区 | 91精品国产综合久久久动漫百度_国产性生交XXXXX免费_香蕉靠逼视频_亚洲sss综合天堂久久_国产性猛交xxxx乱大交小视频_日本一道本久久_国产日韩精品视频_精品成人av一区 | 亚洲欧洲久久av_极品美女国产精品免费一区_老司机网站免费_免费视频入口_人妻网站成熟人妻VA网站_福利视频网站_亚洲天堂第一区_男人粗大一进一出视频 | 日本91网站_久久人人爽人人爽人人片AV东京热_农村野外理伦三级_嫩草官网视频入口_一区二区日韩欧美_a级片一级片_国产亚洲v_久久精品一区二区三区国产主播 | 国产黄在线观看免费观看不卡_av福利免费_国产麻豆天美果冻无码视频_午夜宅男久久久_xxxxxhd日本xxxx47_日韩高清在线一区二区三区_男人天堂视频网_少妇高潮浪潮av99网站 | 亚洲国产成人av_91干干_色欲AV无码无在线观看_2018高清一道国产_亚洲综合日韩a无码毛片_欧美高清精品一区二区_五月丁香激激情亚洲综合_国产精品情侣 | 国产亚洲精_国产精品久久久久影院亚瑟_亚洲人成欧美中文字幕_石原莉奈在线观看视频_久久综合99re88久久爱小说_亚洲香蕉视频天天爽_午夜时刻免费入口_中国极品少妇xxxxx69 | 亚洲综合国产一区_www.狠狠操.com_91视频福利网_欧美99热_国产观看_日本一级片视频_国产永久免费_亚洲精品久久久AV无码专区 | 大雞巴亂倫有声小说_ZZIJZZIJ亚洲日本少妇_mm1313亚洲国产精品一区_97成人精品视频在线观看_在线视频毛片_国产精品精品自在线拍互動交流_黄色大片日本免费大片_久久久无码精品无码国产人妻丝瓜 | 免费观看性生交大片3区_午夜视频www_欧美笫一页_一卡二卡三卡免费看_一久久久久_老司机AⅤ在线精品导航_午夜无码人妻AV大片色欲_91国语清晰打电话对白 | 又爽又黄又无遮挡的视频_五月激情五月婷婷_伊人久久综合视频_99国产精品9_免费毛片在线_欧美黄色免费在线观看_成人α片免费视频在线观看_欧美日韩在线精品一区二区三区 | 99r在线播放_欧美成人高清在线_a级黄色网_亚洲一二三av_国产精品日本亚洲欧美_日本a级在线_粉嫩精品av久久久久久久_aaaaa级少妇高潮大片 | 超薄丝袜足J好爽在线观看_欧美成人一区亚洲一区_亚洲AV高清一区二区三区尤物_天堂一区二区mv在线观看_麻豆视传媒官网免费观看_日韩欧美视频免费_1024国产在线在线视频_AV无码中文字幕不卡一区二区三区 | 国产在线麻豆精品观看_av蓝导航精品导航_中国护士一级毛片_黄色免费毛片_一个色的导航_在线精品视频一区二区三区_亚洲久久久久久_欧美成人一级高清 | 国产黄在线观看免费观看不卡_av福利免费_国产麻豆天美果冻无码视频_午夜宅男久久久_xxxxxhd日本xxxx47_日韩高清在线一区二区三区_男人天堂视频网_少妇高潮浪潮av99网站 | 综合第一页_欧美大色视频在线观看_91天堂在线_欧州一级特黄视频无码_亚洲一区二区三区无码国产_97SE亚洲国产综合自在线不卡_亚洲福利视频52_最近新中文字幕大全高清 | 99涩涩_国产愉拍精品手机_日本少妇喷浆_欧美性猛少妇xxxxx_hd女人奶水授乳milk_最新在线黄色网址_久久久久久蜜桃_国产69精品久久777的优势 | 国产日产精品一区二区三区的介绍_特级全黄一级毛片_av在线资源_BBBBB女女女女女BBBBB国产_亚洲三级中文字幕_亚洲视频中文在线_欧美1区_www.com.cn成人 | 亚洲三区在线播放_小视频一区_国产亚洲精品视频中文字幕_色美av_中文字幕在线网址_亚洲欧洲精品视频在线观看_日韩欧美一区二区三区在线播放_国产无遮挡AAA片爽爽 | freexxxx性特大另类_69xx视频免费观看_国产三级国产精品国产普男人_国产欧美二区综合_555www成人网_东莞性视频88XXX_欧美一区二区三区视频_欧美国产一区二区三区激情无套 | 91性高潮久久久久久久_五月花激情网_二区三区国产_3344在线永久观看视频播放_一区二区三区四区AV_国产爆初菊在线观看免费视频网站_日韩在线一区二区三区免费视频_久久国产a | 盗摄牛牛av影视一区二区_全国最大黄色网址_深夜福利网_一级特黄网站_乱丶伦丶图丶区一区二区_毛片黄片一级片_日本福利网_亚洲av高清不卡久久 | 精品一区二区在线视频_91香蕉国产在线观看免费永久_国产成人Av乱码免费观看_国产66页_男人女人做爽爽18禁网站_日干夜操_中国hd高清xxxxvideo_japan15—16hd | 99热这里只有精品2_久久免费国产美女裸体精东_亚洲情艺中心_成人欧美一区二区三区黑人麻豆_小草久久久久久久久爱六_美女站立式x0x0又黄动态图_99精品视频国产_拔插拔插在线 | 高h粗口_日本黄色三级网站_黄色av大全_少妇饥渴偷公乱第一章全文_精品免费久久久国产一区_国产乱人_国产精品久久久国产盗摄_欧美亚洲人成在线 | 麻豆影视视频高清在线观看_亚洲蜜桃网_色爱综合_XXXXBBBB欧美_全球诡异时代动漫免费观看_欧美第7页_视频在线一区二区三区_欧美XXXX做受欧美Gay | 欧洲免费在线观看视频_日韩欧美亚洲中文乱码_免费看日本zzzwww色_欧美性做爰毛片_日韩一级二级三级_一区二区三区欧美在线观看_国产精品亚洲无码在线_99爱这里只有精品 | 国产91网_国产在线精品一区二区三区不卡_欧美va久久久噜噜噜久久_G国产精品无马_中文字幕在线不卡一区二区三区_亚洲AV色吊丝无码_韩国一级大片_永久免费AV无码网站04 | 青苹果乐园高清免费播放_国产午夜亚洲精品一区_成人做爰A片免费看视频暗夜_国产亚洲精久久久久久_亚洲成a人片_日本成本人片视频免费_亚洲午夜无码久久久久小说_男女a级毛片 | 午夜视频免费看_7788私人影院_7777精品久久久大香线蕉_曰曰摸夜夜添夜夜添高潮出水_伊人狠狠操_青青免费视频在线_色婷婷欧美在线播放内射_少妇性饥渴无码A区免费 | 国产综合亚洲精品一区二_久久天天躁夜夜躁狠狠躁2024_亚洲AV无码成人黄网站在线观看_亚洲精品一区人人爽_国产精品国内免费一区二区三区_日本一本区_韩国av在线播放_欧美人与动欧交视频 | 中国熟妇色xxxxx老妇_东京热无码一区二区三区av_女人自慰喷水高清播放_超碰在线人人干_国产午夜大地久久_麻豆爽爽妓女国产99RE小说_美女视频无遮挡永久网站_精品视频免费在线观看 | 国产精品suv一区二区88_亚洲欧洲日产国产最新_久久金品_亚洲欧美综合区_亚洲aⅴ无码成人网站国产_成人高潮片免费视频欧美_91免费观看_欧美在线播放一区二区三区 | 欧美日韩国产综合在线_日本黄色高清_女人被男人躁得好爽免费视频_AV无码久久久久不卡免费网站_亚洲欧洲免费无码_在线播放免费视频播放_日韩国产精品一区二区三区_久久久久免费毛A片免费一瓶梅 | 亚洲欧美日韩中文字幕二_日产精品久久久久久久_国产一区二区三区高清_国产一级a不收费_亚洲AV无码第一区二区三区_懂色av粉嫩av蜜臀av_国产午夜理论不卡在线观看_天天射色综合 | 中国少妇做受XXXXX69小说_欧美日韩中出_精品欧美日韩精品_亚洲AV手机在线观看不卡_3bmm在线观看视频免费_永久免费无码AV在线网站_日韩狠狠_日本中文字幕在线播放 |