S7-200系列PLC自由通信口初始化及通信指令 西門子PLC
在該通信方式下,通信端口完全由用戶程序所控制,通信協議也由用戶設定。PC機與PLC之間是主從關系,PC機始終處于主導地位。PLC的通信編程首先是對串口初始化,對S7-200PLC的初始化是通過對特殊標志位SMB30(端口0)、SMB130(端口1)寫入通信控制字,設置通信的波特率,奇偶校驗位、停止位和字符長度。顯然,這些設定必須與PC的設定相一致。SMB30和SMB130的各位及含義如下:
其中,校驗方式:00和11均為無校驗、01為偶校驗、10為奇校驗;字符長度:0為傳送字符有效數據是8位、1為有效數據是7位;波特率:000為38400baud、001為19200baud、010為9600baud、011為4800baud、100為2400baud、101為1200baud、110為600baud、111為300baud;通信協議:00為PPI協議從站模式、01為自由口協議、10為PPI協議主站模式、11為保留,缺省設置為PPI協議從站模式。
XMT及RCV命令分別用于PLC向外界發送與接收數據。當PLC處于RUN狀態下時,通信命令有效,當PLC處于STOP狀態時通信命令無效。
XMT命令將指定存儲區內的數據通過指定端口傳送出去,當存儲區內最后一個字節傳送完畢,PLC將產生一個中斷,命令格式為 XMT TABLE,PORT,其中PORT指定PLC用于發送的通信端口,TABLE為是數據存儲區地址,其第一個字節存放要傳送的字節數,即數據長度,最大為255。
RCV命令從指定的端口讀入數據存放在指定的數據存儲區內,當最后一個字節接收完畢,PLC也將產生一個中斷,命令格式為RCV TABLE,PO RT,PLC通過PORT端口接收數據,并將數據存放在TBL數據存儲區內,TABLE的第一個字節為接收的字節數。
在自由口通信方式下,還可以通過字符中斷控制來接收數據,即PLC每接收一個字節的數據都將產生一個中斷。因而,PLC每接收一個字節的數據都可以在相應的中斷程序中對接收的數據進行處理。
文章版權歸西部工控xbgk所有,未經許可不得轉載。