西門子6ES72881SR200AA0西門子6ES72881SR200AA0
自由口通信
S7-200 SMART CPU 本體集成的RS485通信口和擴(kuò)展信號板(RS485/RS232)可以設(shè)置為自由口模式,。選擇自由口模式后,用戶程序就可以*控制通信端口的操作,,通信協(xié)議也*受用戶程序控制,。
S7-200 SMART CPU 本體集成的通信口在電氣上是標(biāo)準(zhǔn)的RS-485半雙工串行通信口。此串行字符通信的格式可以包括:
- 一個起始位
- 7或8位字符(數(shù)據(jù)字節(jié))
- 一個奇/偶校驗(yàn)位,,或者沒有校驗(yàn)位
- 一個停止位
自由口通信速波特率可以設(shè)置為1200,、2400、4800,、9600,、19200、38400,、57600或115200,。
凡是符合這些格式的串行通信設(shè)備,理論上都可以和S7-200 SMART CPU通信,。
自由口模式可以靈活應(yīng)用,。Micro/WIN SMART的兩個指令庫(USS和Modbus RTU)就是使用自由口模式編程實(shí)現(xiàn)的。
在進(jìn)行自由口通信程序調(diào)試時,,可以使用 RS232/PPI 電纜(設(shè)置到自由口通信模式)連接PC和CPU,,在PC上運(yùn)行串口調(diào)試軟件(或者Windows的Hyper Terminal-超級終端)調(diào)試自由口程序
自由口通信要點(diǎn)
應(yīng)用自由口通信首先要把通信口定義為自由口模式,同時設(shè)置相應(yīng)的通信波特率和上述通信格式,。用戶程序通過特殊存儲器SMB30(對端口0 即 CPU 本體集成 RS485 口),、SMB130(對端口1 即通信信號板)控制通信口的工作模式。
CPU通信口工作在自由口模式時,,通信口就不支持其他通信協(xié)議(比如PPI),。
通信口的工作模式,是可以在運(yùn)行過程中由用戶程序重復(fù)定義的,。
自由口通信的核心指令是發(fā)送(XMT)和接收(RCV)指令,。自由口通信常用的中斷有“接收指令結(jié)束中斷”、“發(fā)送指令結(jié)束中斷”,,以及字符接收中斷。用戶程序不能直接控制通信芯片而必須通過操作系統(tǒng),。用戶程序使用通信數(shù)據(jù)緩沖區(qū)和特殊存儲器與操作系統(tǒng)交換相關(guān)的信息,。
XMT和RCV指令的數(shù)據(jù)緩沖區(qū)類似,起始字節(jié)為需要發(fā)送的或接收的字符個數(shù),,隨后是數(shù)據(jù)字節(jié)本身。如果接收的消息中包括了起始或結(jié)束字符,,則它們也算數(shù)據(jù)字節(jié),。
調(diào)用XMT和RCV指令時只需要通信口和數(shù)據(jù)緩沖區(qū)的起始字節(jié)地址,。
XMT和RCV指令與網(wǎng)絡(luò)上通信對象的“地址”無關(guān),,而僅對本地的通信端口操作,。如果網(wǎng)絡(luò)上有多個設(shè)備,,消息中必然包含地址信息;這些包含地址信息的消息才是XMT和RCV指令的處理對象,。
由于S7-200 SMART的通信端口是半雙工RS-485芯片,,XMT指令和RCV指令不能同時有效。