PC與S7-200的自定義通信協(xié)議實(shí)現(xiàn)
PC與S7-200的自定義通信協(xié)議實(shí)現(xiàn)
1)協(xié)議功能
實(shí)現(xiàn)讀/寫I,Q ,VR,M區(qū)功能,讀最大數(shù)據(jù)量為246(255-9)個(gè)字節(jié),寫數(shù)據(jù)量最大為255字節(jié),幀格式為16進(jìn)制形式,對(duì)于其他功能可以在SBR3中添加相應(yīng)實(shí)現(xiàn)代碼。
注:a)寫數(shù)據(jù)量受PLC的VB區(qū)大小和指令限制,協(xié)議可以實(shí)現(xiàn)1個(gè)字的操作
b)寫IB區(qū)后實(shí)際上輸入的是脈沖信號(hào),不能保持
C)地址/數(shù)據(jù)都是高位在前,低位在后
2)幀格式(fig1)

錯(cuò)誤代碼定義
寫命令成功 ―― 00
幀格式錯(cuò)誤 ―― 01
幀校驗(yàn)錯(cuò)誤 ―― 02
超時(shí)錯(cuò)誤 ―― 03
3)協(xié)議流程
實(shí)現(xiàn)以上協(xié)議的程序流程(fig2)。

4)變量說(shuō)明
M 31.0 幀頭標(biāo)志(一幀的起始)
M 31.1 接收到一幀標(biāo)志
T 37 通信超時(shí)計(jì)時(shí)器(5秒)
VB 1401-1699 接收到的命令幀
VB 1700- 發(fā)送緩沖區(qū)(VB1700為響應(yīng)幀的大小,VB1701-1955為發(fā)送數(shù)據(jù))
VD 2000(vb 2000-2003)接收緩沖區(qū)的指針(指向VB1401開始的數(shù)據(jù)區(qū)域)
VW 2004 接收字符計(jì)數(shù)器
VB 2006 接收到的命令幀的BCC值
VW 2007 命令幀長(zhǎng)度
VD 2010 (vb 2010-2013) 響應(yīng)幀的指針變量 (指向VB1701開始的數(shù)據(jù)區(qū)域)
VB 2014 響應(yīng)幀的校驗(yàn)值
VB 2015 錯(cuò)誤代碼
VD 2020 (vb 2020-2023) I/Q/VB/M 源地址
VD 2024 (vb 2024-2027) 讀/寫操作地址
VD 2030(vb2030-2033) 偏移地址中間變量
VW 2034 循環(huán)指令的Index變量
VW 2036 求校驗(yàn)數(shù)據(jù)大小變量(幀長(zhǎng)度減去2 即bcc校驗(yàn)和結(jié)束符)
5)程序模塊說(shuō)明
MAIN 主程序
SBR 0 通信初始化(調(diào)用子程序1)
SBR 1 緩沖區(qū)初始化
SBR 2 命令幀分析(命令幀無(wú)錯(cuò),調(diào)用子程序3,否則調(diào)用SBR4)
SBR 3 組織響應(yīng)幀并發(fā)送到串口
SBR 4 發(fā)送錯(cuò)誤響應(yīng)幀(錯(cuò)誤代碼為00時(shí)表示寫操作成功)
INT 0 接收中斷程序(在緩沖區(qū)存放命令幀,要求前一命令幀已經(jīng)處理完)
INT 1 發(fā)送完中斷程序(調(diào)用SBR1清空緩沖區(qū))
6)調(diào)試界面
作者寫的一個(gè)與S7-200 PLC 調(diào)試工具的界面(fig3)。在參數(shù)設(shè)置中可以設(shè)定發(fā)送間隔和發(fā)送次數(shù),顯示可設(shè)置為16進(jìn)制或ASCII碼方式。

作者寫的一個(gè)與串口調(diào)試工具的界面(fig4),可以發(fā)送16進(jìn)制字符串和ASCII碼字符串。在參數(shù)設(shè)置中可以設(shè)定發(fā)送間隔和發(fā)送次數(shù)。

7)結(jié)束語(yǔ)
上位機(jī)軟件用了通信控件:spcomm(免費(fèi)控件,很好注冊(cè)),在DELPHI下非常好用(用它進(jìn)行文件傳輸?shù)慕Y(jié)果也比較滿意)。試驗(yàn)表明本協(xié)議的實(shí)現(xiàn)在可靠性、實(shí)時(shí)性和通信數(shù)據(jù)量上基本滿足了上位機(jī)數(shù)據(jù)采集的需要。
Name: 施奇峰 E-mail:nuststeven@263.net stevenboy@163.net
bbb: 025-4312851 Addr: 南京理工大學(xué)自動(dòng)化研2000 Date: 2001/9/20
注:本文為施奇峰所作,版主杜學(xué)強(qiáng)協(xié)助對(duì)圖片進(jìn)行了整理,感謝施奇峰的奉獻(xiàn)。
順便說(shuō)一下,各位網(wǎng)友好的帖子中若有圖片,不便直接發(fā)布,可發(fā)至xq-du@yeah.net,本人非常榮興地為您服務(wù),以便網(wǎng)友得到更大收益。請(qǐng)發(fā)純文本文件,每個(gè)圖片直分別作成GIF格式文件并標(biāo)明圖號(hào),在文本中標(biāo)記各圖的位置,每篇至多3個(gè)圖片。謝謝!
1)協(xié)議功能
實(shí)現(xiàn)讀/寫I,Q ,VR,M區(qū)功能,讀最大數(shù)據(jù)量為246(255-9)個(gè)字節(jié),寫數(shù)據(jù)量最大為255字節(jié),幀格式為16進(jìn)制形式,對(duì)于其他功能可以在SBR3中添加相應(yīng)實(shí)現(xiàn)代碼。
注:a)寫數(shù)據(jù)量受PLC的VB區(qū)大小和指令限制,協(xié)議可以實(shí)現(xiàn)1個(gè)字的操作
b)寫IB區(qū)后實(shí)際上輸入的是脈沖信號(hào),不能保持
C)地址/數(shù)據(jù)都是高位在前,低位在后
2)幀格式(fig1)

