1、打開STEP 7-MicroWINSMART編程軟件
2、給SMB30賦值16#09,即定義通信協(xié)議為自由口模式,無(wú)校驗(yàn)、波特率9600bit/s、8個(gè)數(shù)據(jù)位。
3、定義接收條件SMB87=16#E0:即允許接收、使用起始符、使用結(jié)束符。
4、設(shè)定起始符SMB88=16#AB,設(shè)定結(jié)束符SMB89=16#BA。
5、設(shè)定接收最大字符數(shù)SMB94=10
6、定義接收數(shù)據(jù)區(qū)從VB100開始,發(fā)送數(shù)據(jù)區(qū)從VB0開始
7、使用中斷子程序來(lái)循環(huán)接收與發(fā)送。
8、主程序如下:
9、中斷子程序INT0,延時(shí)50ms進(jìn)入中斷子程序INT2
10、中斷子程序INT2:執(zhí)行發(fā)送指令發(fā)送數(shù)據(jù)
11、中斷子程序INT1:發(fā)送完成進(jìn)行等待接收同時(shí)分離延時(shí)中斷事件號(hào)。
注意:在使用中斷子程序執(zhí)行接收與發(fā)送指令時(shí),由于中斷的反應(yīng)速度太快,所以在接收完成后延時(shí)一段時(shí)間(50ms或100ms)再執(zhí)行發(fā)送指令。
二、定義三菱FX2N的通信格式
1、打開GX Works2編程軟件。
2、定義通信格式D8120=H0F81,即8個(gè)數(shù)據(jù)位、無(wú)校驗(yàn)、1個(gè)停止位、波特率9600bit/s、有起始符、有結(jié)束符、無(wú)順序RS-485接口。
3、設(shè)定起始符D8124=16#AB,結(jié)束符D8125=16#BA。
4、設(shè)定接收超時(shí)時(shí)間D8129=50(時(shí)基10ms)。
5、設(shè)定接收/發(fā)送數(shù)據(jù)為8位處理模式,在默認(rèn)情況下為16位處理模式,若D8161為ON則為8位處理模式(低8位)。
6、使用——[RS S m D n] 指令定義發(fā)送、接收數(shù)據(jù)起始地址及數(shù)據(jù)長(zhǎng)度。S為發(fā)送數(shù)據(jù)起始地址;m為發(fā)送數(shù)據(jù)長(zhǎng)度;D為接收數(shù)據(jù)起始地址;n為接收數(shù)據(jù)長(zhǎng)度。
注意:發(fā)送/接收數(shù)據(jù)緩沖區(qū)都不包含起始符與結(jié)束符,若只接收無(wú)發(fā)送則,m=0;若只發(fā)送不接收,則n=0。
7、發(fā)送請(qǐng)求位M8122,即每接通(沿觸發(fā))一次M8122執(zhí)行一次發(fā)送命令,且該位在發(fā)送完成后會(huì)自動(dòng)復(fù)位。
8、接收完成標(biāo)志位M8123,即每次接收完成該位都會(huì)接通,該位處于接通狀態(tài)則無(wú)法接收新數(shù)據(jù),且該位不會(huì)自動(dòng)復(fù)位需手動(dòng)復(fù)位,可用M8123的觸點(diǎn)作為條件復(fù)位M8123的線圈狀態(tài),這樣在接收完成后相當(dāng)于自動(dòng)復(fù)位M8123。
注意:三菱→西門子:雖然發(fā)送數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)不包含起始符與結(jié)束符,但是,D8124(起始符)與D8125(結(jié)束符)中的數(shù)據(jù)也會(huì)一起被發(fā)送給對(duì)方,也就是西門子PLC接收到的數(shù)據(jù)中包含有起始符與結(jié)束符。如RS指令中設(shè)定發(fā)送的字節(jié)數(shù)為3個(gè),那么西門子PLC接收緩沖區(qū)定義的接收字節(jié)數(shù)應(yīng)為5個(gè),其中第一個(gè)字節(jié)為起始符最后一個(gè)字節(jié)為結(jié)束符。
西門子→三菱:三菱的接收數(shù)據(jù)緩沖區(qū)也如此,若啟用起始符與結(jié)束符,則在西門子PLC的發(fā)送數(shù)據(jù)緩沖區(qū)中第一個(gè)字節(jié)為起始符最后一個(gè)字節(jié)為結(jié)束符,那么FX2N的接收數(shù)據(jù)緩沖區(qū)中也不包含起始符與結(jié)束符(起始符與結(jié)束符通過(guò)D8124、D8125設(shè)定),也就是RS指令中設(shè)定的起始字節(jié)接收到的是西門子PLC發(fā)送數(shù)據(jù)的第二個(gè)字節(jié)。如西門子PLC發(fā)送5個(gè)字節(jié)數(shù)據(jù),那么FX2N只需接收3個(gè)字節(jié)即可。
9、程序如下:
-
FX2N
+關(guān)注
關(guān)注
1文章
76瀏覽量
12900 -
西門子S7-200
+關(guān)注
關(guān)注
1文章
19瀏覽量
7885
原文標(biāo)題:西門子S7-200smart與三菱FX2N自由口通信
文章出處:【微信號(hào):GKYXT1508,微信公眾號(hào):工控云學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論