daizhicun
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 6 個(gè)
工控威望: 137 點(diǎn)
下載積分: 586 分
在線時(shí)間: 3(小時(shí))
注冊(cè)時(shí)間: 2013-07-03
最后登錄: 2013-08-13
查看daizhicun的 主題 / 回貼
樓主  發(fā)表于: 2013-07-03 21:43
做了多年上位機(jī)系統(tǒng),主要是和三菱Q系統(tǒng)做通訊
如今正在做一個(gè)上位工控控制的產(chǎn)品;

用的MC協(xié)議;
這個(gè)相對(duì)用的已經(jīng)比較熟練了;

比如讀取D點(diǎn),M點(diǎn),X點(diǎn),Y點(diǎn)的指令是:

//MC協(xié)議讀取通訊點(diǎn)的指令:ENQ_ADDR--讀取首地址  ENQ_LEN--讀取長(zhǎng)度  POINT_TYPE--通訊點(diǎn)類型(D,M,X,Y) ; ArrSend--返回指令數(shù)組
procedure GET_READ_ENQ_BYTES(ENQ_ADDR, ENQ_LEN: Integer;
  POINT_TYPE: string; var ArrSend: TArray < Byte > );
begin
  SetLength(ArrSend, 21);
  //輔助HEAD
  ArrSend[0] := $50;
  ArrSend[1] := $0;
  //QHEAD
  ArrSend[2] := $0; //網(wǎng)絡(luò)編號(hào)
  ArrSend[3] := $FF; //plc編號(hào)
  ArrSend[4] := $FF; //請(qǐng)求目標(biāo)模塊低位
  ArrSend[5] := $3; //請(qǐng)求目標(biāo)模塊高位
  ArrSend[6] := $0; //請(qǐng)求目標(biāo)模塊站編號(hào)
  ArrSend[7] := $C; //請(qǐng)求數(shù)據(jù)長(zhǎng)度低位
  ArrSend[8] := $0; //請(qǐng)求數(shù)據(jù)長(zhǎng)度高位
  ArrSend[9] := $10; //cpu監(jiān)視定時(shí)器低位
  ArrSend[10] := $0; //cpu監(jiān)視定時(shí)器高位
  //文字部
    //命令
  ArrSend[11] := $1;
  ArrSend[12] := $4;
  //子命令(0000-字讀取 0001-位讀取)
  ArrSend[13] := $0;
  ArrSend[14] := $0;
  //開始地址
  ArrSend[15] := ENQ_ADDR;
  ArrSend[16] := ENQ_ADDR shr 8;
  ArrSend[17] := ENQ_ADDR shr 16; ;
  //設(shè)備編碼:
  case POINT_TYPE[1] of
    'D':
      ArrSend[18] := $A8;
    'M':
      ArrSend[18] := $90;
    'X':
      ArrSend[18] := $9C;
    'Y':
      ArrSend[18] := $9D;
  end;
  //信號(hào)數(shù)量
  ArrSend[19] := ENQ_LEN;
  ArrSend[20] := ENQ_LEN shr 8;
end;






現(xiàn)在和西門子plc通訊主要還是用OPC,但是我不喜歡OPC,
雖然它封裝了上位和plc的溝通方式,做項(xiàng)目開發(fā)比較方便;但畢竟隔了一層;OPC內(nèi)部同步數(shù)據(jù)點(diǎn)一次一般也需要500毫秒;
對(duì)于高速分揀等需要快速響應(yīng)的,我想還是直接上下位溝通,繞過(guò)OPC;

我看了 西門子有 BCNetS7 協(xié)議規(guī)范 ,還沒(méi)細(xì)研究;不知道有沒(méi)有志同道合者一起研究;
manjialin
專業(yè)工業(yè)控制軟件開發(fā)!
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 144 個(gè)
工控威望: 334 點(diǎn)
下載積分: 718 分
在線時(shí)間: 110(小時(shí))
注冊(cè)時(shí)間: 2008-11-28
最后登錄: 2020-08-26
查看manjialin的 主題 / 回貼
1樓  發(fā)表于: 2013-07-04 08:50
以前有搞過(guò),但是不是很穩(wěn)定,放棄了,使用OPC,有空再溫習(xí)下看看
daizhicun
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 6 個(gè)
工控威望: 137 點(diǎn)
下載積分: 586 分
在線時(shí)間: 3(小時(shí))
注冊(cè)時(shí)間: 2013-07-03
最后登錄: 2013-08-13
查看daizhicun的 主題 / 回貼
2樓  發(fā)表于: 2013-07-04 23:39
你是程序沒(méi)有控制好,實(shí)際上直接通訊的高效性秒殺opc幾條街,可惜的是西門子沒(méi)有類似的Mc協(xié)議