色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 上位機與PLC的通信與監(jiān)控設(shè)計

          上位機與PLC的通信與監(jiān)控設(shè)計

          作者: 時間:2011-10-06 來源:網(wǎng)絡(luò) 收藏

            //程序初始化:

          procedure TForm1.Init_(nPort:integer);

          begin

          if MSComm.PortOpen then

          MSComm.PortOpen:=False;

          MSComm.Commport:=nPort;

          //端口選擇

          MSComm.Settings:='9600,e,7,1';

          //1位起始位,7位數(shù)據(jù)位,偶效驗,2位停止位,9600bps

          MSComm.PortOpen:=True;//打開串口

          end;

          //FCS校驗

          function FCS(s:string):variant;

          var


          i,len,tmpVar:integer;

          DataCheck:byte;

          f1,f2:byte;

          begin

          f1:=0;

          f2:=0;

          DataCheck:=0;

          len:=length(s);

          tmpVar:=0;

          for i:=1 to len do

          begin

          DataCheck:=ord(DataCheck) xor ord(s[i]);

          end;

          f1:=DataCheck and $0f;

          f2:=DataCheck and $f0;

          f2:=f2 shr 4;

          result:=inttostr(f2)+inttostr(f1);

          end;

          // 調(diào)用MSComm控件實現(xiàn)

          procedure TForm1.HandShake_;

          var

          tmpByte1,tmpByte2:char;

          tmpVar:string;

          s:string;

          begin

          Init_PLC(1);

          nbs
          p; s:=Edit1.text;

          tmpVar:=s+inttostr(FCS(s))+'*'+chr(13);

          MSComm.RThreshold:=0;

          MSComm.Output:=tmpVar;

          //向串口輸出數(shù)據(jù)

          sleep(1000);// 延時

          tmpVar:=MSComm.Input;

          //從串口讀取數(shù)據(jù)

          tmpByte1:=tmpVar[5];

          tmpByte2:=tmpVar[6];

          if tmpByte1=chr(48) tmpByte2:=chr(48);

          //校驗碼等于00,PLC正常完成操作

          then

          begin

          Showmessage('發(fā)送的數(shù)據(jù)正確');

          else

          Showmessage('發(fā)送的數(shù)據(jù)有問題');

          //end;

          end;

          4.2 實現(xiàn)對PLC的

            編寫程序建立了與PLC的連接.在PLC的任何工作方式下都可以通過”讀”指令讀取PLC的狀態(tài).從而對PLC進(jìn)行監(jiān)視.只有當(dāng)PLC的工作方式為監(jiān)視的情況下才可以通過對PLC進(jìn)行控制.所以在需要上位機實施控制的系統(tǒng)里面PLC都必須設(shè)置為監(jiān)視工作方式.

            上位機只需要設(shè)置PLC的相應(yīng)工作位就可以實現(xiàn)對PLC的控制.下圖為PLC上位機控制過程。圖a表示PLC 正常工作時輸出由輸入0.00控制,當(dāng)需要把PLC的控制轉(zhuǎn)由上位機控制時,只需要通過向PLC輸入@00RR00030001,置3.00為ON,切斷0.00的通路,這樣輸出10.00就轉(zhuǎn)由4.00控制,當(dāng)輸入@00WR00040001時,4.00為ON,輸出位10.00產(chǎn)生輸出。

          (a) PLC正常工作

          (b)上位機控制

                                      圖6 PLC的上位機控制

          5結(jié)束語

            本文探討了實現(xiàn)PLC的上位鏈接系統(tǒng)通信的方法,以及要實現(xiàn)上位機對下PLC控制的PLC編程。通過上位機對PLC的監(jiān)視與控制,可用方便的實現(xiàn)工廠生產(chǎn)過程的自動化。

            參考文獻(xiàn)

            [1] 弭洪濤,畢國忠等.PLC應(yīng)用技術(shù).北京:中國電力出版社2004

            [2] 宋伯生.PLC編程理論 算法及技巧. 北京:機械工業(yè)出版社2006


          上一頁 1 2 下一頁

          關(guān)鍵詞: 上位機 PLC 通信 監(jiān)控

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