西門子SM1221數(shù)字量輸入模塊 型號齊全
西門子SM1221數(shù)字量輸入模塊
S7 1200 PLC與PAC3200通過MODBUS RTU通信的編程
1.MODBUS RTU 通信接口參數(shù)的編程
MB_COMM_LOAD 功能塊用于組態(tài)點(diǎn)對點(diǎn) (PtP, Point-to-Point) CM 1241RS485 或 CM 1241 RS232 模塊上的端口,以進(jìn)行 Modbus RTU 協(xié)議通信。
程序開始運(yùn)行時(shí),調(diào)用一次MB_COMM_LOAD功能塊,來實(shí)現(xiàn)對MODBUS RTU模塊
的初始化組態(tài)。
MB_COMM_LOAD執(zhí)行一次的編程方式采用如下圖所示時(shí)鐘位M10.0來完成。
圖12:MB_COMM_LOAD執(zhí)行一次的編程時(shí)鐘位的設(shè)置
MB_COMM_LOAD功能塊的編程如下圖所示。
圖13:MB_COMM_LOAD功能塊的編程
PORT:指的是通過哪個(gè)通信模塊進(jìn)行MODBUS RTU通信。
BAUD:指的是和MODBUS子站進(jìn)行通信的速率。
通信端口的波特率。取值范圍為300,600,1200,2400,4800,9600,19200,38400,57600,
76800,115200。
注意:儀表PAC3200的波特率的設(shè)置范圍:4800,9600,19200,38400。因此上S7-1200
的波特率的設(shè)置一定要和儀表PAC3200的波特率的設(shè)置相*。
MB_DB:對 MB_MASTER 或 MB_SLAVE 指令所使用的背景數(shù)據(jù)塊的引用。 在用戶程序中放置
MB_SLAVE 或 MB_MASTER 后,DB標(biāo)識符會出現(xiàn)在 MB_DB 功能框連接的助手下拉列表中。
如“MB_MASTER_DB"或“MB_SLAVE_DB"。
STATUS:端口狀態(tài)代碼。具體含義如下表所示。
表4: MB_COMM_LOAD組態(tài)端口的狀態(tài)代碼
2.MODBUS_MASTER功能塊的編程
MB_MASTER 功能塊允許程序作為Modbus 主站使用點(diǎn)對點(diǎn) (PtP, Point-to-Point) CM 1241 RS485 或 CM 1241RS232 模塊上的端口進(jìn)行通信。 可訪問一個(gè)或多個(gè) Modbus 從站設(shè)備中的數(shù)據(jù)。
MB_MASTER功能塊的編程如下圖所示。
圖14:MB_MASTER功能塊的編程
REQ:數(shù)據(jù)發(fā)送請求信號。0-無請求。1-請求將數(shù)據(jù)傳送到MODBUS從站。
MB_ADR:通信對象MODBUS從站的地址。有效地址范圍為0-247。值 0 被保留用于將消息廣播到所有 Modbus 從站。 只有Modbus 功能代碼 05、06、15 和 16 是可用于廣播的功能代碼。
注意:此處MODBUS從站的地址一定要與儀表PAC3200 的MODBUS 地址相*。
MODE:模式選擇。選擇范圍為:讀、寫、診斷。
DATA_ADDR:從站中的起始地址: *要在 Modbus 從站中訪問的數(shù)據(jù)的起始地址
① S7-1200 CPU 將通訊數(shù)據(jù)區(qū) DB4 塊中的 10 個(gè)字節(jié)的數(shù)據(jù)發(fā)送到 S7-300 CPU 的接收數(shù)據(jù)區(qū) DB4 塊中。
② S7-300 CPU 將通訊數(shù)據(jù)區(qū) DB10 塊中的 10 個(gè)字節(jié)的數(shù)據(jù)發(fā)送到 S7-1200 CPU 的接收數(shù)據(jù)區(qū) DB10 塊中。
S7-1200 側(cè)通信的編程,連接參數(shù)及通信參數(shù)的配置
1. 使用 STEP7 V11 軟件新建一個(gè)項(xiàng)目并完成硬件配置
在 STEP7 V11 的 “Portal 視圖" 中選擇 “創(chuàng)建新項(xiàng)目" 創(chuàng)建一個(gè)新項(xiàng)目。
2. 添加硬件并命名PLC
然后進(jìn)入 “項(xiàng)目視圖",在“項(xiàng)目樹" 下雙擊 “添加新設(shè)備",在對話框中西門子SM1221 數(shù)字量輸入模塊, 16 輸入24V DC選擇所使用的 S7-1200 CPU 添加到機(jī)架上,命名為 1200-AC,如圖1.所示。
圖1. 添加新設(shè)備
為了編程方便,使用 CPU 屬性中定義的時(shí)鐘位,定義方法如下:
在 “項(xiàng)目樹" > “1200-AC" > “設(shè)備組態(tài)" 中,選中 CPU ,然后在下面的屬性窗口中,“屬性" > “系統(tǒng)和時(shí)鐘存儲器" 下,將系統(tǒng)位定義在 MB1,時(shí)鐘位定義在 MB0,如圖2.所示。
時(shí)鐘位我們主要使用 M0.3,它是以 2Hz 的頻率在 0 和 1 之間切換的一個(gè)位,可以使用它去自動激活發(fā)送任務(wù)。
圖2. 系統(tǒng)位與時(shí)鐘位