1、為什么要用PC/PPI接口?
因S7200CPU使用的是RS485,而PC機(jī)的COM口采用的是RS232,兩者的電氣規(guī)范并不相容,需要用中間電路進(jìn)行匹配。PC/PPI其實(shí)就是一根RS485/RS232的匹配電纜。
字串4
2、RS485采用差分的兩根A/B線進(jìn)行通訊,A和B兩根線的相對(duì)電平來表達(dá)0和1,同一時(shí)刻只能由一個(gè)設(shè)備驅(qū)動(dòng)總線,其它在總線上的設(shè)備此時(shí)都處在接收狀態(tài);
RS232接口收RXD和發(fā)TXD線獨(dú)立,可以同時(shí)進(jìn)行收發(fā)通訊,同時(shí)RS232設(shè)計(jì)成兩個(gè)設(shè)備之間的單獨(dú)通訊,不支持多于兩個(gè)設(shè)備的聯(lián)接,所以它的收發(fā)隨時(shí)都可進(jìn)行,不會(huì)發(fā)生通訊碰撞。
3、RS485總線上什么設(shè)備、何時(shí)可以驅(qū)動(dòng)總線,是由通訊協(xié)議決定的。RS485和RS232都沒有多余的引線告知處在中間的匹配電纜什么時(shí)候可以驅(qū)動(dòng)RS485總線,而且匹配電纜一般也不懂具體的通訊協(xié)議。匹配電纜單方面根據(jù)RS232的發(fā)送需求來決定是否需要驅(qū)動(dòng)RS485總線:當(dāng)TXD線上有發(fā)送數(shù)據(jù)脈沖時(shí),匹配電纜立即由接收態(tài)轉(zhuǎn)為發(fā)送態(tài),驅(qū)動(dòng)RS485總線,當(dāng)TXD上數(shù)據(jù)脈沖消失后,匹配電纜再轉(zhuǎn)為接狀態(tài),允許RS485總線上的其它設(shè)備驅(qū)動(dòng)總線。
4、為什么要設(shè)置波特率和數(shù)據(jù)位長(zhǎng)?
從PC/PPI的規(guī)范中有一條:
Direction change delay: RS–232 stop bit edge received to RS–485 transmission disabled
1.4 character times max.(1.4 x 11/baud) = 1.6 ms at 9600 baud
意思是說,從收到RS232的停止位起,到RS485發(fā)送停止(即停止驅(qū)動(dòng)RS485總線),這個(gè)時(shí)間最長(zhǎng)為1.4個(gè)字符的發(fā)送時(shí)間,是個(gè)相對(duì)于波特率和字符位數(shù)的量。如果RS232發(fā)送的字符間隔小于1.4的字符寬度,那么PC/PPI連續(xù)驅(qū)動(dòng)RS485總線,可以消除終止驅(qū)動(dòng)又再驅(qū)動(dòng)而引入的噪音。
從幾百波特率到幾K甚至幾十K波特率,相差10位以上,低波特率的數(shù)據(jù)脈沖,在高波特率時(shí)與字符間隔相當(dāng),所以要正確設(shè)置以保證通訊的穩(wěn)定可靠。
5、為什么有的(非西門子)匹配電纜不用設(shè)置,能做到自適應(yīng)?
據(jù)我所知,如果匹配電纜只在發(fā)送0時(shí)驅(qū)動(dòng)總線,在發(fā)送1時(shí)不驅(qū)動(dòng)總線,可以做到自適應(yīng)。通過電路上的設(shè)計(jì),當(dāng)沒有設(shè)備驅(qū)動(dòng)總線時(shí),讓總線處于1的狀態(tài),所以,不驅(qū)動(dòng)總線也可以發(fā)送1(不知道這樣做可連接的站點(diǎn)數(shù)是否會(huì)下降?)。RS232發(fā)送完停止位后,TXD即停留在1狀態(tài),直至下一個(gè)字符的起始位為止,所以,自適應(yīng)的匹配電纜在發(fā)送完停止位后,立即停止驅(qū)動(dòng)(釋放)RS485總線,與波特率和位長(zhǎng)無關(guān).










