版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-.z.S7-200系列自由口通訊的實(shí)現(xiàn)及應(yīng)用比擬有用的資料,有S7-200PLC的話,可以試試。1
引言
為了到達(dá)和通訊協(xié)議的控制設(shè)備進(jìn)展數(shù)據(jù)交換,以提高自動(dòng)化控制系統(tǒng)的靈活性,很多plc制造商都相繼的開(kāi)發(fā)出了方便、靈活的自由口通訊方式,例如三菱公司的f*2系列plc,omron公司的cjm1系列的plc,西門子公司的s7-200系列plc等都提供了自由口通訊模式。自由口通訊是指plc提供了串行的通訊硬件,和用于定制通訊協(xié)議的相關(guān)指令,在控制系統(tǒng)中,當(dāng)要和plc連接的控制設(shè)備的通訊協(xié)議時(shí),可以在plc中進(jìn)展編程定制通訊協(xié)議,和控制設(shè)備進(jìn)展數(shù)據(jù)通訊。本文主要介紹西門子s7-200的自由口和計(jì)算機(jī)的串口進(jìn)展的通訊,計(jì)算機(jī)中采用visualbasic進(jìn)展編程,從而實(shí)現(xiàn)計(jì)算機(jī)與可編程控制器的直接控制。該通訊方式具有效率高、容易實(shí)現(xiàn)、通訊硬件簡(jiǎn)單、容易配置等特點(diǎn)在工業(yè)控制領(lǐng)域中被廣泛應(yīng)用。2
s7-200通訊指令及特殊字節(jié)
采用自由口通訊方式時(shí),s7-200上的rs485口完全由用戶控制,可以與任何協(xié)議的設(shè)備進(jìn)展通訊,在這種情況下通訊協(xié)議完全由用戶制定,為此,s7-200提供了用于進(jìn)展通訊協(xié)議定制的特殊標(biāo)志位以及相關(guān)的通訊指令。
2.1特殊標(biāo)志字節(jié)
s7-200用于自由口通訊模式定義的特殊標(biāo)志字節(jié)有smb30和smb130,smb30用于s7-200的端口0的通訊,smb130用于s7-200的端口1的通訊,兩者的格式一樣,下面我們以smb130為例,介紹其組成。smb130各位的含義如下:
pp:兩位用于選擇通訊的校驗(yàn)方式
當(dāng)這兩位的組合是:
00無(wú)校驗(yàn)
01偶校驗(yàn)
10無(wú)校驗(yàn)
11奇校驗(yàn)
d:這一位用于選擇通訊的數(shù)據(jù)位數(shù)
d=1時(shí)7個(gè)數(shù)據(jù)位,d=0時(shí)8個(gè)數(shù)據(jù)位
bbb:用于選擇自由口通訊是的波特率,這三位的組合和通訊波特率的關(guān)系如下:
000——38400bps
001——19200bps
010——9600bps
011——4800bps
100——2400bps
101——1200bps
110——600
bps
111——300
bps
mm:用于通訊協(xié)議的選擇,當(dāng)這兩位的組合是:
00
ppi從站模式
01自由口通訊模式
10
ppi主站模式
2.2接收信息的狀態(tài)字節(jié)
s7-200在自由口通訊時(shí)用于承受信息的狀態(tài)有smb86和smb186,smb86用于s7-200的端口0的通訊,smb186用于s7-200的端口1的通訊,兩者的格式一樣,下面我們以smb186為例,介紹其組成。smb186各位的含義如下:
n=1時(shí):表示制止接收信息
r=1時(shí):表示接收信息完畢
e=1時(shí):表示收到完畢字符
t=1時(shí):表示接收信息超時(shí)錯(cuò)誤
c=1時(shí):表示接收信息字符超長(zhǎng)錯(cuò)誤
p=1時(shí):表示接收信息奇、偶校驗(yàn)錯(cuò)誤
2.3接收信息的控制字節(jié)
s7-200在自由口通訊時(shí)用于承受信息的控制字節(jié)有smb87和smb187,smb87用于s7-200的端口0的通訊,smb187用于s7-200的端口1的通訊,兩者的格式一樣,下面我們以smb187為例,介紹其組成。smb187各位的含義如下:
en=0時(shí):制止接收信息
en=1時(shí):允許接收信息
sc=0時(shí):不使用起始字符開(kāi)場(chǎng)
sc=1時(shí):使用起始字符做為接收信息的開(kāi)場(chǎng)
ec=0時(shí):不使用完畢字符完畢
ec=1時(shí):使用完畢字符做為接收信息的完畢
il=0時(shí):不使用空閑線檢測(cè)
il=1時(shí):使用空閑線檢測(cè)
c/m=0時(shí):定時(shí)器是字符定時(shí)器
c/m=1時(shí):定時(shí)器是信息定時(shí)器
tmr=0時(shí):不使用超時(shí)檢測(cè)
tmr=1時(shí):使用超時(shí)線檢測(cè)
bk=0時(shí):不使用中斷檢測(cè)
bk=1時(shí):使用中斷檢測(cè)
2.4其它和自由口通訊有關(guān)的特殊字節(jié)(見(jiàn)表1)2.5自由口通訊的指令
(1)發(fā)送指令*mt其指令格式如下圖:
發(fā)送指令用于激活發(fā)送數(shù)據(jù)緩沖區(qū)tbl中的數(shù)據(jù),數(shù)據(jù)格式如下所示,數(shù)據(jù)緩沖區(qū)中的第一個(gè)數(shù)據(jù)是指定要發(fā)送的數(shù)據(jù)的總字節(jié)數(shù),最大為255個(gè),從第二個(gè)數(shù)據(jù)開(kāi)場(chǎng)是依次要發(fā)送的數(shù)據(jù)。port指定用于發(fā)送的端口,在發(fā)送完緩沖區(qū)中的最后一個(gè)數(shù)據(jù)時(shí)產(chǎn)生中斷事件。
(2)發(fā)送指令rcv其指令格式如下圖:
接收指令rcv用于從指定的端口接收數(shù)據(jù),并將接收到的數(shù)據(jù)存儲(chǔ)與其參數(shù)tbl所指定的緩沖區(qū),緩沖區(qū)的第一個(gè)字節(jié)指示接收到的字節(jié)數(shù)量,第二個(gè)字節(jié)指示接收的起始字符,最后一個(gè)字節(jié)指示的是完畢字符,起始字符和完畢字符之間的是接收到的數(shù)據(jù),同發(fā)送緩沖區(qū)一樣,接收緩沖區(qū)的最大數(shù)量也是255個(gè)字節(jié)。
(3)與自由口通訊有關(guān)的中斷(見(jiàn)表2)3
plc自由口通訊的程序設(shè)計(jì)
3.1自由口通訊的初始化子程序(見(jiàn)圖1)圖1(a)圖1(b)圖1(c)圖1(d)3.2自由口通訊的發(fā)送子程序(見(jiàn)圖2)圖2(a)圖2(b)3.3自由口通訊的接收程序(見(jiàn)圖3)圖3(a)圖3(b)3.4自由口通訊的開(kāi)場(chǎng)接收中斷效勞程序(見(jiàn)圖4)圖4
自由口通訊的開(kāi)場(chǎng)接收中斷效勞程序3.5自由口通訊的接收完成中斷效勞程序(見(jiàn)圖5)圖5
自由口通訊的接收完成中斷效勞程序4
vb中的串行口通訊組件介紹
4.1vb中串行通訊控件的引用
在vb的標(biāo)準(zhǔn)工具箱中并沒(méi)有用于串行通訊的控件,在使用時(shí)需要引用,引用的方法是在vb界面中的下拉菜單中選擇[工程]/部件,在出現(xiàn)的可選文件中選擇mscm32.oc*,選擇引用后在vb的標(biāo)準(zhǔn)工具箱中就會(huì)出現(xiàn)vb下的串行口通訊控件。如果無(wú)法按照上述的方法在部件中成功地引用組件,也可以使用該程序中的瀏覽功能,到windows/system目錄下去找mscm32.oc*,并翻開(kāi)該文件。
4.2vb中串行通訊控件的屬性
(1)mport:該屬性用于設(shè)置vb應(yīng)用程序所使用的串行口號(hào),其設(shè)置值為1~16,對(duì)應(yīng)計(jì)算機(jī)的1~16號(hào)端口。
(2)settings:該屬性用于設(shè)置串行口的通訊參數(shù),其格式為“bbbb,p,d,s〞其中bbb為通訊的波特率,波特率圍為300~19200bps;p為奇偶校驗(yàn)方式,其設(shè)置方法是e代表偶校驗(yàn),o代表奇校驗(yàn),n代表無(wú)校驗(yàn);d為通訊的數(shù)據(jù)位數(shù),通常是8位或7位;s代表停頓位,停頓位的設(shè)定值有1、1.5、2。例如,setting屬性的設(shè)置為,msm。settings=9600,n,8,1表示通訊波特率為9600,無(wú)校驗(yàn),8個(gè)數(shù)據(jù)位,1個(gè)停頓位。
(3)portope:在使用串行口進(jìn)展通訊前必須先翻開(kāi)串行口,該屬性用于串行口的翻開(kāi)與關(guān)閉,其設(shè)置值為true或false,分別代表串行口的翻開(kāi)與關(guān)閉。
(4)input:該屬性的作用是從輸入緩沖器中將數(shù)據(jù)讀入到程序中,并去除緩沖區(qū)中已被讀走的容。
(5)output:該屬性的作用是從程序中寫(xiě)數(shù)據(jù)到輸出緩沖器中,寫(xiě)入到輸出緩沖器中的容由串口發(fā)送出去。
(6)inputlen:該屬性指定由串行口讀入的字符串長(zhǎng)度,vb所寫(xiě)的程序可以使用該屬性將存放在輸入緩沖器中讀入,但欲指定所讀入的字符的長(zhǎng)度則可以通過(guò)該屬性來(lái)設(shè)置,默認(rèn)值是0,在默認(rèn)情況下,input指令一次讀取所有輸入緩沖區(qū)中的數(shù)據(jù)。
(7)rthrehold:該屬性用于設(shè)置當(dāng)輸入緩沖器中接收到的字符數(shù)等于該屬性的設(shè)定值時(shí),引發(fā)承受事件on-m事件。當(dāng)msm.rthreho-ld=0時(shí)不會(huì)產(chǎn)生onm事件。
(8)inbuffercount:該屬性是指已接收到的并放在輸入緩沖器中等待讀取的字符的數(shù)量。在使用時(shí)可把該屬性設(shè)置為0用來(lái)去除輸入緩沖器。
(9)inputmode:該屬性用于設(shè)置由input屬性取回的數(shù)據(jù)的形式。該屬性設(shè)置值如表3。4.3vb中串行通訊控件的事件
(1)mevent屬性用于傳回以下所述的值之一,來(lái)表示不同的通訊錯(cuò)誤或事件,通訊錯(cuò)誤的返回值如表4所示。(2)通訊事件的返回值如表5所示。4.4visualbasic中用于串口通訊的程序代碼
(1)在form1的代碼的公共局部定義變量:
dimrcvlenth
as
integer
定義接收數(shù)據(jù)長(zhǎng)度的整形變量
dimrcv()
as
byte
定義接收數(shù)據(jù)的動(dòng)態(tài)數(shù)組
dimsend(50)
asbyte
定義發(fā)送數(shù)據(jù)的動(dòng)態(tài)數(shù)組
(2)在form1——load的代碼中對(duì)msm1控件進(jìn)展設(shè)置:
privatesubform_load()
rcvlenth=0
msm1.mport=1
指定計(jì)算機(jī)通訊的端口號(hào)
msm1.settings="9600,n,8,1"
設(shè)置通訊波特率及校驗(yàn)方式
msm1.inputmode=inputmodebinary
msm1.rthreshold=1
msm1.inputlen=0
msm1.outbuffercount=0
ifnotmsm1.portopenthenmsm1.portopen=true
endsub
(3)在msm1的onm()事件中參加以下代碼,用于接收數(shù)據(jù):
privatesubmsm1_on-m()
dimiasintger
dimrcvtemp()asbyte
redimpreservercv(ms-m1.inbuffercount)asbyte
selectcasemsm1.-mevent
caseevreceive
rcvtemp=msm1.input
fori=lbound(rcvtemp)toubound(rcvtemp)
rcvlenth=rcvlenth+1
rcv(rcvlenth)=rcvtemp(i)
ne*ti
endselect
endsub
(4)在timer1_timer()事件中參加如下代碼用于定時(shí)的發(fā)送數(shù)據(jù):
privatesubtimer1_timer()
dimiasintger
fori=1to50
msm1.output=send(i)
ne*ti
endsub
(5)程序界面如圖6所示。圖6
程序界面5
完畢語(yǔ)
s7-200的自由口通訊方式,使用戶可以通過(guò)plc指令自己定義通訊協(xié)議,從而與任何公開(kāi)通訊協(xié)議的rs-422或rs-232
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版新能源汽車租賃與充電設(shè)施運(yùn)營(yíng)管理合同范本3篇
- 2025年度鋼管架施工項(xiàng)目質(zhì)量保證與驗(yàn)收合同
- 2025版?zhèn)€人住房裝修安全監(jiān)理服務(wù)合同2篇
- 2025年度個(gè)人住房抵押貸款房產(chǎn)抵押評(píng)估合同3篇
- 二零二五年度水資源保護(hù)與利用項(xiàng)目合同2篇
- 科技教育在醫(yī)療領(lǐng)域的應(yīng)用與探索
- 二零二五年度離婚后住房公積金提取及分割合同3篇
- 遠(yuǎn)程工作中的嵌入式學(xué)習(xí)支持服務(wù)
- 科技環(huán)境下的安全教育培訓(xùn)新模式
- 網(wǎng)絡(luò)安全意識(shí)教育的現(xiàn)狀與挑戰(zhàn)
- 2024年江蘇護(hù)理職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 電能質(zhì)量與安全課件
- 醫(yī)藥營(yíng)銷團(tuán)隊(duì)建設(shè)與管理
- 工程項(xiàng)目設(shè)計(jì)工作管理方案及設(shè)計(jì)優(yōu)化措施
- 圍場(chǎng)滿族蒙古族自治縣金匯螢石開(kāi)采有限公司三義號(hào)螢石礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 小升初幼升小擇校畢業(yè)升學(xué)兒童簡(jiǎn)歷
- 資金支付審批單
- 第一單元(金融知識(shí)進(jìn)課堂)課件
- 新概念二冊(cè)課文電子版
- 介入導(dǎo)管室護(hù)士述職報(bào)告(5篇)
- 零件的工藝分析及毛坯選擇
評(píng)論
0/150
提交評(píng)論