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

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




不過用三菱的PLC卻詳細的介紹了和上位通訊的內(nèi)部協(xié)議:MC協(xié)議;


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

//MC協(xié)議讀取通訊點的指令:ENQ_ADDR--讀取首地址  ENQ_LEN--讀取長度  POINT_TYPE--通訊點類型(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ò)編號
  ArrSend[3] := $FF; //plc編號
  ArrSend[4] := $FF; //請求目標(biāo)模塊低位
  ArrSend[5] := $3; //請求目標(biāo)模塊高位
  ArrSend[6] := $0; //請求目標(biāo)模塊站編號
  ArrSend[7] := $C; //請求數(shù)據(jù)長度低位
  ArrSend[8] := $0; //請求數(shù)據(jù)長度高位
  ArrSend[9] := $10; //cpu監(jiān)視定時器低位
  ArrSend[10] := $0; //cpu監(jiān)視定時器高位
  //文字部
    //命令
  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;
  //信號數(shù)量
  ArrSend[19] := ENQ_LEN;
  ArrSend[20] := ENQ_LEN shr 8;
end;


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

不過,我感覺還是綠色的,最直接不借助任何第三方的東西最好; 直接上下位按照標(biāo)準(zhǔn)協(xié)議通過socket溝通;

一般在三菱Q系列的plc里,通訊端口設(shè)置8000,而且可以開多個通訊端口; 做多個sokcet服務(wù)端的監(jiān)聽;

西門子這方便我想應(yīng)該更強吧。




beichen
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 158 個
工控威望: 979 點
下載積分: 1681 分
在線時間: 158(小時)
注冊時間: 2013-06-21
最后登錄: 2017-09-14
查看beichen的 主題 / 回貼
1樓  發(fā)表于: 2013-07-04 08:46
BCNet-S7協(xié)議時無錫北辰開發(fā)的協(xié)議,針對西門子S7-200/300/400。
上位機跟西門子PLC通訊可以選擇直連或者OPC通訊,也可用高級語言調(diào)用。

只要安裝北辰的驅(qū)動,就可以在SET PG/PC里選到
BCNet-S7(PPI)、BCNet-S7(MPI)、BCNet-S7(PROFIBUS)。

以上都屬于直連,BCNet還支持的直連包括
Modbus TCP、TCP/IP。

另外,還可以選擇BCNet-S7 OPC進行通訊,在聯(lián)網(wǎng)項目和生產(chǎn)管理系統(tǒng)構(gòu)建是最常用的一種方法。
但如果開發(fā)者具備高級語言的基礎(chǔ),也可調(diào)用北辰的BCNet-S7函數(shù)來做,如VB、VC、C#等。
無錫市北辰自動化技術(shù)有限公司
BCNet-S7  技術(shù)交流群:229195162
0510-85166823  bcnets7@163.com
www.beichen-automation.com
淘寶:http://shop113462796.taobao.com/
daizhicun
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 6 個
工控威望: 137 點
下載積分: 586 分
在線時間: 3(小時)
注冊時間: 2013-07-03
最后登錄: 2013-08-13
查看daizhicun的 主題 / 回貼
2樓  發(fā)表于: 2013-07-06 20:09
如果用無錫的那個東西,畢竟還是需要他的模塊;
費用先不管,多一個模塊麻煩;

直接和plc 用socket通訊應(yīng)該是可以的;
而且我人為用非阻塞的方式直接通訊,效率肯定是最高的了;
zsm9614501
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 97 個
工控威望: 220 點
下載積分: 10570 分
在線時間: 128(小時)
注冊時間: 2012-03-31
最后登錄: 2024-11-15
查看zsm9614501的 主題 / 回貼
3樓  發(fā)表于: 2013-07-07 07:32
請問樓主及大俠:正版WINCC大約多少錢一套,1000點左右的,開公司正規(guī)發(fā)票的,
每天好心情
lubin5282
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 71 個
工控威望: 164 點
下載積分: 794 分
在線時間: 184(小時)
注冊時間: 2010-05-04
最后登錄: 2024-11-15
查看lubin5282的 主題 / 回貼
4樓  發(fā)表于: 2013-07-07 08:11
破解版網(wǎng)上不是很多
riiynicel
sanziyoudu
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 269 個
工控威望: 380 點
下載積分: 3947 分
在線時間: 350(小時)
注冊時間: 2010-09-15
最后登錄: 2022-03-04
查看riiynicel的 主題 / 回貼
5樓  發(fā)表于: 2013-07-07 19:47
可以利用PPI協(xié)議和上位機通訊,硬件只需要USB-485 或編程線就可以。
http://item.taobao.com/item.htm?spm=686.1000925.1000774.26.vVuv7X&id=20807039215
    
beichen
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 158 個
工控威望: 979 點
下載積分: 1681 分
在線時間: 158(小時)
注冊時間: 2013-06-21
最后登錄: 2017-09-14
查看beichen的 主題 / 回貼
6樓  發(fā)表于: 2013-07-08 08:47
引用
引用第2樓daizhicun于2013-07-06 20:09發(fā)表的  :
如果用無錫的那個東西,畢竟還是需要他的模塊;
費用先不管,多一個模塊麻煩;

