S7-200支持多種通訊模式,如點(diǎn)點(diǎn)接口(PPI)、多點(diǎn)接口(MPI)、Rrofibus DP等。PPI等通訊協(xié)議主要用于西門子系列產(chǎn)品之間的通訊以及對(duì)PLC編程。在自由口模式下,可由用戶控制串行通訊接口,實(shí)現(xiàn)用戶自定義的通訊協(xié)議。用戶可以用梯形圖程序調(diào)用接收中斷、發(fā)送中斷、發(fā)送指令(XMT)、接受指令(RCV)來控制通信操作。在自由口模式下,通信協(xié)議完全由梯形圖程序控制。
S7-200CPU上的通信口是與RS-485兼容的9針D型連接器,PLC還提供了實(shí)現(xiàn) RS-485與 PC機(jī)上RS-232C相連接的PC/PPI電纜,利用它可以方便地實(shí)現(xiàn)S7-200系列PLC與PC之間的硬件連接。
S7-200的編程軟件為STEP7-Micro/WIN32,該軟件有STL、FBD和Ladder三種編程模式,有SIMATIC指令和IEC131-3指令兩種指令。本文所給出的范例是使用SIMATIC指令的STL編程。
S7-200 PLC端的通訊程序?qū)崿F(xiàn)
PLC程序分為主程序和中斷程序。主程序完成初始化通信口、開中斷、判斷、發(fā)送數(shù)據(jù)等功能,中斷程序完成接收和發(fā)送數(shù)據(jù)的功能。接收指令(RCV)啟動(dòng)或終止接收信息功能,必須為接收操作指定開始和結(jié)束條件。發(fā)送指令(XMT)在自由口模式下依靠通訊口發(fā)送數(shù)據(jù)。
控制字的選取
反映CPU工作方式的模式開關(guān)當(dāng)前位置的特殊存儲(chǔ)器位為SM0.7,它控制自由端口模式的進(jìn)入。當(dāng)SM0.7為0時(shí),模式開關(guān)處于TREM位置;當(dāng)SM0.7為1時(shí)模式開關(guān)處于RUN位置。而只有當(dāng)模式開關(guān)位于RUN位置時(shí),才允許進(jìn)行自由口通訊。SMB30是自由口模式控制字節(jié),用來設(shè)定校驗(yàn)方式、通訊協(xié)議、波特率等通訊參數(shù)(其它控制字的設(shè)定參閱有關(guān)書籍)。
程序的一些簡單介紹
NETWORK1
LD SM0.1 // 第一次掃描
MOVB 16#09,SMB30
//自由口通訊模式:9600波特率,無奇偶校驗(yàn),8個(gè)數(shù)據(jù)位
MOVB 16#7C,SMB87 //接收信息狀態(tài)字節(jié)
MOVB 16#53,SMB88
//設(shè)置信息的開始字符“S”
MOVB 16#45,SMB89
//設(shè)置信息的結(jié)束字符“E”
MOVW +5,SMW90
//設(shè)定空閑行的時(shí)間間隔(ms)
MOVW +179,SMW92
//字符間/信息間定時(shí)器超時(shí)值(ms)
MOVB 60,SMB94 //接收字符的個(gè)數(shù)
NETWORK2
LD SM0.1 MOVB 16#53,VB2499
//設(shè)置接收和發(fā)送緩沖區(qū)的首地址
ATCH 發(fā)送完中斷,9
//把發(fā)送完成中斷和發(fā)送完成中斷子程序連接起來
ATCH 接收完中斷,23
//把接收完成中斷和接收完成中斷子程序連接起來
ENI //允許中斷