西門子山西(中國)總代理
①、在PLC中編寫發送程序。在項目管理視圖下雙擊“Device"下的程序塊下的Main(OB1),打開OB1,在主程序中調用RCV_PTP功能塊如下圖所示:(注:RCV_PTP在指令庫下的擴展指令中通訊指令下)
圖15: 調用發送功能塊
要對RCV_PTP賦值參數,首先需要創建RCV_PTP的背景數據塊和發送緩沖數據塊 ,雙擊“Devices"——>“PLC_1"——>“Program Block "——“Add newblock",在彈出的串口命名DB_RCV_PTP,選擇DB塊,在Type后選擇“RCV_PTP(SFB114)"
圖16: 創建接收功能塊的背景數據塊
插入背景DB后,再插入接收緩沖DB塊,重復上面的步驟,只是在選擇DB類型為“bbbbbb DB",并去掉“Symbolicaccessonly"選項勾(這樣可以對該DB塊進行直接地址訪問),并取名該DB塊為DB_RCV_BUFF。建好這兩個DB塊后,雙擊打開DB_RCV_BUFF定義接收緩沖區數據的類型,如下圖所示:
圖17:定義接收緩沖區
定義完接收緩沖區后,接下來就可以對RCV_PTP賦值參數,賦值參數后如下圖:
圖18:接收編程
在上面的編程塊里需要注意的是,在接收緩沖區時。字符的開始地址是從第二個字節,而不是零字節開始,即是P#DB2.DBX2.0Byte10 而不是P#DB2.DBX0.0Byte10,原因是由于S7-1200對字符串的存放的格式造成的,S7-1200對字符串的前兩個字節的定義字節是大的字符長度,第二個字節是實際的字符長度。接下來才是存放實際字符。如下圖:
圖19:bbbbbb存儲格式
上面就完成了程序的編寫,對項目進行編譯;右擊PLC_1項目在彈出的菜單里選擇“CompliesALL"選項,這樣就對硬件與軟件進行編譯,如下圖:
圖20:編譯項目
編譯且沒有錯誤后就可以下載程序到PLC中,同樣右擊PLC_1項目,在彈出的菜單選擇“Download toDevice"。
②、用串叉線連接S7-1200的串口與計算機的串口,打開計算機的超級終端程序,并設置硬件端口參數如下圖:
圖21:超級終端的端口設置
在桌面上新建文本文件,打開此文本文件在里面輸入“gfdcba",如下圖:
圖22:在文本文件下輸入要發送的字符串
③、打開變量監控表,強制M0.0,使能接收。然后, 在超級終端里,選擇菜單“Transfer"下的“Send Textfile",在打開的窗口里找到桌面 上的文本文件。
圖23:通過超級終端發送數據
打開DB_RCV_BUFF數據塊,在線查看接收到的數據,如下圖:
圖23:接收緩沖區中接收到的數據
通過上面的例子實現了簡單的應用,在實際的應用過程中,需要按第三方設備的協議進行編寫S7-1200的程序。
西門子S7-1200 緊湊型PLC在當前的市場中有著廣泛的應用,作為經常與SENTRONPAC3200系列儀表共同使用的PLC,其Modbus通信協議的使用一直在市場上有著非常廣泛的應用。本文將主要介紹如何使用Modbus通信協議來實現S7-1200與SENTRON PAC3200儀表的通信。
1.西門子SENTRON PAC3200 儀表介紹
西門子的SENTRONPAC3200多功能電力儀表是一種用于面板安裝的儀表,可用來計量、顯示配電系統多達50個測量變量,例如電壓、電流、功率、有功功率、頻率以及大值、小值和平均值。中文大屏幕圖形液晶顯示使用戶可遠距離讀表。PAC3200儀表如下圖所示。
圖1:儀表PAC3200
1.1 SENTRON PAC3200 MODBUS RTU通信擴展模塊介紹
PAC3200多功能儀表的本體沒有MODBUS RTU通信的功能,如果希望將PAC3200作為從站連接到MODBUSRTU網絡與主站進行數據交換必須選用外部擴展通信模塊――SENTRON PAC RS485模塊。(注意: PAC RS485擴展模塊使用錯誤的固件版本時將不能工作
SENTRON PAC3200 電力監測設備的固件版本低應為FWV2.0X。 較早的版本不支持
PAC RS485 擴展模塊。)該擴展模塊具有下列性能特點:
• 可通過設備正面設置參數
• 即插即用
• 支持 4.8/9.6/19.2 以及38.4 KBd 通信傳輸速率
• 通過6針螺釘端子接線
• 不需要外接輔助電源
• 通過模塊上的 LED 顯示狀態
PAC3200 MODBUS RTU通信擴展模塊如下圖所示。
(1) 通信接線端子
(2) 安裝螺釘
(3) 通風口
(4) LED
圖2:PAC3200 MODBUS RTU 通信模塊
1.2 SENTRON PAC3200 MODBUS RTU通信擴展模塊的接線
SENTRON PAC3200 MODBUS RTU通信擴展模塊的接線如下圖所示