直接和plc 用socket通訊應(yīng)該是可以的;
而且我人為用非阻塞的方式直接通訊,效率肯定是最高的了;


若用西門子的以太網(wǎng)模塊,不也需要西門子的硬件嗎?
若MPI/PROFIBUS口直接通訊,也需要西門子的適配器或板卡,那就談不上SOCKET通訊了。
無錫市北辰自動化技術(shù)有限公司
BCNet-S7  技術(shù)交流群:229195162
0510-85166823  bcnets7@163.com
www.beichen-automation.com
淘寶:http://shop113462796.taobao.com/
daizhicun
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 6 個
工控威望: 137 點
下載積分: 586 分
在線時間: 3(小時)
注冊時間: 2013-07-03
最后登錄: 2013-08-13
查看daizhicun的 主題 / 回貼
7樓  發(fā)表于: 2013-07-12 09:43
做為做上位系統(tǒng)的開發(fā)人員,
對上位的通訊的模式一直整不明白;
根據(jù)資料,西門子的通訊方式太多; 眼花繚亂的,
然而,我其實只需要最原始的那種:TCP/IP ; (串口就不考慮了);
需要plc提供的僅僅是:ip地址和通訊端口號;
不要整那些prodave,mpi,opc ,probus等 亂七八糟的,通訊效率低下不說,還要在電腦上安裝這樣那樣的西門子的組件,受限于人,煩也煩死了;
可能三菱做多了,還是習(xí)慣三菱的MC那樣,
比如三菱PLC的ip地址是:192.168.1.5;監(jiān)聽的通訊端口號是:8000;
那么讀取D4000這個點的方法就是:
上位電腦通過ip:192.168.1.5 端口 8000和PLC建立socket(套接字)連接:
然后上位電腦給plc發(fā)送16進制數(shù)據(jù):
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點的值;
方法很簡單,如果要監(jiān)控D4000點的值的變化;那么就1秒或者更快的周期通訊一次;
摸索了很久,就沒發(fā)現(xiàn)西門子有三菱這邊方便直接的方式;
[ 此帖被daizhicun在2013-07-12 09:59重新編輯 ]
zylew
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 18 個
工控威望: 137 點
下載積分: 693 分
在線時間: 18(小時)
注冊時間: 2012-02-21
最后登錄: 2022-11-19
查看zylew的 主題 / 回貼
8樓  發(fā)表于: 2013-07-22 13:29
daizhicun
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 6 個
工控威望: 137 點
下載積分: 586 分
在線時間: 3(小時)
注冊時間: 2013-07-03
最后登錄: 2013-08-13
查看daizhicun的 主題 / 回貼
9樓  發(fā)表于: 2013-08-13 09:10
要的就是這種效果,可惜的是,這種方式只是串口的,

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

所以如果能有網(wǎng)線的通訊方式,就好了。
mhbxfys
趁年輕,走遍中國!
級別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 671 個
工控威望: 7027 點
下載積分: 7267 分
在線時間: 231(小時)
注冊時間: 2012-01-04
最后登錄: 2024-12-24
查看mhbxfys的 主題 / 回貼
10樓  發(fā)表于: 2013-08-13 10:17
引用
引用第3樓zsm9614501于2013-07-07 07:32發(fā)表的  :
請問樓主及大俠:正版WINCC大約多少錢一套,1000點左右的,開公司正規(guī)發(fā)票的,

看你要什么版本的,以及選擇什么安裝包及授權(quán)
感謝每位朋友! 承接plc柜、電氣柜設(shè)計、定制。觸摸屏組態(tài)、調(diào)試。 藍海華騰變頻器代理,變頻器維修。。   QQ:545636511
beichen
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 158 個
工控威望: 979 點
下載積分: 1681 分
在線時間: 158(小時)
注冊時間: 2013-06-21
最后登錄: 2017-09-14
查看beichen的 主題 / 回貼
11樓  發(fā)表于: 2013-08-13 14:14
引用
引用第7樓daizhicun于2013-07-12 09:43發(fā)表的  :
做為做上位系統(tǒng)的開發(fā)人員,
對上位的通訊的模式一直整不明白;
根據(jù)資料,西門子的通訊方式太多; 眼花繚亂的,
然而,我其實只需要最原始的那種:TCP/IP ; (串口就不考慮了);
需要plc提供的僅僅是:ip地址和通訊端口號;
.......

三菱的TCP/IP,需要在PLC里面編寫應(yīng)對程序嗎?

西門子的你一定要走TCP/IP也可以,但是PLC里面肯定要自己編寫應(yīng)答程序的,不然PLC不認(rèn)你發(fā)送過去的請求命令,
沒有這個標(biāo)準(zhǔn)的命令格式的,

當(dāng)前,你也行只能試試BCNetS7協(xié)議,socket應(yīng)該比較容易。
BCNetS7_Socket.rar (125 K) 下载次数:9
無錫市北辰自動化技術(shù)有限公司
BCNet-S7  技術(shù)交流群:229195162
0510-85166823  bcnets7@163.com
www.beichen-automation.com
淘寶:http://shop113462796.taobao.com/