最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

上位機與西門子PLC實現(xiàn)S7通訊開發(fā)報文解析

2023-04-03 11:33 作者:砍砍學(xué)渣  | 我要投稿


上位機開發(fā),與西門子PLC通訊實現(xiàn)案例。

Sharp7庫,S7通訊標(biāo)準(zhǔn),ISO_CR、TPKT_ISO、S7_PN、S7_RW、(Size_RD、Size_WR)、S7_MRD_HEADER、S7_MRD_ITEM、S7_MWR_HEADER、S7_MWR_PARAM、S7_SZL_FIRST、S7_SZL_NEXT、S7_GET_DT、S7_SET_DT、S7_SET_PWD、S7_CLR_PWD、S7_STOP、S7_HOT_START、S7_COLD_START、(pduStart、pduStop、pduAlreadyStarted、pduAlreadyStopped)、S7_GET_STAT、S7_BI等標(biāo)準(zhǔn)碼;不同型號PLC的PDU值確定一次性讀取長度(PDU-18),第二次握手返回的報文長度是27個字節(jié),最后兩個字節(jié)就是PDU的值,西門子PLC的PDU大小是和CPU息息相關(guān)的,一般會有240、480、960三個檔次(240~960)。

關(guān)于上位機C#實現(xiàn)與西門子PLC1200的通訊案例,實現(xiàn)握手和讀取、寫入【字Word或者位Bit】命令報文,報文解析。

03 00 00 16 11 e0 00 00 00 01 00 c0 01 0a c1 02 01 00 c2 02 01 01 第一次握手

03 00 ——報文頭

00 16 ——數(shù)據(jù)長度總22

11 e0 00 00 00?

01?

00 c0?

01 0a?

c1 02?

01 00?

c2 02?

01 01


03 00 00 19 02 f0 80 32 01 00 00 04 00 00 08 00 00 f0 00 00 01 00 01 01 e0 第二次握手


03 00 00 16 02 D0 80 32 01 00 00 02 00 00 08 00 00 F0 00 00 01 00 第一次握手回復(fù)

03 00 00 1B 02 F0 80 32 01 00 00 02 00 00 08 00 00 00 00 00 01 00 01 00 F0 00 F0第二次握手回復(fù)



上位機與PLC通訊發(fā)送數(shù)據(jù),上位機C#做客戶端訪問PLC服務(wù)器。上位機主動請求數(shù)據(jù)。

03 00?

00 1f ——數(shù)據(jù)長度31

02 f0 80 32 ——固定長度4(協(xié)議類型)

01 ——命令類型:發(fā)

00 00 05 00 ——標(biāo)識序列號:(與返回數(shù)據(jù)一致)

00 0e 00 00 ——命令數(shù)據(jù)總長度:14(后面字節(jié)總數(shù))

04 ——命令起始符:4(04讀;05寫)

01 ——讀取數(shù)據(jù)塊個數(shù):1

{下面每12個字節(jié)作為一個數(shù)據(jù)塊}

{

12 -指定有效值類型;0a-接下來本地址訪問長度; 10-語法標(biāo)記ANY; 02-按字為單位 ——固定長度4(讀取地址前綴,大概是進制之類的意思)

00 02 ——讀取數(shù)據(jù)byte個數(shù):2(16bit)

00 1a ——讀取數(shù)據(jù)塊編號:26(DB塊編號,M區(qū)為0)

84 ——讀取數(shù)據(jù)塊類型:4(訪問區(qū)域標(biāo)識,M區(qū)為83;DB塊為84)

00 63 90 ——讀取地址偏移量:DB26.3186(3字節(jié)偏移量,S7協(xié)議的地址是按位來算的需要地址值乘8得出實際地址。范圍:0x000000~0x08FFFF)

偏移量計算方式 :?

? ? ? ? ? ? M區(qū)地址需要乘以8.比如 M100=100*8=800=0x0320,

? ? ? ? ? ? DB塊偏移量乘以8. 比如DB30000.12000 DB塊號30000=0x7530,偏移位置需要乘以8,即12000*8=96000=0x017700

}


PLC反饋:03 00 00 1B 02 F0 80 32 03 00 00 00 01 00 02 00 06 00 00 04 01 FF 04 00 02 30 39

03 00 ——報文頭

00 1B ——數(shù)據(jù)總長度

02 F0 80 32 ——固定長度:4(大概是協(xié)議類型)

03 ——收

00 00 00 01 ——標(biāo)記序列號:1

00 02 ——固定長度(作用不詳)

00 06 00 00 ——有效數(shù)據(jù)長度:6(從第一個數(shù)據(jù)的前綴開始計算)

04 ——命令標(biāo)識符

01 ——讀取數(shù)據(jù)塊個數(shù):1

