西門子為其產品及系統(tǒng)提供工業(yè)安全功能,以支持工廠、解決方案、機器和網絡的安全運行。
為了保護設備、系統(tǒng)、機器和網絡以防受到網絡威脅,必須實施并持續(xù)保持全面、的工業(yè)安全概念。西門子的產品和解決方案構成了這種概念的一個要素。
客戶負責防止未經授權的對其工廠、系統(tǒng)、機器設備和網絡進行訪問。這種系統(tǒng)、機器和部件只應連接到企業(yè)網絡或互聯(lián)網,前提是需要進行這種連接,且僅當采取適當措施時的情況下才進行這種連接(例如,使用防火墻和/或進行網絡分隔)。
西門子在 Micro/WIN V4.0 SP5 中正式推出 Modbus RTU 主站協(xié)議庫(西門子標準庫指令)。
圖 1. 西門子標準指令庫(Micro/WIN V4.0 SP5)
使用 Modbus RTU 主站指令庫,可以讀寫 Modbus RTU 從站的數字量、模擬量 I/O 以及保持寄存器。
要使用 Modbus RTU 主站指令庫,須遵循下列步驟:
1. 調用 Modbus RTU 主站初始化和控制子程序
使用 SM0.0 調用 MBUS_CTRL 完成主站的初始化,并啟動其功能控制:
圖 2. 用 SM0.0 調用 Modbus RTU 主站初始化與控制子程序
各參數意義如下:
2. 調用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個Modbus 請求;
圖 3. 調用Modbus RTU 主站讀寫子程序
3. 在 CPU 的 V 數據區(qū)中為庫指令分配存儲區(qū)(Library Memory)
Modbus Master 指令庫需要一個284個字節(jié)的全局 V 存儲區(qū)。
參考:分配庫指令數據區(qū)
此為西門子正式推出的標準庫指令說明資料。
Modbus RTU Master 協(xié)議指令庫使通信口工作在自由口模式下,此時不能與 Micro/WIN 軟件通信。要在切換回 PPI 協(xié)議,可以:
Modbus RTU Master 協(xié)議庫的 MBUS_CTRL 指令不需要很長的執(zhí)行時間。MBUS_需要 1.11 ms 用于初始化,在后續(xù)的每個掃描周期中只占用 0.41 ms。
調用 MBUS_MSG 子程序會加長處理時間。大部分時間都用于 CRC 校驗的計算。每讀、寫一個字的數據就需要 1.85 ms 掃描時間。數據多的情況下(讀、寫 120 字的數據),掃描時間大概會擴增加 222 ms。讀操作的時間主要消耗在接收數據上;寫操作的時間主要消耗在發(fā)送數據上。
通常 Modbus 地址由 5 位數字組成,包括起始的數據類型代號,以及后面的偏移地址。Modbus Master 協(xié)議庫把標準的 Modbus 地址映射為所謂 Modbus 功能號,讀寫從站的數據。Modbus Master 協(xié)議庫支持如下地址:
為了支持上述 Modbus 地址的讀寫,Modbus Master 協(xié)議庫需要從站支持下列功能:
表 1. 需要從站支持的功能
30001 - 39999 輸入寄存器
S7-200 通過 Modbus Master 和 Slave 協(xié)議庫通信時,Modbus 地址和 S7-200 內存儲區(qū)地址的 映射關系都類似。
Modbus 保持寄存器地址映射舉例:
Modbus 數字量地址映射舉例:
位地址(0xxxx 和 1xxxx)數據是以字節(jié)為單位打包讀寫。個字節(jié)中的低有效位對應 Modbus 地址的起始地址。如下圖所示:
圖 4. 數字量地址映射舉例
為了更好地理解 Modbus 主站的編程,可參考下面的例程。
例子程序1: 多個MBUS_MSG指令輪詢執(zhí)行,
Modbus RTU 主站指令庫應用例程
Modbus RTU 主站變址方式輪詢訪問應用例程
注意:此指令庫/程序的作者和擁有者對于該軟件的功能性和兼容性不負任何責任。使用該軟件的風險完全由用戶自行承擔。由于它是免費的,所以不提供任何擔保,錯誤糾正和熱線支持,用戶不必為 此聯(lián)系西門子技術支持與服務部門。
Modbus RTU 主站庫對 CPU 的版本是否有要求,為什么編譯例子程序時,會遇到 4 個錯誤?
Modbus RTU 主站庫對 CPU 的版本確實有要求,CPU 的版本必須為 2.00 或者 2.01(即訂貨號為6ES721*-***23-0BA*),1.22 版本之前(包括 1.22 版本)的 S7-200 CPU 不支持。
Modbus 指令庫啟動后,如何通過同一個通信端口進行 CPU 監(jiān)控?
Modbus 指令庫使用的是 CPU 的自由口通信功能,工作在自由口模式下的通訊口不能使用 Micro/WIN 的 PPI 編程通信監(jiān)控。如果通信口都已經被占用,可以考慮:
如何理解 Modbus 地址與功能碼的區(qū)別?
Modbus 地址與 Modbus 的功能碼是兩個層次的概念。
根據 Modbus 通信協(xié)議,Modbus 數據的地址使用 0xxxx、1xxxx、3xxxx 和 4xxxx 的形式,分別表示數字量輸出、數字量輸入、模擬量輸入等數據地址。在使用 S7-200 的指令庫時,Modbus 數據地址與 S7-200 的 I/O 和數據存儲區(qū)地址間有特定的對應關系。
有些設備表明它支持 Modbus RTU 通信協(xié)議,但也詳細提供了讀寫數據的詳細通信幀格式,其中包括如何 Modbus 站的地址,需要讀寫數據類型、長度等等。數據幀有特定字節(jié)指出此指令讀寫的數據類型和地址,此字節(jié)的數據內容即所謂"功能碼",如功能 1 讀取單個/多個數字量輸出點的值。
支持 Modbus 協(xié)議的設備或軟件,使用時用戶直接設置或看到的應當是 Modbus 數據地址。Modbus 地址所訪問的數據,是通過各種"功能"讀寫而來。功能碼是 Modbus 地址的底層。如果 Modbus 通信的一方提供的所謂 Modbus 協(xié)議只有功能碼,則需要注意了解此功能號與 Modbus 地址間的對應關系。
如何訪問大于 9999 的保持寄存器地址?
通常 Modbus 協(xié)議的保持寄存器地址范圍在 之間。對于多數應用來說已經夠了。但有些 Modbus 從站把地址映射到保持寄存器區(qū)的地址過 9999 的部分。
Modbus Master 協(xié)議庫支持過 9999 的保持寄存器地址。地址范圍為 36。只需在調用 MBUS_MSG 子程序時給 Addr 參數賦相應的值即可,如 416768。
Modubs Master 擴展地址模式僅支持保持寄存器區(qū),不支持其他地址類型。
S7-200 作為 Modbus 主站方接收上來的數據格式與第三方設備不一樣怎么辦?
西門子PLC數據的存儲格式為高位低存方式。舉例:VD200中包含VW200和VW202,其中VW202是低字,VW200是高字。若第三方設備與西門子數據存儲格式不同,是低位低存的方式,那么通信上來的數據就會存在錯誤,需要進行轉換才能使用。編程的方式比較多樣,針對雙字中高低字的交換可以使用SWAP(字交換)指令,若是字節(jié)交換可以考慮循環(huán)移位指令。
S7-200 是否支持如 Modbus TCP 等其它協(xié)議?
不支持。S7-200自身的通信端口或其通信擴展模塊均不支持 Modbus TCP、CANopen、DeviceNet 以及 BACnet 通信協(xié)議。
為什么 S7-200 作 Modbus 主站時 MBUS_MSG 指令報6號錯誤?
引起6號錯誤主要有兩方面的原因:1.多個 MBUS_MSG 指令同時使能執(zhí)行;2. Modbus庫存儲區(qū)中分配的建議地址區(qū)與編程中已使用的V存儲區(qū)有重疊。
2Modbus RTU從站
S7-200 CPU上的通信口Port0可以支持Modbus RTU協(xié)議,成為Modbus RTU從站。此功能是通過S7-200的自由口通信模式實現,因此可以通過無線數據電臺等慢速通信設備傳輸。
詳情請參考《S7-200系統(tǒng)手冊》之相關章節(jié)。
要實現Modbus RTU通信,需要STEP 7-Micro/WIN32 V3.2以上版本的編程軟件,而且須安裝STEP 7-Micro/WIN32 V3.2 Instruction Library(指令庫)。Modbus RTU功能是通過指令庫中預先編好的程序功能塊實現的。
Modbus RTU從站指令庫只支持CPU上的通信0口(Port0)。
檢查Micro/WIN的軟件版本,應當是STEP 7-Micro/WIN V3.2以上版本。
檢查Micro/WIN的指令樹中是否存在Modbus RTU從站指令庫(圖1),庫中應當包括MBUS_INIT和MBUS_SLAVE兩個子程序。如果沒有,須安裝Micro/WIN32 V3.2的Instruction Library(指令庫)軟件包;
圖1. 指令樹中的庫指令
編程時使用SM0.1調用子程序MBUS_INIT進行初始化,使用SM0.0調用MBUS_SLAVE,并相應參數。關于參數的詳細說明,可在子程序的局部變量表中找到;
圖2. 調用Modbus RTU通信指令庫
圖中參數意義如下:
在CPU的V數據區(qū)中分配庫指令數據區(qū)(Library Memory);
如有必要,使用主站軟件測試。
注意:由子程序參數HoldStart和MaxHold的保持寄存器區(qū),是在S7-200 CPU的V數據存儲區(qū)中分配,此數據區(qū)不能和庫指令數據區(qū)有任何重疊,否則在運行時會產生錯誤,不能正常通信。注意Modbus 中的保持寄存器區(qū)按"字"尋址,即MaxHold規(guī)定的是VW而不是VB的個數。
在圖2的例子中,規(guī)定了 Modbus 保持寄存器區(qū)從 VB0 開始(HoldStart = VB0),并且保持寄存器為1000個字(MaxHold=1000),因保持寄存器以字(兩個字節(jié))為單位,實際上這個通信緩沖區(qū)占用了VB0~VB1999共2000個字節(jié)。因此分配庫指令保留數據區(qū)時至少要從VB2000開始。當然保持區(qū)不一定要從VB0開始。
注意:你選用的CPU的V存儲區(qū)大??!CPU型號不同V數據存儲區(qū)大小不同。應根據需要選擇Modbus保持寄存器區(qū)域的大小。
包含 Modbus RTU 從站指令庫的項目編譯、下載到CPU中后,在編程計算機(PG/PC)上運行一些 Modbus 測試軟件可以檢驗S7-200的Modbus RTU通信是否正常,這對查找故障點很有用。測試軟件通過計算機串口(RS-232)和PC/PPI電纜連接CPU。如果必要,須將PC/PPI電纜設置在自由口通信方式。
可到一些軟件下載網站尋找類似軟件,如 ModScan32 等。
Modbus地址是以00001、30004之類的形式出現。S7-200內部的數據存儲區(qū)與Modbus的0、1、3、4共4類地址的對應關系如下:
表2. Modbus地址對應表
其中T為S7-200中的緩沖區(qū)起始地址,即 HoldStart。
如果已知S7-200中的V存儲區(qū)地址,推算Modbus地址的公式如下:
Modbus地址 = 40000 + (T/2+1) ; T為偶數
Modbus RTU 從站指令庫支持特定的 Modbus 功能。訪問使用此指令庫的主站必須遵循這個指令庫的要求。
表 3. Modbus RTU 從站功能碼
Modbus RTU 從站例程
需要 STEP 7-Micro/WIN V4.0 SP3 以上版打開
Modbus 從站的網絡地址與 S7-200 的 CPU 網絡地址有什么關系?
沒有關系。支持網絡通信的通信協(xié)議必須有其自己的網絡尋址規(guī)定。 Modbus 從站的地址只是它在 Modbus 網絡上的地址,而通常所說的 S7-200 CPU 地址是 CPU 在西門子的 PPI 網絡上的站地址。S7-200 CPU 的大部分通信功能都通過 PPI 網絡完成,例如編程、網絡讀寫通信等。
根據 Modbus 通信協(xié)議,Modbus 數據的地址使用 00xxx、10xxx、30xxx 和 40xxx 的形式,分別表示數字量輸出、數字量輸入、模擬量輸入等數據地址。在使用 S7-200 的指令庫時,Modbus 數據地址與 S7-200 的 I/O 和數據存儲區(qū)地址間有特定的對應關系。
為何有些 HMI 軟件使用 Modbus RTU 讀取S7-200中的實數會出現錯誤?
有些HMI軟件使用Modbus RTU通信協(xié)議時,處理存儲在數據保持寄存器中的實數(浮點數)的方式與西門子的實數保存格式不同。西門子的PLC遵循"高字節(jié)低地址、低字節(jié)高地址"的規(guī)律。
Modbus RTU的保持寄存器是以"字(雙字節(jié))"為單位,而一個實數需要4個字節(jié)(雙字)表示。HMI軟件在處理時可能會把保持寄存器的兩個"字"互換位置,造成不能識別以西門子格式表示的實數。如果HMI軟件一方無法處理這種實數,則可在S7-200 CPU中編程將存入數據緩沖區(qū)(保持寄存器區(qū))的實數的高字和低字互換。
為何有的HMI軟件用Modbus RTU可以讀取作為從站的S7-200的內容,但不能寫入?
可能此軟件使用了Modbus功能15(寫多個離散量)或類似功能(功能 16)。S7-200從站協(xié)議遵守"以整字節(jié)地址邊界(如Q0.0、Q2.0)開始、以8的整數倍為位個數"的規(guī)約。如果HMI軟件未嚴格執(zhí)行此規(guī)律就可能發(fā)生寫入錯誤的情況。
S7-200是否支持 Modbus ASCII 模式?
S7-200可以支持上述模式,但是沒有現成的指令庫,需要用戶自己編程。
項目編譯后為何出現很多錯誤?
使用指令庫時,若編譯后出現很多錯誤,一般是因為未庫指令數據存儲區(qū)。請參考相關條目。
S7-200 CPU的Port1是否可以支持Modbus RTU協(xié)議?
可以。用戶可以自己編程實現。
在S7-200的"Tips and Tricks"幫助文檔中,Tip041是Modbus RTU從站程序,用戶可以參考。
S7-200是否可以組成Modbus RTU通信網絡?如何組網?
S7-200可以組成RS-485基礎上的Modbus RTU網絡。如果通信對象是不同標準的通信口,可能還需要轉換。 參見:RS-485網絡組成
3STEP 7-Micro/WIN 的標準指令庫
STEP 7-Micro/WIN V4.0 以上版內部已經帶有新的指令庫,但在未安裝西門子 Instruction Library 軟件包的情況下,不能顯示出來使用。
要使用西門子的標準指令庫,必須先安裝西門子的指令庫軟件包 Instruction Library。安裝了 Instruction Library 之后,只要安裝的 STEP 7-Micro/WIN 版本是新的,就能獲得相應版本的新指令庫。安裝 Micro/WIN 的升級包(Service Pack)也會更新指令庫的版本。
用戶可以直接從下面獲得西門子 Instruction Library 軟件安裝包:
Instruction Library
新的 STEP 7-Micro/WIN V4.0 SP5 版本支持以下幾種西門子標準指令庫:
以上通信協(xié)議庫都是使用了S7-200 CPU的自由口通信功能。
圖1. 西門子標準庫以淺藍色圖標表示(Micro/WIN V4.0 SP5)
從以下兩種途徑可以獲得STEP 7-Micro/WIN指令庫:
注意:
有時因為系統(tǒng)和軟件安裝有問題,可能在安裝完西門子標準指令庫后仍然不能看到西門子標準庫。這時可以嘗試添加標準庫。標準庫的文件存在Micro/WIN安裝目錄下的Standard Libs目錄下。
調用STEP 7 - Mciro/WIN32 V3.2 Instruction Library(指令庫)需要分配庫指令數據區(qū)(Library Memory)。庫指令數據區(qū)是相應庫的子程序和中斷程序所要用到的變量存儲空間。
如果在編程時不分配庫指令數據區(qū),編譯時會產生許多相同的錯誤(錯誤18)。
操作步驟(以Modbus RTU庫指令為例):
在指令樹的Project(項目)中,以鼠標右鍵單擊Program Block(程序塊),在彈出的快捷菜單中選擇Library Memory。如圖2所示:
圖2
在彈出的選項卡中設置庫指令數據區(qū),如圖2所示:
圖3.缺省情況下是從VB0開始,但因為與Modbus的保持寄存區(qū)沖突,所以手動改為VB2000。按"Suggest Address"按鈕也可以自動分配。
可以使用Suggest Address(地址)設置數據區(qū),但要注意編程軟件設置的數據區(qū)地址,只考慮到了其他一般尋址,而未考慮到諸如Modbus數據保持寄存器區(qū)等的設置。應當確保不與其他任何已使用的數據區(qū)重疊、沖突。不應重復按Suggest Address按鈕,否則也會造成混亂。
在STEP 7-Micro/WIN32 V3.1中,有分配庫指令數據區(qū)時有不同的操作方法,需要在Symbol Table(符號表)中設置一個首地址。我們強烈建議使用當時新的編程版本。
注意:添加自定義指令庫,需要關閉編輯庫指令的項目,新建立一個項目。如果要添加其他來源的庫指令自然不需要如此。
步:在Micro/WIN的File(文件)菜單中選擇Add/Remove Libraries...(添加/刪除指令庫)命令 ;或者在指令樹的Libraries(指令庫)分支上單擊鼠標右鍵,選擇Add/Remove Libraries...
圖4. 選擇添加/刪除指令庫命令
添加/刪除對話框中將顯示已經在本機的Micro/WIN中集成的用戶自定義指令庫。
圖5. 已安裝的庫指令
第二步:按Add(添加)按鈕,選擇新定義的庫文件路徑。用戶自定義庫將自動添加到Micro/WIN指令樹的Libraries分支下。
圖6. 選擇庫文件
缺省情況下,Micro/WIN到圖8中的路徑下尋找?guī)熘噶钗募?。用戶也可以其他路徑。但要注意庫文件應當保持在非移動的介質上,如果了一個可移動硬盤,則硬盤不在時會發(fā)生找不到庫的錯誤。建議用戶使用缺省設置。
步:選擇添加/刪除指令庫命令
圖7. 選擇命令
第二步:選中須卸載的庫所對應的庫文件,按Remove(刪除)按鈕
圖8. 選中要刪除的庫指令文件
4RS-485網絡
S7-200系統(tǒng)支持的PPI、MPI和PROFIBUS-DP協(xié)議通常以RS-485電氣網絡為硬件基礎。 RS-485串行通信標準采用平衡信號傳輸方式,或者稱為差動模式。平衡傳輸方式可以有效地抑制傳輸過程中干擾。 平衡方式采用一對導線,利用兩根導線間的電壓差傳輸傳輸信號。這兩根導線被命名為A(TxD/RxD-)和B(TxD/RxD+)。當B的電壓比A高時,認為傳輸的是邏輯"高"電平;當B的電壓比A低時,認為傳輸的是邏輯"低"電平信號。能夠有效工作的差動電壓范圍十分寬廣,可以從零點幾伏到接近十伏。 RS-485通信端口可以做到很高的通信速率,較長的通信距離,以及并聯(lián)連接多個端口。
平衡通信方式能否有效工作受到共模電壓差的影響。RS-485接口的兩根導線相對于通信對象信號地的電壓差就是共模電壓。非電氣隔離的RS-485接口能在一定的范圍內抵抗共模電壓對通信的干擾。
S7-200 CPU通信口的共模抑制電壓是12V。所以對于這類非隔離型的RS-485端口,保證通信口之間的信號地等電位非常重要,好將它們連接在一起(并不是說一定要接地)。
S7-200系統(tǒng)中的RS-485端口是半雙工的,不能同時發(fā)送和接收信號。 在S7-200系統(tǒng)中,選擇合適的通信設備,可以做到波特率從1200到12M,單段距離1000m,單段站點32個的通信網絡。通過中繼器,RS-485電氣網絡還可以擴展通信距離,增加通信站點。詳情請參考《S7-200系統(tǒng)手冊》關于通信的專門一章。 雖然常見的RS-485通信器件在電氣性能上基本一致,但物理接口卻五花八門,沒有統(tǒng)一的規(guī)定。
西門子系統(tǒng)中的 D-Sub 9 針型 RS-485 端口,引腳定義是基本一致的。
在S7-200系統(tǒng)中,CPU上的通信口(編程口),以及EM277模塊上的通信端口都是符合RS-485電氣標準的。但它們也有所不同:
以下三種協(xié)議,都可以在RS-485的硬件基礎上實現通信:
實際上,如果各通信站點的地址不同,通信波特率相同,上述三個協(xié)議可以在一個RS-485網絡上同時實現各自的通信。當然,一個站點支持什么協(xié)議受到自身條件所限。
因此考察上述電氣網絡的通信時,我們應注意到它們都受RS-485網絡電氣基礎的制約。上述網絡所用的網絡硬件基本一樣。
5RS-485網絡的硬件組成
在S7-200系統(tǒng)中,無論是組成PPI、MPI還是RPOFIBUS-DP網絡,或是Modbus RTU網絡,用到的主要部件都是一樣的:
A. 電纜和剝線器。使用FC技術不用剝出裸露的銅線。
圖1. 剝好一端的PROFIBUS電纜與快速剝線器(FCS,訂貨號6GK1905-6AA00)。
B. 打開PROFIBUS網絡連接器。首先打開電纜張力釋放壓塊,然后掀開芯線鎖。
圖2. 打開的PROFIBUS連接器
C. 去除PROFIBUS電纜芯線外的保護層,將芯線按照相應的顏色標記插入芯線鎖,再把鎖塊用力壓下,使內部導體接觸。應注意使電纜剝出的屏蔽層與屏蔽連接壓片接觸。
圖3. 插入電纜
由于通信頻率比較高,因此通信電纜采用雙端接地。電纜兩頭都要連接屏蔽層。
D. 復位電纜壓塊,擰緊螺絲,消除外部拉力對內部連接的影響。
網絡連接器主要分為兩種類型:帶和不帶編程口的。不帶編程口的插頭用于一般聯(lián)網,帶編程口的插頭可以在聯(lián)網的同時仍然提供一個編程連接端口,用于編程或者連接HMI等。
圖4. 左側為不帶編程口的網絡連接器(訂貨號:6ES7 972-0BA52-0XA0) 右側的是帶編程口的網絡連接器(訂貨號:6ES7 972-0BB52-0XA0)
通過PROFIBUS電纜連接網絡插頭,構成總線型網絡結構。
圖5. 總線型網絡連接
在上圖中,網絡連接器A、B、C分別插到三個通信站點的通信口上;電纜a把插頭A和B連接起來,電纜b連接插頭B和C。線型結構可以照此擴展。
注意圓圈內的"終端電阻"開關設置。網絡終端的插頭,其終端電阻開關必須放在"ON"的位置;中間站點的插頭其終端電阻開關應放在"OFF"位置。
一個正規(guī)的RS-485網絡使用終端電阻和偏置電阻。在網絡連接線非常短、臨時或實驗室測試時也可以不使用終端和偏置電阻。
終端電阻:在線型網絡兩端(相距遠的兩個通信端口上),并聯(lián)在一對通信線上的電阻。根據傳輸線理論,終端電阻可以吸收網絡上的反射波,有效地增強信號強度。兩個終端電阻并聯(lián)后的值應當基本等于傳輸線在通信頻率上的特性阻抗 偏置電阻:偏置電阻用于在電氣情況復雜時確保A、B信號的相對關系,保證"0"、"1"信號的可靠性
西門子的PROFIBUS網絡連接器已經內置了終端和偏置電阻,通過一個開關方便地接通或斷開。終端和偏置電阻的值完全符合西門子通信端口和PROFIBUS電纜的要求。
合上網絡中網絡插頭的終端電阻開關,可以非常方便地切斷插頭后面的部分網絡的信號傳輸。
與其他設備通信時(采用PROFIBUS電纜),對方的通信端口可能不是D-SUB9針型的,或者引腳定義完全不同。如西門子的MM4x0變頻器,RS-485通信口采用端子接線形式,這種情況下需要另外連接終端電阻,西門子可以提供一個比較規(guī)整的外接電阻。對于其他設備,可以參照《S7-200系統(tǒng)手冊》上的技術數據制作。
西門子網絡插頭中的終端電阻、偏置電阻的大小與西門子PROFIBUS電纜的特性阻抗相匹配,強烈建議用戶配套使用西門子的PROFIBUS電纜和網絡插頭。可以避免許多麻煩。
記住聯(lián)網的格言:你糊弄它,它就糊弄你!
對于很多沒有使用過S7-200PLC的朋友來說,很多問題可能成為大家的攔路虎,感覺入門很難。以下就用一個實例,為大家介紹次使用S7-200PLC時具體步驟,幫助您邁開使用PLC的步。文中希望實現的功能是:按下一個開關,點亮一個輸出點。本文可以幫您解決次使用S7-200時的以下問題:
(一) 需要準備哪些硬件和軟件呢?
次使用S7-200時,需要準備硬件有:S7-200CPU,如CPU224XP(訂貨號:6ES7 214-2BD23-0XB8)
編程電纜 PC/PPI電纜(訂貨號:6ES7 901-3DB30-0XA0)
需要準備的軟件有:SETP7-Micro/Win V4.0 SP6
還需要準備一臺裝有Windows XP SP2的電腦
準備好硬件,我們就需要在電腦上正確安裝S7-200的編程軟件。特別提示要注意這個軟件是SETP7-Micro/Win,而不是SETP7。據老工程師講,SETP7是給S7-300等系列PLC編程用的,不能給S7-200進行編程。對于SETP7-Micro/Win軟件而言,目前常用的版本是V4..0 SP6。和安裝其它軟件一樣,正確安裝好編程軟件后,您就可以在桌面上看到如下所示的圖標。至此,我們就為下一步的調試做好基本準備嘍!
(二) 如何為PLC的接線呢?
從以下接線圖可以看出,我們需要做的就是將為PLC提供電源和為數字量輸入點正確接線。
(三) 如何與PLC通信呢?
1. 連接編程電纜
將編程電纜的USB口側插在電腦上,DB接口插在PLC的PORT0或者PORT1上。然后將PLC的模式開關設置為STOP。
2. 編程軟件設置
(1)打開編程軟件后,在整個界面的左側,點擊設置PG/PC接口。如下圖所示:
在出現的對話框中,選擇PC/PPIcable(PPI),并點擊屬性
屬性對話框的個界面,使用如下設置:
在屬性對話框中的第二個選項卡中,選擇通訊接口為USB,具體如下設置:
之后保存并關閉相應的對話框。
(2)回到編程軟件的初始界面,然后點擊通信
出現如下界面:
將搜索所有波特率打勾后,雙擊刷新即可。
如果能出現如下頁面,即表示PC與PLC的通訊。
(四) 如何編寫程序呢?
打開編程界面,單擊紅色標注處,可以添加一個常開觸點
同樣的方法添加一個輸出線圈:
需要為輸入和輸出分配正確的地址,如下所示。之后點擊下載
出現如下界面后,繼續(xù)點擊下載
下圖顯示的是下載中的界面:
下載后,就可以進行PLC調試,進一步測試具體功能是否可以實現。
(五) 如何調試PLC呢?
先將模式開關設置為RUN,然后撥動連接在輸入點I0.0上開關,即可看到輸出點點亮了。至此,表明我們的程序和PLC運行一切正常。
如果想在編程軟件上監(jiān)控輸入點和輸出點的狀態(tài),可以點擊狀態(tài)表
打開狀態(tài)表后,在地址欄中輸入需要監(jiān)控的地址,如下所示:
之后點擊監(jiān)控即可:
正常監(jiān)控后就可以在當前值中看到相應的數值:
開關未按下時的狀態(tài)
開關按下后的狀態(tài)
從以上的筆錄,我們可以看出S7-200PLC是一款簡單易學的控制設備。當然,PLC還有通訊、PID控制、運動控制等等很多功能,我們可以在本網站中的相關介紹中一步一步的對其進行學和了解。相信不需要很長時間,您也可以成為S7-200PLC的使用高手!模擬信號是指在一定范圍內連續(xù)的信號(如電壓、電流),這個“一定范圍”可以理解為模擬量的有效量程。在使用S7-200模擬量時,需要注意信號量程范圍,撥碼開關設置,模塊規(guī)范接線,指示燈狀態(tài)等信息。
本文中,我們按照S7-200模擬量模塊類型進行分類介紹:
1.AI 模擬量輸入模塊?
2.AO模擬量輸出模塊?
3.AI/AO模擬量輸入輸出模塊
4.常見問題分析
首先,請參見“S7-200模擬量全系列覽表”,初步了解S7-200模擬量系列的基本信息,具體內容請參見下文詳細說明:
AI 模擬量輸入模塊
A. 普通模擬量輸入模塊:
如果,傳感器輸出的模擬量是電壓或電流信號(如±10V或0~20mA),可以選用普通的模擬量輸入模塊,通過撥碼開關設置來選擇輸入信號量程。注意:按照規(guī)范接線,盡量依據模塊上的通道順序使用(A->D),且未接信號的通道應短接。具體請參看《S7-200可編程控制器系統(tǒng)手冊》的附錄A-模擬量模塊介紹。
4AI EM231模塊:
首先,模擬量輸入模塊可以通過設置撥碼開關來選擇信號量程。開關的設置應用于整個模塊,一個模塊只能設置為一種測量范圍,且開關設置只有在重新上電后才能生效。也就是說,撥碼設置一經確定后,這4個通道的量程也就確定了。如下表所示:
注:表中0~5V和0~20mA(4~20mA)的撥碼開關設置是一樣的,也就是說,當撥碼開關設置為這種時,輸入通道的信號量程,可以是0~5V,也可以是0~20mA。
8AI EM231模塊:
8AI的EM231模塊,第0->5通道只能用做電壓輸入,只有第6、7兩通道可以用做電流輸入,使用撥碼開關1、2對其進行設置:當sw1=ON,通道6用做電流輸入;sw2=ON時,通道7用做電流輸入。反之,若選擇為OFF,對應通道則為電壓輸入。
注:當第6、7道選擇為電流輸入時,第0->5通道只能輸入0-5V的電壓。
B. 測溫模擬量輸入模塊(熱電偶TC;熱電阻RTD):
如果,傳感器是熱電阻或熱電偶,直接輸出信號接模擬量輸入,需要選擇特殊的測溫模塊。測溫模塊分為熱電阻模塊EM231RTD和熱電偶模塊EM231TC。注意:不同的信號應該連接至相對應的模塊,如:熱電阻信號應該使用EM231RTD,而不能使用EM231TC。且同一模塊的輸入類型應該一致,如:Pt1000和Pt100不能同時應用在一個熱電阻模塊上。
熱電偶模塊TC:
EM231 TC支持J、K、E、N、S、T和R型熱電偶,不支持B型熱電偶。通過撥碼設置,模塊可以實現冷端補償,但仍然需要補償導線進行熱電偶的自由端補償。另外,該模塊具有斷線檢測功能,未用通道應當短接,或者并聯(lián)到旁邊的實際接線通道上。?
熱電阻模塊RTD:
熱電阻的阻值能夠隨著溫度的變化而變化,且阻值與溫度具有一定的數學關系,這種關系是電阻變化率α。RTD模塊的撥碼開關設置與α有關,如下圖所示,就算同是 Pt100,α值不同時撥碼開關的設置也不同。在選擇熱電阻時,請盡量弄清楚α參數,按 照對應的撥碼去設置。具體請參看《S7-200可編程控制器系統(tǒng)手冊》的附錄A-熱電偶和熱電阻擴展模塊介紹。
EM231 RTD模塊具有斷線檢測功能,未用通道不能懸空,接法方式如下:
(1)請將一個電阻按照與已用通道相同的接線方式連接到空的通道,注意:電阻的阻值必須和RTD的標稱值相同;
(2)將已經接好的那一路熱電阻的所有引線,一一對應連接到空的通道上。
因為熱電阻分2線制、3線制、4線制,所以RTD模塊與熱電阻的接線有3種方式,如圖所示。其中,精度高的是4線連接,精度低的是2線連接。
提示:
(1). 在STEP7 Micor/WIN軟件中(S7-200的編程軟件),對于模擬量輸入通道設有軟件濾波功能,如圖所示,具體請參見《S7-200 ? LOGO? SITOP 參考》->系統(tǒng)塊-模擬量濾波。
但是,在系統(tǒng)塊中設置模擬量通道濾波時,RTD和TC模塊占用的模擬量通道,應禁止濾波功能。
(2) EM231 TC和RTD模塊上,均有24V電源指示燈和SF故障指示燈。如圖所示:(a)若24V電源指示燈=OFF,則說明該模塊沒有24V工作電源;(b)若SF紅燈閃爍,原因可能是:模塊內部軟件檢測出外接斷線,或者輸入出范圍。
注:具體請參見:《S7-200 ? LOGO? SITOP 參考》->EM231 RTD/EM231 TC。
AO模擬量輸出模塊
S7-200的擴展模塊里,分別有2路、4路的模擬量輸出模塊EM232。根據接線方式(M-V或M-I)選擇輸出信號類型,電壓:±10V,電流:0~20mA(4~20mA)。
AI/AO模擬量輸入輸出模塊
(A) CPU模塊本體集成的2路AI和1路AO
S7-200只有CPU 224XP和CPU224XPsi,本體集成有模擬量通道。其中,2路AI是:電壓信號±10V,1路AO是:電壓信號0~10V;或者電流信號0~20mA(4~20mA),輸出信號類型可以通過硬件接線來選擇。
(B) EM235模擬量輸入輸出模塊
EM235模塊有4路AI和1路AO。通過撥碼開關設置來選擇4路AI通道的輸入信號程,如下表所示,這個模塊可以測量毫伏級(mV)的信號;1路AO是:電壓信號 ±10V;或電流信號0~20mA(4~20mA),可以根據硬件接線方式(M-V或M-I)選擇輸出信號類型。
注:模塊上的電位計是用來調節(jié)輸入信號和轉換數值的放大關系,在模塊出廠時已經設置好了,如無需要,請不要隨意更改。
常見問題分析
A.模擬量輸入與數字量的對應關系:
模擬量信號(0~10V,0~5V或0~20mA)在S7-200 CPU內部用0~32000的數值表示(注:4~20mA對應6400~32000),這兩者之間有一定的數學關系,如圖所示:
B.模擬量模塊的硬件接線介紹
(1)CPU 224 XP集成有2路電壓輸入,接線方法見a:分別為A+和M、B+和M,此時只能輸入±10V 電壓信號。
CPU 224XP還集成有1路模擬量輸出信號。電流輸出如圖b,將負載接在I和M端子之間;電壓輸出如圖c,將負載接在V和M端子之間。
(2)模擬量輸入的接線方式
以4AI EM231模塊為例,分別介紹電壓、電流型輸入信號的接線方式,如圖所示。注意:此接線圖是一個示意圖,表述的是不同的接線方式,并不是指該模塊只有A通道可以接入電壓,B通道必須懸空,C和D通道只能接入電流。
當您的信號為電壓輸入時可以參考接線方法a,以此類推。
方式a. 電壓輸入方式:信號正接A+;信號負接A-;
方式b. 未用通道接法(不要懸空):未用通道需短接,如B+和B-短接;
方式c. 電流輸入方式(四線制):信號正接C+,同時C+與RC短接;信號負接C-,同時C-和模塊的M端短接。
方式d. 電流輸入方式(兩線制):信號線接D+,同時D+與RD短接;電源M端接D-,同時和模塊的M端短接。
注:具體請參見:《S7-200 ? LOGO? SITOP 參考》->模擬量模塊接線。
(3)電流型信號輸入接線方式
電流型信號的接線方式,分為四線制、三線制、二線制接法。這里討論的“幾線制”,是以傳感器或儀表變送器是否需要外供電源來區(qū)別的,而并不是指EM231模塊需要幾根信號線,或該變送器的信號線輸出。
a. 四線制-電流型信號的接法:
四線制信號是指信號設備本身外接供電電源,同時有信號+、信號-兩根信號線輸出。供電電源可有220VAC或24VDC,接線如圖所示:
b. 三線制-電流型信號的接法:
三線制信號是指信號設備本身外接供電電源,只有一根信號線輸出,該信號線與電源線共用公共端,通常情況是共負端的。接線如圖所示:
注:若設備的24VDC供電電源與EM231模塊的供電電源不是同一個電源,那么,需要將模塊的M端與該通道的負端引腳短接(如,M和C-短接)。這是為了使模塊與測量通道工作在同一的參考電壓,也就是等電位。下面的二線制接法同理。
c. 二線制-電流型信號的接法:
二線制信號是指信號設備本身只有兩根外接線,設備的工作電源由信號線提供,即其中一根線接電源,另一根線是信號輸出。接線如圖所示:
其他推薦產品
首頁| 關于我們| 聯(lián)系我們| 友情鏈接| 廣告服務| 會員服務| 付款方式| 意見反饋| 法律聲明| 服務條款
西門子為其產品及系統(tǒng)提供工業(yè)安全功能,以支持工廠、解決方案、機器和網絡的安全運行。
為了保護設備、系統(tǒng)、機器和網絡以防受到網絡威脅,必須實施并持續(xù)保持全面、的工業(yè)安全概念。西門子的產品和解決方案構成了這種概念的一個要素。
客戶負責防止未經授權的對其工廠、系統(tǒng)、機器設備和網絡進行訪問。這種系統(tǒng)、機器和部件只應連接到企業(yè)網絡或互聯(lián)網,前提是需要進行這種連接,且僅當采取適當措施時的情況下才進行這種連接(例如,使用防火墻和/或進行網絡分隔)。
西門子在 Micro/WIN V4.0 SP5 中正式推出 Modbus RTU 主站協(xié)議庫(西門子標準庫指令)。
圖 1. 西門子標準指令庫(Micro/WIN V4.0 SP5)
使用 Modbus RTU 主站指令庫,可以讀寫 Modbus RTU 從站的數字量、模擬量 I/O 以及保持寄存器。
要使用 Modbus RTU 主站指令庫,須遵循下列步驟:
1.2 Modbus RTU 主站功能編程
1. 調用 Modbus RTU 主站初始化和控制子程序
使用 SM0.0 調用 MBUS_CTRL 完成主站的初始化,并啟動其功能控制:
圖 2. 用 SM0.0 調用 Modbus RTU 主站初始化與控制子程序
各參數意義如下:
2. 調用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個Modbus 請求;
圖 3. 調用Modbus RTU 主站讀寫子程序
各參數意義如下:
3. 在 CPU 的 V 數據區(qū)中為庫指令分配存儲區(qū)(Library Memory)
Modbus Master 指令庫需要一個284個字節(jié)的全局 V 存儲區(qū)。
參考:分配庫指令數據區(qū)
1.3 關于 Modbus RTU 主站協(xié)議及地址
此為西門子正式推出的標準庫指令說明資料。
在 Modbus RTU Master 協(xié)議和 PPI 協(xié)議之間切換:Modbus RTU Master 協(xié)議指令庫使通信口工作在自由口模式下,此時不能與 Micro/WIN 軟件通信。要在切換回 PPI 協(xié)議,可以:
Modbus RTU Master 協(xié)議庫的 MBUS_CTRL 指令不需要很長的執(zhí)行時間。MBUS_需要 1.11 ms 用于初始化,在后續(xù)的每個掃描周期中只占用 0.41 ms。
調用 MBUS_MSG 子程序會加長處理時間。大部分時間都用于 CRC 校驗的計算。每讀、寫一個字的數據就需要 1.85 ms 掃描時間。數據多的情況下(讀、寫 120 字的數據),掃描時間大概會擴增加 222 ms。讀操作的時間主要消耗在接收數據上;寫操作的時間主要消耗在發(fā)送數據上。
通常 Modbus 地址由 5 位數字組成,包括起始的數據類型代號,以及后面的偏移地址。Modbus Master 協(xié)議庫把標準的 Modbus 地址映射為所謂 Modbus 功能號,讀寫從站的數據。Modbus Master 協(xié)議庫支持如下地址:
為了支持上述 Modbus 地址的讀寫,Modbus Master 協(xié)議庫需要從站支持下列功能:
表 1. 需要從站支持的功能
數字量輸出
功能 15:寫多輸出點
數字量輸入
30001 - 39999
輸入寄存器
保持寄存器
功能 16:寫多寄存器單元
S7-200 通過 Modbus Master 和 Slave 協(xié)議庫通信時,Modbus 地址和 S7-200 內存儲區(qū)地址的 映射關系都類似。
Modbus 保持寄存器地址映射舉例:
Modbus 數字量地址映射舉例:
位地址(0xxxx 和 1xxxx)數據是以字節(jié)為單位打包讀寫。個字節(jié)中的低有效位對應 Modbus 地址的起始地址。如下圖所示:
圖 4. 數字量地址映射舉例
1.4 Modbus RTU 主站例程
為了更好地理解 Modbus 主站的編程,可參考下面的例程。
例子程序1: 多個MBUS_MSG指令輪詢執(zhí)行,
Modbus RTU 主站指令庫應用例程
Modbus RTU 主站變址方式輪詢訪問應用例程
注意:此指令庫/程序的作者和擁有者對于該軟件的功能性和兼容性不負任何責任。使用該軟件的風險完全由用戶自行承擔。由于它是免費的,所以不提供任何擔保,錯誤糾正和熱線支持,用戶不必為 此聯(lián)系西門子技術支持與服務部門。
1.5 Modbus RTU 主站常問問題
Modbus RTU 主站庫對 CPU 的版本是否有要求,為什么編譯例子程序時,會遇到 4 個錯誤?
Modbus RTU 主站庫對 CPU 的版本確實有要求,CPU 的版本必須為 2.00 或者 2.01(即訂貨號為6ES721*-***23-0BA*),1.22 版本之前(包括 1.22 版本)的 S7-200 CPU 不支持。
Modbus 指令庫啟動后,如何通過同一個通信端口進行 CPU 監(jiān)控?
Modbus 指令庫使用的是 CPU 的自由口通信功能,工作在自由口模式下的通訊口不能使用 Micro/WIN 的 PPI 編程通信監(jiān)控。如果通信口都已經被占用,可以考慮:
如何理解 Modbus 地址與功能碼的區(qū)別?
Modbus 地址與 Modbus 的功能碼是兩個層次的概念。
根據 Modbus 通信協(xié)議,Modbus 數據的地址使用 0xxxx、1xxxx、3xxxx 和 4xxxx 的形式,分別表示數字量輸出、數字量輸入、模擬量輸入等數據地址。在使用 S7-200 的指令庫時,Modbus 數據地址與 S7-200 的 I/O 和數據存儲區(qū)地址間有特定的對應關系。
有些設備表明它支持 Modbus RTU 通信協(xié)議,但也詳細提供了讀寫數據的詳細通信幀格式,其中包括如何 Modbus 站的地址,需要讀寫數據類型、長度等等。數據幀有特定字節(jié)指出此指令讀寫的數據類型和地址,此字節(jié)的數據內容即所謂"功能碼",如功能 1 讀取單個/多個數字量輸出點的值。
支持 Modbus 協(xié)議的設備或軟件,使用時用戶直接設置或看到的應當是 Modbus 數據地址。Modbus 地址所訪問的數據,是通過各種"功能"讀寫而來。功能碼是 Modbus 地址的底層。如果 Modbus 通信的一方提供的所謂 Modbus 協(xié)議只有功能碼,則需要注意了解此功能號與 Modbus 地址間的對應關系。
如何訪問大于 9999 的保持寄存器地址?
通常 Modbus 協(xié)議的保持寄存器地址范圍在 之間。對于多數應用來說已經夠了。但有些 Modbus 從站把地址映射到保持寄存器區(qū)的地址過 9999 的部分。
Modbus Master 協(xié)議庫支持過 9999 的保持寄存器地址。地址范圍為 36。只需在調用 MBUS_MSG 子程序時給 Addr 參數賦相應的值即可,如 416768。
Modubs Master 擴展地址模式僅支持保持寄存器區(qū),不支持其他地址類型。
S7-200 作為 Modbus 主站方接收上來的數據格式與第三方設備不一樣怎么辦?
西門子PLC數據的存儲格式為高位低存方式。舉例:VD200中包含VW200和VW202,其中VW202是低字,VW200是高字。若第三方設備與西門子數據存儲格式不同,是低位低存的方式,那么通信上來的數據就會存在錯誤,需要進行轉換才能使用。編程的方式比較多樣,針對雙字中高低字的交換可以使用SWAP(字交換)指令,若是字節(jié)交換可以考慮循環(huán)移位指令。
S7-200 是否支持如 Modbus TCP 等其它協(xié)議?
不支持。S7-200自身的通信端口或其通信擴展模塊均不支持 Modbus TCP、CANopen、DeviceNet 以及 BACnet 通信協(xié)議。
為什么 S7-200 作 Modbus 主站時 MBUS_MSG 指令報6號錯誤?
引起6號錯誤主要有兩方面的原因:1.多個 MBUS_MSG 指令同時使能執(zhí)行;2. Modbus庫存儲區(qū)中分配的建議地址區(qū)與編程中已使用的V存儲區(qū)有重疊。
2Modbus RTU從站
2.1 CPU 上的通信口(Port0)支持 Modbus RTU 從站通信協(xié)議
S7-200 CPU上的通信口Port0可以支持Modbus RTU協(xié)議,成為Modbus RTU從站。此功能是通過S7-200的自由口通信模式實現,因此可以通過無線數據電臺等慢速通信設備傳輸。
詳情請參考《S7-200系統(tǒng)手冊》之相關章節(jié)。
要實現Modbus RTU通信,需要STEP 7-Micro/WIN32 V3.2以上版本的編程軟件,而且須安裝STEP 7-Micro/WIN32 V3.2 Instruction Library(指令庫)。Modbus RTU功能是通過指令庫中預先編好的程序功能塊實現的。
Modbus RTU從站指令庫只支持CPU上的通信0口(Port0)。
2.2 編程基本步驟:
檢查Micro/WIN的軟件版本,應當是STEP 7-Micro/WIN V3.2以上版本。
檢查Micro/WIN的指令樹中是否存在Modbus RTU從站指令庫(圖1),庫中應當包括MBUS_INIT和MBUS_SLAVE兩個子程序。如果沒有,須安裝Micro/WIN32 V3.2的Instruction Library(指令庫)軟件包;
圖1. 指令樹中的庫指令
編程時使用SM0.1調用子程序MBUS_INIT進行初始化,使用SM0.0調用MBUS_SLAVE,并相應參數。關于參數的詳細說明,可在子程序的局部變量表中找到;
圖2. 調用Modbus RTU通信指令庫
圖中參數意義如下:
在CPU的V數據區(qū)中分配庫指令數據區(qū)(Library Memory);
如有必要,使用主站軟件測試。
注意:由子程序參數HoldStart和MaxHold的保持寄存器區(qū),是在S7-200 CPU的V數據存儲區(qū)中分配,此數據區(qū)不能和庫指令數據區(qū)有任何重疊,否則在運行時會產生錯誤,不能正常通信。注意Modbus 中的保持寄存器區(qū)按"字"尋址,即MaxHold規(guī)定的是VW而不是VB的個數。
在圖2的例子中,規(guī)定了 Modbus 保持寄存器區(qū)從 VB0 開始(HoldStart = VB0),并且保持寄存器為1000個字(MaxHold=1000),因保持寄存器以字(兩個字節(jié))為單位,實際上這個通信緩沖區(qū)占用了VB0~VB1999共2000個字節(jié)。因此分配庫指令保留數據區(qū)時至少要從VB2000開始。當然保持區(qū)不一定要從VB0開始。
注意:你選用的CPU的V存儲區(qū)大??!CPU型號不同V數據存儲區(qū)大小不同。應根據需要選擇Modbus保持寄存器區(qū)域的大小。
包含 Modbus RTU 從站指令庫的項目編譯、下載到CPU中后,在編程計算機(PG/PC)上運行一些 Modbus 測試軟件可以檢驗S7-200的Modbus RTU通信是否正常,這對查找故障點很有用。測試軟件通過計算機串口(RS-232)和PC/PPI電纜連接CPU。如果必要,須將PC/PPI電纜設置在自由口通信方式。
可到一些軟件下載網站尋找類似軟件,如 ModScan32 等。
2.3 Modbus RTU 從站地址與S7-200的地址對應
Modbus地址是以00001、30004之類的形式出現。S7-200內部的數據存儲區(qū)與Modbus的0、1、3、4共4類地址的對應關系如下:
表2. Modbus地址對應表
其中T為S7-200中的緩沖區(qū)起始地址,即 HoldStart。
如果已知S7-200中的V存儲區(qū)地址,推算Modbus地址的公式如下:
Modbus地址 = 40000 + (T/2+1) ; T為偶數
2.4 Modbus RTU 從站指令庫支持的功能碼
Modbus RTU 從站指令庫支持特定的 Modbus 功能。訪問使用此指令庫的主站必須遵循這個指令庫的要求。
表 3. Modbus RTU 從站功能碼
2.5 Modbus RTU 從站例程
Modbus RTU 從站例程
需要 STEP 7-Micro/WIN V4.0 SP3 以上版打開
2.6 Modbus RTU 從站常見問題
Modbus 從站的網絡地址與 S7-200 的 CPU 網絡地址有什么關系?
沒有關系。支持網絡通信的通信協(xié)議必須有其自己的網絡尋址規(guī)定。 Modbus 從站的地址只是它在 Modbus 網絡上的地址,而通常所說的 S7-200 CPU 地址是 CPU 在西門子的 PPI 網絡上的站地址。S7-200 CPU 的大部分通信功能都通過 PPI 網絡完成,例如編程、網絡讀寫通信等。
如何理解 Modbus 地址與功能碼的區(qū)別?
Modbus 地址與 Modbus 的功能碼是兩個層次的概念。
根據 Modbus 通信協(xié)議,Modbus 數據的地址使用 00xxx、10xxx、30xxx 和 40xxx 的形式,分別表示數字量輸出、數字量輸入、模擬量輸入等數據地址。在使用 S7-200 的指令庫時,Modbus 數據地址與 S7-200 的 I/O 和數據存儲區(qū)地址間有特定的對應關系。
有些設備表明它支持 Modbus RTU 通信協(xié)議,但也詳細提供了讀寫數據的詳細通信幀格式,其中包括如何 Modbus 站的地址,需要讀寫數據類型、長度等等。數據幀有特定字節(jié)指出此指令讀寫的數據類型和地址,此字節(jié)的數據內容即所謂"功能碼",如功能 1 讀取單個/多個數字量輸出點的值。
支持 Modbus 協(xié)議的設備或軟件,使用時用戶直接設置或看到的應當是 Modbus 數據地址。Modbus 地址所訪問的數據,是通過各種"功能"讀寫而來。功能碼是 Modbus 地址的底層。如果 Modbus 通信的一方提供的所謂 Modbus 協(xié)議只有功能碼,則需要注意了解此功能號與 Modbus 地址間的對應關系。
Modbus 指令庫啟動后,如何通過同一個通信端口進行 CPU 監(jiān)控?
Modbus 指令庫使用的是 CPU 的自由口通信功能,工作在自由口模式下的通訊口不能使用 Micro/WIN 的 PPI 編程通信監(jiān)控。如果通信口都已經被占用,可以考慮:
為何有些 HMI 軟件使用 Modbus RTU 讀取S7-200中的實數會出現錯誤?
有些HMI軟件使用Modbus RTU通信協(xié)議時,處理存儲在數據保持寄存器中的實數(浮點數)的方式與西門子的實數保存格式不同。西門子的PLC遵循"高字節(jié)低地址、低字節(jié)高地址"的規(guī)律。
Modbus RTU的保持寄存器是以"字(雙字節(jié))"為單位,而一個實數需要4個字節(jié)(雙字)表示。HMI軟件在處理時可能會把保持寄存器的兩個"字"互換位置,造成不能識別以西門子格式表示的實數。如果HMI軟件一方無法處理這種實數,則可在S7-200 CPU中編程將存入數據緩沖區(qū)(保持寄存器區(qū))的實數的高字和低字互換。
為何有的HMI軟件用Modbus RTU可以讀取作為從站的S7-200的內容,但不能寫入?
可能此軟件使用了Modbus功能15(寫多個離散量)或類似功能(功能 16)。S7-200從站協(xié)議遵守"以整字節(jié)地址邊界(如Q0.0、Q2.0)開始、以8的整數倍為位個數"的規(guī)約。如果HMI軟件未嚴格執(zhí)行此規(guī)律就可能發(fā)生寫入錯誤的情況。
S7-200是否支持 Modbus ASCII 模式?
S7-200可以支持上述模式,但是沒有現成的指令庫,需要用戶自己編程。
項目編譯后為何出現很多錯誤?
使用指令庫時,若編譯后出現很多錯誤,一般是因為未庫指令數據存儲區(qū)。請參考相關條目。
S7-200 CPU的Port1是否可以支持Modbus RTU協(xié)議?
可以。用戶可以自己編程實現。
在S7-200的"Tips and Tricks"幫助文檔中,Tip041是Modbus RTU從站程序,用戶可以參考。
S7-200是否可以組成Modbus RTU通信網絡?如何組網?
S7-200可以組成RS-485基礎上的Modbus RTU網絡。如果通信對象是不同標準的通信口,可能還需要轉換。
參見:RS-485網絡組成
3STEP 7-Micro/WIN 的標準指令庫
STEP 7-Micro/WIN V4.0 以上版內部已經帶有新的指令庫,但在未安裝西門子 Instruction Library 軟件包的情況下,不能顯示出來使用。
要使用西門子的標準指令庫,必須先安裝西門子的指令庫軟件包 Instruction Library。安裝了 Instruction Library 之后,只要安裝的 STEP 7-Micro/WIN 版本是新的,就能獲得相應版本的新指令庫。安裝 Micro/WIN 的升級包(Service Pack)也會更新指令庫的版本。
用戶可以直接從下面獲得西門子 Instruction Library 軟件安裝包:
Instruction Library
新的 STEP 7-Micro/WIN V4.0 SP5 版本支持以下幾種西門子標準指令庫:
可使CPU通信口 Port0 和 Port 1 支持與Micro-Master 3(MM3系列)和Micro-Master 4(MM4系列,如MM420、MM430、MM440等)、SINAMICS G110系列的USS通信控制,通過一些預先編好的子程序和中斷程序,以方便地控制變頻器的運行和讀寫其參數。
Micro/WIN V4.0的USS指令庫現在已經針對西門子的Master Drive做了優(yōu)化。
可使CPU通信口 Port0 支持Modbus RTU從站通信功能。
可使 CPU 通信口 Port 0 和 Port 1 支持 Modbus RTU 主站通信功能。
以上通信協(xié)議庫都是使用了S7-200 CPU的自由口通信功能。
圖1. 西門子標準庫以淺藍色圖標表示(Micro/WIN V4.0 SP5)
從以下兩種途徑可以獲得STEP 7-Micro/WIN指令庫:
注意:
有時因為系統(tǒng)和軟件安裝有問題,可能在安裝完西門子標準指令庫后仍然不能看到西門子標準庫。這時可以嘗試添加標準庫。標準庫的文件存在Micro/WIN安裝目錄下的Standard Libs目錄下。
3.1 分配庫指令數據區(qū)
調用STEP 7 - Mciro/WIN32 V3.2 Instruction Library(指令庫)需要分配庫指令數據區(qū)(Library Memory)。庫指令數據區(qū)是相應庫的子程序和中斷程序所要用到的變量存儲空間。
如果在編程時不分配庫指令數據區(qū),編譯時會產生許多相同的錯誤(錯誤18)。
操作步驟(以Modbus RTU庫指令為例):
在指令樹的Project(項目)中,以鼠標右鍵單擊Program Block(程序塊),在彈出的快捷菜單中選擇Library Memory。如圖2所示:
圖2
在彈出的選項卡中設置庫指令數據區(qū),如圖2所示:
圖3.缺省情況下是從VB0開始,但因為與Modbus的保持寄存區(qū)沖突,所以手動改為VB2000。按"Suggest Address"按鈕也可以自動分配。
可以使用Suggest Address(地址)設置數據區(qū),但要注意編程軟件設置的數據區(qū)地址,只考慮到了其他一般尋址,而未考慮到諸如Modbus數據保持寄存器區(qū)等的設置。應當確保不與其他任何已使用的數據區(qū)重疊、沖突。不應重復按Suggest Address按鈕,否則也會造成混亂。
在STEP 7-Micro/WIN32 V3.1中,有分配庫指令數據區(qū)時有不同的操作方法,需要在Symbol Table(符號表)中設置一個首地址。我們強烈建議使用當時新的編程版本。
3.2 添加指令庫
注意:添加自定義指令庫,需要關閉編輯庫指令的項目,新建立一個項目。如果要添加其他來源的庫指令自然不需要如此。
步:在Micro/WIN的File(文件)菜單中選擇Add/Remove Libraries...(添加/刪除指令庫)命令 ;或者在指令樹的Libraries(指令庫)分支上單擊鼠標右鍵,選擇Add/Remove Libraries...
圖4. 選擇添加/刪除指令庫命令
添加/刪除對話框中將顯示已經在本機的Micro/WIN中集成的用戶自定義指令庫。
圖5. 已安裝的庫指令
第二步:按Add(添加)按鈕,選擇新定義的庫文件路徑。用戶自定義庫將自動添加到Micro/WIN指令樹的Libraries分支下。
圖6. 選擇庫文件
缺省情況下,Micro/WIN到圖8中的路徑下尋找?guī)熘噶钗募?。用戶也可以其他路徑。但要注意庫文件應當保持在非移動的介質上,如果了一個可移動硬盤,則硬盤不在時會發(fā)生找不到庫的錯誤。建議用戶使用缺省設置。
3.3 刪除庫指令
步:選擇添加/刪除指令庫命令
圖7. 選擇命令
第二步:選中須卸載的庫所對應的庫文件,按Remove(刪除)按鈕
圖8. 選中要刪除的庫指令文件
4RS-485網絡
S7-200系統(tǒng)支持的PPI、MPI和PROFIBUS-DP協(xié)議通常以RS-485電氣網絡為硬件基礎。
RS-485串行通信標準采用平衡信號傳輸方式,或者稱為差動模式。平衡傳輸方式可以有效地抑制傳輸過程中干擾。
平衡方式采用一對導線,利用兩根導線間的電壓差傳輸傳輸信號。這兩根導線被命名為A(TxD/RxD-)和B(TxD/RxD+)。當B的電壓比A高時,認為傳輸的是邏輯"高"電平;當B的電壓比A低時,認為傳輸的是邏輯"低"電平信號。能夠有效工作的差動電壓范圍十分寬廣,可以從零點幾伏到接近十伏。
RS-485通信端口可以做到很高的通信速率,較長的通信距離,以及并聯(lián)連接多個端口。
平衡通信方式能否有效工作受到共模電壓差的影響。RS-485接口的兩根導線相對于通信對象信號地的電壓差就是共模電壓。非電氣隔離的RS-485接口能在一定的范圍內抵抗共模電壓對通信的干擾。
S7-200 CPU通信口的共模抑制電壓是12V。所以對于這類非隔離型的RS-485端口,保證通信口之間的信號地等電位非常重要,好將它們連接在一起(并不是說一定要接地)。
S7-200系統(tǒng)中的RS-485端口是半雙工的,不能同時發(fā)送和接收信號。
在S7-200系統(tǒng)中,選擇合適的通信設備,可以做到波特率從1200到12M,單段距離1000m,單段站點32個的通信網絡。通過中繼器,RS-485電氣網絡還可以擴展通信距離,增加通信站點。詳情請參考《S7-200系統(tǒng)手冊》關于通信的專門一章。
雖然常見的RS-485通信器件在電氣性能上基本一致,但物理接口卻五花八門,沒有統(tǒng)一的規(guī)定。
西門子系統(tǒng)中的 D-Sub 9 針型 RS-485 端口,引腳定義是基本一致的。
4.1 S7-200系統(tǒng)中的RS-485通信
在S7-200系統(tǒng)中,CPU上的通信口(編程口),以及EM277模塊上的通信端口都是符合RS-485電氣標準的。但它們也有所不同:
以下三種協(xié)議,都可以在RS-485的硬件基礎上實現通信:
實際上,如果各通信站點的地址不同,通信波特率相同,上述三個協(xié)議可以在一個RS-485網絡上同時實現各自的通信。當然,一個站點支持什么協(xié)議受到自身條件所限。
因此考察上述電氣網絡的通信時,我們應注意到它們都受RS-485網絡電氣基礎的制約。上述網絡所用的網絡硬件基本一樣。
5RS-485網絡的硬件組成
在S7-200系統(tǒng)中,無論是組成PPI、MPI還是RPOFIBUS-DP網絡,或是Modbus RTU網絡,用到的主要部件都是一樣的:
5.1 連接網絡連接器
A. 電纜和剝線器。使用FC技術不用剝出裸露的銅線。
圖1. 剝好一端的PROFIBUS電纜與快速剝線器(FCS,訂貨號6GK1905-6AA00)。
B. 打開PROFIBUS網絡連接器。首先打開電纜張力釋放壓塊,然后掀開芯線鎖。
圖2. 打開的PROFIBUS連接器
C. 去除PROFIBUS電纜芯線外的保護層,將芯線按照相應的顏色標記插入芯線鎖,再把鎖塊用力壓下,使內部導體接觸。應注意使電纜剝出的屏蔽層與屏蔽連接壓片接觸。
圖3. 插入電纜
由于通信頻率比較高,因此通信電纜采用雙端接地。電纜兩頭都要連接屏蔽層。
D. 復位電纜壓塊,擰緊螺絲,消除外部拉力對內部連接的影響。
5.2 網絡連接器
網絡連接器主要分為兩種類型:帶和不帶編程口的。不帶編程口的插頭用于一般聯(lián)網,帶編程口的插頭可以在聯(lián)網的同時仍然提供一個編程連接端口,用于編程或者連接HMI等。
圖4. 左側為不帶編程口的網絡連接器(訂貨號:6ES7 972-0BA52-0XA0)
右側的是帶編程口的網絡連接器(訂貨號:6ES7 972-0BB52-0XA0)
5.3 線型網絡結構
通過PROFIBUS電纜連接網絡插頭,構成總線型網絡結構。
圖5. 總線型網絡連接
在上圖中,網絡連接器A、B、C分別插到三個通信站點的通信口上;電纜a把插頭A和B連接起來,電纜b連接插頭B和C。線型結構可以照此擴展。
注意圓圈內的"終端電阻"開關設置。網絡終端的插頭,其終端電阻開關必須放在"ON"的位置;中間站點的插頭其終端電阻開關應放在"OFF"位置。
5.4 終端電阻和偏置電阻
一個正規(guī)的RS-485網絡使用終端電阻和偏置電阻。在網絡連接線非常短、臨時或實驗室測試時也可以不使用終端和偏置電阻。
終端電阻:在線型網絡兩端(相距遠的兩個通信端口上),并聯(lián)在一對通信線上的電阻。根據傳輸線理論,終端電阻可以吸收網絡上的反射波,有效地增強信號強度。兩個終端電阻并聯(lián)后的值應當基本等于傳輸線在通信頻率上的特性阻抗 偏置電阻:偏置電阻用于在電氣情況復雜時確保A、B信號的相對關系,保證"0"、"1"信號的可靠性
西門子的PROFIBUS網絡連接器已經內置了終端和偏置電阻,通過一個開關方便地接通或斷開。終端和偏置電阻的值完全符合西門子通信端口和PROFIBUS電纜的要求。
合上網絡中網絡插頭的終端電阻開關,可以非常方便地切斷插頭后面的部分網絡的信號傳輸。
與其他設備通信時(采用PROFIBUS電纜),對方的通信端口可能不是D-SUB9針型的,或者引腳定義完全不同。如西門子的MM4x0變頻器,RS-485通信口采用端子接線形式,這種情況下需要另外連接終端電阻,西門子可以提供一個比較規(guī)整的外接電阻。對于其他設備,可以參照《S7-200系統(tǒng)手冊》上的技術數據制作。
西門子網絡插頭中的終端電阻、偏置電阻的大小與西門子PROFIBUS電纜的特性阻抗相匹配,強烈建議用戶配套使用西門子的PROFIBUS電纜和網絡插頭。可以避免許多麻煩。
記住聯(lián)網的格言:你糊弄它,它就糊弄你!
入門實例:次使用S7-200筆錄
對于很多沒有使用過S7-200PLC的朋友來說,很多問題可能成為大家的攔路虎,感覺入門很難。以下就用一個實例,為大家介紹次使用S7-200PLC時具體步驟,幫助您邁開使用PLC的步。文中希望實現的功能是:按下一個開關,點亮一個輸出點。本文可以幫您解決次使用S7-200時的以下問題:
(一) 需要準備哪些硬件和軟件呢?
次使用S7-200時,需要準備硬件有:S7-200CPU,如CPU224XP(訂貨號:6ES7 214-2BD23-0XB8)
編程電纜 PC/PPI電纜(訂貨號:6ES7 901-3DB30-0XA0)
需要準備的軟件有:SETP7-Micro/Win V4.0 SP6
還需要準備一臺裝有Windows XP SP2的電腦
準備好硬件,我們就需要在電腦上正確安裝S7-200的編程軟件。特別提示要注意這個軟件是SETP7-Micro/Win,而不是SETP7。據老工程師講,SETP7是給S7-300等系列PLC編程用的,不能給S7-200進行編程。對于SETP7-Micro/Win軟件而言,目前常用的版本是V4..0 SP6。和安裝其它軟件一樣,正確安裝好編程軟件后,您就可以在桌面上看到如下所示的圖標。至此,我們就為下一步的調試做好基本準備嘍!
(二) 如何為PLC的接線呢?
從以下接線圖可以看出,我們需要做的就是將為PLC提供電源和為數字量輸入點正確接線。
(三) 如何與PLC通信呢?
1. 連接編程電纜
將編程電纜的USB口側插在電腦上,DB接口插在PLC的PORT0或者PORT1上。然后將PLC的模式開關設置為STOP。
2. 編程軟件設置
(1)打開編程軟件后,在整個界面的左側,點擊設置PG/PC接口。如下圖所示:
在出現的對話框中,選擇PC/PPIcable(PPI),并點擊屬性
屬性對話框的個界面,使用如下設置:
在屬性對話框中的第二個選項卡中,選擇通訊接口為USB,具體如下設置:
之后保存并關閉相應的對話框。
(2)回到編程軟件的初始界面,然后點擊通信
出現如下界面:
將搜索所有波特率打勾后,雙擊刷新即可。
如果能出現如下頁面,即表示PC與PLC的通訊。
(四) 如何編寫程序呢?
打開編程界面,單擊紅色標注處,可以添加一個常開觸點
同樣的方法添加一個輸出線圈:
需要為輸入和輸出分配正確的地址,如下所示。之后點擊下載
出現如下界面后,繼續(xù)點擊下載
下圖顯示的是下載中的界面:
下載后,就可以進行PLC調試,進一步測試具體功能是否可以實現。
(五) 如何調試PLC呢?
先將模式開關設置為RUN,然后撥動連接在輸入點I0.0上開關,即可看到輸出點點亮了。至此,表明我們的程序和PLC運行一切正常。
如果想在編程軟件上監(jiān)控輸入點和輸出點的狀態(tài),可以點擊狀態(tài)表
打開狀態(tài)表后,在地址欄中輸入需要監(jiān)控的地址,如下所示:
之后點擊監(jiān)控即可:
正常監(jiān)控后就可以在當前值中看到相應的數值:
開關未按下時的狀態(tài)
開關按下后的狀態(tài)
從以上的筆錄,我們可以看出S7-200PLC是一款簡單易學的控制設備。當然,PLC還有通訊、PID控制、運動控制等等很多功能,我們可以在本網站中的相關介紹中一步一步的對其進行學和了解。相信不需要很長時間,您也可以成為S7-200PLC的使用高手!模擬信號是指在一定范圍內連續(xù)的信號(如電壓、電流),這個“一定范圍”可以理解為模擬量的有效量程。在使用S7-200模擬量時,需要注意信號量程范圍,撥碼開關設置,模塊規(guī)范接線,指示燈狀態(tài)等信息。
本文中,我們按照S7-200模擬量模塊類型進行分類介紹:
1.AI 模擬量輸入模塊?
2.AO模擬量輸出模塊?
3.AI/AO模擬量輸入輸出模塊
4.常見問題分析
首先,請參見“S7-200模擬量全系列覽表”,初步了解S7-200模擬量系列的基本信息,具體內容請參見下文詳細說明:
AI 模擬量輸入模塊
A. 普通模擬量輸入模塊:
如果,傳感器輸出的模擬量是電壓或電流信號(如±10V或0~20mA),可以選用普通的模擬量輸入模塊,通過撥碼開關設置來選擇輸入信號量程。注意:按照規(guī)范接線,盡量依據模塊上的通道順序使用(A->D),且未接信號的通道應短接。具體請參看《S7-200可編程控制器系統(tǒng)手冊》的附錄A-模擬量模塊介紹。
4AI EM231模塊:
首先,模擬量輸入模塊可以通過設置撥碼開關來選擇信號量程。開關的設置應用于整個模塊,一個模塊只能設置為一種測量范圍,且開關設置只有在重新上電后才能生效。也就是說,撥碼設置一經確定后,這4個通道的量程也就確定了。如下表所示:
注:表中0~5V和0~20mA(4~20mA)的撥碼開關設置是一樣的,也就是說,當撥碼開關設置為這種時,輸入通道的信號量程,可以是0~5V,也可以是0~20mA。
8AI EM231模塊:
8AI的EM231模塊,第0->5通道只能用做電壓輸入,只有第6、7兩通道可以用做電流輸入,使用撥碼開關1、2對其進行設置:當sw1=ON,通道6用做電流輸入;sw2=ON時,通道7用做電流輸入。反之,若選擇為OFF,對應通道則為電壓輸入。
注:當第6、7道選擇為電流輸入時,第0->5通道只能輸入0-5V的電壓。
B. 測溫模擬量輸入模塊(熱電偶TC;熱電阻RTD):
如果,傳感器是熱電阻或熱電偶,直接輸出信號接模擬量輸入,需要選擇特殊的測溫模塊。測溫模塊分為熱電阻模塊EM231RTD和熱電偶模塊EM231TC。注意:不同的信號應該連接至相對應的模塊,如:熱電阻信號應該使用EM231RTD,而不能使用EM231TC。且同一模塊的輸入類型應該一致,如:Pt1000和Pt100不能同時應用在一個熱電阻模塊上。
熱電偶模塊TC:
EM231 TC支持J、K、E、N、S、T和R型熱電偶,不支持B型熱電偶。通過撥碼設置,模塊可以實現冷端補償,但仍然需要補償導線進行熱電偶的自由端補償。另外,該模塊具有斷線檢測功能,未用通道應當短接,或者并聯(lián)到旁邊的實際接線通道上。?
熱電阻模塊RTD:
熱電阻的阻值能夠隨著溫度的變化而變化,且阻值與溫度具有一定的數學關系,這種關系是電阻變化率α。RTD模塊的撥碼開關設置與α有關,如下圖所示,就算同是 Pt100,α值不同時撥碼開關的設置也不同。在選擇熱電阻時,請盡量弄清楚α參數,按 照對應的撥碼去設置。具體請參看《S7-200可編程控制器系統(tǒng)手冊》的附錄A-熱電偶和熱電阻擴展模塊介紹。
EM231 RTD模塊具有斷線檢測功能,未用通道不能懸空,接法方式如下:
(1)請將一個電阻按照與已用通道相同的接線方式連接到空的通道,注意:電阻的阻值必須和RTD的標稱值相同;
(2)將已經接好的那一路熱電阻的所有引線,一一對應連接到空的通道上。
因為熱電阻分2線制、3線制、4線制,所以RTD模塊與熱電阻的接線有3種方式,如圖所示。其中,精度高的是4線連接,精度低的是2線連接。
提示:
(1). 在STEP7 Micor/WIN軟件中(S7-200的編程軟件),對于模擬量輸入通道設有軟件濾波功能,如圖所示,具體請參見《S7-200 ? LOGO? SITOP 參考》->系統(tǒng)塊-模擬量濾波。
但是,在系統(tǒng)塊中設置模擬量通道濾波時,RTD和TC模塊占用的模擬量通道,應禁止濾波功能。
(2) EM231 TC和RTD模塊上,均有24V電源指示燈和SF故障指示燈。如圖所示:(a)若24V電源指示燈=OFF,則說明該模塊沒有24V工作電源;(b)若SF紅燈閃爍,原因可能是:模塊內部軟件檢測出外接斷線,或者輸入出范圍。
注:具體請參見:《S7-200 ? LOGO? SITOP 參考》->EM231 RTD/EM231 TC。
AO模擬量輸出模塊
S7-200的擴展模塊里,分別有2路、4路的模擬量輸出模塊EM232。根據接線方式(M-V或M-I)選擇輸出信號類型,電壓:±10V,電流:0~20mA(4~20mA)。
AI/AO模擬量輸入輸出模塊
(A) CPU模塊本體集成的2路AI和1路AO
S7-200只有CPU 224XP和CPU224XPsi,本體集成有模擬量通道。其中,2路AI是:電壓信號±10V,1路AO是:電壓信號0~10V;或者電流信號0~20mA(4~20mA),輸出信號類型可以通過硬件接線來選擇。
(B) EM235模擬量輸入輸出模塊
EM235模塊有4路AI和1路AO。通過撥碼開關設置來選擇4路AI通道的輸入信號程,如下表所示,這個模塊可以測量毫伏級(mV)的信號;1路AO是:電壓信號 ±10V;或電流信號0~20mA(4~20mA),可以根據硬件接線方式(M-V或M-I)選擇輸出信號類型。
注:模塊上的電位計是用來調節(jié)輸入信號和轉換數值的放大關系,在模塊出廠時已經設置好了,如無需要,請不要隨意更改。
常見問題分析
A.模擬量輸入與數字量的對應關系:
模擬量信號(0~10V,0~5V或0~20mA)在S7-200 CPU內部用0~32000的數值表示(注:4~20mA對應6400~32000),這兩者之間有一定的數學關系,如圖所示:
B.模擬量模塊的硬件接線介紹
(1)CPU 224 XP集成有2路電壓輸入,接線方法見a:分別為A+和M、B+和M,此時只能輸入±10V 電壓信號。
CPU 224XP還集成有1路模擬量輸出信號。電流輸出如圖b,將負載接在I和M端子之間;電壓輸出如圖c,將負載接在V和M端子之間。
(2)模擬量輸入的接線方式
以4AI EM231模塊為例,分別介紹電壓、電流型輸入信號的接線方式,如圖所示。注意:此接線圖是一個示意圖,表述的是不同的接線方式,并不是指該模塊只有A通道可以接入電壓,B通道必須懸空,C和D通道只能接入電流。
當您的信號為電壓輸入時可以參考接線方法a,以此類推。
方式a. 電壓輸入方式:信號正接A+;信號負接A-;
方式b. 未用通道接法(不要懸空):未用通道需短接,如B+和B-短接;
方式c. 電流輸入方式(四線制):信號正接C+,同時C+與RC短接;信號負接C-,同時C-和模塊的M端短接。
方式d. 電流輸入方式(兩線制):信號線接D+,同時D+與RD短接;電源M端接D-,同時和模塊的M端短接。
注:具體請參見:《S7-200 ? LOGO? SITOP 參考》->模擬量模塊接線。
(3)電流型信號輸入接線方式
電流型信號的接線方式,分為四線制、三線制、二線制接法。這里討論的“幾線制”,是以傳感器或儀表變送器是否需要外供電源來區(qū)別的,而并不是指EM231模塊需要幾根信號線,或該變送器的信號線輸出。
a. 四線制-電流型信號的接法:
四線制信號是指信號設備本身外接供電電源,同時有信號+、信號-兩根信號線輸出。供電電源可有220VAC或24VDC,接線如圖所示:
b. 三線制-電流型信號的接法:
三線制信號是指信號設備本身外接供電電源,只有一根信號線輸出,該信號線與電源線共用公共端,通常情況是共負端的。接線如圖所示:
注:若設備的24VDC供電電源與EM231模塊的供電電源不是同一個電源,那么,需要將模塊的M端與該通道的負端引腳短接(如,M和C-短接)。這是為了使模塊與測量通道工作在同一的參考電壓,也就是等電位。下面的二線制接法同理。
c. 二線制-電流型信號的接法:
二線制信號是指信號設備本身只有兩根外接線,設備的工作電源由信號線提供,即其中一根線接電源,另一根線是信號輸出。接線如圖所示: