欧美 日韩 国产 成人 在线观看丨欧美综合自拍亚洲综合图丨3d动漫精品啪啪一区二区中丨人妻无码一区二区不卡无码av丨日躁夜躁狠狠躁2001

daizhicun
級別: 探索解密
精華主題: 0
發帖數量: 6 個
工控威望: 137 點
下載積分: 586 分
在線時間: 3(小時)
注冊時間: 2013-07-03
最后登錄: 2013-08-13
查看daizhicun的 主題 / 回貼
樓主  發表于: 2013-07-03 21:48
  
現在和西門子plc通訊感覺主要還是用OPC,
但是我不太喜歡OPC,
雖然它封裝了上位和plc的溝通方式,做項目開發比較方便;但畢竟隔了一層;OPC內部同步數據點一次一般也需要500毫秒;
對于高速分揀等需要快速響應的,我想還是直接上下位溝通,繞過OPC;

我看了 西門子有 BCNetS7 協議規范 ,還沒細研究;不知道有沒有志同道合者一起研究;
而且網上介紹的資料也不多




不過用三菱的PLC卻詳細的介紹了和上位通訊的內部協議:MC協議;


比如讀取D點,M點,X點,Y點的指令是:

//MC協議讀取通訊點的指令:ENQ_ADDR--讀取首地址  ENQ_LEN--讀取長度  POINT_TYPE--通訊點類型(D,M,X,Y) ; ArrSend--返回指令數組
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; //網絡編號
  ArrSend[3] := $FF; //plc編號
  ArrSend[4] := $FF; //請求目標模塊低位
  ArrSend[5] := $3; //請求目標模塊高位
  ArrSend[6] := $0; //請求目標模塊站編號
  ArrSend[7] := $C; //請求數據長度低位
  ArrSend[8] := $0; //請求數據長度高位
  ArrSend[9] := $10; //cpu監視定時器低位
  ArrSend[10] := $0; //cpu監視定時器高位
  //文字部
    //命令
  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; ;
  //設備編碼:
  case POINT_TYPE[1] of
    'D':
      ArrSend[18] := $A8;
    'M':
      ArrSend[18] := $90;
    'X':
      ArrSend[18] := $9C;
    'Y':
      ArrSend[18] := $9D;
  end;
  //信號數量
  ArrSend[19] := ENQ_LEN;
  ArrSend[20] := ENQ_LEN shr 8;
end;


感覺和上位通訊這塊,雖然西門子方式很多,但都偏向于用封裝好的東西,比如prodave.dll ,還有及時最廣泛的OPC;

不過,我感覺還是綠色的,最直接不借助任何第三方的東西最好; 直接上下位按照標準協議通過socket溝通;

一般在三菱Q系列的plc里,通訊端口設置8000,而且可以開多個通訊端口; 做多個sokcet服務端的監聽;

西門子這方便我想應該更強吧。




daizhicun
級別: 探索解密
精華主題: 0
發帖數量: 6 個
工控威望: 137 點
下載積分: 586 分
在線時間: 3(小時)
注冊時間: 2013-07-03
最后登錄: 2013-08-13
查看daizhicun的 主題 / 回貼
1樓  發表于: 2013-07-06 20:09
如果用無錫的那個東西,畢竟還是需要他的模塊;
費用先不管,多一個模塊麻煩;

直接和plc 用socket通訊應該是可以的;
而且我人為用非阻塞的方式直接通訊,效率肯定是最高的了;
daizhicun
級別: 探索解密
精華主題: 0
發帖數量: 6 個
工控威望: 137 點
下載積分: 586 分
在線時間: 3(小時)
注冊時間: 2013-07-03
最后登錄: 2013-08-13
查看daizhicun的 主題 / 回貼
2樓  發表于: 2013-07-12 09:43
做為做上位系統的開發人員,
對上位的通訊的模式一直整不明白;
根據資料,西門子的通訊方式太多; 眼花繚亂的,
然而,我其實只需要最原始的那種:TCP/IP ; (串口就不考慮了);
需要plc提供的僅僅是:ip地址和通訊端口號;
不要整那些prodave,mpi,opc ,probus等 亂七八糟的,通訊效率低下不說,還要在電腦上安裝這樣那樣的西門子的組件,受限于人,煩也煩死了;
可能三菱做多了,還是習慣三菱的MC那樣,
比如三菱PLC的ip地址是:192.168.1.5;監聽的通訊端口號是:8000;
那么讀取D4000這個點的方法就是:
上位電腦通過ip:192.168.1.5 端口 8000和PLC建立socket(套接字)連接:
然后上位電腦給plc發送16進制數據:
50 00 00 FF FF 03 00 0C 00 10 00 01 04 00 00 A0 0F 00 A8 01 00
大概過了10毫秒,PLC給上位電腦反饋
RX:D0 00 00 FF FF 03 00 04 00 00 00 00 00
這樣上位就知道了D4000點的值;
方法很簡單,如果要監控D4000點的值的變化;那么就1秒或者更快的周期通訊一次;
摸索了很久,就沒發現西門子有三菱這邊方便直接的方式;
[ 此帖被daizhicun在2013-07-12 09:59重新編輯 ]
daizhicun
級別: 探索解密
精華主題: 0
發帖數量: 6 個
工控威望: 137 點
下載積分: 586 分
在線時間: 3(小時)
注冊時間: 2013-07-03
最后登錄: 2013-08-13
查看daizhicun的 主題 / 回貼
3樓  發表于: 2013-08-13 09:10
要的就是這種效果,可惜的是,這種方式只是串口的,

都這個年代了,誰還用串口啊,速度慢,不穩定,不像tcp/ip那樣有3次握手;
而且布線也麻煩;

所以如果能有網線的通訊方式,就好了。

主站蜘蛛池模板: 国产女主播高潮在线播放| 正在播放酒店约少妇高潮| 97精品久久天干天天| 狠狠精品干练久久久无码中文字幕| 亚洲精品久久久久久偷窥| 久久久中文字幕日本无吗| 色一情一乱一乱一区99av白浆| 麻豆亚洲一区| 国产乡下三级全黄三级| 国产免费视频| 99热久久精里都是精品6| 欧美交换国产一区内射| 奷小罗莉在线观看国产| 韩国无码色视频在线观看| 夜夜高潮夜夜爽高清完整版1| 日韩毛片在线视频x| 日本强伦姧人妻69影院| 性色欲网站人妻丰满中文久久不卡| 92在线精品视频在线观看| 在线精品国产成人综合| 免费国产污网站在线观看 | 亚洲欧洲日产国码久在线| 在线观看肉片av网站免费| 日本熟妇hdsex视频| 久久久久久久久久久大尺度免费视频 | 久久综合给合久久狠狠狠97色69 | 一 级做人爱全视频在线看 | 久久这里只有精品青草| 台湾佬中文娱乐网址| 中文字幕在线精品视频入口一区| 曰本无码人妻丰满熟妇啪啪| 免费做a爰片久久毛片a片| 国产a大片免费| 精品久久人人爽天天玩人人妻| 国产一女三男3p免费视频| 国产高潮国产高潮久久久| 男阳茎进女阳道视频大全| 亚洲国产欧美中文手机在线| 久久99久久99精品中文字幕 | 中文无码成人免费视频在线观看| 日本喷奶水中文字幕视频|