FF 04 ——反饋數(shù)據(jù)開始標(biāo)記

00 02 ——數(shù)據(jù)長度

30 39 ——數(shù)據(jù)值

反饋(接收)報文解析:

按字讀?。簭乃饕?1開始查找 反饋數(shù)據(jù)開始標(biāo)記 0xFF04,然后讀取2個字節(jié)的長度,0x5BA0,即十進制 23456

按位讀?。簭乃饕?1開始查找 反饋數(shù)據(jù)開始標(biāo)記 0xFF03,然后讀取一個字節(jié)的長度,具體值為0x01,即為true



03 00 ——報文頭

00 1f ——數(shù)據(jù)總長度:31

02 f0 80 32 ——固定長度:4

01 ——命令類型:發(fā)

00 00 05 00 ——標(biāo)識序列號:(與返回數(shù)據(jù)一致)

00 0e 00 00 ——命令數(shù)據(jù)總長度:14(后面字節(jié)總數(shù))

04 ——命令起始符:4

01 ——讀取數(shù)據(jù)塊個數(shù):1

12 0a 10 02 ——固定長度4(讀取地址前綴,大概是進制之類的意思)

00 06 ——讀取數(shù)據(jù)byte個數(shù):6(48bit)

00 1a ——讀取數(shù)據(jù)塊編號:26

84 ——讀取數(shù)據(jù)塊類型:4

00 00 e0 ——讀取地址偏移量:224



03 00 ——報文頭

00 25 ——數(shù)據(jù)總長度:37

02 f0 80 32 ——固定長度:4

01 ——命令類型:發(fā)

00 00 05 00 ——標(biāo)記序列號:(請求與回復(fù)一致)

00 0e ——固定長度:2

00 06 ——有效數(shù)據(jù)長度:6(從偏移量后(因從索引31開始計算)第一位開始計算)

05 ——命令起始符(04讀取;05寫入)

01 ——寫入數(shù)據(jù)塊個數(shù):1

{下面共12個字節(jié)作為一個數(shù)據(jù)塊:

12 -有效值類型;0a -本次地址訪問長度;10 -語法標(biāo)記ANY;——固定長度:3

02 ——寫入方式:01按bit寫入;02按byte寫入

00 02 ——寫入數(shù)據(jù)個數(shù):2(訪問數(shù)據(jù)字節(jié)個數(shù);byte方式可以寫入多個,bit只能單個寫入)

00 1a ——寫入編號:26(DB塊編號;M區(qū)為0)

84 ——寫入數(shù)據(jù)類型:DB塊(區(qū)域標(biāo)識M區(qū)為83;DB塊為84)

00 63 90 ——寫入地址偏移量:3186

}

00 04 ——寫入方式:03按bit寫入;04按byte寫入

00 10 ——寫入個數(shù):16(按位計算長度)

00 00 ——寫入值:00 00(寫入字節(jié)數(shù)據(jù))


PLC反饋:03 00 00 16 02 F0 80 32 03 00 00 00 01 00 02 00 01 00 00 05 01 FF

03 00 ——報文頭

00 16 ——數(shù)據(jù)總長度

02 F0 80 32 ——固定長度:4

03 ——命令類型:收

00 00 00 01 ——標(biāo)記序列號

00 02?

00 01?

00 00?

05 01?

FF——寫入正常

反饋(接收)報文解析:

最后一個字節(jié)是0xFF代表寫入成功,否則失敗



03 00 00 1f 02 f0 80 32 01 00 00 05 00 00 0e 00 00 04 01 12 0a 10 02 00 02 00 1a 84 00 63 90?

03 00 00 1f 02 f0 80 32 01 00 00 05 00 00 0e 00 00 04 01 12 0a 10 02 00 06 00 1a 84 00 00 e0?

03 00 00 25 02 f0 80 32 01 00 00 05 00 00 0e 00 06 05 01 12 0a 10 02 00 02 00 1a 84 00 63 90 00 04 00 10 00 00?

——END


上位機與西門子PLC實現(xiàn)S7通訊開發(fā)報文解析的評論 (共 條)

分享到微博請遵守國家法律
濮阳县| 佳木斯市| 当阳市| 霍林郭勒市| 铜梁县| 革吉县| 双柏县| 青神县| 涡阳县| 深州市| 鸡泽县| 宽城| 玛纳斯县| 西乡县| 新蔡县| 安义县| 绥阳县| 河西区| 分宜县| 琼海市| 虎林市| 成武县| 安乡县| 桃源县| 万载县| 抚远县| 玉龙| 泸西县| 黔西| 抚宁县| 广平县| 玉山县| 新余市| 太仓市| 合川市| 孟连| 闽清县| 通道| 陕西省| 深水埗区| 宣化县|