久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 簡單的交通燈:PLC-SCL語言程序 [打印本頁]

作者: 12131213    時間: 2020-7-15 12:06
標題: 簡單的交通燈:PLC-SCL語言程序
本帖最后由 12131213 于 2020-7-15 12:32 編輯

       看了網上的交通燈程序似乎都沒有SCL版本的,就把自己 寫的SCL版本分享一下吧。
控制要求:
       首先,南北方向紅燈亮25秒,與此同時,東西方向綠燈先亮20秒,然后閃3秒,接著東西方向黃燈閃2秒;接下來,東西方向紅燈亮30秒,南北方向綠燈先亮25秒,然后,南北綠燈閃3秒,南北黃燈閃2秒。
程序設計思路:
       程序分為單定時器和雙定時器兩個版本,但思路是一樣的,都是根據在不同的時間點,控制不同的燈亮。因為總的時長為55秒,然后東西方向通行時間為25秒,南北方向通行時間為30秒,整個程序流程如下:


       然后簡單說一下單定時器和雙定時器的區別,他們的功能是一樣的,只不過雙定時器可以任意修改閃爍頻率,而單定時器版本的只能使用系統設定好的幾個頻率。因為單定時器版本用的是PLC自帶的系統時鐘,使用方法是打開”設備組態”,在“常規”里面找到“系統和時鐘存儲器”,勾選“時鐘存儲器位”就行了,然后就可以在PLC變量表里面看到相應的變量了。圖片如下:


程序如下:
單定時器版本:
  1. //交通燈:單定時器版本
  2. IF "啟動" AND "停止" = 0 THEN
  3.     "數據塊_1".啟動值 := 1;
  4.     "數據塊_1".停止值 := 0;
  5. ELSIF "停止" THEN
  6.     "數據塊_1".啟動值 := 0;
  7.     "數據塊_1".停止值 := 1;
  8.     "東西紅" := 0;
  9.     "東西黃" := 0;
  10.     "東西綠" := 0;
  11.     "南北紅" := 0;
  12.     "南北黃" := 0;
  13.     "南北綠" := 0;
  14. END_IF;
  15. IF "數據塊_1".啟動值 THEN
  16.     "數據塊_1".定時器.IN := 1;
  17.     "數據塊_1".定時器.PT := T#55s;
  18.     "IEC_Timer_0_DB_2".TON(IN := "數據塊_1".定時器.IN,
  19.                            PT := "數據塊_1".定時器.PT,
  20.                            ET => "數據塊_1".定時器輸出時間);
  21.     IF "數據塊_1".定時器輸出時間>=T#0s AND "數據塊_1".定時器輸出時間<=T#20s THEN
  22.         "東西綠" := 1;
  23.         "南北紅" := 1;
  24.         ELSIF "數據塊_1".定時器輸出時間>T#20s AND  "數據塊_1".定時器輸出時間<=T#23s THEN
  25.             "東西綠" :="Clock_2Hz" ;
  26.         ELSIF "數據塊_1".定時器輸出時間>T#23s AND  "數據塊_1".定時器輸出時間<=T#25s THEN
  27.             "東西綠" := 0;
  28.             "東西黃" := "Clock_2Hz";
  29.     ELSIF "數據塊_1".定時器輸出時間>T#25s AND "數據塊_1".定時器輸出時間<=T#50s THEN
  30.         "東西紅" := 1;
  31.         "南北綠" := 1;
  32.         "東西黃" := 0;
  33.         "南北紅" := 0;
  34.     ELSIF "數據塊_1".定時器輸出時間>T#50s AND "數據塊_1".定時器輸出時間<=T#53s THEN
  35.         "南北綠" := "Clock_2Hz";
  36.     ELSIF "數據塊_1".定時器輸出時間>T#53s AND "數據塊_1".定時器輸出時間<=T#55s THEN
  37.         "南北黃" :="Clock_2Hz" ;
  38.         "南北綠" := 0;
  39.     END_IF;
  40.     IF "數據塊_1".定時器輸出時間 =T#55s THEN
  41.         RESET_TIMER("IEC_Timer_0_DB_2");
  42.         "東西紅" := 0;
  43.         "東西黃" := 0;
  44.         "東西綠" := 0;
  45.         "南北紅" := 0;
  46.         "南北黃" := 0;
  47.         "南北綠" := 0;
  48.     END_IF;
  49. END_IF;
復制代碼