錯(cuò)誤代碼定義
寫命令成功 ―― 00
幀格式錯(cuò)誤 ―― 01
幀校驗(yàn)錯(cuò)誤 ―― 02
超時(shí)錯(cuò)誤 ―― 03
3)協(xié)議流程
實(shí)現(xiàn)以上協(xié)議的程序流程(fig2)。

4)變量說(shuō)明
M 31.0 幀頭標(biāo)志(一幀的起始)
M 31.1 接收到一幀標(biāo)志
T 37 通信超時(shí)計(jì)時(shí)器(5秒)
VB 1401-1699 接收到的命令幀
VB 1700- 發(fā)送緩沖區(qū)(VB1700為響應(yīng)幀的大小,VB1701-1955為發(fā)送數(shù)據(jù))
VD 2000(vb 2000-2003)接收緩沖區(qū)的指針(指向VB1401開始的數(shù)據(jù)區(qū)域)
VW 2004 接收字符計(jì)數(shù)器
VB 2006 接收到的命令幀的BCC值
VW 2007 命令幀長(zhǎng)度
VD 2010 (vb 2010-2013) 響應(yīng)幀的指針變量 (指向VB1701開始的數(shù)據(jù)區(qū)域)
VB 2014 響應(yīng)幀的校驗(yàn)值
VB 2015 錯(cuò)誤代碼
VD 2020 (vb 2020-2023) I/Q/VB/M 源地址
VD 2024 (vb 2024-2027) 讀/寫操作地址
VD 2030(vb2030-2033) 偏移地址中間變量
VW 2034 循環(huán)指令的Index變量
VW 2036 求校驗(yàn)數(shù)據(jù)大小變量(幀長(zhǎng)度減去2 即bcc校驗(yàn)和結(jié)束符)
5)程序模塊說(shuō)明
MAIN 主程序
SBR 0 通信初始化(調(diào)用子程序1)
SBR 1 緩沖區(qū)初始化
SBR 2 命令幀分析(命令幀無(wú)錯(cuò),調(diào)用子程序3,否則調(diào)用SBR4)
SBR 3 組織響應(yīng)幀并發(fā)送到串口
SBR 4 發(fā)送錯(cuò)誤響應(yīng)幀(錯(cuò)誤代碼為00時(shí)表示寫操作成功)
INT 0 接收中斷程序(在緩沖區(qū)存放命令幀,要求前一命令幀已經(jīng)處理完)
INT 1 發(fā)送完中斷程序(調(diào)用SBR1清空緩沖區(qū))
6)調(diào)試界面
作者寫的一個(gè)與S7-200 PLC 調(diào)試工具的界面(fig3)。在參數(shù)設(shè)置中可以設(shè)定發(fā)送間隔和發(fā)送次數(shù),顯示可設(shè)置為16進(jìn)制或ASCII碼方式。

作者寫的一個(gè)與串口調(diào)試工具的界面(fig4),可以發(fā)送16進(jìn)制字符串和ASCII碼字符串。在參數(shù)設(shè)置中可以設(shè)定發(fā)送間隔和發(fā)送次數(shù)。

7)結(jié)束語(yǔ)
上位機(jī)軟件用了通信控件:spcomm(免費(fèi)控件,很好注冊(cè)),在DELPHI下非常好用(用它進(jìn)行文件傳輸?shù)慕Y(jié)果也比較滿意)。試驗(yàn)表明本協(xié)議的實(shí)現(xiàn)在可靠性、實(shí)時(shí)性和通信數(shù)據(jù)量上基本滿足了上位機(jī)數(shù)據(jù)采集的需要。
Name: 施奇峰 E-mail:nuststeven@263.net stevenboy@163.net
bbb: 025-4312851 Addr: 南京理工大學(xué)自動(dòng)化研2000 Date: 2001/9/20
注:本文為施奇峰所作,版主杜學(xué)強(qiáng)協(xié)助對(duì)圖片進(jìn)行了整理,感謝施奇峰的奉獻(xiàn)。
順便說(shuō)一下,各位網(wǎng)友好的帖子中若有圖片,不便直接發(fā)布,可發(fā)至xq-du@yeah.net,本人非常榮興地為您服務(wù),以便網(wǎng)友得到更大收益。請(qǐng)發(fā)純文本文件,每個(gè)圖片直分別作成GIF格式文件并標(biāo)明圖號(hào),在文本中標(biāo)記各圖的位置,每篇至多3個(gè)圖片。謝謝!
本文標(biāo)簽:PC與S7-200的自定義通信協(xié)議實(shí)現(xiàn)
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《PC與S7-200的自定義通信協(xié)議實(shí)現(xiàn)》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
關(guān)于“PC與S7-200的自定義通信協(xié)議實(shí)現(xiàn)”的更多資訊










