S7-200PLC是西門子公司的小型PLC系統(tǒng),具有簡單靈活的特點(diǎn),但是,模擬量通道少的可憐,增加一個擴(kuò)展模塊也只有4路模擬量輸入,尤其熱電偶溫度、熱電阻溫度采集模塊,不但通道少,而且價格高,信號類型必須統(tǒng)一選擇,不能混合輸入,當(dāng)需要采集大量溫度時,S7-200 PLC將無法勝任。
一,S7-EM239模擬量擴(kuò)展模塊
S7-EM239模塊是專為S7-200系統(tǒng)設(shè)計的16通道模擬量擴(kuò)展模塊,外形尺寸和使用方法與S7-200系列模塊完全兼容,可以和S7-200系列的任何型號的CPU直接連接,每個CPU可以連接32個S7-EM239模塊,最大可實現(xiàn)512路模擬量采集。
S7-EM239模塊有16路模擬量輸入通道,每個通道可以獨(dú)立設(shè)置為電壓、電流、熱電阻溫度、熱電偶溫度等信號類型,有6種類型的熱電偶和6種型號的熱電阻可以選擇,16個通道信號類型可以混合輸入,滿足多通道模擬量采集的需要,尤其在多通道溫度數(shù)據(jù)采集的場合,不僅使用方便,而且節(jié)約成本,每通道相當(dāng)100元。
二,S7-EM239模塊與S7-200CPU的連接
S7-EM239模塊與S7-200CPU的連接十分簡單,將S7-EM239模塊的RS485接口與S7-200CPU的RS485接口連接在一起就可以了,如下圖所示。
三,軟件編程
S7-EM239模塊支持MODBUS-RTU協(xié)議,S7-200CPU只需使用MODBUS協(xié)議庫指令,即可讀取S7-EM239模塊的采集數(shù)據(jù)。S7-200CPU的編程步驟是:
1,安裝西門子標(biāo)準(zhǔn)指令庫。
2,使用SM0.0調(diào)用MBUS_CTRL主站初始化指令,具體參數(shù)解釋如下:
EN和First均接通時啟動MBUS_CTRL命令,必須保證每一掃描周期都被使能(使用SM0.0);
Mode模式:常為1,使能 Modbus 協(xié)議功能;為0 時恢復(fù)為系統(tǒng) PPI 協(xié)議;
Baud波特率:設(shè)為19200,要與從站S7-EM239波特率對應(yīng);
Parity校驗:校驗方式選擇 0=無校驗,與從站S7-EM239對應(yīng);
Timeout超時:主站等待從站響應(yīng)的時間,以毫秒為單位,典型的設(shè)置值為1000毫秒(1秒)。;
Done完成位:初始化完成,此位會自動置1。可以用該位啟動 MBUS_MSG 讀寫操作;
Error初始化錯誤代碼(只有在 Done 位為1時有效)。
3,調(diào)用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個讀模擬量請求,參數(shù)設(shè)置如下:
EN和First均接通時啟動MBUS_MSG命令;
slave用來指明S7-EM239模塊的地址,可選范圍1~247;
RW=0,指明該命令是讀數(shù)據(jù)命令;
addr=30001指明讀取模擬量數(shù)據(jù)從S7-EM239模塊的1通道開始;
count=16代表連續(xù)讀取16個通道數(shù)據(jù)(對S7-EM239模塊可以是1~16間的任何數(shù));
Dataptr指明讀取數(shù)據(jù)存放地址;
Done讀寫功能完成位 ;
4,當(dāng)S7-200CPU擴(kuò)展多個S7-EM239模塊時,須多次調(diào)用MBUS_MSG指令,注意,必須是前一個指令執(zhí)行完才能調(diào)用下一個指令,還要注意slave指向不同的S7-EM239模塊。
詳細(xì)內(nèi)容參見《MODBUS協(xié)議及自由口通訊》及《S7-200可編程序系統(tǒng)手冊》。
由于S7-EM239模塊使用RS485接口與S7-200CPU通訊,S7-EM239模塊與S7-200CPU可以有1200米的距離,實現(xiàn)遠(yuǎn)程分布式數(shù)據(jù)采集。
有關(guān)S7-EM239模塊的使用方法及軟件編程參見www.485bus.com。