雙定時器版本:
  1. //交通燈:兩個定時器版本
  2. IF "啟動" AND "停止" = 0 THEN
  3.     "數據塊_1".啟動值 := 1;
  4.     "數據塊_1".停止值 := 0;
  5. ELSIF "停止" THEN
  6.     "數據塊_1".啟動值 := 0;
  7.     "數據塊_1".停止值 := 1;
  8.     "東西紅" := 0;
  9.     "東西黃" := 0;
  10.     "東西綠" := 0;
  11.     "南北紅" := 0;
  12.     "南北黃" := 0;
  13.     "南北綠" := 0;
  14. END_IF;
  15. IF "數據塊_1".啟動值 THEN
  16.     "數據塊_1".定時器.IN := 1;
  17.     "數據塊_1".定時器.PT := T#55s;
  18.     "數據塊_1".定時器1.PT := T#0.5s;
  19.     //總定時;55s
  20.     "IEC_Timer_0_DB_2".TON(IN := "數據塊_1".定時器.IN,
  21.                            PT := "數據塊_1".定時器.PT,
  22.                            ET => "數據塊_1".定時器輸出時間);
  23.     //0~20s;南北紅燈,東西綠燈
  24.     IF "數據塊_1".定時器輸出時間>=T#0s AND "數據塊_1".定時器輸出時間<=T#20s THEN
  25.         "東西綠" := 1;
  26.         "南北紅" := 1;
  27.    //東西綠燈閃3s
  28.     ELSIF "數據塊_1".定時器輸出時間>T#20s AND "數據塊_1".定時器輸出時間<=T#23s THEN
  29.         "數據塊_1".定時器1.IN := 1;
  30.         "數據塊_1".定時器1.PT := T#500ms;
  31.         "IEC_Timer_0_DB".TON(IN := "數據塊_1".定時器1.IN,
  32.                              PT := "數據塊_1".定時器1.PT,
  33.                              Q => "數據塊_1".定時器輸出2);
  34.         IF "數據塊_1".定時器輸出2 THEN
  35.             "東西綠" := NOT "東西綠";
  36.             RESET_TIMER("IEC_Timer_0_DB");
  37.         END_IF;
  38.         //東西黃燈閃2s
  39.         ELSIF "數據塊_1".定時器輸出時間>T#23s AND"數據塊_1".定時器輸出時間<=T#25s THEN
  40.             "東西綠" := 0;
  41.             "數據塊_1".定時器1.IN := 1;
  42.             "數據塊_1".定時器1.PT := T#500ms;
  43.             "IEC_Timer_0_DB".TON(IN := "數據塊_1".定時器1.IN,
  44.                                  PT := "數據塊_1".定時器1.PT,
  45.                                  Q => "數據塊_1".定時器輸出2);
  46.             IF "數據塊_1".定時器輸出2 THEN
  47.                 "東西黃" := NOT "東西黃";
  48.                 RESET_TIMER("IEC_Timer_0_DB");
  49.             END_IF;
  50. //東西紅燈,南北綠燈亮25S
  51.     ELSIF "數據塊_1".定時器輸出時間>T#25s AND "數據塊_1".定時器輸出時間<=T#50s THEN
  52.         "東西紅" := 1;
  53.         "南北綠" := 1;
  54.         "東西黃" := 0;
  55.         "南北紅" := 0;
  56.      //南北綠燈閃3s   
  57.     ELSIF "數據塊_1".定時器輸出時間>T#50s AND "數據塊_1".定時器輸出時間<=T#53s THEN
  58.         "數據塊_1".定時器1.IN := 1;
  59.         "數據塊_1".定時器1.PT := T#500ms;
  60.         "IEC_Timer_0_DB".TON(IN := "數據塊_1".定時器1.IN,
  61.                              PT := "數據塊_1".定時器1.PT,
  62.                              Q => "數據塊_1".定時器輸出2);
  63.         IF "數據塊_1".定時器輸出2 THEN
  64.             "南北綠" := NOT "南北綠";
  65.             RESET_TIMER("IEC_Timer_0_DB");
  66.         END_IF;;
  67.      //南北黃閃2s   
  68.     ELSIF "數據塊_1".定時器輸出時間>T#53s AND  "數據塊_1".定時器輸出時間<=T#55s THEN
  69.         "南北綠" := 0;
  70.         "數據塊_1".定時器1.IN := 1;
  71.         "數據塊_1".定時器1.PT := T#500ms;
  72.         "IEC_Timer_0_DB".TON(IN := "數據塊_1".定時器1.IN,
  73.                              PT := "數據塊_1".定時器1.PT,
  74.                              Q => "數據塊_1".定時器輸出2);
  75.         IF "數據塊_1".定時器輸出2 THEN
  76.             "南北黃" := NOT "南北黃";
  77.             RESET_TIMER("IEC_Timer_0_DB");
  78.         END_IF;
  79.     END_IF;
  80.     //全部初始化
  81.     IF "數據塊_1".定時器輸出時間 >=T#55s THEN
  82.         RESET_TIMER("IEC_Timer_0_DB_2");
  83.         "東西紅" := 0;
  84.         "東西黃" := 0;
  85.         "東西綠" := 0;
  86.         "南北紅" := 0;
  87.         "南北黃" := 0;
  88.         "南北綠" := 0;
  89.     END_IF;
  90. END_IF;
復制代碼


順便把歸檔文件也上傳一下,有需要的自取。
交通燈.zip (611.46 KB, 下載次數: 47)




作者: 事業小白    時間: 2020-7-30 17:06
為啥我開不開




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 黄片毛片免费观看 | 黄色在线免费看 | 丝袜美腿一区二区三区 | 免费在线观看成人 | 久久夜视频 | 久久手机在线视频 | 亚洲国产一区在线 | 狠狠狠干| 一道本不卡 | 欧美综合一区 | 亚洲成人在线免费 | 欧美乱大交xxxxx另类电影 | 国产精品国产三级国产播12软件 | 国产美女在线精品免费 | 97色免费视频 | 中文字幕国产精品视频 | 国产精品区二区三区日本 | 欧美日韩精品专区 | 国产精品不卡一区 | 91精品福利 | 国产一区免费视频 | 五月精品视频 | 中国一级特黄真人毛片免费观看 | 色桃网| 羞羞网站在线观看 | 春色av | 一级毛毛片 | 国产亚洲精品久久久久动 | 国产成人精品免费视频大全最热 | 国产一区二区三区视频 | 综合久久综合久久 | 久草综合在线视频 | 国产精品女人久久久 | 在线中文字幕第一页 | 国产精品美女久久久久久免费 | 国产精品久久久一区二区三区 | 成人在线精品 | 欧美日韩精品一区二区 | 久久精品国产一区二区三区不卡 | 亚洲综合精品 | 久久久久久精 |